Major changes between ISE Eiffel 5.1 and ISE Eiffel 5.2
- .NET generation now includes support for the following language features:
- Support for multiple inheritance.
- Support for generics.
- Partial implementation of generic conformance
- Support for tuples and agents.
- Support for any existing Eiffel code that does not use C externals.
- Support for compiling Eiffel libraries using C externals that are not related to the Eiffel Software C runtime.
And the following limitations:
- Eiffel classes cannot inherit from non-Eiffel .NET classes (but they can be clients).
- No support for
- .NET generation now supports assembly signing in enterprise edition.
- .NET generation now supports precompiled libraries.
- Supports for manifest integer constants of different sizes, i.e. you can now assign for example the value
8to a location of type
INTEGER_8, INTEGER_16, INTEGERor INTEGER_64, however you can only assign the value
254to a location of type
INTEGER_16, INTEGERor INTEGER_64.
- Compiler that is about 20% faster than 5.1.
- Runtime is about 10-20% faster than 5.1
- One cannot create an instance of a basic expanded class (
BOOLEAN, CHARACTER, INTEGER_8, INTEGER_16, INTEGER, INTEGER_64, POINTER, REAL, DOUBLE), you will now get a
VGCC(6)error. Instead directly assign to it, or create an instance of its corresponding _REF class.
- Fixed memory corruption issue when trying to access an
- Fixed a problem with manifest
INTEGER_64constants whose values were incorrectly interpreted.
VAPEerrors that were not previously reported in 5.1. Now
VAPEerrors are checked against call to infix and prefix features.