Merge: Improve checking of virtual types
authorJean Privat <jean@pryen.org>
Wed, 8 Apr 2015 01:01:15 +0000 (08:01 +0700)
committerJean Privat <jean@pryen.org>
Wed, 8 Apr 2015 01:01:15 +0000 (08:01 +0700)
commit5934106e28389277fd55966cfd6064fd5ec0eebc
tree444d19cd7d9b27b75155951920a94d5229d95cd7
parent58d80433d8bc892ad608fffa2df04f4f557d4b8d
parent7d62c07150b408cbf19ff0d3e1a21fa69a4f8bb9
Merge: Improve checking of virtual types

This PR does 2 things to avoid runtime errors during nitc. Invalid programs that crashed the compiler now display errors messages.

* improve the static detection of loops in virtual types.
* consider types in the signatures of properties to be fragile since they contains potentially bad virtual types.

If merged with #1241 then nitpick can process the whole tests directory without crashing (impressive, since there is 1584 border-case files).
~~~
$ ./nitpick ../tests/*.nit ../tests/alt/*.nit -I ../lib/standard/ -I ../lib/standard/collection/
[... lots of errors ...]
Errors: 1766. Warnings: 195.
~~~

Pull-Request: #1245
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
src/modelize/modelize_property.nit