Version
Release notes for EiffelStudio 6.2
Graphical environment
What's new
- Added new contract editor tool to ease edition of contracts on routines and classes.
- Added Eiffel Information System which let you connect external documentation to your Eiffel code and vice versa.
- Added ability to avoid comment duplication by using the
<Precursor>
in your descendant comment to reuse the parent one which is shown in all our formatter tools.. - Added new light batch compiler
ecb
. It provides the same features asec
when using the batch mode. Currently projects compiled withec
are not compatible with those compiled withecb
. The main difference between the two is thatec
is compiled with exception trace and multithreading support which could slow down the compiler by a factor of 20 to 40% depending on your platform. - Added experimental unit testing tool.
Improvements
- Error list tool now supports multiple selection, for better copy to clipboard usage.
- Enhanced some errors to report better context information.
- Optimized adding of items to the Error List by circumventing an expensive search when adding single items.
Changes
- Error list items context now shows the full group name but after CLASS.feature because it is of lesser importance.
- Restructured layout of user files to support unification and user-override files of Eiffel compiler installation files. Relocated default Eiffel projects location into the user files folder (windows and mac only).
Bug fixes
- Fixed the EiffelCOM wizard so that it generates C code that compiles.
Compiler
- Click here for the compiler release notes.
Debugger
Graphical environment
- New breakpoint editor, which centralizes in a unique dialog the parameters of the breakpoint.
- Added tag support for breakpoints.
- Added new "When hits.." actions (such as enable/disable breakpoints, start/stop execution recording, and others...).
- Better breakpoints tool, to see, sort or filter the breakpoints
- Enhanced execution record and replay mechanism. This allows to record the execution, and replay the recording in EiffelStudio and see/browse the recorded values, and the calls executed.
- Better dialog to change the layout of the Objects tool grid. It is possible to easily change the order of 'Current, arguments, locals, ...'.
- Added a toggle button, to ignore or not the breakpoints.
- Added dropdown menu on the "[Start]" button to have quicker access to useful features.
Debugger engine
- Watch tool: added support for "create .." expression.
EiffelBuild
- Click here for the EiffelBuild release notes.
Libraries
EiffelBase
- Changed signature of {
SPECIAL
}.same_items
and {SPECIAL
}.all_default
to take an extra argument. Our analysis shows that it was only used byARRAY
and that it should be harmless. If you have a compilation error, simply add0
as first argument of your call. - Changed
physical_size
inINTERNAL
to return the real allocated size of an object along with its header size. - Added
deep_physical_size
inINTERNAL
to compute the size of an object and all its dependencies. - Improved speed of
read_stream
inFILE
so that it used underlyingfread
once rather than callinggetc
for each requested character. Our benchmarks show that you can save up to 2s for 1000 calls. - Added an assigner routine for
item
inARRAY2
. This might break descendant classes ofARRAY2
redefiningitem
. - Updated code toward Void-safety.
EiffelNet
- Fixed bug in {
SOCKET
}.read_stream
where if there was a socket error, then it would cause a precondition violation inC_STRING
.
EiffelTime
- Added support for
DEBUG_OUTPUT
forDATE
,TIME
andDATE_TIME
objects making it easier to debug code based on them. - Fixed bug where duration in days between two dates overlapping a leap year would yield a result off by +1 or -1.
- 10% speed improvement on certain date operations (can be seen on eweasel test#time002).
EiffelVision2
EiffelVision2
- Fixed a bug in {
WEL_REGISTRY
}.enumerate_key
where the routine would go in an infinite loop if the key name was larger than 64 characters.
Back to 6.x