/[eiffelstudio]/trunk/Src/Eiffel
ViewVC logotype

Log of /trunk/Src/Eiffel

View Directory Listing Directory Listing


Sticky Revision:

Revision 103879 - Directory Listing
Modified Mon Jan 27 14:20:12 2020 UTC (7 hours, 30 minutes ago) by alexk
Fixed typos.

Revision 103876 - Directory Listing
Modified Fri Jan 24 14:00:21 2020 UTC (3 days, 7 hours ago) by jfiat
Added ES_IDE_SETTINGS to customize the IDE with buildin features such as cloud.


Revision 103873 - Directory Listing
Modified Thu Jan 23 15:57:09 2020 UTC (4 days, 5 hours ago) by jfiat
Updated terms for EiffelStudio login. Updated UI as well.

Revision 103854 - Directory Listing
Modified Thu Jan 16 11:17:21 2020 UTC (11 days, 10 hours ago) by jfiat
Added license link in about dialog.

Revision 103851 - Directory Listing
Modified Tue Jan 14 17:44:31 2020 UTC (13 days, 4 hours ago) by jfiat
Do not include project target name and location for privacy (unless debug is enabled)

Revision 103850 - Directory Listing
Modified Tue Jan 14 17:35:34 2020 UTC (13 days, 4 hours ago) by jfiat
Do not include device name, device user name in installation or session id. But include now c compiler info in the session data.

Revision 103849 - Directory Listing
Modified Tue Jan 14 10:51:30 2020 UTC (13 days, 10 hours ago) by jfiat
Updating version_tag to 0x0027 (last time the value was updated was in 2001)

Revision 103848 - Directory Listing
Modified Tue Jan 14 07:38:49 2020 UTC (13 days, 14 hours ago) by javierv
Removed unused local variables.

Revision 103843 - Directory Listing
Modified Thu Jan 9 13:04:48 2020 UTC (2 weeks, 4 days ago) by jfiat
"Fixed typo that cause the user to login for each session."

Revision 103839 - Directory Listing
Modified Wed Jan 8 17:50:05 2020 UTC (2 weeks, 5 days ago) by jfiat
Updated to Gobo Eiffel version 19.11.

Revision 103831 - Directory Listing
Modified Wed Jan 8 10:24:11 2020 UTC (2 weeks, 5 days ago) by jfiat
Updated to Gobo Eiffel version 19.11.

Revision 103828 - Directory Listing
Modified Mon Jan 6 10:03:42 2020 UTC (3 weeks ago) by jfiat
Updated to version 20.01 .

Revision 103822 - Directory Listing
Modified Mon Dec 30 16:28:22 2019 UTC (4 weeks ago) by jfiat
Fixed code to declare community edition as expected.

Revision 103818 - Directory Listing
Modified Fri Dec 27 17:09:07 2019 UTC (4 weeks, 3 days ago) by jfiat
Display selected message at the bottom of the notifications dialog.

Revision 103817 - Directory Listing
Modified Fri Dec 27 17:06:08 2019 UTC (4 weeks, 3 days ago) by jfiat
Improved cloud service
- minor updated on login/register box
- auto token refresh
- better detection of community vs enterprise edition
- renamed GPL as Community edition.

Revision 103798 - Directory Listing
Modified Fri Dec 20 12:41:28 2019 UTC (5 weeks, 3 days ago) by alexk
Fixed a typo in a message.

Revision 103797 - Directory Listing
Modified Fri Dec 20 11:58:59 2019 UTC (5 weeks, 3 days ago) by alexk
Supported processing of a symbolic form of a loop expression.

Revision 103795 - Directory Listing
Modified Fri Dec 20 11:58:11 2019 UTC (5 weeks, 3 days ago) by alexk
Added features for symbols used in loop expressions.

Revision 103792 - Directory Listing
Modified Fri Dec 20 10:19:54 2019 UTC (5 weeks, 3 days ago) by jfiat
Fixed to support extended ascii.

Revision 103791 - Directory Listing
Modified Fri Dec 20 10:05:52 2019 UTC (5 weeks, 3 days ago) by jfiat
Protected import operation from exception, using a rescue clause.

Revision 103790 - Directory Listing
Modified Fri Dec 20 09:57:17 2019 UTC (5 weeks, 3 days ago) by jfiat
Improved the insert symbol dialog, added new Eiffel category, and cleaned the About dialog.

Revision 103789 - Directory Listing
Modified Thu Dec 19 13:11:03 2019 UTC (5 weeks, 4 days ago) by alexk
Fixed test#valid082 and test#valid083 by testing export status against current class rather than target one.

Revision 103782 - Directory Listing
Modified Thu Dec 19 12:01:41 2019 UTC (5 weeks, 4 days ago) by alexk
Fixed test#term218 by taking into account formal generic types in `upper_type` when they are neither attached nor detachable.
Added a complementary feature `lower_type` for the opposite type boundary.
Unified algorithms to compute a common ancestor type for a conditional expression and for a manifest array and to infer types of local variables so that the algorithms are compatible with each other.
Generalized type inference algorithm:
	- it always produces an approximation if all lower boundaries are compatible with all upper boundaries;
	- it uses the opposite boundary when available when there is no single type for the current boundary;
	- it minimimzes the number of current type boundaries as new ones are added;
	- it adds explicit type marks to the computed types instead of using just implicit ones to be usable for automatic insertion of types to source code.


Revision 103781 - Directory Listing
Modified Thu Dec 19 11:23:03 2019 UTC (5 weeks, 4 days ago) by alexk
Cosmetics.

Revision 103780 - Directory Listing
Modified Thu Dec 19 11:21:45 2019 UTC (5 weeks, 4 days ago) by alexk
Taken type marks into account when testing for equivalence.

Revision 103768 - Directory Listing
Modified Wed Dec 18 11:24:39 2019 UTC (5 weeks, 5 days ago) by jfiat
Updated to version 19.12

Revision 103761 - Directory Listing
Modified Fri Dec 13 20:57:30 2019 UTC (6 weeks, 3 days ago) by jfiat
Fixed code after changes on ES_CLOUD_API

Revision 103759 - Directory Listing
Modified Fri Dec 13 20:31:16 2019 UTC (6 weeks, 3 days ago) by alexk
Added a new validity rule for duplicate alias names specified for the same feature.

Revision 103757 - Directory Listing
Modified Fri Dec 13 20:27:54 2019 UTC (6 weeks, 3 days ago) by alexk
Added a new validity rule for duplicate alias names specified for the same feature.
Reordered VFAV rules to match most recent version of the standard.


Revision 103754 - Directory Listing
Modified Fri Dec 13 19:52:19 2019 UTC (6 weeks, 3 days ago) by jfiat
Improved handling of cloud service unavailability (network issue, ...)

Revision 103753 - Directory Listing
Modified Fri Dec 13 15:51:24 2019 UTC (6 weeks, 3 days ago) by jfiat
For cloud API communication, use 5 seconds connect timeout, and 30 seconds timeout to avoid hanging the IDE.

Revision 103749 - Directory Listing
Modified Thu Dec 12 17:28:35 2019 UTC (6 weeks, 4 days ago) by jfiat
Added EIFFELORG variable to link with https://www.eiffel.org/

Revision 103745 - Directory Listing
Modified Thu Dec 12 06:18:50 2019 UTC (6 weeks, 4 days ago) by alexk
Used current pretty printer preferences to setup pretty-printer behavior.

Revision 103743 - Directory Listing
Modified Thu Dec 12 06:04:30 2019 UTC (6 weeks, 4 days ago) by alexk
Added an option to set preference value.

Revision 103742 - Directory Listing
Modified Wed Dec 11 18:01:39 2019 UTC (6 weeks, 5 days ago) by alexk
Added preferences for pretty printer.

Revision 103740 - Directory Listing
Modified Wed Dec 11 16:49:55 2019 UTC (6 weeks, 5 days ago) by alexk
Added help for a new command-line option to set preference value.

Revision 103739 - Directory Listing
Modified Wed Dec 11 16:47:48 2019 UTC (6 weeks, 5 days ago) by alexk
Removed an unused local variable.

Revision 103738 - Directory Listing
Modified Wed Dec 11 16:10:05 2019 UTC (6 weeks, 5 days ago) by jfiat
Updated default notification icons.

Revision 103732 - Directory Listing
Modified Wed Dec 11 09:36:02 2019 UTC (6 weeks, 5 days ago) by jfiat
Updated notification style, added preferences for notification font and colors.

Revision 103701 - Directory Listing
Modified Thu Dec 5 20:51:14 2019 UTC (7 weeks, 4 days ago) by alexk
Fixed bug#19596 (test#scoop083) by using SK_POINTER instead of SK_REF when passing an address of a variable of a basic type as an argument to a SCOOP call.

Revision 103698 - Directory Listing
Modified Tue Dec 3 09:11:40 2019 UTC (7 weeks, 6 days ago) by jfiat
Added "New Library ..." menu item before "New Cluster ..." menu item in the Tools menu.

Revision 103691 - Directory Listing
Modified Mon Dec 2 13:38:29 2019 UTC (8 weeks ago) by alexk
Changed the way obsolete feature calls are reported. Now the compiler checks the associated date stamp. If the stamp is in the future, no warning is reported unless the corresponding option tells to do otherwise.
Changed obsolete_feature warning to have an associated value with 3 possible states instead of a boolean:
	- none: no obsolete feature calls are reported;
	- current: obsolete feature calls are reported for features with the associated date stamps in the past (or if there is no date stamp);
	- all: obsolete feature calls are reported for all obsolete features regardless of associatedd date stamps.
Updated the configuration dialog to handle new values of obsolete feature call warning option.
Moved obsolete message parsing to dedictated class OBSOLETE_MESSAGE_PARSER.
Updated the ECF schema with the new syntax for an obsolete feature call warning option.
Added an expiration date to the compiler warning about an obsolete feature call in the future to report when the call is going to get a warning with the default settings.
Changed signatures of many features to support Unicode names of classes in configuration.
Replaced some regular loops with across loops.
Replaced some assignment attempts with object tests.
Changed the way CONF_VALUE_CHOICE is merged with another value to preserve original default index of the setting/option to take into account that the defaults could be different for different ECF versions.
Cosmetics.


Revision 103686 - Directory Listing
Modified Mon Nov 25 17:07:10 2019 UTC (2 months ago) by jfiat
Safer autocomplete implementation, avoid exception trace due to `described_access_id`.

Revision 103674 - Directory Listing
Modified Tue Nov 12 11:48:06 2019 UTC (2 months, 2 weeks ago) by jfiat
Better void-safe code.

Revision 103669 - Directory Listing
Modified Fri Nov 8 09:28:05 2019 UTC (2 months, 2 weeks ago) by jfiat
Removed menu to trigger test notifications.

Revision 103668 - Directory Listing
Modified Fri Nov 8 09:26:23 2019 UTC (2 months, 2 weeks ago) by jfiat
User LOGGER_S instead of console output.

Revision 103667 - Directory Listing
Modified Thu Nov 7 15:51:49 2019 UTC (2 months, 2 weeks ago) by jfiat
Improved the notifications widget, and new suspended icons.

Revision 103666 - Directory Listing
Modified Thu Nov 7 14:04:49 2019 UTC (2 months, 2 weeks ago) by jfiat
Updated to 19.11

Revision 103665 - Directory Listing
Modified Thu Nov 7 14:01:28 2019 UTC (2 months, 2 weeks ago) by jfiat
Do not keep installation value inside ES_ACCOUNT object.

Revision 103664 - Directory Listing
Modified Thu Nov 7 12:05:05 2019 UTC (2 months, 2 weeks ago) by jfiat
Distinguish between workbench and normal EiffelStudio for ES account data.

Revision 103663 - Directory Listing
Modified Thu Nov 7 11:39:44 2019 UTC (2 months, 2 weeks ago) by jfiat
Updated comment for notifications classes.

Revision 103662 - Directory Listing
Modified Thu Nov 7 11:29:10 2019 UTC (2 months, 2 weeks ago) by jfiat
Made notification category mandatory.

Revision 103661 - Directory Listing
Modified Thu Nov 7 10:56:31 2019 UTC (2 months, 2 weeks ago) by jfiat
Added the possibility to suspend notifications.
Improve the associated dialog

Revision 103656 - Directory Listing
Modified Wed Nov 6 14:26:21 2019 UTC (2 months, 3 weeks ago) by jfiat
Added general notifications icons

Revision 103654 - Directory Listing
Modified Tue Nov 5 21:21:51 2019 UTC (2 months, 3 weeks ago) by jfiat
Release update checker is now using notification service with action.

Revision 103653 - Directory Listing
Modified Tue Nov 5 16:18:13 2019 UTC (2 months, 3 weeks ago) by jfiat
Added support for notification with actions.
Added dialog to show the archived notification messages.

Revision 103652 - Directory Listing
Modified Mon Nov 4 20:43:05 2019 UTC (2 months, 3 weeks ago) by jfiat
Fixed compilation by calling `make` .

Revision 103650 - Directory Listing
Modified Mon Nov 4 18:07:36 2019 UTC (2 months, 3 weeks ago) by jfiat
Added support for ping heartbeat setting fetched from server.

Revision 103648 - Directory Listing
Modified Mon Nov 4 15:55:56 2019 UTC (2 months, 3 weeks ago) by jfiat
Added support for ping heartbeat setting fetched from server.

Revision 103642 - Directory Listing
Modified Fri Nov 1 14:37:21 2019 UTC (2 months, 3 weeks ago) by jfiat
Reverted back the ping delay to 15 minutes (1 minute was for testing).

Revision 103640 - Directory Listing
Modified Thu Oct 31 19:19:22 2019 UTC (2 months, 3 weeks ago) by jfiat
Check for release update in background.
Added release update checker in the About dialog.

Revision 103638 - Directory Listing
Modified Thu Oct 31 14:35:51 2019 UTC (2 months, 3 weeks ago) by jfiat
Fixed an issue with paused session detection.
Updated paused dialog for dpi awareness.

Revision 103637 - Directory Listing
Modified Thu Oct 31 09:51:22 2019 UTC (2 months, 3 weeks ago) by jfiat
Added first version of EiffelStudio notification service.

Revision 103636 - Directory Listing
Modified Wed Oct 30 18:14:08 2019 UTC (2 months, 4 weeks ago) by jfiat
Protection against eventual absence of editor_insert_symbol_cmd value. 

Revision 103635 - Directory Listing
Modified Wed Oct 30 18:06:37 2019 UTC (2 months, 4 weeks ago) by jfiat
Made breakpoint context menu simpler.

Revision 103633 - Directory Listing
Modified Tue Oct 29 19:57:45 2019 UTC (2 months, 4 weeks ago) by alexk
Fixed test#exec376 by replacing a type anchored on a feature with a qualified anchored type in `recomputed_in` when the target type is different from the current one.

Revision 103632 - Directory Listing
Modified Tue Oct 29 19:54:32 2019 UTC (2 months, 4 weeks ago) by alexk
Exported `set_routine_id` tp `LIKE_FEATURE`.

Revision 103631 - Directory Listing
Modified Tue Oct 29 17:26:09 2019 UTC (2 months, 4 weeks ago) by jfiat
Reorganized the breakpoint stone menu. 
- removed the "Remove condition" item
- move down the "Remove breakpoint" item
- use "Set condition" when there is no condition (instead of just "Edit condition")
- display the hit count value when available.

Revision 103626 - Directory Listing
Modified Mon Oct 28 17:03:29 2019 UTC (2 months, 4 weeks ago) by jfiat
Enable debug behavior for the cloud account panel is service has debug enabled.

Revision 103625 - Directory Listing
Modified Mon Oct 28 17:00:09 2019 UTC (2 months, 4 weeks ago) by jfiat
Added a debug switch value for testing.

Revision 103624 - Directory Listing
Modified Mon Oct 28 16:59:41 2019 UTC (2 months, 4 weeks ago) by jfiat
Protected against Void installation value.

Revision 103623 - Directory Listing
Modified Mon Oct 28 16:58:49 2019 UTC (2 months, 4 weeks ago) by jfiat
Using MUTEX for thread safety.


Revision 103620 - Directory Listing
Modified Mon Oct 28 13:15:45 2019 UTC (3 months ago) by jfiat
Added support for organization.
Restructured the es_cloud cluster.

Revision 103617 - Directory Listing
Modified Fri Oct 25 14:11:57 2019 UTC (3 months ago) by jfiat
Reverted and have cloud account disabled by default during testing period.

Revision 103614 - Directory Listing
Modified Tue Oct 22 08:49:21 2019 UTC (3 months ago) by jfiat
Fixed precondition code, now comparing alias id with 0 instead of Void.

Revision 103612 - Directory Listing
Modified Mon Oct 21 19:27:11 2019 UTC (3 months ago) by alexk
Used different tables for minimum indexes in ROUT_TABLE and ATTR_TABLE because their polymorhic status could be different (this should fix bug#19591).

Revision 103606 - Directory Listing
Modified Fri Oct 18 09:59:17 2019 UTC (3 months, 1 week ago) by jfiat
udpated capabilities.

Revision 103605 - Directory Listing
Modified Thu Oct 17 19:43:05 2019 UTC (3 months, 1 week ago) by jfiat
Updated cloud.ecf to include ec_kernel, and vision2.

Revision 103604 - Directory Listing
Modified Thu Oct 17 17:29:07 2019 UTC (3 months, 1 week ago) by jfiat
Updated cloud account solution.
- New support for concurrent sessions
- Various bug fixes
- Enable cloud account by default

Revision 103600 - Directory Listing
Modified Thu Oct 17 08:28:30 2019 UTC (3 months, 1 week ago) by jfiat
Updated to 19.10.

Revision 103599 - Directory Listing
Modified Tue Oct 15 14:53:15 2019 UTC (3 months, 1 week ago) by alexk
Preserved cursor position when prettifying text.
Avoided marking source code as modified after prettifying if prettified code is the same as the original one.
Cosmetics.


Revision 103598 - Directory Listing
Modified Tue Oct 15 14:49:12 2019 UTC (3 months, 1 week ago) by alexk
Removed an unused local variable.

Revision 103597 - Directory Listing
Modified Tue Oct 15 14:48:17 2019 UTC (3 months, 1 week ago) by alexk
Removed unused local variables.

Revision 103596 - Directory Listing
Modified Tue Oct 15 14:47:11 2019 UTC (3 months, 1 week ago) by alexk
Made sure type information is recorded for conditional expressions (this is essential for code analysis).

Revision 103587 - Directory Listing
Modified Fri Oct 11 13:45:54 2019 UTC (3 months, 2 weeks ago) by jfiat
Fix setting importation of *.ini files.
Also added exclusion of code_analysis.xml as settings may differ from version to version.

Revision 103579 - Directory Listing
Modified Tue Oct 1 09:26:56 2019 UTC (3 months, 3 weeks ago) by jfiat
Removed infix/prefix support.

Revision 103557 - Directory Listing
Modified Mon Sep 30 13:48:24 2019 UTC (3 months, 4 weeks ago) by jfiat
Ensures operator alias apply to query (and not procedure).
Removed unneeded code related to removed infix/prefix syntax.

Revision 103538 - Directory Listing
Modified Mon Sep 30 09:03:58 2019 UTC (3 months, 4 weeks ago) by jfiat
Fixed condition.

Revision 103524 - Directory Listing
Modified Fri Sep 27 09:14:35 2019 UTC (4 months ago) by jfiat
Updated to 19.09 

Revision 103522 - Directory Listing
Modified Thu Sep 26 07:01:43 2019 UTC (4 months ago) by jfiat
Replaced infix/prefix by alias.

Revision 103519 - Directory Listing
Modified Wed Sep 25 19:54:53 2019 UTC (4 months ago) by jfiat
Removed infix/prefix support from various Eiffel (lexer) scanner.
Updated the syntax_updater parser as well.

Revision 103518 - Directory Listing
Modified Wed Sep 25 18:32:23 2019 UTC (4 months ago) by jfiat
Updating after infix/prefix removal.

Revision 103517 - Directory Listing
Modified Wed Sep 25 17:39:26 2019 UTC (4 months ago) by jfiat
Added support for multiple alias.
Removed support for obsolete infix/prefix syntax.

Revision 103512 - Directory Listing
Modified Wed Sep 18 11:35:48 2019 UTC (4 months, 1 week ago) by alexk
Added a missing conversion between INTEGER_32 and NATURAL_32 in the postcondition of `update_dpi`.

Revision 103505 - Directory Listing
Modified Mon Sep 16 17:16:35 2019 UTC (4 months, 1 week ago) by alexk
Fixed a bug when a call could become an argument of another call while assertions are kept. Such calls should be generated separately because the run-time uses a single flag "nstcall" and its value can be changed by one call before reaching another one. This also fixes a bug in generated code when one of the calls is known to be on Void target, but during code generation the once function that tells whether an additional closing parenthesis is needed gets overwritten that leads to syntactically incorrect generated C code.


Revision 103488 - Directory Listing
Modified Fri Sep 6 20:10:17 2019 UTC (4 months, 3 weeks ago) by alexk
Used `{CLASS_TYPE}.basic_type` instead of `{CLASS_TYPE}.type` when instantiating a routine entry type and class filters to stick to real types for generic derivations rather than artificial "class types" dedicated to generation of features for basic types only. This fixes issues when some class types (such as TYPE [INTEGER_32]) cannot be found because the actual generic parameter is represented with an instance of CL_TYPE_A instead of INTEGER_A. This also removes the unnecessary generic derivations from generated code.
Changed signature of `{CLASS_C}.feature_named` to accept READABLE_STRING_8 instead of STRING_8 to avoid unnecessary conversion.


Revision 103486 - Directory Listing
Modified Fri Sep 6 18:31:13 2019 UTC (4 months, 3 weeks ago) by alexk
Replaced `context_class_type.type` with equivalent `context_cl_type`.

Revision 103483 - Directory Listing
Modified Fri Sep 6 10:39:18 2019 UTC (4 months, 3 weeks ago) by alexk
Supported routine names of type READABLE_STRING_8 rather than just STRING_8.

Revision 103482 - Directory Listing
Modified Fri Sep 6 10:34:27 2019 UTC (4 months, 3 weeks ago) by alexk
Added missing preconditions to features `generate_id`, `generate_cid`, `generate_cid_array`, `make_type_byte_code`.

Revision 103481 - Directory Listing
Modified Fri Sep 6 10:31:30 2019 UTC (4 months, 3 weeks ago) by alexk
Removed obsolete status of `item_name` to avoid unnecessary conversions inside the compiler, but made it accessible only to `INTERNAL_COMPILER_STRING_EXPORTER`.

Revision 103480 - Directory Listing
Modified Fri Sep 6 10:27:45 2019 UTC (4 months, 3 weeks ago) by alexk
Supported routine names of type READABLE_STRING_8 rather than just STRING_8.

Revision 103479 - Directory Listing
Modified Fri Sep 6 10:23:17 2019 UTC (4 months, 3 weeks ago) by alexk
Changed type of `infix_groups` to avoid string conversion.

Revision 103478 - Directory Listing
Modified Fri Sep 6 10:20:57 2019 UTC (4 months, 3 weeks ago) by alexk
Supported output of READABLE_STRING_8 instead of just STRING_8.

Revision 103477 - Directory Listing
Modified Fri Sep 6 10:19:57 2019 UTC (4 months, 3 weeks ago) by alexk
Added missing preconditions to creation procedures.

Revision 103476 - Directory Listing
Modified Fri Sep 6 10:18:09 2019 UTC (4 months, 3 weeks ago) by alexk
Supported debug output.

Revision 103475 - Directory Listing
Modified Fri Sep 6 10:15:38 2019 UTC (4 months, 3 weeks ago) by alexk
Allowed to lookup for names of type READABLE_STRING_8 rather than just STRING_8.

Revision 103472 - Directory Listing
Modified Fri Sep 6 09:44:17 2019 UTC (4 months, 3 weeks ago) by jfiat
Added alias value completion support, and cleaned existing feature and class completion implementation.
(completing previous commit)


Revision 103471 - Directory Listing
Modified Fri Sep 6 09:12:42 2019 UTC (4 months, 3 weeks ago) by jfiat
Added alias value completion support, and cleaned existing feature and class completion implementation.

Revision 103459 - Directory Listing
Modified Tue Sep 3 13:38:06 2019 UTC (4 months, 3 weeks ago) by jfiat
Fixed exception raised when opening contextual menu.

Revision 103458 - Directory Listing
Modified Tue Sep 3 13:17:54 2019 UTC (4 months, 3 weeks ago) by jfiat
Output the unicode module name using UTF-8 encoding.

Revision 103457 - Directory Listing
Modified Tue Sep 3 13:13:43 2019 UTC (4 months, 3 weeks ago) by jfiat
Removed conversion as_string_8 when no needed.

Revision 103454 - Directory Listing
Modified Mon Sep 2 19:24:49 2019 UTC (4 months, 3 weeks ago) by jfiat
Prevented IMMUTABLE_STRING_8 and IMMUTABLE_STRING_32 classes to be removed during dead code/class removal.

Revision 103448 - Directory Listing
Modified Fri Aug 30 14:18:52 2019 UTC (4 months, 4 weeks ago) by alexk
Updated EiffelStudio version to 19.08.

Revision 103447 - Directory Listing
Modified Fri Aug 30 13:44:14 2019 UTC (4 months, 4 weeks ago) by jfiat
Be sure the immutable string classes are included in the system (part of the manifest immutable string support).

Revision 103446 - Directory Listing
Modified Fri Aug 30 13:41:06 2019 UTC (4 months, 4 weeks ago) by jfiat
Use object test.

Revision 103439 - Directory Listing
Modified Thu Aug 29 20:19:42 2019 UTC (4 months, 4 weeks ago) by alexk
Supported symbolic Unicode-based loops (see test#syntax073).

Revision 103436 - Directory Listing
Modified Thu Aug 29 20:07:40 2019 UTC (4 months, 4 weeks ago) by alexk
Removed an unused local variable.

Revision 103435 - Directory Listing
Modified Thu Aug 29 20:07:08 2019 UTC (4 months, 4 weeks ago) by alexk
Supported double brackets and treated unicode symbols as operators rather than as identifiers to match current language parser.

Revision 103433 - Directory Listing
Modified Wed Aug 28 19:53:46 2019 UTC (4 months, 4 weeks ago) by jfiat
Save preferences right away once GPL license is accepted.

Revision 103432 - Directory Listing
Modified Wed Aug 28 19:26:15 2019 UTC (5 months ago) by jfiat
Reverted back a change related to the type of `dpi`.

Revision 103431 - Directory Listing
Modified Wed Aug 28 19:23:29 2019 UTC (5 months ago) by jfiat
Reverted back a change related to the type of `dpi`.

Revision 103430 - Directory Listing
Modified Wed Aug 28 19:22:02 2019 UTC (5 months ago) by jfiat
Revert back a change related to the type of `dpi`.

Revision 103429 - Directory Listing
Modified Wed Aug 28 19:11:03 2019 UTC (5 months ago) by jfiat
Keep dpi cached in development window object.

Revision 103428 - Directory Listing
Modified Wed Aug 28 15:56:26 2019 UTC (5 months ago) by jfiat
Added a first version of Insert symbol command/dialog.

Revision 103380 - Directory Listing
Modified Fri Aug 2 08:08:17 2019 UTC (5 months, 3 weeks ago) by alexk
Marked `as_string_8` as obsolete to avoid hidden conversion from 32-bit strings to 8-bit ones and from immutable 8-bit strings to mutable ones.
Changed signature of `put_string` and associated features to accept READABLE_STRING_8 instead of STRING_8.
Replaced calls to the obsolete `as_string_8 ` with proper conversion.
Marked {INTERNAL}.type_name as obsolete with a suggestion to use `type_name_32` instead.
Marked {EG_LINKABLE}.link_name as obsolete with a suggestion to use `link_name_32` instead.
Marked {EG_ITEM}.(set_)name as obsolete with a suggestion to use `(set_)name_32` instead.


Revision 103372 - Directory Listing
Modified Thu Aug 1 18:05:00 2019 UTC (5 months, 3 weeks ago) by jfiat
Do not check for area, set_count, ... in IMMUTABLE_STRING_* classes, as this is not required for the runtime.

Revision 103368 - Directory Listing
Modified Wed Jul 31 14:38:34 2019 UTC (5 months, 4 weeks ago) by jfiat
Updated to beta 19.07.

Revision 103355 - Directory Listing
Modified Thu Jul 25 08:33:19 2019 UTC (6 months ago) by jfiat
updated dotnet facade class for non Windows platform.

Revision 103354 - Directory Listing
Modified Wed Jul 24 16:18:41 2019 UTC (6 months ago) by jfiat
Removed obsolete usages.

Revision 103353 - Directory Listing
Modified Wed Jul 24 11:08:47 2019 UTC (6 months ago) by jfiat
Added support for manifest immutable strings, once manifest immutable strings, and immutable string constants.
ex:
  {IMMUTABLE_STRING_32} "Unicode string..."
  once {IMMUTABLE_STRING_8} "once value"
  id: IMMUTABLE_STRING_8 = "abc"
  ...

Revision 103347 - Directory Listing
Modified Thu Jul 18 15:24:16 2019 UTC (6 months, 1 week ago) by jfiat
Fixed editor issue with manifest strings ending with %% such as "foo%%".

See bug#19527

Revision 103346 - Directory Listing
Modified Thu Jul 18 13:14:19 2019 UTC (6 months, 1 week ago) by jfiat
Fixed issue with verbatim strings followed by a character.

See bug#19527 (and mailing list)

Revision 103330 - Directory Listing
Modified Thu Jul 11 10:10:32 2019 UTC (6 months, 2 weeks ago) by alexk
Changed rules how export status of features is computed to follow the standard to avoid CAT calls: a feature could be made available only to more classes, not fewer.

Revision 103324 - Directory Listing
Modified Thu Jul 4 08:33:30 2019 UTC (6 months, 3 weeks ago) by alexk
Removed preconditions that were relaxing inherited ones with the wrong assumption that the combined precondition would be stonger.
Cosmetics.


Revision 103318 - Directory Listing
Modified Fri Jun 28 09:17:23 2019 UTC (7 months ago) by jfiat
Added protection to the classic debugger against "bad things" happening on the debuggeE side.
This fixes silent exit of the IDE when evaluating for instance `DEBUG_OUTPUT.debug_output` that has infinite recursion.


Revision 103314 - Directory Listing
Modified Mon Jun 24 13:02:59 2019 UTC (7 months ago) by jfiat
Use new preferences.ecf file.

Revision 103308 - Directory Listing
Modified Thu Jun 20 20:46:52 2019 UTC (7 months, 1 week ago) by alexk
Replaced two calls to the features `go_i_th` and `remove` with a single call to `remove_i_th`.

Revision 103307 - Directory Listing
Modified Thu Jun 20 20:45:40 2019 UTC (7 months, 1 week ago) by alexk
Updated export status of the inherited feature `prunable` that should be generally available.

Revision 103290 - Directory Listing
Modified Fri Jun 14 12:00:23 2019 UTC (7 months, 2 weeks ago) by javierv
Updated class and feature rename dialogs to resize correctly under HighDPI.

Revision 103252 - Directory Listing
Modified Sun Jun 2 12:36:45 2019 UTC (7 months, 3 weeks ago) by alexk
Fixed an old bug when reporting an obsolete class depends on the options of that class instead of the class being checked.

Revision 103234 - Directory Listing
Modified Thu May 30 17:06:33 2019 UTC (7 months, 4 weeks ago) by alexk
Removed the feature `set_info` because it is never called.

Revision 103233 - Directory Listing
Modified Thu May 30 17:05:37 2019 UTC (7 months, 4 weeks ago) by alexk
Removed an argument to `initialize_info` because it is the same all the time, and used `shared_info` in implementations directly.

Revision 103231 - Directory Listing
Modified Thu May 30 16:59:57 2019 UTC (7 months, 4 weeks ago) by alexk
Added a new ECF schema that allows reporting a warning as an error.
Supported reporting warnings as errors.


Revision 103228 - Directory Listing
Modified Thu May 30 16:35:16 2019 UTC (7 months, 4 weeks ago) by alexk
Made the warning code more readable.
Used plural translation for explanation.


Revision 103225 - Directory Listing
Modified Thu May 30 06:24:03 2019 UTC (7 months, 4 weeks ago) by alexk
Removed unnecessary local variables.

Revision 103221 - Directory Listing
Modified Mon May 27 07:46:19 2019 UTC (8 months ago) by jfiat
Made `path_ellipsis` instance free.

Revision 103220 - Directory Listing
Modified Mon May 27 07:45:38 2019 UTC (8 months ago) by jfiat
Removed usage of FILE_NAME.make_temporary_name in favor to FILE.make_open_temporary_with_prefix .

Revision 103219 - Directory Listing
Modified Mon May 27 07:43:37 2019 UTC (8 months ago) by jfiat
Updated class: void-safety, Unicode, cosmetic.

Revision 103218 - Directory Listing
Modified Fri May 24 18:45:46 2019 UTC (8 months ago) by javierv
Updated EB_SHARED_PIXMAPS  `mini_pixmaps`, `small_pixmaps`, `icon_pixmaps` and `configuration_pixmaps` are instance free features.
Updated ES_NEW_TOOL_COMMAND `stock_pixmaps` feature to use object-less call.
Updated ES_SHARED_FOUNDATION_HELPERS  `stock_pixmaps` and `mini_stock_pixmaps` features to use object-less call.
Updated ES_BREAKPOINTS_TOOL_PANEL `Breakable_icons` to use object-less call.
Updated BREAKPOINT_PIXMAPS_FACTORY removed unneeded feature `Shared_pixmaps`, updated `icons` feature to use object-less call. 
`icon_group_bp_slot`, `icon_group_bp_enabled`, `icon_group_bp_enabled_condition` and `icon_group_bp_disabled_condition` features reverted to use onces.
Updated QUICK_SEARCH_BAR `stock_pixmaps` feature to use object-less call.
Updated EB_CONSTANTS `Pixmaps` feature reverted to use onces. 
Updated EB_TOOL `stock_pixmaps` and `stock_mini_pixmaps` features to use object-less calls.


Revision 103214 - Directory Listing
Modified Fri May 24 16:43:49 2019 UTC (8 months ago) by alexk
Removed an unused local variable.

Revision 103196 - Directory Listing
Modified Wed May 22 19:38:21 2019 UTC (8 months ago) by javierv
Updated EiffelStudio About dialog to show the current monitor dpi.

Revision 103195 - Directory Listing
Modified Wed May 22 19:35:39 2019 UTC (8 months ago) by javierv
Updated {EB_SHARED_PIXMAPS} class
- updated feature `mini_pixmaps` from once feature to normal feature, load the pixmaps per dpi using an specific once feature for the current monitor dpi.
- updated feature `small_pixmaps` from once feature to normal feature, load the pixmaps per dpi using an specific once feature for the current monitor dpi. 
- updated feature `icon_pixmaps` from once feature to normal feature, load the pixmaps per dpi using an specific once feature for the current monitor dpi. 
- updated feature `configuration_pixmaps` from once feature to normal feature, load the pixmaps per dpi using an specific once feature for the current monitor dpi. 



Revision 103194 - Directory Listing
Modified Wed May 22 19:17:51 2019 UTC (8 months ago) by javierv
Updated `ES_CONFIGURATION_PIXMAPS` implementation to inherit from `ES_ICONS` instead of `ES_PIXMAPS_16X16` to be able to load pixmaps per specific dpi.

Revision 103193 - Directory Listing
Modified Wed May 22 19:13:47 2019 UTC (8 months ago) by javierv
Updated code to use the current screen scale factor provided by {EV_MONITOR_DPI_DETECTOR}.scaled_size.

Revision 103192 - Directory Listing
Modified Wed May 22 19:01:42 2019 UTC (8 months ago) by javierv
Updated `{ES_SHARED_FOUNDATION_HELPERS}` `stock_pixmaps` and `mini_stock_pixmaps` once features to a normal features to load pixmaps per monitor dpi.
Updated `{ES_BREAKPOINTS_TOOL_PANEL}` `Breakable_icons` once feature to normal feature to load icons per monitor dpi.
Updated `{BREAKPOINT_PIXMAPS_FACTORY}` `Shared_pixmaps`, `frozen icons`, `icon_group_bp_slot`, `icon_group_bp_enabled`, `icon_group_bp_disabled`, `icon_group_bp_enabled_condition` and `icon_group_bp_disabled_condition` once features to normal features to load pixmaps per monitor dpi.
Updated `{QUICK_SEARCH_BAR}.stock_pixmaps` once feature to normal feature to load pixmaps per monitor dpi.
Updated `{EB_CONSTANTS}.Pixmaps` once feature to normal feature to load pixmaps per monitor dpi.
Updated `{EB_TOOL}` `stock_pixmaps` and `stock_mini_pixmaps` once features to normal features to load pixmaps per monitor dpi.

Revision 103191 - Directory Listing
Modified Wed May 22 18:49:04 2019 UTC (8 months ago) by javierv
Updated `{ES_NEW_TOOL_COMMAND}.stock_pixmaps` once feature to a normal feature to load pixmaps per monitor dpi.

Revision 103188 - Directory Listing
Modified Tue May 21 07:03:55 2019 UTC (8 months, 1 week ago) by jfiat
Updated to version 19.06.

Revision 103181 - Directory Listing
Modified Mon May 20 09:08:57 2019 UTC (8 months, 1 week ago) by jfiat
Fixed update manager and preferences.

Revision 103171 - Directory Listing
Modified Fri May 17 10:00:00 2019 UTC (8 months, 1 week ago) by alexk
Fixed test#exec375 by using the value of `is_qualified_call` in the feature `process_call` at the feature entry because it may change when checking arguments.

Revision 103168 - Directory Listing
Modified Thu May 16 11:06:31 2019 UTC (8 months, 1 week ago) by alexk
Made sure test#exec374 runs the same way on .NET like it runs in classic mode by generating calls to the appropriate run-time features instead of direct equality tests for real numbers when total order on reals is requested.

Revision 103166 - Directory Listing
Modified Thu May 16 10:22:02 2019 UTC (8 months, 1 week ago) by alexk
Fixed bug#19544 (test#exec374) by generating calls to the appropriate run-time features instead of direct equality tests for real numbers when total order on reals is requested.

Revision 103163 - Directory Listing
Modified Wed May 15 18:21:25 2019 UTC (8 months, 1 week ago) by alexk
Changed REFLECTOR.new_instance_of to raise an exception when the ID corresponds to the dead rather than to the live type of the object to create.
Ensured that run-time raises an exception when retrieving an object of the type that is dead in the system. Together with the previous item this makes test#final130, test#final131, test#final132 passing.
Added a new macro RTLNALIVE that raises an exception before creating an object if the ID corresponds to the dead type.
Added a run-time flag that indicates whether the type is dead.
Fixed a bug when code to initialize modules that were precompiled is not always called.
Ignored routine entries of types that are not in the system anymore.


Revision 103162 - Directory Listing
Modified Wed May 15 15:13:00 2019 UTC (8 months, 1 week ago) by jfiat
Use icons_16x16 instead of 16x16 if file exists, same for mini_10x10 instead of 10x10, and small_12x12 instead of 12x12 .

Revision 103159 - Directory Listing
Modified Tue May 14 20:02:51 2019 UTC (8 months, 2 weeks ago) by jfiat
Updated the release update manager, to use a channel preference.
Cleaned and removed duplication in the update manager library.

Revision 103148 - Directory Listing
Modified Sat May 11 13:40:13 2019 UTC (8 months, 2 weeks ago) by alexk
Made `new_cursor` generally available.

Revision 103147 - Directory Listing
Modified Sat May 11 13:25:42 2019 UTC (8 months, 2 weeks ago) by alexk
Removed a redefinition that violates VDRS(4) when a feature is undefined but not redefined.

Revision 103146 - Directory Listing
Modified Fri May 10 11:54:00 2019 UTC (8 months, 2 weeks ago) by jfiat
Updated to version 19.05 .

Revision 103144 - Directory Listing
Modified Thu May 9 12:12:20 2019 UTC (8 months, 2 weeks ago) by jfiat
Better support for transparency with matrix of icons (especially with pixmap on selected grid row).
Load icons as pixel buffer, and also use sub_pixel_buffer instead of sub_pixmap, then convert using `to_pixmap` when EV_PIXMAP is needed.

Revision 103142 - Directory Listing
Modified Thu May 9 08:23:57 2019 UTC (8 months, 2 weeks ago) by jfiat
Exported to ANY, the feature error_handler of class FORMAL_CONSTRAINT_AS as it appears in the precondition of check_constraint_creation.

Revision 103141 - Directory Listing
Modified Wed May 8 19:13:50 2019 UTC (8 months, 2 weeks ago) by jfiat
Use anchor type `like actual_type`.

Revision 103138 - Directory Listing
Modified Tue May 7 17:04:07 2019 UTC (8 months, 3 weeks ago) by jfiat
Replaced obsolete reverse assignment attempts by object tests, and use local variable to reuse pixmaps.icon_pixmaps value.

Revision 103137 - Directory Listing
Modified Tue May 7 13:33:15 2019 UTC (8 months, 3 weeks ago) by jfiat
If ever the scaled matrix pixmap are not available, back to use the original one.


Revision 103136 - Directory Listing
Modified Tue May 7 12:59:23 2019 UTC (8 months, 3 weeks ago) by jfiat
Replaced obsolete reverse assignment attempts by object tests.

Revision 103134 - Directory Listing
Modified Tue May 7 06:56:41 2019 UTC (8 months, 3 weeks ago) by jfiat
Replaced obsolete reverse assignment attempts by object tests.

Revision 103132 - Directory Listing
Modified Mon May 6 12:09:35 2019 UTC (8 months, 3 weeks ago) by jfiat
Fixed VUOT(1) errors. (forgot to remove local variable moved as object test locals).

Revision 103131 - Directory Listing
Modified Fri May 3 15:59:47 2019 UTC (8 months, 3 weeks ago) by jfiat
Replaced obsolete reverse assignment attempts by object tests.

Revision 103127 - Directory Listing
Modified Thu May 2 20:05:21 2019 UTC (8 months, 3 weeks ago) by jfiat
Fixed the Unicode support for documentation generation (relying on UTF-8 when current encoding is not enough).
  

Revision 103126 - Directory Listing
Modified Thu May 2 19:45:57 2019 UTC (8 months, 3 weeks ago) by jfiat
Replaced obsolete reverse assignment attempt by object tests.

Revision 103121 - Directory Listing
Modified Tue Apr 30 19:18:44 2019 UTC (8 months, 4 weeks ago) by javierv
Added update_manager library to handle EiffelStudio update (stable|beta) releases.
Updated EiffelStudio interface to launch a new Dialog if a new release is available. By default Stable channel is enabled and Beta channel is disabled.

Revision 103116 - Directory Listing
Modified Tue Apr 30 09:48:49 2019 UTC (8 months, 4 weeks ago) by alexk
Slightly improved wording of the warning message.

Revision 103114 - Directory Listing
Modified Tue Apr 30 09:03:35 2019 UTC (8 months, 4 weeks ago) by alexk
Removed an unused local variable.

Revision 103097 - Directory Listing
Modified Mon Apr 29 11:43:40 2019 UTC (8 months, 4 weeks ago) by alexk
Added code generation for functions conforming to the IEEE 754 standard.

Revision 103096 - Directory Listing
Modified Mon Apr 29 11:42:45 2019 UTC (8 months, 4 weeks ago) by alexk
Relaxed the precondition of `generate_real_comparison_routine` to allow `min`, `max` and `three_way_compasion` that have been already supported in the implementation.

Revision 103095 - Directory Listing
Modified Mon Apr 29 11:39:40 2019 UTC (8 months, 4 weeks ago) by alexk
Corrected code generation for comparison of real numbers without direct CIL opcodes to preserve IEEE semantics (see test#exec374).

Revision 103094 - Directory Listing
Modified Mon Apr 29 11:35:48 2019 UTC (8 months, 4 weeks ago) by alexk
Avoided defaulting built-in features to empty ones for basic types so that standard handling of built-in features can be used.

Revision 103093 - Directory Listing
Modified Mon Apr 29 11:31:52 2019 UTC (8 months, 4 weeks ago) by alexk
Added a filter for VD81.

Revision 103092 - Directory Listing
Modified Mon Apr 29 11:28:22 2019 UTC (8 months, 4 weeks ago) by alexk
Propagated ECF schema namespace to the system, so that it can be used to evaluate settings depending on the associated namespace.
Changed target settings to depend on the version of ECF schema.
Added a warning when total order on reals is not set to "true".
Changed the default for total order on reals to be "true" for the recent ECF schema.


Revision 103078 - Directory Listing
Modified Wed Apr 17 10:43:40 2019 UTC (9 months, 1 week ago) by jfiat
Added link to predefined metrics file.

Revision 103069 - Directory Listing
Modified Wed Apr 10 19:41:27 2019 UTC (9 months, 2 weeks ago) by jfiat
Updated to version 19.04 .

Revision 103054 - Directory Listing
Modified Wed Apr 3 16:19:04 2019 UTC (9 months, 3 weeks ago) by alexk
Removed a spontaneous character in the class description.

Revision 103050 - Directory Listing
Modified Wed Apr 3 07:12:08 2019 UTC (9 months, 3 weeks ago) by jfiat
Fixed issue with completion tooltip reusing previous completion tooltip widget.
Now when hiding the completion window, reset those attributes.

Revision 103048 - Directory Listing
Modified Tue Apr 2 18:29:21 2019 UTC (9 months, 3 weeks ago) by alexk
Fixed test#final129 by processing filters of reachable classes to take their actual generics into account in the case the corresponding formal generic is a creation type.

Revision 103044 - Directory Listing
Modified Mon Apr 1 21:50:48 2019 UTC (9 months, 3 weeks ago) by jfiat
For wizard, use Eiffel temp folder, instead of system temp folder.

Revision 103043 - Directory Listing
Modified Mon Apr 1 14:44:35 2019 UTC (9 months, 3 weeks ago) by jfiat
Exported {FEATURE_DEPENDANCE}.new_cursor to {ANY}.

Revision 103041 - Directory Listing
Modified Sat Mar 30 11:41:51 2019 UTC (9 months, 4 weeks ago) by jfiat
Fixed duplication of unicode symbol in completion dialog.
Sort the symbol in the unicode symbols panel.

Revision 103031 - Directory Listing
Modified Fri Mar 29 14:02:16 2019 UTC (10 months ago) by jfiat
Enable dead class removal.

Revision 103030 - Directory Listing
Modified Fri Mar 29 13:58:33 2019 UTC (10 months ago) by jfiat
removed usage of obsolete FILE_NAME

Revision 103029 - Directory Listing
Modified Fri Mar 29 05:37:38 2019 UTC (10 months ago) by alexk
Changed target configuration setting for dead code removal in finalization mode to become an enumeration with 3 values:
	- none - code removal is not performed;
	- feature - code removal is based on feature call graph analysis;
	- all - in addition to feature call analysis, only classes that are used as targets as object creation or marked as visible are kept in the system.


Revision 103026 - Directory Listing
Modified Wed Mar 27 07:51:46 2019 UTC (10 months ago) by alexk
Propagated creation-involved actual generics using associated class filters to handle creation of formal generics in parent and supplier classes (this fixes incorrect compilation of 'Src/contrib/examples/web/ewf/debug/debug.ecf#debug_standalone' where EWF_DEBUG_EXECUTION was errorneously removed).

Revision 103024 - Directory Listing
Modified Tue Mar 26 15:55:12 2019 UTC (10 months ago) by jfiat
Fixed binary search detection for completion.

Revision 103022 - Directory Listing
Modified Tue Mar 26 11:19:47 2019 UTC (10 months ago) by jfiat
Fixed action associated with dpi changes

Revision 103019 - Directory Listing
Modified Tue Mar 26 10:55:05 2019 UTC (10 months ago) by alexk
Fixed test#128 by recording the creation type of a 'from' conversion.

Revision 103017 - Directory Listing
Modified Tue Mar 26 09:54:14 2019 UTC (10 months ago) by alexk
Updated code to avoid assertion violations and crashes when compiling EiffelStudio with inlining size set to 8.

Revision 103016 - Directory Listing
Modified Tue Mar 26 09:43:33 2019 UTC (10 months ago) by jfiat
Made clean compile safer, especially on linux.

Revision 103015 - Directory Listing
Modified Tue Mar 26 09:42:32 2019 UTC (10 months ago) by jfiat
Add a way to execute the exit application command without confirmation.

Revision 103014 - Directory Listing
Modified Tue Mar 26 09:37:10 2019 UTC (10 months ago) by alexk
Fixed a typo in a comment.

Revision 103013 - Directory Listing
Modified Tue Mar 26 09:33:06 2019 UTC (10 months ago) by alexk
Removed an unused local variable.

Revision 103008 - Directory Listing
Modified Fri Mar 22 15:35:47 2019 UTC (10 months, 1 week ago) by alexk
Fixed a bug in generating a macro RTNA that should have had an additional pair of parentheses (not required by msc, but required by gcc).

Revision 103007 - Directory Listing
Modified Fri Mar 22 13:31:52 2019 UTC (10 months, 1 week ago) by alexk
Fixed a postcondition that should not be using negation.

Revision 103006 - Directory Listing
Modified Fri Mar 22 13:23:22 2019 UTC (10 months, 1 week ago) by alexk
Corrected a postcondition that did not have grouping parentheses.

Revision 103004 - Directory Listing
Modified Thu Mar 21 19:44:59 2019 UTC (10 months, 1 week ago) by alexk
Fixed bug#19507 (test#scoop082) by moving macro RTS_SD up.

Revision 102999 - Directory Listing
Modified Thu Mar 21 16:31:33 2019 UTC (10 months, 1 week ago) by alexk
Fixed a typo in a comment.

Revision 102998 - Directory Listing
Modified Thu Mar 21 15:12:21 2019 UTC (10 months, 1 week ago) by alexk
Fixed a precondition that compared feature ID without taking into account that the feature could represent the class invariant.

Revision 102997 - Directory Listing
Modified Thu Mar 21 15:11:01 2019 UTC (10 months, 1 week ago) by alexk
Replaced a test call with an object test.

Revision 102996 - Directory Listing
Modified Thu Mar 21 14:55:16 2019 UTC (10 months, 1 week ago) by alexk
Fixed a typo in the class invariant.

Revision 102994 - Directory Listing
Modified Thu Mar 21 10:31:08 2019 UTC (10 months, 1 week ago) by javierv
Updated HighDPI implementation with a new dpi event to handle it for every widget.
Updated Vision2 implementations with the new event dpi.
Added class EV_DPI_ACTION_SEQUENCE 
Updated class EV_MONITOR_DPI_DETECTOR with a new feature to scale value to the current monitor dpi and updated features to be instance-free.



Revision 102989 - Directory Listing
Modified Thu Mar 21 08:38:21 2019 UTC (10 months, 1 week ago) by alexk
Refactored finalized code generation to treat calls to external features as calls to internal ones unless the call is non-polymorphic (this fixes test#final081, test#final094, test#final111, test#final127, test#exec313, test#multicon056).
Marked execution entried from deferred classes as non-eligible for polymorphic calls. This can make some calls in finalized mode non-polymorphic when class removal is turned off.
Enabled inline generation of arguments in a feature call in finalized mode when their evaluation does not trigger GC.
Changed generation of calls to unreachable features to generate arguments because they could have side effects (such as raising an exception).
Made sure a proper target object is used when inlining an instance-free feature (this might be important if the feature has unqualified target-dependent calls inside).


Revision 102986 - Directory Listing
Modified Wed Mar 20 20:55:34 2019 UTC (10 months, 1 week ago) by jfiat
Added "Symbols" panel (in addition to features, and templates), it lists all available Unicode symbols.


Revision 102985 - Directory Listing
Modified Wed Mar 20 17:10:32 2019 UTC (10 months, 1 week ago) by jfiat
Removed `curr` parameter from `RTDBGAL` macro.

Revision 102983 - Directory Listing
Modified Wed Mar 20 16:27:06 2019 UTC (10 months, 1 week ago) by jfiat
Added "Symbols" panel (in addition to features, and templates), it lists all available Unicode symbols.
Generalized the switch to templates, ... with the notion of panel.
Made completion next panel accelerator configurable (to switch to templates, symbols, features panels).

Revision 102979 - Directory Listing
Modified Wed Mar 20 10:47:25 2019 UTC (10 months, 1 week ago) by alexk
Avoided regression in test#multicon057 due to forthcoming changes to code generation by taking care about the case when an external feature is redeclared into an internal one and although the call is non-object, a target is required to do a polymorhic call according to the actual formal generic.

Revision 102978 - Directory Listing
Modified Wed Mar 20 10:35:42 2019 UTC (10 months, 1 week ago) by alexk
Marked missing cases when a dynamic type of Current is used.

Revision 102977 - Directory Listing
Modified Wed Mar 20 10:33:56 2019 UTC (10 months, 1 week ago) by alexk
Slightly simplified code by moving a common part outside of a conditional instruction.

Revision 102976 - Directory Listing
Modified Wed Mar 20 10:31:26 2019 UTC (10 months, 1 week ago) by alexk
Removed calls that indicate that a static type is used because this information is already inclued in arguments passed to `access_for_feature` as a `static_type` argument.

Revision 102975 - Directory Listing
Modified Wed Mar 20 10:27:34 2019 UTC (10 months, 1 week ago) by alexk
Avoided additional voidness tests by calling the corresponding feature inside the condition.

Revision 102968 - Directory Listing
Modified Tue Mar 19 21:19:40 2019 UTC (10 months, 1 week ago) by jfiat
Fixed condition to use void_safety_index.

Revision 102967 - Directory Listing
Modified Tue Mar 19 15:54:01 2019 UTC (10 months, 1 week ago) by jfiat
Moved the visible clauses to "bench" target.

Revision 102966 - Directory Listing
Modified Tue Mar 19 15:05:24 2019 UTC (10 months, 1 week ago) by jfiat
Added a few classes as visible, to exclude them from dead code removal (partly due to ES_WARNINGS_FILTER_WIDGET.initialize_warning_items design).

Revision 102965 - Directory Listing
Modified Tue Mar 19 12:42:58 2019 UTC (10 months, 1 week ago) by jfiat
Removed unneeded ancestor XM_CALLBACKS_FILTER_FACTORY .

Revision 102956 - Directory Listing
Modified Tue Mar 12 12:35:33 2019 UTC (10 months, 2 weeks ago) by jfiat
Updated to 19.03

Revision 102955 - Directory Listing
Modified Tue Mar 12 12:27:10 2019 UTC (10 months, 2 weeks ago) by alexk
Inlined feature `generate_call_macro` because it is used only once.

Revision 102952 - Directory Listing
Modified Mon Mar 11 14:00:21 2019 UTC (10 months, 2 weeks ago) by jfiat
Added `is_ghost` feature criteria.

Revision 102951 - Directory Listing
Modified Mon Mar 11 13:47:47 2019 UTC (10 months, 2 weeks ago) by jfiat
Check if criterion exists before trying to access it (see precondition of `metric_criterion`)

Revision 102949 - Directory Listing
Modified Mon Mar 11 12:03:55 2019 UTC (10 months, 2 weeks ago) by jfiat
Make sure the class browser set the 3rd column text, only if it exists.
Fixed bug#19531 "Metrics not working ... again. "

Revision 102946 - Directory Listing
Modified Thu Mar 7 18:25:04 2019 UTC (10 months, 3 weeks ago) by alexk
Moved visibility declaration from the compiler ECF to the library ECF where the class belongs to.

Revision 102945 - Directory Listing
Modified Thu Mar 7 17:15:37 2019 UTC (10 months, 3 weeks ago) by jfiat
Added CACHE_INFO as visible class, so that the compiler can consume dotnet assembly.

Revision 102943 - Directory Listing
Modified Thu Mar 7 10:21:47 2019 UTC (10 months, 3 weeks ago) by jfiat
Use a non-existing feature name for the visible testing classes.

Revision 102942 - Directory Listing
Modified Thu Mar 7 09:19:02 2019 UTC (10 months, 3 weeks ago) by jfiat
Fixed manual autotest execution.

Revision 102933 - Directory Listing
Modified Tue Mar 5 18:49:27 2019 UTC (10 months, 3 weeks ago) by alexk
Fixed a bug when a routine was marked as processed though its body was not processed because there were no conforming alive classes yet.

Revision 102930 - Directory Listing
Modified Tue Mar 5 16:20:14 2019 UTC (10 months, 3 weeks ago) by jfiat
Consider that empty value or unset environment variables represent the same value.

Revision 102928 - Directory Listing
Modified Tue Mar 5 14:20:20 2019 UTC (10 months, 3 weeks ago) by alexk
Fixed a bug that caused access on void target for unqualified calls in a feature used in a non-object call because the unqualified calls are considered polymorphic and are marked as reachable only for alive classes.

Revision 102915 - Directory Listing
Modified Sun Mar 3 10:32:45 2019 UTC (10 months, 3 weeks ago) by alexk
Reverted back evaluation of formal generics in `real_type_in` when generating IL code. It turns out classic and IL rely on different assumptions about type evaluation context. This should be unified at some point. For now, there is an explicit test for IL to use an expected type. (It looks more reasonable to avoid any dependence on outer context types in this feature. So, the classic version needs to be reviewed.)

Revision 102914 - Directory Listing
Modified Sat Mar 2 08:47:03 2019 UTC (10 months, 3 weeks ago) by alexk
Fixed a bug that resulted in unresolved symbols when compiling getest by returning -2 for access to a routine table with a single effective routine, but in a non-conforming type.

Revision 102913 - Directory Listing
Modified Sat Mar 2 08:41:00 2019 UTC (10 months, 3 weeks ago) by alexk
Avoided postcondition violation in `register_polymorphic_call` for the case when there are no effective routines in a routine table by recording access to deferred versions.

Revision 102912 - Directory Listing
Modified Fri Mar 1 17:25:43 2019 UTC (10 months, 4 weeks ago) by alexk
Supported inlining for a qualified call target.

Revision 102911 - Directory Listing
Modified Fri Mar 1 17:24:19 2019 UTC (10 months, 4 weeks ago) by alexk
Supported detection and removal of dead code for classes which instances are never created.
Added a feature that tells if a type can be used to create an expanded object.
Changed evaluation of polymorphic entries to make sure they always have all required information and it is up-to-date.
Added detection if a trampoline is required when a particular polymorphic call can be replaced with a direct one.
Supported generation of various trampolines when the context of a call expects types different from those implemented in descendants and/or derivations.
Split evaluation of polymorphic state for routines and attribute offsets to allow for more direct accessed and non-polymorphic calls.
Added output of classes that are empty and removed to the file "REMOVED" in finalized mode.
Factored out generation of offsets for attributes in finalized mode.
Added evaluation of body index for a routine table when there is just a single implementation to optimize polymorphic access to such a routine without complete re-evaluation.
Taken into account information about removed classes when testing if a call is polymorphic.
Considered an attribute table as having associated routines only when there are attributes with bodies or conversion of types is required.
Factored out code common for calls to internal and external features.
Added missing deallocation of registers for arguments used in inlined features.
Supported (correct) inlinning of calls to precursors (potentially, this fixes test#once021).
Made sure a routine is called when trying to inline an attribute with a body (potentially, this fixes test#final080, test#final113, test#final124).
Corrected handling of the case with inlining when a feature comes from an ancestor and there are several non-conforming descendants.
Supported recording of object creation dependence that is used during code removal.
Supported recording of non-polymorphic calls when checking source code.
Corrected inlining for attributes (potentially, this fixes test#final088).


Revision 102910 - Directory Listing
Modified Fri Mar 1 16:26:36 2019 UTC (10 months, 4 weeks ago) by alexk
Corrected `real_type_in` to use a proper context type when evaluating formal generics.

Revision 102909 - Directory Listing
Modified Fri Mar 1 16:24:25 2019 UTC (10 months, 4 weeks ago) by alexk
Added dependecies on object creation.

Revision 102908 - Directory Listing
Modified Fri Mar 1 16:23:01 2019 UTC (10 months, 4 weeks ago) by alexk
Added a flag indicating whether a dependency is polymorphic.

Revision 102907 - Directory Listing
Modified Fri Mar 1 16:21:18 2019 UTC (10 months, 4 weeks ago) by alexk
Replaced a manifest constant with a constant attribute to avoid magic numbers in the code.

Revision 102906 - Directory Listing
Modified Fri Mar 1 16:19:57 2019 UTC (10 months, 4 weeks ago) by alexk
Cosmetics.

Revision 102905 - Directory Listing
Modified Fri Mar 1 16:19:19 2019 UTC (10 months, 4 weeks ago) by alexk
Cosmetics.

Revision 102904 - Directory Listing
Modified Fri Mar 1 16:18:07 2019 UTC (10 months, 4 weeks ago) by alexk
Ensured Current has always a reference type.

Revision 102903 - Directory Listing
Modified Fri Mar 1 16:16:26 2019 UTC (10 months, 4 weeks ago) by alexk
Supported inlining of a creation expression as well as propagation of a register.

Revision 102902 - Directory Listing
Modified Fri Mar 1 16:14:48 2019 UTC (10 months, 4 weeks ago) by alexk
Simplified code.

Revision 102901 - Directory Listing
Modified Fri Mar 1 16:12:08 2019 UTC (10 months, 4 weeks ago) by alexk
Corrected recorded dependency to use a proper class ID (potentially this fixes test#incr368, test#incr403, test#incr410, test#incr412).

Revision 102900 - Directory Listing
Modified Fri Mar 1 16:03:33 2019 UTC (10 months, 4 weeks ago) by alexk
Added classes to record dependencies on types (for object creation or non-object calls).

Revision 102899 - Directory Listing
Modified Fri Mar 1 15:47:38 2019 UTC (10 months, 4 weeks ago) by alexk
Added a class to record if a class is alive or reachable.

Revision 102897 - Directory Listing
Modified Fri Mar 1 15:34:57 2019 UTC (10 months, 4 weeks ago) by alexk
Added an abstract class that tells if a class ID is valid.

Revision 102896 - Directory Listing
Modified Fri Mar 1 15:11:04 2019 UTC (10 months, 4 weeks ago) by alexk
Added a test when checking whether a class ID is valid that there is an actual class behind and that it was not removed during incremental recompilation.

Revision 102895 - Directory Listing
Modified Fri Mar 1 15:10:34 2019 UTC (10 months, 4 weeks ago) by alexk
Added a test when checking whether a class ID is valid that there is an actual class behind and that it was not removed during incremental recompilation.

Revision 102894 - Directory Listing
Modified Fri Mar 1 15:07:28 2019 UTC (10 months, 4 weeks ago) by alexk
Replaced manifest constants with constant attributes to avoid magic numbers in the code.

Revision 102893 - Directory Listing
Modified Fri Mar 1 15:05:42 2019 UTC (10 months, 4 weeks ago) by alexk
Added a missing call to `call.free_register` in `analyze` that resulted in excessive use of registers.

Revision 102892 - Directory Listing
Modified Fri Mar 1 15:03:38 2019 UTC (10 months, 4 weeks ago) by alexk
Removed assigning a default value to the result of `size`.

Revision 102891 - Directory Listing
Modified Fri Mar 1 14:56:57 2019 UTC (10 months, 4 weeks ago) by alexk
Added TODO comments that might be useful for fixing test#final095.

Revision 102890 - Directory Listing
Modified Fri Mar 1 14:52:22 2019 UTC (10 months, 4 weeks ago) by alexk
Added explicit conversion of a file name.

Revision 102889 - Directory Listing
Modified Fri Mar 1 14:51:09 2019 UTC (10 months, 4 weeks ago) by alexk
Used more efficient features for C code generation.

Revision 102888 - Directory Listing
Modified Fri Mar 1 14:50:12 2019 UTC (10 months, 4 weeks ago) by alexk
Simplified code.

Revision 102887 - Directory Listing
Modified Fri Mar 1 14:48:24 2019 UTC (10 months, 4 weeks ago) by alexk
Simplified code of `visible_level`.

Revision 102886 - Directory Listing
Modified Fri Mar 1 14:46:53 2019 UTC (10 months, 4 weeks ago) by alexk
Fixed a typo.

Revision 102885 - Directory Listing
Modified Fri Mar 1 14:46:10 2019 UTC (10 months, 4 weeks ago) by alexk
Added a generator for trampolines.

Revision 102884 - Directory Listing
Modified Fri Mar 1 14:44:22 2019 UTC (10 months, 4 weeks ago) by alexk
Added a constant that specifies inlining threshold.

Revision 102883 - Directory Listing
Modified Fri Mar 1 14:43:27 2019 UTC (10 months, 4 weeks ago) by alexk
Added features to report removed class types and empty class types.

Revision 102882 - Directory Listing
Modified Fri Mar 1 14:39:03 2019 UTC (10 months, 4 weeks ago) by alexk
Cosmetics.

Revision 102881 - Directory Listing
Modified Fri Mar 1 14:32:49 2019 UTC (10 months, 4 weeks ago) by alexk
Removed an unused feature.
Cosmetics.


Revision 102880 - Directory Listing
Modified Fri Mar 1 14:29:59 2019 UTC (10 months, 4 weeks ago) by alexk
Relaxed conditions when a feature can be inlined to exclude only the cases when a result, a local or an argument are of a user-defined expanded type (before there was also a test for anchored types).

Revision 102878 - Directory Listing
Modified Fri Mar 1 14:26:24 2019 UTC (10 months, 4 weeks ago) by alexk
Simplified code of `process_attribute_b`.

Revision 102877 - Directory Listing
Modified Fri Mar 1 14:24:09 2019 UTC (10 months, 4 weeks ago) by alexk
Added a detachable status for `class_of_id`.

Revision 102876 - Directory Listing
Modified Fri Mar 1 14:23:12 2019 UTC (10 months, 4 weeks ago) by alexk
Changed attachment status of `class_c` because valid class ID does not mean the class is attached (e.g., it could have been removed due to incremental recompilation).
Added protection into the formatting feature `append_to` to take into account that a class could have been removed.


Revision 102875 - Directory Listing
Modified Fri Mar 1 14:20:21 2019 UTC (10 months, 4 weeks ago) by alexk
Marked dynamically instantiated tools as visible, because dead code removal can get rid of them.

Revision 102873 - Directory Listing
Modified Fri Mar 1 14:14:20 2019 UTC (10 months, 4 weeks ago) by alexk
Avoided using FILE_NAME.

Revision 102863 - Directory Listing
Modified Thu Feb 28 12:03:32 2019 UTC (10 months, 4 weeks ago) by javierv
Updated EB_SHARED_PIXMAPS: removed unneeded code.

Revision 102861 - Directory Listing
Modified Wed Feb 27 13:14:51 2019 UTC (10 months, 4 weeks ago) by javierv
Updated EB_SHARED_PIXMAPS to use a cache of image pixmaps.

Revision 102858 - Directory Listing
Modified Tue Feb 26 11:41:29 2019 UTC (11 months ago) by jfiat
Added the possibility to insert unicode symbols using the IDE feature completion.

Revision 102857 - Directory Listing
Modified Tue Feb 26 10:29:59 2019 UTC (11 months ago) by jfiat
Added the possibility to insert unicode symbols using the IDE feature completion.

Revision 102856 - Directory Listing
Modified Tue Feb 26 10:16:50 2019 UTC (11 months ago) by jfiat
Fixed postcondition expression.

Revision 102855 - Directory Listing
Modified Fri Feb 22 18:57:11 2019 UTC (11 months ago) by jfiat
Renamed the ES_*_ICON into ES_*_ICONS. 
Added comment ancestor, updated the template used to generate the ES_*_ICONS .

Revision 102854 - Directory Listing
Modified Fri Feb 22 17:55:25 2019 UTC (11 months ago) by jfiat
Renamed the ES_*_ICON into ES_*_ICONS. 
Added comment ancestor, updated the template used to generate the ES_*_ICONS .

Revision 102808 - Directory Listing
Modified Thu Feb 7 23:00:53 2019 UTC (11 months, 2 weeks ago) by jfiat
Updated to Gobo Eiffel version 4.3 (with minor changes)

Revision 102788 - Directory Listing
Modified Tue Feb 5 11:10:48 2019 UTC (11 months, 3 weeks ago) by jfiat
Updated to beta version 19.02

Revision 102756 - Directory Listing
Modified Fri Feb 1 13:48:01 2019 UTC (11 months, 3 weeks ago) by javierv
Updated EB_SHARED_PIXAMPS to use the new EV_MONITOR_DPI_DETECOR 
to target different platforms

Revision 102753 - Directory Listing
Modified Fri Feb 1 13:21:47 2019 UTC (11 months, 3 weeks ago) by jfiat
Removed redefine declarations raising VDRS errors.

Revision 102752 - Directory Listing
Modified Fri Feb 1 13:01:06 2019 UTC (11 months, 3 weeks ago) by jfiat
void-safety and cosmetic.

Revision 102751 - Directory Listing
Modified Fri Feb 1 12:25:34 2019 UTC (11 months, 3 weeks ago) by jfiat
Fixed issue with code completion that was not focusing back to the editor (bug#18918).

Revision 102750 - Directory Listing
Modified Thu Jan 31 22:26:30 2019 UTC (11 months, 3 weeks ago) by javierv
Added new icons to support 96, 120, 144 and 196 dpis.
Added new classes ES_ICON, ES_MINI_ICON and ES_SMALL_ICON that handle differents dpis (96, 120, 144 and 196) 
Updated code to use the new classes

Revision 102730 - Directory Listing
Modified Mon Jan 21 11:03:12 2019 UTC (12 months ago) by alexk
Corrected revision tag.

Revision 102729 - Directory Listing
Modified Mon Jan 21 10:48:18 2019 UTC (12 months ago) by alexk
Removed unused local variables.

Revision 102721 - Directory Listing
Modified Tue Jan 15 14:58:51 2019 UTC (12 months, 1 week ago) by alexk
Marked class as deferred because only descendants are created.

Revision 102720 - Directory Listing
Modified Tue Jan 15 14:57:39 2019 UTC (12 months, 1 week ago) by alexk
Corrected description in the class note clause.

Revision 102719 - Directory Listing
Modified Tue Jan 15 11:43:43 2019 UTC (12 months, 1 week ago) by jfiat
Fixed regression on features tool, when toggling signature display.

Revision 102717 - Directory Listing
Modified Tue Jan 15 09:24:04 2019 UTC (12 months, 1 week ago) by alexk
Avoided generation of W_code when finalizing a system.

Revision 102716 - Directory Listing
Modified Tue Jan 15 09:22:34 2019 UTC (12 months, 1 week ago) by alexk
Avoided conversion of a target name to lower case because the corresponding search table uses case-insensitive comparison.
Reset recorded classes on clean build.


Revision 102715 - Directory Listing
Modified Tue Jan 15 09:09:28 2019 UTC (12 months, 1 week ago) by alexk
Removed an unused feature.

Revision 102714 - Directory Listing
Modified Tue Jan 15 09:08:18 2019 UTC (12 months, 1 week ago) by alexk
Used a specific type of items in the assertion list generated for a class invariant.

Revision 102713 - Directory Listing
Modified Tue Jan 15 08:58:10 2019 UTC (12 months, 1 week ago) by alexk
Removed unused features.

Revision 102712 - Directory Listing
Modified Tue Jan 15 08:56:03 2019 UTC (12 months, 1 week ago) by alexk
Added a feature to reset all classes.

Revision 102711 - Directory Listing
Modified Tue Jan 15 08:54:51 2019 UTC (12 months, 1 week ago) by alexk
Avoided printing unnecessary new lines after two messages where new lines are already added.

Revision 102710 - Directory Listing
Modified Tue Jan 15 08:52:00 2019 UTC (12 months, 1 week ago) by alexk
Avoided conversion of a target name to lower case because the corresponding search table uses case-insensitive comparison.

Revision 102698 - Directory Listing
Modified Thu Jan 10 09:18:51 2019 UTC (12 months, 2 weeks ago) by jfiat
Extended support for local variable stone in relation with the debugger.
Now it is possible to pick local var stone from object tools, and drop it elsewhere in the IDE.
Split the computation of local and object test locals in debugger EIFFEL_CALL_STACK_ELEMENT.
In Objects tools, display object test locals in dedicated sub row.

Revision 102690 - Directory Listing
Modified Fri Jan 4 14:44:34 2019 UTC (12 months, 3 weeks ago) by jfiat
Use CONF_LOAD.retrieve_and_check_configuration when the following code needs compilable_target, and also to prevent issue with cycle in targets.
When opening a project with multiple targets, display description if any (also replaced EV_LIST by ES_GRID).

Revision 102688 - Directory Listing
Modified Fri Jan 4 09:44:47 2019 UTC (12 months, 3 weeks ago) by jfiat
Replaced obsolete reverse assignment attempts by object tests.

Revision 102667 - Directory Listing
Modified Thu Dec 20 11:31:26 2018 UTC (13 months, 1 week ago) by alexk
Changed FIX_FACTORY to support multiple fixes.
Added detection of the following missing cases of VDRS(4) violations:
	- using redefinition for a feature that is merged with another one (test#vdrs401, test#vdrs402, test#vdrs403);
	- using redefinition for effecting.
Made VDRS4 deferred and added 2 effective classes for 2 specific cases of VDRS(4) violations:
	- missing redeclaration;
	- using redefinition for effecting.
Computed location of a feature name causing VDRS(4) violation.
Supported automatic fixing of VDRS(4) violations.


Revision 102666 - Directory Listing
Modified Thu Dec 20 11:17:22 2018 UTC (13 months, 1 week ago) by alexk
Added an engine to remove unnecessary feature names in a redefine subclause.

Revision 102665 - Directory Listing
Modified Thu Dec 20 11:07:25 2018 UTC (13 months, 1 week ago) by alexk
Used a factory to create GUI fix objects.
Added automatic re-licensing for classes that are fixed.
Used a single feature to handle user confirmation of fix application.


Revision 102664 - Directory Listing
Modified Thu Dec 20 11:03:01 2018 UTC (13 months, 1 week ago) by alexk
Added a factory to create GUI fix objects for fixes associated with compiler and code analyzer reports.

Revision 102663 - Directory Listing
Modified Thu Dec 20 11:00:22 2018 UTC (13 months, 1 week ago) by alexk
Added a GUI counterpart for a parent fix.

Revision 102662 - Directory Listing
Modified Thu Dec 20 10:58:57 2018 UTC (13 months, 1 week ago) by alexk
Added a class representing a fix for a parent clause.

Revision 102661 - Directory Listing
Modified Thu Dec 20 10:56:55 2018 UTC (13 months, 1 week ago) by alexk
Removed unnecessary inheritance links and code.

Revision 102660 - Directory Listing
Modified Thu Dec 20 10:53:42 2018 UTC (13 months, 1 week ago) by alexk
Added a feature to tell whether there are deferred features, and slightly optimized implementation by using it.

Revision 102659 - Directory Listing
Modified Thu Dec 20 10:48:17 2018 UTC (13 months, 1 week ago) by alexk
Added class name location to parent objects to provide location information when reporting errors related to parent declaration.

Revision 102658 - Directory Listing
Modified Thu Dec 20 10:44:44 2018 UTC (13 months, 1 week ago) by alexk
Replaced obsolete calls to ARRAY.make with ARRAY.make_filled.

Revision 102657 - Directory Listing
Modified Thu Dec 20 10:44:08 2018 UTC (13 months, 1 week ago) by alexk
Replaced obsolete calls to ARRAY.make with ARRAY.make_filled.

Revision 102652 - Directory Listing
Modified Thu Dec 20 06:05:19 2018 UTC (13 months, 1 week ago) by alexk
Added a test that system configuration is set before trying to get a system name.

Revision 102651 - Directory Listing
Modified Thu Dec 20 06:02:44 2018 UTC (13 months, 1 week ago) by alexk
Removed redefinitions that violate VDRS(4) when a deferred feature is merged with an effective one, not redefined.

Revision 102645 - Directory Listing
Modified Wed Dec 19 17:03:56 2018 UTC (13 months, 1 week ago) by alexk
Removed redefinitions that violate VDRS(4) when a deferred feature is effected in the class, not redefined.

Revision 102622 - Directory Listing
Modified Tue Dec 18 10:37:30 2018 UTC (13 months, 1 week ago) by alexk
Used READABLE_STRING_32 for the target name returned by a universe object to avoid conversions.

Revision 102620 - Directory Listing
Modified Tue Dec 18 10:28:05 2018 UTC (13 months, 1 week ago) by alexk
Replaced an obsolete feature call to `ARRAY.make` with manifest array.

Revision 102619 - Directory Listing
Modified Tue Dec 18 10:27:36 2018 UTC (13 months, 1 week ago) by alexk
Replaced an obsolete feature call to `ARRAY.make` with manifest array.

Revision 102618 - Directory Listing
Modified Tue Dec 18 10:26:08 2018 UTC (13 months, 1 week ago) by alexk
Added a test that universe target is set before trying to get a target name.

Revision 102617 - Directory Listing
Modified Tue Dec 18 10:23:56 2018 UTC (13 months, 1 week ago) by alexk
Fixed SVN keywords in note items.

Revision 102616 - Directory Listing
Modified Tue Dec 18 10:23:14 2018 UTC (13 months, 1 week ago) by alexk
Recorded user choice for persistent variant of the dialog regardless of whether the dialog is discarded or not.

Revision 102615 - Directory Listing
Modified Tue Dec 18 10:19:10 2018 UTC (13 months, 1 week ago) by alexk
Replaced obsolete calls with contemporary ones.

Revision 102614 - Directory Listing
Modified Tue Dec 18 10:16:33 2018 UTC (13 months, 1 week ago) by alexk
Replaced an obsolete feature call with a contemporary one.

Revision 102613 - Directory Listing
Modified Tue Dec 18 10:15:17 2018 UTC (13 months, 1 week ago) by alexk
Added protection for (qualified) anchored types to avoid looking up for a feature if the class has no feature table yet (it may happen when some inheritance checks failed and were not completed).

Revision 102612 - Directory Listing
Modified Tue Dec 18 10:11:23 2018 UTC (13 months, 1 week ago) by alexk
Fixed SVN keywords in note items.

Revision 102611 - Directory Listing
Modified Tue Dec 18 10:10:10 2018 UTC (13 months, 1 week ago) by alexk
Cosmetics.

Revision 102605 - Directory Listing
Modified Sat Dec 15 10:22:29 2018 UTC (13 months, 1 week ago) by alexk
Added an option to load source code of classes that are fixed automatically into the editor.

Revision 102604 - Directory Listing
Modified Sat Dec 15 10:19:34 2018 UTC (13 months, 1 week ago) by alexk
Used a dedicated feature to wait until all text is loaded to the editor.

Revision 102603 - Directory Listing
Modified Sat Dec 15 10:16:47 2018 UTC (13 months, 1 week ago) by alexk
Added a preference to control whether source code should be open in the editor for a class that is fixed automatically.

Revision 102602 - Directory Listing
Modified Sat Dec 15 10:00:28 2018 UTC (13 months, 1 week ago) by alexk
Added a procedure to wait for completion of text loading.

Revision 102601 - Directory Listing
Modified Sat Dec 15 09:58:52 2018 UTC (13 months, 1 week ago) by alexk
Corrected the dialog icon.
Added a creation procedure with persistent user's choice.


Revision 102600 - Directory Listing
Modified Sat Dec 15 09:57:30 2018 UTC (13 months, 1 week ago) by alexk
Added a creation procedure that initializes a dialog that saves user's choice (between "yes" and "no") into a specified preference setting.


Revision 102598 - Directory Listing
Modified Fri Dec 14 12:11:47 2018 UTC (13 months, 1 week ago) by jfiat
Replaced obsolete reverse assignment attempts by object tests.

Revision 102597 - Directory Listing
Modified Fri Dec 14 11:42:05 2018 UTC (13 months, 2 weeks ago) by jfiat
Replaced obsolete reverse assignment attempt by an object test.

Revision 102596 - Directory Listing
Modified Fri Dec 14 11:40:54 2018 UTC (13 months, 2 weeks ago) by jfiat
Replaced obsolete reverse assignment attempt by an object test.

Revision 102595 - Directory Listing
Modified Fri Dec 14 11:34:24 2018 UTC (13 months, 2 weeks ago) by jfiat
Removed obsolete reverse assignment attempt.

Revision 102586 - Directory Listing
Modified Wed Dec 12 20:50:58 2018 UTC (13 months, 2 weeks ago) by alexk
Ensured arguments of qualified calls are properly checked for VUCR (this fixes test#free025).

Revision 102577 - Directory Listing
Modified Mon Dec 10 14:30:52 2018 UTC (13 months, 2 weeks ago) by alexk
Replaced obsolete calls to `force_extend` with calls to `extend`.
Replaced reverse assignments with object tests.


Revision 102576 - Directory Listing
Modified Mon Dec 10 14:29:18 2018 UTC (13 months, 2 weeks ago) by alexk
Replaced obsolete calls to `force_extend` with calls to `extend`.

Revision 102570 - Directory Listing
Modified Fri Dec 7 21:50:55 2018 UTC (13 months, 2 weeks ago) by jfiat
Updated to 19.01

Revision 102564 - Directory Listing
Modified Thu Dec 6 10:12:15 2018 UTC (13 months, 3 weeks ago) by jfiat
Added Ctrl+R as accelerator to reload current tab.

Revision 102562 - Directory Listing
Modified Wed Dec 5 21:22:31 2018 UTC (13 months, 3 weeks ago) by jfiat
Removed unwanted \ before $ (note: it was harmless)

Revision 102532 - Directory Listing
Modified Sat Nov 24 09:47:33 2018 UTC (14 months ago) by alexk
Fixed test#attach128 by handling assigner commands.

Revision 102527 - Directory Listing
Modified Fri Nov 23 14:16:54 2018 UTC (14 months ago) by jfiat
Display in the callstack if stack is related to non object call.
Restored VUCR error when evaluating expression within debugger.

Revision 102520 - Directory Listing
Modified Fri Nov 23 12:39:05 2018 UTC (14 months ago) by alexk
Propagated anti-alising setting from preferences to drawing objects.

Revision 102519 - Directory Listing
Modified Fri Nov 23 12:37:30 2018 UTC (14 months ago) by alexk
Supported a preference setting for anti-aliasing.
Changed reaction to property changes to become immeditely visible to simplify setting diagram preferences.


Revision 102518 - Directory Listing
Modified Fri Nov 23 12:34:47 2018 UTC (14 months ago) by alexk
Marked the feature `window_manager` as a class one.

Revision 102513 - Directory Listing
Modified Thu Nov 22 15:01:50 2018 UTC (14 months ago) by jfiat
Ignore VUCR error when evaluating expression within debugger.

Revision 102512 - Directory Listing
Modified Thu Nov 22 14:17:56 2018 UTC (14 months ago) by jfiat
Replaced "Flat" by "Search" in preferences tool.

Revision 102511 - Directory Listing
Modified Thu Nov 22 13:12:51 2018 UTC (14 months ago) by jfiat
Better debugger support for ecf without any UUID.

Revision 102510 - Directory Listing
Modified Thu Nov 22 13:00:10 2018 UTC (14 months ago) by jfiat
Fixed issue introduced by rev#102323 during refactoring, and updated signature to use ITERABLE type.

Revision 102509 - Directory Listing
Modified Tue Nov 20 11:14:06 2018 UTC (14 months, 1 week ago) by alexk
Specified UUID of the web page describing the warning.

Revision 102507 - Directory Listing
Modified Tue Nov 20 11:08:54 2018 UTC (14 months, 1 week ago) by alexk
Supported displaying online help for errors/warnings by associated UUIDs when available.

Revision 102506 - Directory Listing
Modified Tue Nov 20 11:05:39 2018 UTC (14 months, 1 week ago) by alexk
Simplified code of `on_select_error_info`.

Revision 102499 - Directory Listing
Modified Tue Nov 20 09:19:55 2018 UTC (14 months, 1 week ago) by jfiat
Fixed handling of CHECK_B.check_list for final_mode, no assertion kept, and exception trace enabled.
Do no try to inline, as it won't be generated, and related code may involves feature removed by dead code removal.

Revision 102486 - Directory Listing
Modified Mon Nov 19 13:47:05 2018 UTC (14 months, 1 week ago) by alexk
Corrected spelling.

Revision 102484 - Directory Listing
Modified Mon Nov 19 09:35:14 2018 UTC (14 months, 1 week ago) by jfiat
Corrected previous change by checking for ` not keep_assertions ` (as this was not implicit).

Revision 102480 - Directory Listing
Modified Fri Nov 16 13:41:11 2018 UTC (14 months, 1 week ago) by jfiat
Updated code to support unicode error message.

Revision 102479 - Directory Listing
Modified Fri Nov 16 13:36:49 2018 UTC (14 months, 1 week ago) by jfiat
removed unused local variables.

Revision 102477 - Directory Listing
Modified Fri Nov 16 13:29:30 2018 UTC (14 months, 1 week ago) by jfiat
Removed obsolete reverse assignment attempts.

Revision 102476 - Directory Listing
Modified Fri Nov 16 13:22:46 2018 UTC (14 months, 1 week ago) by jfiat
Removed obsolete reverse assignment attempts.

Revision 102475 - Directory Listing
Modified Fri Nov 16 13:22:31 2018 UTC (14 months, 1 week ago) by jfiat
Removed obsolete reverse assignment attempts.

Revision 102474 - Directory Listing
Modified Fri Nov 16 13:22:14 2018 UTC (14 months, 1 week ago) by jfiat
removed unused local variables.

Revision 102473 - Directory Listing
Modified Fri Nov 16 13:18:15 2018 UTC (14 months, 1 week ago) by jfiat
Removed obsolete reverse assignment attempts.

Revision 102472 - Directory Listing
Modified Fri Nov 16 12:23:30 2018 UTC (14 months, 1 week ago) by jfiat
Removed obsolete calls : reverse assignment attempts.

Revision 102471 - Directory Listing
Modified Fri Nov 16 12:07:06 2018 UTC (14 months, 1 week ago) by jfiat
Replaced obsolete call to `force_extend` by `extend` and adapt the signature of the agent.

Revision 102470 - Directory Listing
Modified Thu Nov 15 20:37:30 2018 UTC (14 months, 1 week ago) by jfiat
Added FIXME to existing comment, or unhandled cases.

Revision 102467 - Directory Listing
Modified Thu Nov 15 19:57:49 2018 UTC (14 months, 1 week ago) by jfiat
During classic finalization, when exception trace is enabled, take into account assertions breakpoint, even if assertions are not kept.

Revision 102449 - Directory Listing
Modified Tue Nov 13 12:58:34 2018 UTC (14 months, 2 weeks ago) by alexk
Marked the feature `duplicate` as obsolete.
Added a new creation procedure `make_from_iterable`.
Updated code that used `duplicate` to avoid calling it.


Revision 102424 - Directory Listing
Modified Mon Nov 12 17:30:45 2018 UTC (14 months, 2 weeks ago) by alexk
Updated to match changes in types introduced by the commit rev#102420.

Revision 102421 - Directory Listing
Modified Mon Nov 12 12:16:47 2018 UTC (14 months, 2 weeks ago) by alexk
Supported ghost features.
Used a cache for feature pixmaps and pixel buffers with weak references to allow for generated images to be reused if they are still in memory.


Revision 102420 - Directory Listing
Modified Mon Nov 12 12:14:22 2018 UTC (14 months, 2 weeks ago) by alexk
Supported ghost features.

Revision 102400 - Directory Listing
Modified Sat Nov 3 18:12:51 2018 UTC (14 months, 3 weeks ago) by alexk
Fixed a bug that did not allow for application of a fix to local variables because a check
		forall x in id_list: x in locals
	was incorrectly encoded as
		across id_list as x all across locals as y all x.item = y.item end end
	instead of
		across id_list as x all across locals as y some x.item = y.item end end
Cosmetics.


Revision 102399 - Directory Listing
Modified Sat Nov 3 18:05:53 2018 UTC (14 months, 3 weeks ago) by alexk
Changed declaration of `is_attached` to avoid assertion violation when setting a detachable mark on a type.

Revision 102397 - Directory Listing
Modified Sat Nov 3 09:32:34 2018 UTC (14 months, 3 weeks ago) by alexk
Fixed bug#17089 (test#exec332), bug#15286 (test#ccomp082), bug#19490 (test#ccomp091) in classic mode by avoiding generating reattachment to an object test local when source and target are definitely non-conforming:
	- source expression or target type is of type NONE;
	- both are expanded and source does not conform to target.


Revision 102393 - Directory Listing
Modified Sat Nov 3 07:23:09 2018 UTC (14 months, 3 weeks ago) by alexk
Used recursion in `same_as` to make sure nested generics are compatible.

Revision 102381 - Directory Listing
Modified Wed Oct 24 11:03:56 2018 UTC (15 months ago) by alexk
Reverted commit rev#102365 because it breaks code generation.

Revision 102372 - Directory Listing
Modified Tue Oct 23 14:06:39 2018 UTC (15 months ago) by alexk
Refactored code to avoid code duplication when converting from capability indexes to configuration state.

Revision 102368 - Directory Listing
Modified Tue Oct 23 10:04:35 2018 UTC (15 months ago) by alexk
Made sure an error about -config_option is suitable for translation.

Revision 102365 - Directory Listing
Modified Tue Oct 23 09:50:13 2018 UTC (15 months ago) by alexk
Allowed `internal_same_generic_derivation_as` to return `True` when `other` is a descendant of `BASIC_A` because generic derivations use `CL_TYPE_A` for basic types.

Revision 102364 - Directory Listing
Modified Tue Oct 23 09:48:01 2018 UTC (15 months ago) by alexk
Replaced a voidness test with an object test.

Revision 102363 - Directory Listing
Modified Tue Oct 23 09:47:08 2018 UTC (15 months ago) by alexk
Added an argument for void safety to `CONF_STATE.make` to simplify maintainance.
Cosmetics.


Revision 102357 - Directory Listing
Modified Tue Oct 23 08:31:46 2018 UTC (15 months ago) by jfiat
Support for void-safety command line option, and ecf condition.
- Fixed support for `-config_option concurrency:value` in ec tty mode.
- Added support for `-config_option void_safety:value` in ec tty mode.
- Added configuration condition on void_safety (as done for concurrency, platform, ...)
- Added a new ECF schema 1-19-0 to accept condition on void_safety.

Revision 102338 - Directory Listing
Modified Thu Oct 18 14:00:56 2018 UTC (15 months, 1 week ago) by jfiat
Removed useless type declaration in object test.

Revision 102335 - Directory Listing
Modified Thu Oct 18 11:47:41 2018 UTC (15 months, 1 week ago) by jfiat
Removed obsolete call to force_extend.

Revision 102334 - Directory Listing
Modified Thu Oct 18 11:46:57 2018 UTC (15 months, 1 week ago) by jfiat
Removed obsolete reverse assignment attempts, and obsolete calls to ARRAY.make .

Revision 102323 - Directory Listing
Modified Tue Oct 16 11:12:58 2018 UTC (15 months, 1 week ago) by alexk
Replaced calls to the obsolete feature `force_extend` with calls to `extend`.
Replaced reverse assignments with object tests.
Replaced regular loops using internal cursors with across loops.
Removed unnecessary local variables.
Cosmetics.


Revision 102316 - Directory Listing
Modified Thu Oct 11 19:06:33 2018 UTC (15 months, 2 weeks ago) by jfiat
Removed recompile from scratch from estudio debug project menu, as now it is available under normal Projects menu.

Revision 102315 - Directory Listing
Modified Thu Oct 11 19:04:36 2018 UTC (15 months, 2 weeks ago) by jfiat
Added Export/Imports of editor tabs as text.
Note: this is basic functionality, it does not restore the editors layout for now.

Revision 102313 - Directory Listing
Modified Thu Oct 11 09:21:50 2018 UTC (15 months, 2 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.


Revision 102312 - Directory Listing
Modified Thu Oct 11 08:19:31 2018 UTC (15 months, 2 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.
Replace obsolete calls to ARRAY.make (...)
Change usual loop to across loop to get smaller code, and benefit from external cursor.

Revision 102311 - Directory Listing
Modified Thu Oct 11 07:32:03 2018 UTC (15 months, 2 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.
Change usual loop to across loop to get smaller code, and benefit from external cursor.

Revision 102309 - Directory Listing
Modified Wed Oct 10 09:06:57 2018 UTC (15 months, 2 weeks ago) by jfiat
Enhanced EB_SAVE_STRING_TOOL component.
- be able to set a suggested filename.


Revision 102308 - Directory Listing
Modified Wed Oct 10 09:06:04 2018 UTC (15 months, 2 weeks ago) by jfiat
Replaced obsolete feature calls (force_extend) with contemporary calls (extend).

Revision 102306 - Directory Listing
Modified Wed Oct 10 07:59:35 2018 UTC (15 months, 2 weeks ago) by alexk
Redefined `TABLE.valid_key` in `HASH_TABLE` to `has` to be consistent with the use of `valid_key` in other containers.
Marked `HASH_TABLE.valid_key` as obsolete with a recommendation to remove calls to it or to replace with with calls to `has`.
Removed calls to `HASH_TABLE.valid_key` or replaced them with calls to `HASH_TABLE.has` where appropriate.
Replaced calls to obsolete features with calls to contemporary ones.
Cosmetics:
	- replaces some reverse assignments with object calls
	- removed unnecessary code and local variables
	- replaced some regular loops with across loops
	- combined nested conditionals


Revision 102304 - Directory Listing
Modified Tue Oct 9 12:27:20 2018 UTC (15 months, 2 weeks ago) by jfiat
Enhanced EB_SAVE_STRING_TOOL component.
- be able to set a start directory
- be able to change the default filters.

Revision 102302 - Directory Listing
Modified Mon Oct 8 14:11:11 2018 UTC (15 months, 2 weeks ago) by jfiat
Reverted change made by rev#102239

Revision 102301 - Directory Listing
Modified Mon Oct 8 10:03:28 2018 UTC (15 months, 2 weeks ago) by jfiat
Reverted changed committed by error.

Revision 102300 - Directory Listing
Modified Mon Oct 8 08:29:08 2018 UTC (15 months, 2 weeks ago) by jfiat
Code cleaning, and removed unneeded reverse assignment attempt.

Revision 102299 - Directory Listing
Modified Mon Oct 8 08:20:50 2018 UTC (15 months, 2 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.


Revision 102297 - Directory Listing
Modified Mon Oct 8 07:47:48 2018 UTC (15 months, 2 weeks ago) by jfiat
Search caseless.

Revision 102296 - Directory Listing
Modified Fri Oct 5 10:06:44 2018 UTC (15 months, 3 weeks ago) by alexk
Added a missing attachment mark.
Removed unnecessary local variables.
Replaced regular loops with across ones.
Replaced voidness tests with object tests when suitable.


Revision 102295 - Directory Listing
Modified Fri Oct 5 10:03:36 2018 UTC (15 months, 3 weeks ago) by alexk
Added a missing attachment mark.
Removed unnecessary local variables.
Replaced a regular loop with an across loop.


Revision 102294 - Directory Listing
Modified Fri Oct 5 10:02:15 2018 UTC (15 months, 3 weeks ago) by alexk
Removed an unused feature.
Removed unnecessary local variables.


Revision 102293 - Directory Listing
Modified Fri Oct 5 10:01:21 2018 UTC (15 months, 3 weeks ago) by alexk
Added missing attachment marks.
Replaced an obsolete feature call with a contemporary one.


Revision 102292 - Directory Listing
Modified Fri Oct 5 09:59:10 2018 UTC (15 months, 3 weeks ago) by alexk
Avoided precondition violation when retrieving class IDs of routine classes by checking that they have been compiled.

Revision 102291 - Directory Listing
Modified Fri Oct 5 09:57:16 2018 UTC (15 months, 3 weeks ago) by alexk
Replaced reverse assignments with object tests.

Revision 102290 - Directory Listing
Modified Fri Oct 5 08:57:40 2018 UTC (15 months, 3 weeks ago) by alexk
Removed features `set_classi` because they are never used.

Revision 102289 - Directory Listing
Modified Thu Oct 4 13:12:04 2018 UTC (15 months, 3 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.



Revision 102288 - Directory Listing
Modified Thu Oct 4 13:11:18 2018 UTC (15 months, 3 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.



Revision 102284 - Directory Listing
Modified Thu Oct 4 11:03:03 2018 UTC (15 months, 3 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.



Revision 102283 - Directory Listing
Modified Thu Oct 4 08:59:06 2018 UTC (15 months, 3 weeks ago) by jfiat
Replaced obsolete feature calls with contemporary calls, and improved unicode support for profiler tool.


Revision 102280 - Directory Listing
Modified Wed Oct 3 20:59:20 2018 UTC (15 months, 3 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.



Revision 102279 - Directory Listing
Modified Wed Oct 3 20:37:08 2018 UTC (15 months, 3 weeks ago) by alexk
Updated signature of `generate_eiffel_metamorphose` to match recent changes.

Revision 102278 - Directory Listing
Modified Wed Oct 3 20:29:07 2018 UTC (15 months, 3 weeks ago) by jfiat
Replaced obsolete feature calls with contemporary calls.
  - ARRAY.make -> make_filled 
  - force_extend -> extend


Revision 102271 - Directory Listing
Modified Wed Oct 3 17:52:10 2018 UTC (15 months, 3 weeks ago) by alexk
Updated signature of `generate_eiffel_metamorphose` to match recent changes.

Revision 102267 - Directory Listing
Modified Wed Oct 3 16:19:00 2018 UTC (15 months, 3 weeks ago) by alexk
Changed type of `generate_il_eiffel_metamorphose` and `generate_eiffel_metamorphose` to take BASIC_A instead of TYPE_A because they are always called after testing for `{TYPE_A}.is_basic`.
Simplified `generate_eiffel_metamorphose`.
Replaced some regular loop with across ones.
Replaced some reverse assignments with object tests.
Removed an unneeded feature `{CIL_CODE_GENERATOR}.buffer`.


Revision 102252 - Directory Listing
Modified Wed Oct 3 13:12:36 2018 UTC (15 months, 3 weeks ago) by alexk
Replaced an obsolete feature call with a contemporary one.

Revision 102251 - Directory Listing
Modified Wed Oct 3 13:11:58 2018 UTC (15 months, 3 weeks ago) by alexk
Replaced an obsolete feature call with a contemporary one.
Cosmetics:
	- replaced a regular loop with an across one
	- replaced a voidness test with an object test


Revision 102250 - Directory Listing
Modified Wed Oct 3 13:09:56 2018 UTC (15 months, 3 weeks ago) by alexk
Replaced some obsolete feature calls with contemporary ones.
Cosmetics:
	- removed unneeded local variables
	- replaced a regular loop with an across one
	- combined nested conditional instructions


Revision 102249 - Directory Listing
Modified Wed Oct 3 13:06:52 2018 UTC (15 months, 3 weeks ago) by alexk
Repalced a regular loop with an across one.

Revision 102248 - Directory Listing
Modified Tue Oct 2 18:02:49 2018 UTC (15 months, 3 weeks ago) by alexk
Removed class LINE and features associated with `instruction_line` in BYTE_CONTEXT as unused.

Revision 102247 - Directory Listing
Modified Tue Oct 2 16:29:23 2018 UTC (15 months, 3 weeks ago) by alexk
Fixed a bug causing access on void target when no template declarations are found.

Revision 102244 - Directory Listing
Modified Tue Oct 2 13:26:50 2018 UTC (15 months, 3 weeks ago) by jfiat
Removed obsolete reverse assignment attempts.

Revision 102243 - Directory Listing
Modified Mon Oct 1 06:31:52 2018 UTC (15 months, 3 weeks ago) by alexk
Fixed a bug#19469 by testing if a class stone has an associate class descriptor before using this descriptor.

Revision 102242 - Directory Listing
Modified Mon Oct 1 06:30:08 2018 UTC (15 months, 3 weeks ago) by alexk
Added `detachable` keyword in feature declarations.

Revision 102241 - Directory Listing
Modified Mon Oct 1 06:28:12 2018 UTC (15 months, 3 weeks ago) by alexk
Supported Unicode characters in the class field of an address bar.
Cosmetics.


Revision 102240 - Directory Listing
Modified Mon Oct 1 06:25:48 2018 UTC (15 months, 3 weeks ago) by alexk
Removed a postcondition in `set_stone` that is not always satisfied.

Revision 102239 - Directory Listing
Modified Mon Oct 1 06:22:50 2018 UTC (15 months, 3 weeks ago) by alexk
Cleaned up errors and warnings before calling `parsed_ast` in `generate_ast` to retrieve a syntax error (if any) afterwards.
Cosmetics:
	- removed unnecessary local variables
	- used object tests when appropriate
	- added a missing attachment mark


Revision 102238 - Directory Listing
Modified Mon Oct 1 05:42:05 2018 UTC (15 months, 3 weeks ago) by alexk
Made sure AST is marked as modified when it is updated with parenthesis alias routine IDs.

Revision 102236 - Directory Listing
Modified Fri Sep 28 15:20:05 2018 UTC (15 months, 4 weeks ago) by jfiat
Use expected type EB_FOCUS_PANEL_COMMAND and not the previous EB_CLOSE_PANEL_COMMAND

Revision 102235 - Directory Listing
Modified Fri Sep 28 14:47:57 2018 UTC (15 months, 4 weeks ago) by jfiat
Added EB_FOCUS_PANEL_COMMAND to represent the focus commands (instead of using EB_CLOSE_PANEL_COMMAND).
Added a Reload focused editor.
(completed the previous commit with missing changes)

Revision 102234 - Directory Listing
Modified Fri Sep 28 13:32:49 2018 UTC (15 months, 4 weeks ago) by jfiat
Check if the FEATURE_ID_AS has valid class id, before using it.
(note, it occurs with indexing note using Eiffel expression, and not just manifest string)

Revision 102233 - Directory Listing
Modified Fri Sep 28 13:27:02 2018 UTC (15 months, 4 weeks ago) by jfiat
Removed a few obsolete calls or obsolete reverse assignment attempts.

Revision 102232 - Directory Listing
Modified Fri Sep 28 13:22:55 2018 UTC (15 months, 4 weeks ago) by jfiat
After refactoring reload class only if the text is fully loaded, otherwise it means the reload operation is in progress (maybe on idle event).
This fixes an annoying behavior of EiffelStudio, when renaming a feature, the current editor is not reloaded and repositioned to previous location.

Revision 102231 - Directory Listing
Modified Fri Sep 28 13:18:49 2018 UTC (15 months, 4 weeks ago) by jfiat
Added EB_FOCUS_PANEL_COMMAND to represent the focus commands (instead of using EB_CLOSE_PANEL_COMMAND).
Added a Reload focused editor.

Revision 102230 - Directory Listing
Modified Wed Sep 26 19:55:28 2018 UTC (16 months ago) by jfiat
Removed the "target: " label before the target class info in completion window.

Revision 102228 - Directory Listing
Modified Wed Sep 26 17:05:05 2018 UTC (16 months ago) by jfiat
In the completion window, show the associated target class (if any) on the first top line (merged with the Show Templates... line).
Added a toggle button, to show/hide this target class information.


Revision 102227 - Directory Listing
Modified Wed Sep 26 08:08:23 2018 UTC (16 months ago) by jfiat
In the completion Window, show the associated target class (if any) before the list of choices.
(minor refactoring for the template bar)

Revision 102216 - Directory Listing
Modified Sat Sep 22 14:51:09 2018 UTC (16 months ago) by alexk
Added dedicated creation procedures to classes for enlarged assertion nodes to simplify their initialization.
Factored out common code to generate assertion macros.
Added creation procedures for assertion byte nodes to simplify their initialization.
Recorded assertion expression as the corresponding tag when there is no explicit assertion tag to improve diagnostics on assertion violation.
Added an instance-free function in ASSERT_TYPE to tell if the current assertion level is valid.
Moved C code generation features from ASSERT_TYPE to the corresponding byte nodes.
Used a generic way to check whether an assertion is always True.
Propagated line number information when enlarging assertion byte nodes.


Revision 102215 - Directory Listing
Modified Sat Sep 22 11:25:40 2018 UTC (16 months ago) by alexk
Cosmetics.

Revision 102214 - Directory Listing
Modified Sat Sep 22 11:24:12 2018 UTC (16 months ago) by alexk
Set a flag in byte context to indicate that code for loop variant is being generated.

Revision 102213 - Directory Listing
Modified Sat Sep 22 10:56:24 2018 UTC (16 months ago) by alexk
Fixed several issues with drawing client-supplier links:
	- they are now shown as double lines in a cluster view (the implementation expected expects a new dispatch mechanism using `project` rather than an old one based on agents);
	- arrows are scaled proportionally to a link width;
	- aggregation indicator is positioned and scaled proportionally to a link width.
Cosmetics:
	- replaced reverse assignments with object calls;
	- removed unused code;
	- replaced regular loops with across loops.


Revision 102211 - Directory Listing
Modified Fri Sep 21 14:24:05 2018 UTC (16 months ago) by alexk
Avoided assertion violation when retrieving a cluster diagram without central cluster set.
Cosmetics:
	- replaced some reverse assignments with object tests;
	- removed unused code.


Revision 102210 - Directory Listing
Modified Fri Sep 21 13:40:34 2018 UTC (16 months ago) by alexk
Avoided code duplication when distinguishing between single and double line drawing.
Improved double line drawing by
	- supporting minimum width of double lines of 3 pixels (before it was 5 pixels).
	- making drawing lines width proportinal to the width of a double line (before it was fixed to 2 pixels regardless of double line width).


Revision 102209 - Directory Listing
Modified Fri Sep 21 13:34:42 2018 UTC (16 months ago) by alexk
Cosmetics:
	- replaced reverse assignments with object tests;
	- replaced an obsolete feature call with a contemporary one;
	- used an across form of a loop instead  of a classic one.


Revision 102199 - Directory Listing
Modified Fri Sep 21 11:31:50 2018 UTC (16 months ago) by jfiat
Validate parent targets, remote parent targets, groups, override, ... only after the ecf parsing and not during the xml parsing.
- This way, "local" and "remote" parent target are handled in similar way.
- This makes a clear separation between parsing and validation.
- In addition, this allows to edit project file in EiffelStudio project settings to fix erroneous project configuration file.

Revision 102198 - Directory Listing
Modified Fri Sep 21 10:35:16 2018 UTC (16 months ago) by alexk
Fixed a bug that caused acceess on invalid index when iterating over XML element child elements and removing some of them. As a result, the iterator became invalid. The fix uses a copy of child elements to avoid changing the underlying structure during iteration. The code could be improved as soon as XML tree library provides a robust way to remove child elements.

Revision 102197 - Directory Listing
Modified Fri Sep 21 10:28:51 2018 UTC (16 months ago) by alexk
Fixed a bug when a file name was appended to a directory name instead of having a separator between them. As a result, generated files were not stored in the documentation directory.

Revision 102196 - Directory Listing
Modified Thu Sep 20 11:10:22 2018 UTC (16 months, 1 week ago) by jfiat
Removed obsolete reverse assignment attempt.

Revision 102192 - Directory Listing
Modified Tue Sep 18 19:30:29 2018 UTC (16 months, 1 week ago) by jfiat
Updated max_type_id to 67 .

Revision 102183 - Directory Listing
Modified Mon Sep 17 08:44:12 2018 UTC (16 months, 1 week ago) by alexk
Supported melted byte code and C code generation for minus operation on CHARACTER types.

Revision 102182 - Directory Listing
Modified Mon Sep 17 08:39:42 2018 UTC (16 months, 1 week ago) by alexk
Used once functions to return constant values instead of creating new objects all the time.

Revision 102181 - Directory Listing
Modified Mon Sep 17 08:36:55 2018 UTC (16 months, 1 week ago) by alexk
Cosmetics:
	- replaced a regular loop with an across form;
	- replaced some reverse assignments with object tests.


Revision 102180 - Directory Listing
Modified Mon Sep 17 08:34:53 2018 UTC (16 months, 1 week ago) by alexk
Cosmetics: merged nested conditionals into one.

Revision 102179 - Directory Listing
Modified Mon Sep 17 08:33:57 2018 UTC (16 months, 1 week ago) by alexk
Implemented feature `evaluate` by delegating its computation to the corresponding expression (this should allow to optimize both `True` and `(True)` in the same way).

Revision 102178 - Directory Listing
Modified Mon Sep 17 08:30:33 2018 UTC (16 months, 1 week ago) by alexk
Added constant attributes for macro names to check assertions.

Revision 102166 - Directory Listing
Modified Fri Sep 14 12:45:39 2018 UTC (16 months, 1 week ago) by jfiat
Added the description note content of class in the class tool (can be enabled/disable via a toolbar button).

Revision 102162 - Directory Listing
Modified Thu Sep 13 12:43:17 2018 UTC (16 months, 2 weeks ago) by jfiat
Added "Compile from scratch" to Project menu.

Revision 102161 - Directory Listing
Modified Thu Sep 13 12:39:21 2018 UTC (16 months, 2 weeks ago) by jfiat
Added "Compile from scratch" to Project menu.

Revision 102160 - Directory Listing
Modified Thu Sep 13 09:56:53 2018 UTC (16 months, 2 weeks ago) by alexk
Changed NOT_SUPPORTED error to include context and line information.
Supported rich text for NOT_SUPPORTED error messages.
Reported NOT_SUPPORTED error for $ operator applied to a cursor variable of an `is` form of a loop.


Revision 102158 - Directory Listing
Modified Wed Sep 12 16:17:26 2018 UTC (16 months, 2 weeks ago) by jfiat
Check for existence and no cycle implied by remote parent target only for current target (do not report error for other targets).
Improved the configuration window, to add/remove remote target as parent.
When opening the configuration window, report as warning any cycle or missing target issue for parent target.
Updated CONF_ERROR_OBSERVER to be reusable outside of the capabilities checker.


Revision 102154 - Directory Listing
Modified Wed Sep 12 07:09:08 2018 UTC (16 months, 2 weeks ago) by alexk
Changed LOCAL_INFO to use a creation procedure that always takes an attached type.
Added a query to LOCAL_INFO to indicate that the corresponding variable should be replaced with an associated expression (used in `is` forms of across loops).
Added an attribute to LOCAL_INFO to store associated expression that should replace the corresponding variable when needed.
Changed LOCAL_INFO to use flags instead of BOOLEAN attributres.
Supported type checks and code generation for `is` forms of across loops.
Simplified interface to set some flags on LOCAL_INFO.


Revision 102138 - Directory Listing
Modified Thu Sep 6 19:11:59 2018 UTC (16 months, 3 weeks ago) by jfiat
Fixed debugger evaluation of class routine.

Revision 102129 - Directory Listing
Modified Tue Sep 4 06:40:29 2018 UTC (16 months, 3 weeks ago) by alexk
Redefined feature `is_temporary` to improve inlining of calls with multi-dot call chain targets.

Revision 102064 - Directory Listing
Modified Fri Aug 24 13:29:30 2018 UTC (17 months ago) by alexk
Added a TODO note about removing code duplication.

Revision 102062 - Directory Listing
Modified Fri Aug 24 09:59:36 2018 UTC (17 months ago) by alexk
Provided an implementation of `allocates_memory` to avoid excessive GC register usage caused by the commit rev#102061 when a right-hand side of an equality test is a call chain consisting only of attributes in finalized mode without assertions.

Revision 102061 - Directory Listing
Modified Fri Aug 24 09:54:40 2018 UTC (17 months ago) by alexk
Fixed bug#19449 (test#final120, test#final126, test#runtime001) by storing a reference to a result of a left-hand-side expression used in an equality test in a temporary GC-trackable variable (register) if right-hand-side expression can trigger GC.

Revision 102059 - Directory Listing
Modified Fri Aug 24 09:41:30 2018 UTC (17 months ago) by alexk
Renamed `generate_for_type` into `generate_for_attachment` to clarify that generated code can include object cloning performed during reattachment (if necessary).
Added a similar procedure `generate_for_call` that performs no cloning and can be used to make a call on a result of a given expression (or to compare the result with something else).


Revision 102058 - Directory Listing
Modified Fri Aug 24 09:05:29 2018 UTC (17 months ago) by alexk
Cosmetics: fixed punctuation in feature comments.

Revision 102057 - Directory Listing
Modified Fri Aug 24 09:03:05 2018 UTC (17 months ago) by alexk
Replaced a reverse assignment with a regular one.

Revision 102048 - Directory Listing
Modified Mon Aug 20 17:05:19 2018 UTC (17 months, 1 week ago) by alexk
Added a flag to an iteration part of a loop AST to indicate the form `across e is v`.

Revision 102046 - Directory Listing
Modified Mon Aug 20 13:29:01 2018 UTC (17 months, 1 week ago) by alexk
Treated `is` as keyword regardless of current syntax variant because it is now used for an across loop.

Revision 102038 - Directory Listing
Modified Thu Aug 16 14:36:20 2018 UTC (17 months, 1 week ago) by jfiat
Use READABLE_STRING_GENERAL for icon name instead of just STRING.

Revision 102037 - Directory Listing
Modified Thu Aug 16 14:35:42 2018 UTC (17 months, 1 week ago) by jfiat
Fixed potential call on Void target (as it sometime depends on the calls order).
- removed the attributes "strings" and use local variable instead.
- in folder_of_id, class_of_id and feature_of_id: compute again the `split_by_string` as it may happen to be Void.

Revision 102036 - Directory Listing
Modified Thu Aug 16 14:30:10 2018 UTC (17 months, 1 week ago) by jfiat
Fixed potential call on void target.

Revision 102035 - Directory Listing
Modified Thu Aug 16 14:22:40 2018 UTC (17 months, 1 week ago) by jfiat
Removed obsolete feature calls and obsolete reverse assignment attempts.

Revision 102034 - Directory Listing
Modified Thu Aug 16 14:22:15 2018 UTC (17 months, 1 week ago) by jfiat
Fixed completion implementation when the list of possibilities could be empty or Void.
- use new added `reset_completion_list` feature to have unique place where `completion_possibilies` is set to Void

Revision 102033 - Directory Listing
Modified Thu Aug 16 14:19:01 2018 UTC (17 months, 1 week ago) by jfiat
Rescue potential issue with regexp search execution.

Revision 102005 - Directory Listing
Modified Wed Aug 8 18:52:23 2018 UTC (17 months, 2 weeks ago) by jfiat
Accepts now READABLE_STRING_GENERAL for icon names.


Revision 102004 - Directory Listing
Modified Wed Aug 8 16:32:19 2018 UTC (17 months, 2 weeks ago) by jfiat
Accepts now READABLE_STRING_GENERAL for icon names.
(cosmetics: remove a few useless occurrences  of "attached" keyword)

Revision 102002 - Directory Listing
Modified Wed Aug 8 11:55:18 2018 UTC (17 months, 2 weeks ago) by jfiat
Accepts now READABLE_STRING_GENERAL for icon names.

Revision 102001 - Directory Listing
Modified Wed Aug 8 11:54:18 2018 UTC (17 months, 2 weeks ago) by jfiat
Accepts now READABLE_STRING_GENERAL for icon names.

Revision 101997 - Directory Listing
Modified Thu Jul 26 13:08:41 2018 UTC (18 months ago) by alexk
Supported extension of menus using menu extension services.

Revision 101996 - Directory Listing
Modified Thu Jul 26 12:05:58 2018 UTC (18 months ago) by alexk
Added services to extend context menu and tool menu with entries unknown to the standard EiffelStudio.

Revision 101995 - Directory Listing
Modified Thu Jul 26 11:57:30 2018 UTC (18 months ago) by alexk
Added classes to simplify adding new menu entries dynamically.

Revision 101994 - Directory Listing
Modified Thu Jul 26 11:54:12 2018 UTC (18 months ago) by alexk
Made it possible to extend services by creating a service initializer extension dynamically so that other projects (such as EVE) can provide a class ES_SERVICE_INITIALIZER_EXTENSION with their own sets of implemented services.

Revision 101993 - Directory Listing
Modified Thu Jul 26 11:49:19 2018 UTC (18 months ago) by alexk
Added icons for verification service.

Revision 101992 - Directory Listing
Modified Thu Jul 26 11:46:46 2018 UTC (18 months ago) by alexk
Removed a check instruction that prevented removal of messages with multiple subrows that is used by AutoProof.

Revision 101991 - Directory Listing
Modified Thu Jul 26 11:45:23 2018 UTC (18 months ago) by alexk
Cosmetics: replaced reverse assignments with object tests.

Revision 101978 - Directory Listing
Modified Fri Jul 13 16:02:56 2018 UTC (18 months, 2 weeks ago) by jfiat
Updated code to remove obsolete feature call on `ARRAY.make`

Revision 101977 - Directory Listing
Modified Fri Jul 13 15:58:20 2018 UTC (18 months, 2 weeks ago) by jfiat
Updated code to remove obsolete feature calls, and obsolete reverse assignments.

Revision 101968 - Directory Listing
Modified Tue Jul 10 13:28:27 2018 UTC (18 months, 2 weeks ago) by jfiat
Updated to version 18.11

Revision 101966 - Directory Listing
Modified Mon Jul 9 12:55:02 2018 UTC (18 months, 2 weeks ago) by alexk
Supported recompilation for manifest array type override setting.

Revision 101962 - Directory Listing
Modified Mon Jul 9 12:51:29 2018 UTC (18 months, 2 weeks ago) by alexk
Added translation for a menu name.

Revision 101961 - Directory Listing
Modified Mon Jul 9 12:31:26 2018 UTC (18 months, 2 weeks ago) by alexk
Improved wording of the warning message.

Revision 101957 - Directory Listing
Modified Mon Jul 9 10:34:35 2018 UTC (18 months, 2 weeks ago) by alexk
Corrected evaluation of manifest array type checking values for a class by using a current compilation target rather than a library target of the class.

Revision 101954 - Directory Listing
Modified Mon Jul 9 08:41:37 2018 UTC (18 months, 2 weeks ago) by alexk
Cosmetics.

Revision 101953 - Directory Listing
Modified Mon Jul 9 08:41:11 2018 UTC (18 months, 2 weeks ago) by alexk
Removed unnecessary explicit types in object tests.

Revision 101952 - Directory Listing
Modified Mon Jul 9 08:37:46 2018 UTC (18 months, 2 weeks ago) by alexk
Removed an unnecessary local variable.

Revision 101951 - Directory Listing
Modified Mon Jul 9 08:36:34 2018 UTC (18 months, 2 weeks ago) by alexk
Added redeclarations for functions producing nodes for octal and binary integer constants to make sure the node index is properly set.

Revision 101950 - Directory Listing
Modified Mon Jul 9 06:50:38 2018 UTC (18 months, 2 weeks ago) by alexk
Used a different policy to report VWMA(1): if the checks for manifest array type mismatch are set to standard, the override (if any) is ignored; otherwise, the override is used if it is specified; otherwise the current option for the class is used.

Revision 101948 - Directory Listing
Modified Mon Jul 9 06:35:32 2018 UTC (18 months, 2 weeks ago) by alexk
Improved wording of the error message.

Revision 101947 - Directory Listing
Modified Mon Jul 9 06:34:08 2018 UTC (18 months, 2 weeks ago) by alexk
Disabled a warning about manifest array type mismatch when the standard manifest array semantics is safe.

Revision 101946 - Directory Listing
Modified Mon Jul 9 06:31:03 2018 UTC (18 months, 2 weeks ago) by alexk
Specified specific actual generics rather than general ones to fix manifest array type mismatch warnings and to avoid cat-calls in the future.

Revision 101945 - Directory Listing
Modified Mon Jul 9 06:26:41 2018 UTC (18 months, 2 weeks ago) by alexk
Corrected behavior of the interation cursor that was stopping after finishing the first inner iteration instead of switching to another one.

Revision 101944 - Directory Listing
Modified Mon Jul 9 06:25:04 2018 UTC (18 months, 2 weeks ago) by alexk
Removed an unneeded explicit type in an object test.

Revision 101942 - Directory Listing
Modified Sat Jul 7 21:19:12 2018 UTC (18 months, 3 weeks ago) by alexk
Corrected type information stored for ACCESS_ID_AS.
Recorded type information for old expressions, non-object calls and EXPR_CALL_AS.


Revision 101941 - Directory Listing
Modified Sat Jul 7 21:15:35 2018 UTC (18 months, 3 weeks ago) by alexk
Cosmetics.

Revision 101940 - Directory Listing
Modified Sat Jul 7 21:13:47 2018 UTC (18 months, 3 weeks ago) by alexk
Avoided keeping a detachable mark by `as_normally_attached` in void-unsafe mode.

Revision 101933 - Directory Listing
Modified Sat Jul 7 10:12:32 2018 UTC (18 months, 3 weeks ago) by alexk
Added a setting to override default manifest array type checks.

Revision 101929 - Directory Listing
Modified Fri Jul 6 19:44:27 2018 UTC (18 months, 3 weeks ago) by alexk
Fixed a bug with a wrong value returned by `scope`.

Revision 101928 - Directory Listing
Modified Fri Jul 6 17:54:21 2018 UTC (18 months, 3 weeks ago) by alexk
Recorded type for a bracket expression.
Fixed a bug in assertions in `upper_type` where the comment was correct, but the assertion clause was wrong (not updated properly).


Revision 101920 - Directory Listing
Modified Fri Jul 6 10:47:07 2018 UTC (18 months, 3 weeks ago) by alexk
Made sure type is set for an entity associated with a call when this call involves a call to a parenthesis alias.

Revision 101919 - Directory Listing
Modified Thu Jul 5 20:00:48 2018 UTC (18 months, 3 weeks ago) by alexk
Fixed a bug introduced by rev#101072 to the feature `backup_action` that caused source code backup to fail all the time.
Cosmetics.


Revision 101916 - Directory Listing
Modified Tue Jul 3 08:07:13 2018 UTC (18 months, 3 weeks ago) by jfiat
Updated EiffelStudio version to 18.07 .


Revision 101913 - Directory Listing
Modified Mon Jul 2 20:50:39 2018 UTC (18 months, 3 weeks ago) by jfiat
Updated to 1-18-0 to use new standard manifest array.

Revision 101896 - Directory Listing
Modified Mon Jul 2 06:08:35 2018 UTC (18 months, 3 weeks ago) by alexk
Refactored compiler and code analyzer to reuse classes for fixing the same kinds of issues. In this particular commit new code analyzer rule for manifest array type mismatch is included.

Revision 101895 - Directory Listing
Modified Mon Jul 2 05:55:20 2018 UTC (18 months, 3 weeks ago) by alexk
Used feature `{TYPE}.as_normally_attached` to simplify code and avoid unnecessary attachment marks when possible.

Revision 101894 - Directory Listing
Modified Mon Jul 2 05:52:41 2018 UTC (18 months, 3 weeks ago) by alexk
Used feature `{TYPE}.as_normally_attached` to simplify code and avoid unnecessary attachment marks when possible.

Revision 101893 - Directory Listing
Modified Mon Jul 2 05:49:24 2018 UTC (18 months, 3 weeks ago) by alexk
Added a feature `as_normally_attached` that returns an attached type without adding unnecessary attachment marks if possible.

Revision 101891 - Directory Listing
Modified Sat Jun 30 13:46:44 2018 UTC (18 months, 4 weeks ago) by alexk
Removed an explicit type in an object test in `valid_creation_routines` and sligthly simplified the code.

Revision 101878 - Directory Listing
Modified Thu Jun 28 10:39:08 2018 UTC (19 months ago) by alexk
Reported warnings/errors when a source manifest array type is different from the type of the reattachment only for immediate (non-inherited) code.

Revision 101875 - Directory Listing
Modified Wed Jun 27 15:39:26 2018 UTC (19 months ago) by alexk
Split VWMA error report when an explicit manifest type is required into two cases to improve error reporting when error is caused by type mismatch rather than conformance.

Revision 101874 - Directory Listing
Modified Wed Jun 27 15:35:53 2018 UTC (19 months ago) by alexk
Slightly increased width of a Rule column to allow for error codes to fit into it.

Revision 101867 - Directory Listing
Modified Mon Jun 25 16:22:10 2018 UTC (19 months ago) by jfiat
Updated copyright year to 2018 .


Revision 101865 - Directory Listing
Modified Mon Jun 25 15:33:04 2018 UTC (19 months ago) by alexk
Avoided unnecessary recompilation when changing full class checking option (introduced by the previous commit).

Revision 101864 - Directory Listing
Modified Mon Jun 25 14:20:10 2018 UTC (19 months ago) by alexk
Supported an option to control manifest array type checks:
	- changed defaults for 18.01 and later to compute a manifest array type using only the expression itself
	- supported recompilation of classes when the manifest array type setting is changed
	- mentioned in the error report related to manifest array type mismatch that this is indeed a mismatch rather than non-conforming types
	- updated ECF schema, parser and printer
	- added entries to set the option in the project dialog
	- reported a warning or an error for old code relying on the target type of a reattachment for manifest arrays
	- corrected the function to compute an upper type for two types
	- corrected evaluation of maximal type when a system is compiled in non-void-safe mode by avoiding adding attachment marks


Revision 101863 - Directory Listing
Modified Mon Jun 25 13:38:06 2018 UTC (19 months ago) by alexk
Changed conformance test to use `is_implicitly_attached` instead of `is_attached` to handle cases when attachment status is implicit.

Revision 101862 - Directory Listing
Modified Mon Jun 25 13:35:59 2018 UTC (19 months ago) by alexk
Replaced assignments of empty manifest arrays with creation instructions calling `{ARRAY}.make_empty`.

Revision 101861 - Directory Listing
Modified Mon Jun 25 13:33:15 2018 UTC (19 months ago) by alexk
Updated to the latest compiler defaults to avoid getting an error for manifest array type mismatch.

Revision 101857 - Directory Listing
Modified Mon Jun 25 13:10:25 2018 UTC (19 months ago) by jfiat
Updated EiffelStudio version to 18.06 .


Revision 101830 - Directory Listing
Modified Mon Jun 18 14:33:22 2018 UTC (19 months, 1 week ago) by alexk
Improved error reporting by using a single phrase for one-line error that can also be translated.

Revision 101823 - Directory Listing
Modified Wed Jun 13 16:09:07 2018 UTC (19 months, 2 weeks ago) by jfiat
Fixed potential issue when the application target is a remote target (i.e target being parent of a another ECF file target).

Revision 101822 - Directory Listing
Modified Wed Jun 13 16:04:07 2018 UTC (19 months, 2 weeks ago) by jfiat
Support P&D from non-lower cased features.
(fix P&D from constants with upper case).

Revision 101810 - Directory Listing
Modified Thu May 31 13:27:08 2018 UTC (19 months, 4 weeks ago) by jfiat
Fixed potential issue when target is a remote target (i.e target being parent of a another ECF file target).

Revision 101801 - Directory Listing
Modified Tue May 29 10:59:05 2018 UTC (20 months ago) by alexk
Avoided duplicate report of error context caused by calling a parent feature that was updated to report the context if available.

Revision 101796 - Directory Listing
Modified Mon May 28 13:47:19 2018 UTC (20 months ago) by jfiat
Auto export execution parameters only if it is not empty, or if the target file already exists.

Revision 101793 - Directory Listing
Modified Mon May 28 07:58:47 2018 UTC (20 months ago) by jfiat
Removed unused class.

Revision 101792 - Directory Listing
Modified Mon May 28 07:57:22 2018 UTC (20 months ago) by jfiat
Fixed issue with condition on precompile library.


Revision 101781 - Directory Listing
Modified Wed May 23 16:35:52 2018 UTC (20 months ago) by jfiat
Fixed the "on object" debugger evaluation.
(bug introduced rev#101117 , where the debuggee object address was wrongly replaced by the address of the "Current" object).

Revision 101777 - Directory Listing
Modified Mon May 21 12:03:11 2018 UTC (20 months, 1 week ago) by alexk
Cosmetics: reviewed wording of error reports.

Revision 101775 - Directory Listing
Modified Mon May 21 11:33:36 2018 UTC (20 months, 1 week ago) by alexk
Avoided reporting obsolete feature call warnings if they are disabled, but added a single warning report if obsolete message date in at least one obsolete call has expired.

Revision 101774 - Directory Listing
Modified Mon May 21 11:30:31 2018 UTC (20 months, 1 week ago) by alexk
Used `error_handler.warning_level` instead of `error_handler.warning_list.count`.

Revision 101773 - Directory Listing
Modified Mon May 21 11:28:11 2018 UTC (20 months, 1 week ago) by alexk
Cosmetics.

Revision 101771 - Directory Listing
Modified Mon May 21 08:55:03 2018 UTC (20 months, 1 week ago) by alexk
Used specific queries to test whether there are warnings recorded in the error handler.

Revision 101769 - Directory Listing
Modified Mon May 21 08:52:26 2018 UTC (20 months, 1 week ago) by alexk
Replaced functions with constant attributes so that they can be used in non-object calls.

Revision 101768 - Directory Listing
Modified Mon May 21 08:51:02 2018 UTC (20 months, 1 week ago) by alexk
Used the same output format when reporting rule violations with and without source code line information.

Revision 101767 - Directory Listing
Modified Mon May 21 08:48:37 2018 UTC (20 months, 1 week ago) by alexk
Used specific queries to test whether there are no errors and warnings recorded in the error handler.

Revision 101765 - Directory Listing
Modified Mon May 21 08:44:42 2018 UTC (20 months, 1 week ago) by alexk
Fixed a typo in a note clause.

Revision 101764 - Directory Listing
Modified Mon May 21 08:43:41 2018 UTC (20 months, 1 week ago) by alexk
Removed a temporary local variable.

Revision 101754 - Directory Listing
Modified Sun May 20 10:41:26 2018 UTC (20 months, 1 week ago) by alexk
Removed detection of errors for adapations involving class features because they are fully checked at degree 3 (see test#free015, test#free016, test#free017, test#free018, test#free019, test#free020, test#free021, test#free022, test#free023, test#free024).

Revision 101746 - Directory Listing
Modified Thu May 17 14:21:45 2018 UTC (20 months, 1 week ago) by jfiat
Fixed potential call on Void, when Right-Clicking in invariant code.

Revision 101745 - Directory Listing
Modified Thu May 17 13:31:58 2018 UTC (20 months, 1 week ago) by jfiat
Improve user interaction for the address bar completion:
- Added support arrow up and down in address bar (class | feature selections in the main tool bar) to choice inline the next or previous suggestions.
- Added support for [Ctrl+Space] to open the address bar completion dialog (similar to add "*" and press [Enter]).
- Removed (obsolete) reverse assignment attempts.




Revision 101736 - Directory Listing
Modified Fri May 11 13:23:19 2018 UTC (20 months, 2 weeks ago) by alexk
Relaxed rules when a feature can be redeclared into a class one: now it may have assertions, but they should not involve Current, unqualified calls or inline agents (see test#free012, test#free013, test#free014)..

Revision 101734 - Directory Listing
Modified Fri May 11 13:11:52 2018 UTC (20 months, 2 weeks ago) by alexk
Added a flag that indicates that assertions may require Current to make an unqualified call or to access Current directly.

Revision 101731 - Directory Listing
Modified Fri May 11 13:05:40 2018 UTC (20 months, 2 weeks ago) by alexk
Removed an unused local variable.

Revision 101730 - Directory Listing
Modified Fri May 11 13:04:28 2018 UTC (20 months, 2 weeks ago) by alexk
Removed an unused local variable.

Revision 101729 - Directory Listing
Modified Fri May 11 13:03:33 2018 UTC (20 months, 2 weeks ago) by alexk
Fixed a typo in a comment.

Revision 101722 - Directory Listing
Modified Fri May 11 10:30:43 2018 UTC (20 months, 2 weeks ago) by jfiat
Better code for precompile checking.

Revision 101721 - Directory Listing
Modified Fri May 11 09:55:05 2018 UTC (20 months, 2 weeks ago) by jfiat
Check custom variable condition on `<precompile ...>` .
Check for `workbench.system_defined` for UNIVERSE_I implementation.
Removed (obsolete) reverse assignment attempts.






Revision 101719 - Directory Listing
Modified Mon May 7 10:25:08 2018 UTC (20 months, 3 weeks ago) by jfiat
Removed (obsolete) reverse assignment attempts.
Minor change to use across loop.




Revision 101718 - Directory Listing
Modified Mon May 7 09:03:05 2018 UTC (20 months, 3 weeks ago) by jfiat
Fixed wrong usage of {CHARACTER_32}.out .
Replaced (obsolete) reverse assignment attempts with better code.



Revision 101717 - Directory Listing
Modified Mon May 7 08:52:27 2018 UTC (20 months, 3 weeks ago) by jfiat
Improved code completion to prevent completion triggering for |. or .. or =. .
Fixed wrong usage of {CHARACTER_32}.out .


Revision 101711 - Directory Listing
Modified Fri May 4 09:11:51 2018 UTC (20 months, 3 weeks ago) by jfiat
Fixed Pick&Drop behavior for "Precursor" token in editor.
Replaced (obsolete) reverse assignment attempts with better code.



Revision 101710 - Directory Listing
Modified Thu May 3 18:27:33 2018 UTC (20 months, 3 weeks ago) by javierv
Updated EIS with a new abstraction PDF_ENGINE_HELPER to discover the PDF engine.



Revision 101708 - Directory Listing
Modified Wed May 2 15:16:29 2018 UTC (20 months, 3 weeks ago) by javierv
Updated EIS: PDF PROVIDER.
Updated to code to support nameddest, try to launch acrobat selecting
the version in the target machine if any, in other case URI launching 
is the default solution.

Revision 101690 - Directory Listing
Modified Sat Apr 28 20:35:20 2018 UTC (21 months ago) by alexk
Removed unused inheritance from `{BASIC_ROUTINES}`.

Revision 101683 - Directory Listing
Modified Fri Apr 27 16:14:18 2018 UTC (21 months ago) by jfiat
Implemented auto-import (and auto-export) debugger profiles from ""$target_name.$system_name.dbg.profiles.xml file if exists.
By default auto-import is enabled, and auto-export is disabled.
The user can change those settings, via the Execution parameters dialog, or directly using the preferences "debugger.parameters.auto_import and auto_export".


Revision 101680 - Directory Listing
Modified Fri Apr 27 12:57:22 2018 UTC (21 months ago) by jfiat
Implemented auto-import (and auto-export) debugger profiles from ""$target_name.$system_name.dbg.profiles.xml file if exists.
By default auto-import is enabled, and auto-export is disabled.
The user can change those settings, via the Execution parameters dialog, or directly using the preferences "debugger.parameters.auto_import and auto_export".


Revision 101679 - Directory Listing
Modified Fri Apr 27 12:07:06 2018 UTC (21 months ago) by jfiat
Update completion window to follow standard behavior:
- even if there is a unique entry, show the window.
- complete with selection when user single (and also double) click on entry.
- display the entry side tooltip (comments and assertions) when mouse pointer is hover the entry.

Revision 101678 - Directory Listing
Modified Wed Apr 25 14:31:08 2018 UTC (21 months ago) by jfiat
Updated code to remove obsolete code.
Replaced (obsolete) reverse assignment attempts with object tests.


Revision 101676 - Directory Listing
Modified Mon Apr 23 11:38:38 2018 UTC (21 months ago) by jfiat
Replaced (obsolete) reverse assignment attempts with object tests.


Revision 101675 - Directory Listing
Modified Mon Apr 23 08:21:32 2018 UTC (21 months ago) by jfiat
Replaced (obsolete) reverse assignment attempts with object tests.
Replace standard loop with across loop code.

Revision 101674 - Directory Listing
Modified Fri Apr 20 14:53:19 2018 UTC (21 months, 1 week ago) by jfiat
Use ARGUMENTS_32 class in new basic project code. (instead of obsolete ARGUMENTS class).

Revision 101673 - Directory Listing
Modified Fri Apr 20 13:23:39 2018 UTC (21 months, 1 week ago) by jfiat
Replaced (obsolete) reverse assignment attempts with object tests.
(Completing previous commit)


Revision 101672 - Directory Listing
Modified Fri Apr 20 11:16:30 2018 UTC (21 months, 1 week ago) by jfiat
Replaced (obsolete) reverse assignment attempts with object tests.


Revision 101671 - Directory Listing
Modified Wed Apr 18 22:53:07 2018 UTC (21 months, 1 week ago) by javierv
Fixed issue with EIS with protocol uri. 

Revision 101669 - Directory Listing
Modified Wed Apr 18 11:04:17 2018 UTC (21 months, 1 week ago) by alexk
Ignored external static attributes when checking for VUCR.

Revision 101665 - Directory Listing
Modified Mon Apr 16 20:21:40 2018 UTC (21 months, 1 week ago) by alexk
Fixed a bug introduced by the refactoring at rev#101572.

Revision 101662 - Directory Listing
Modified Mon Apr 16 15:54:01 2018 UTC (21 months, 1 week ago) by alexk
Applied missing feature renaming from commit rev#101660.

Revision 101661 - Directory Listing
Modified Mon Apr 16 12:28:31 2018 UTC (21 months, 1 week ago) by alexk
Used more recent terminology for class features.
Optimized checks whether a class is "ANY".
Cosmetics.


Revision 101660 - Directory Listing
Modified Mon Apr 16 11:39:51 2018 UTC (21 months, 1 week ago) by alexk
Propagated `is_class` directly from `{FEATURE_I}` to `{E_FEATURE}` to take into account assertions and external static attributes.
Updated terminology to refer to class features rather than to instance-free features.


Revision 101659 - Directory Listing
Modified Mon Apr 16 11:06:42 2018 UTC (21 months, 1 week ago) by alexk
Removed calls to queries that indicated whether a feature is instance-free with calls to `is_class`.

Revision 101658 - Directory Listing
Modified Mon Apr 16 11:02:55 2018 UTC (21 months, 1 week ago) by alexk
Avoided obsolete calls due to implicit string conversion.

Revision 101657 - Directory Listing
Modified Fri Apr 13 13:37:07 2018 UTC (21 months, 2 weeks ago) by alexk
Updated error messages to refer to class features rather than to instance-free features.

Revision 101656 - Directory Listing
Modified Fri Apr 13 13:24:37 2018 UTC (21 months, 2 weeks ago) by alexk
Updated error messages to refer to class features rather than to instance-free features.
Refined postconditions of creation procedures.


Revision 101655 - Directory Listing
Modified Fri Apr 13 13:03:37 2018 UTC (21 months, 2 weeks ago) by alexk
Updated error messages to refer to class features rather than to instance-free features.
Refined postconditions of creation procedures.


Revision 101651 - Directory Listing
Modified Wed Apr 11 14:15:52 2018 UTC (21 months, 2 weeks ago) by alexk
Replaced calls to an obsolete feaure `is_service_available` with calls to `service`.

Revision 101650 - Directory Listing
Modified Wed Apr 11 14:09:05 2018 UTC (21 months, 2 weeks ago) by alexk
Restored redirection of a dropped class or feature stone into an error panel to activate a class or feature panel with the selected feature.
Made sure state and counters of error/warning/hint buttons are updated when some messages are removed by using a keyboard key Del or a dedicated panel button.


Revision 101643 - Directory Listing
Modified Sat Apr 7 12:14:01 2018 UTC (21 months, 3 weeks ago) by alexk
Changed conditions when code of a feature is checked: now it includes not only routines and attributes with bodies, but any features with code (e.g. attributes with inherited assertions) or with class postconditions.

Revision 101642 - Directory Listing
Modified Sat Apr 7 12:10:00 2018 UTC (21 months, 3 weeks ago) by alexk
Reported VUCR as an error in most cases.
Set written class when reporting VUCR to make sure source text information is correctly presented for inherited code.


Revision 101641 - Directory Listing
Modified Sat Apr 7 12:05:04 2018 UTC (21 months, 3 weeks ago) by alexk
Simplified rules for redefinition into and merging with a class feature to require a precursor either to be a class feature or to have no contracts.

Revision 101640 - Directory Listing
Modified Sat Apr 7 12:02:10 2018 UTC (21 months, 3 weeks ago) by alexk
Changed definition of
	- `has_class_postcondition`: now it is True for constants and static external features that have no contracts
	- `is_instance_free`: now it is True either for a class feature or for a target-free feature (an external that does not need Current, e.g. a static field)
	- `is_class`: now it is True as soon as a feature has a class postcondition
	- `has_static_access`: now it is True iff `is_instance_free` is True
Added a feature `has_code` that tells if some code is associated with a feature, not just memory access. This goes beyond routines and includes variable attributes with bodies and attributes with non-empty inherited assertions.
Moved `assert_id_set` and `set_assert_id_set` one level up to support inherited assertions for constants.


Revision 101639 - Directory Listing
Modified Sat Apr 7 11:40:19 2018 UTC (21 months, 3 weeks ago) by alexk
Removed an unnecessary inheritance link.

Revision 101638 - Directory Listing
Modified Sat Apr 7 11:29:30 2018 UTC (21 months, 3 weeks ago) by alexk
Moved evalution of inherited assertions sets before adaptation checks that use this information to check the rules related to class status of features and to the shape of inherited assertions.

Revision 101633 - Directory Listing
Modified Thu Apr 5 20:50:33 2018 UTC (21 months, 3 weeks ago) by jfiat
Replaced (obsolete) reverse assignment attempts with object tests.


Revision 101628 - Directory Listing
Modified Thu Apr 5 13:53:20 2018 UTC (21 months, 3 weeks ago) by alexk
Avoided duplicate reattachments with the same stone value.

Revision 101626 - Directory Listing
Modified Wed Apr 4 21:27:20 2018 UTC (21 months, 3 weeks ago) by jfiat
Replaced many (obsolete) reverse assignment attempts with object tests.
Rename argument related to CONF_GROUP, to show it could be any group, and not just cluster.
Avoid assertion violation when using `PATH.extended (...)` with name starting with slash '/' .


Revision 101619 - Directory Listing
Modified Fri Mar 30 17:23:34 2018 UTC (21 months, 4 weeks ago) by jfiat
Added support to "extends" an Eiffel Configuration target with a target from another ECF file.
- This notion is called "remote target" or "remote parent".
- It is quite similar to normal "extends" but from another ECF file. 
- It is forbidden to have cycle in such parent chain.

Revision 101614 - Directory Listing
Modified Fri Mar 30 10:29:40 2018 UTC (21 months, 4 weeks ago) by alexk
Fixed a recompilation issue caused by keeping dependant classes when removing a class: not all of them are recorded as suppliers, they are recorded recursively instead when checking class conformance, so the removal should be done recursively as well (this fixes test#incr381 that started failing after commit rev#101613 that might trigger rechecks of descendants of classes that were not compiled successfully from the beginning).
Replaced obsolete feature calls with contemporary ones.


Revision 101613 - Directory Listing
Modified Fri Mar 30 10:20:37 2018 UTC (21 months, 4 weeks ago) by alexk
Added a check for VHPR(5) violation when different generic derivations are not just parents, but, possibly, deeply inherited ancestors (see test#valid255).
Improved error report for VHPR(5) by
	- mentioning a base class of offending derivations
	- mentioning classes where the derivations come from
Requested descendant checks even when perfoming the first compilation to avoid a recompilation problem when the first compilation fails and the next one does not update all the descendants of modified classes recursively (see test#valid255).


Revision 101612 - Directory Listing
Modified Fri Mar 30 10:12:46 2018 UTC (21 months, 4 weeks ago) by alexk
Made sure a new line is added when reporting both variants of a validity rule violation, not just one.

Revision 101611 - Directory Listing
Modified Fri Mar 30 10:11:05 2018 UTC (21 months, 4 weeks ago) by alexk
Replaced obsolete calls with contemporary ones.

Revision 101609 - Directory Listing
Modified Fri Mar 30 10:02:38 2018 UTC (21 months, 4 weeks ago) by alexk
Removed repeated inheritance from EVENT_CONNECTION_POINT_I that used different generic derivations and violated VHPR(5).

Revision 101605 - Directory Listing
Modified Wed Mar 28 13:06:16 2018 UTC (22 months ago) by alexk
Supported an error report when source code context is unavailable.

Revision 101604 - Directory Listing
Modified Wed Mar 28 13:05:00 2018 UTC (22 months ago) by alexk
Replaced a call to an obsolete feature `force_extend` with a call to `extend`.

Revision 101603 - Directory Listing
Modified Wed Mar 28 13:03:56 2018 UTC (22 months ago) by alexk
Added source code context if line information is available.

Revision 101602 - Directory Listing
Modified Wed Mar 28 13:01:26 2018 UTC (22 months ago) by alexk
Added missing attachment marks.
Replaced obsolete feature calls with contemporary ones.


Revision 101601 - Directory Listing
Modified Wed Mar 28 12:40:17 2018 UTC (22 months ago) by alexk
Removed calls to an obsolete feature `empty_operands`.

Revision 101592 - Directory Listing
Modified Tue Mar 27 21:06:57 2018 UTC (22 months ago) by jfiat
Fixed compilation of IL_MODULE.

Revision 101573 - Directory Listing
Modified Tue Mar 27 07:51:51 2018 UTC (22 months ago) by alexk
Supported localized output from precompilation process.

Revision 101572 - Directory Listing
Modified Mon Mar 26 20:14:40 2018 UTC (22 months ago) by jfiat
Removed a few reverse assignment attempts.
Removed a few obsolete calls to ARRAY.make .
Removed a few obsolete calls to SERVICE_CONSUMER.is_service_available.

Revision 101563 - Directory Listing
Modified Sat Mar 24 12:33:32 2018 UTC (22 months ago) by alexk
Avoided string conversions.

Revision 101549 - Directory Listing
Modified Thu Mar 22 14:20:01 2018 UTC (22 months, 1 week ago) by jfiat
Removed obsolete calls to {ARRAY}.make.

Revision 101543 - Directory Listing
Modified Thu Mar 22 09:28:15 2018 UTC (22 months, 1 week ago) by jfiat
Auto complete possible if possibilities is not empty.

Revision 101542 - Directory Listing
Modified Thu Mar 22 09:24:27 2018 UTC (22 months, 1 week ago) by jfiat
Do no mess with text color for startup page, to be compliant with dark theme.

Revision 101541 - Directory Listing
Modified Thu Mar 22 09:13:00 2018 UTC (22 months, 1 week ago) by jfiat
Reuse {EV_STOCK_PIXMAPS}.busy_cursor .

Revision 101531 - Directory Listing
Modified Wed Mar 21 18:21:22 2018 UTC (22 months, 1 week ago) by jfiat
Improved code quality:
 - Change string declaration from STRING_32 to READABLE_STRING_32 in many classes related to configuration library.
 - Replaced obsolete reverse assignment attempts with object tests.
 - Replaced usage of EQUALITY_TUPLE by usage of TUPLE with object comparison enabled.
 - Removed a few ARRAY.make call (as it is not Void-safe).
 - Removed a few usage for `force_extend` for GUI actions. 

Enhanced condition on custom variable:
 - record variable value, when it is coming from environment variables.
 - added support to compare custom value using case-sensitive, case-insensitive, regular expression and wildcard comparisons.

Revision 101528 - Directory Listing
Modified Wed Mar 21 14:37:16 2018 UTC (22 months, 1 week ago) by alexk
Removed temporary local variables.

Revision 101505 - Directory Listing
Modified Wed Mar 14 10:07:40 2018 UTC (22 months, 2 weeks ago) by alexk
Added a new grammar rule for formal general creation constraints to avoid type conversion for creation feature name objects when processing the names.
Used a more specific type for formal generic creation constraints.
Replaced reverse assignments with object tests.
Avoided creation of temporary objects when formatting local variable names.
Cosmetics.


Revision 101504 - Directory Listing
Modified Wed Mar 14 09:56:19 2018 UTC (22 months, 2 weeks ago) by alexk
Removed classes that are not used anymore.

Revision 101503 - Directory Listing
Modified Wed Mar 14 09:52:11 2018 UTC (22 months, 2 weeks ago) by alexk
Processed a question mark as a symbol rather than plain text.

Revision 101502 - Directory Listing
Modified Wed Mar 14 09:50:24 2018 UTC (22 months, 2 weeks ago) by alexk
Added visitor features for UNKNOWN_TYPE_A.

Revision 101501 - Directory Listing
Modified Wed Mar 14 09:45:36 2018 UTC (22 months, 2 weeks ago) by alexk
Used 32-bit versions of strings to avoid obsolete feature calls.

Revision 101500 - Directory Listing
Modified Wed Mar 14 09:42:44 2018 UTC (22 months, 2 weeks ago) by alexk
Removed unneeded setters.
Used 32-bit strings for names.


Revision 101499 - Directory Listing
Modified Wed Mar 14 09:39:20 2018 UTC (22 months, 2 weeks ago) by alexk
Replaced an obsolete call to ARRAY.make with a call to ARRAY.make_from_array.
Added a feature `item_name_32` to retrieve Unicode-aware names.
Repalced reverse assignments with object tests.
Removed a feature `solve_types` that is not used anymore.


Revision 101498 - Directory Listing
Modified Wed Mar 14 09:34:56 2018 UTC (22 months, 2 weeks ago) by alexk
Moved type evaluation to `solve_types` to avoid unnecessary indirection and repetitive context update for the type evaluator.

Revision 101496 - Directory Listing
Modified Wed Mar 14 09:30:50 2018 UTC (22 months, 2 weeks ago) by alexk
Replaced obsolete calls to ARRAY.make with calls to ARRAY.make_empty and ARRAY.make_filled.
Replaced reverse asignments with object tests.
Removed unneeded local variables.
Cosmetics.


Revision 101494 - Directory Listing
Modified Wed Mar 14 09:19:14 2018 UTC (22 months, 2 weeks ago) by alexk
Replaced obsolete calls to ARRAY.make with calls to ARRAY.make_empty and ARRAY.make_filled.
Replaced reverse asignments with object tests.
Cosmetics.


Revision 101493 - Directory Listing
Modified Wed Mar 14 09:15:33 2018 UTC (22 months, 2 weeks ago) by alexk
Replaced obsolete calls to ARRAY.make with ARRAY.make_filled.

Revision 101492 - Directory Listing
Modified Wed Mar 14 09:11:36 2018 UTC (22 months, 2 weeks ago) by alexk
Removed unused inheritance link.

Revision 101491 - Directory Listing
Modified Wed Mar 14 09:05:24 2018 UTC (22 months, 2 weeks ago) by alexk
Changed the type name to a question mark so that it can be used in messages when the particular type is irrelevant.

Revision 101477 - Directory Listing
Modified Fri Mar 9 18:28:25 2018 UTC (22 months, 2 weeks ago) by jfiat
Added json library to ec bench.

Revision 101475 - Directory Listing
Modified Thu Mar 8 22:38:00 2018 UTC (22 months, 2 weeks ago) by jfiat
Now the debugger String Display includes information related to the current caret/cursor position (index in original string value, current character, and its code).

Revision 101472 - Directory Listing
Modified Thu Mar 8 09:04:52 2018 UTC (22 months, 3 weeks ago) by jfiat
Added JSON debugger viewer.

Revision 101467 - Directory Listing
Modified Wed Mar 7 15:10:37 2018 UTC (22 months, 3 weeks ago) by alexk
Removed an unused setting `msil_assembly_compatibility`.

Revision 101466 - Directory Listing
Modified Wed Mar 7 15:08:37 2018 UTC (22 months, 3 weeks ago) by alexk
Fixed a typo in a comment.

Revision 101465 - Directory Listing
Modified Wed Mar 7 15:06:08 2018 UTC (22 months, 3 weeks ago) by alexk
Replaced a call to the obsolete feature `{ARRAY}.make` with a call to `{ARRAY}.make_filled`.
Cosmetics.


Revision 101464 - Directory Listing
Modified Wed Mar 7 15:03:34 2018 UTC (22 months, 3 weeks ago) by alexk
Added detachable type mark to `escape_characters` type declaration.
Marked the class as deferred because it violates the class invariant if used as a creation type.
Cosmetics.


Revision 101461 - Directory Listing
Modified Tue Mar 6 14:08:35 2018 UTC (22 months, 3 weeks ago) by jfiat
Removed usage of obsolete `is_service_available` function.

Revision 101458 - Directory Listing
Modified Fri Mar 2 14:11:48 2018 UTC (22 months, 3 weeks ago) by jfiat
Updated source to 18.05 version

Revision 101457 - Directory Listing
Modified Thu Mar 1 09:28:52 2018 UTC (22 months, 4 weeks ago) by alexk
Slightly optimized code by using `preceed` instead of `prepend`.

Revision 101456 - Directory Listing
Modified Thu Mar 1 09:24:30 2018 UTC (22 months, 4 weeks ago) by alexk
Updated a local type to match recent changes in the library cli_writer.

Revision 101439 - Directory Listing
Modified Wed Feb 28 11:38:13 2018 UTC (22 months, 4 weeks ago) by alexk
Used 32-bit versions of strings to avoid obsolete feature calls.

Revision 101428 - Directory Listing
Modified Thu Feb 15 15:41:37 2018 UTC (23 months, 1 week ago) by alexk
Avoided reporting a VUCR warning if is has been reported after an earlier check (in particular, this avoids duplicate warnings in test#incr228).

Revision 101427 - Directory Listing
Modified Thu Feb 15 15:29:52 2018 UTC (23 months, 1 week ago) by alexk
Removed a duplicated parent class.
Cosmetics.


Revision 101426 - Directory Listing
Modified Thu Feb 15 15:24:36 2018 UTC (23 months, 1 week ago) by alexk
Replaced a call to an obsolete feature `is_service_available` with a call to `service`.

Revision 101415 - Directory Listing
Modified Tue Feb 13 13:04:37 2018 UTC (23 months, 1 week ago) by alexk
Factored out generation of C/C++ compiler flags to ensure they are the same (in particular, for the code generation options like "Run-time in DLL", "IEEE floating point", etc.) except for the part that is C/C++ language-dependent.


Revision 101407 - Directory Listing
Modified Fri Feb 9 14:15:01 2018 UTC (23 months, 2 weeks ago) by alexk
Added protection to check unqualified feature calls only when the identifier corresponds to a feature (rather than an argument, a local, etc.).
Avoided checking unqualified calls when the feature being checked is not a class one.


Revision 101399 - Directory Listing
Modified Thu Feb 8 13:43:46 2018 UTC (23 months, 2 weeks ago) by jfiat
Use default background color for the License dialog.

Revision 101366 - Directory Listing
Modified Wed Feb 7 09:16:08 2018 UTC (23 months, 2 weeks ago) by jfiat
Improved startup, license and about dialog with dark theme.

Revision 101365 - Directory Listing
Modified Tue Feb 6 16:04:04 2018 UTC (23 months, 2 weeks ago) by jfiat
Make sure license text use black foreground color.

Revision 101340 - Directory Listing
Modified Thu Feb 1 12:53:44 2018 UTC (23 months, 3 weeks ago) by jfiat
Replaced usage of EVS_SCROLLABLE_LABEL by a simple EV_TEXT.

Revision 101339 - Directory Listing
Modified Wed Jan 31 17:04:09 2018 UTC (23 months, 3 weeks ago) by jfiat
Removed the check assertion as the else branch may occur with ecf without any uuid.

Revision 101337 - Directory Listing
Modified Wed Jan 31 15:01:29 2018 UTC (23 months, 3 weeks ago) by alexk
Ensured creation instruction is generated even when there is no creation call (this fixes test#expanded012 for .NET).

Revision 101311 - Directory Listing
Modified Fri Jan 26 08:36:13 2018 UTC (2 years ago) by jfiat
Updated EiffelStudio to the 18.01 release.
Updated copyright year to 2018.

Revision 101263 - Directory Listing
Modified Mon Jan 22 14:38:23 2018 UTC (2 years ago) by alexk
Reported VDJR(5), VDRD(9) and VUCR as warnings rather than errors if the feature is a class one due to the new coding convention rather than an explicit class postcondition.

Revision 101262 - Directory Listing
Modified Mon Jan 22 14:23:37 2018 UTC (2 years ago) by alexk
Renamed `has_class_postcondition` to `has_immediate_class_postcondition` and added `has_class_postcondition` that takes into account inherited assertions.

Revision 101261 - Directory Listing
Modified Mon Jan 22 13:38:07 2018 UTC (2 years ago) by alexk
Considered an external feature as a class one unless it is a non-static built-in.
Corrected `is_instance_free` to take into account non-static built-in features.


Revision 101260 - Directory Listing
Modified Mon Jan 22 13:36:12 2018 UTC (2 years ago) by alexk
Clarified a comment for `has_class_postcondition`.

Revision 101259 - Directory Listing
Modified Mon Jan 22 13:21:16 2018 UTC (2 years ago) by alexk
Corrected description in the class note clause.
Made error wording more precise.


Revision 101258 - Directory Listing
Modified Mon Jan 22 13:20:20 2018 UTC (2 years ago) by alexk
Corrected description in the class note clause.

Revision 101247 - Directory Listing
Modified Mon Jan 22 10:45:40 2018 UTC (2 years ago) by alexk
Improved wording of error messages.

Revision 101231 - Directory Listing
Modified Fri Jan 12 09:19:32 2018 UTC (2 years ago) by alexk
Changed code generation to perform conditional object cloning before registering the assignment with GC because cloning can trigger GC by itself, so the registered object will not be traversed at the next cycle (this fixes test#runtime021).

Revision 101226 - Directory Listing
Modified Thu Jan 11 13:30:46 2018 UTC (2 years ago) by alexk
Replaced manifest constants RTAR with a constant attribute.

Revision 101222 - Directory Listing
Modified Mon Jan 8 14:05:11 2018 UTC (2 years ago) by jfiat
Removed the possibility to set custom url for support site.
Now it is defined in {ES_EXCEPTION_DIALOG}.support_url .

Revision 101221 - Directory Listing
Modified Fri Jan 5 14:01:31 2018 UTC (2 years ago) by jfiat
Made better dynamic layout for startup pages content (license agreement, ...).

Revision 101216 - Directory Listing
Modified Tue Dec 26 16:25:18 2017 UTC (2 years, 1 month ago) by alexk
Disabled reporting an instance-free-related error when "Absent explicit assertion" is turned on, because the checks are done somewhere else.


Revision 101215 - Directory Listing
Modified Tue Dec 26 16:23:29 2017 UTC (2 years, 1 month ago) by alexk
Added checks for instance-free-related validity rules when the option "Absent explicit assertion" is turned on.


Revision 101214 - Directory Listing
Modified Tue Dec 26 16:19:41 2017 UTC (2 years, 1 month ago) by alexk
Added a feature that checks whether all features declared as class do not require target objects and all non-object feature calls are correct.


Revision 101213 - Directory Listing
Modified Tue Dec 26 16:14:23 2017 UTC (2 years, 1 month ago) by alexk
Added a validator to check instance-free features when some of the features do not have explicit class postconditions. It performs two kinds of checks:
	- for a class feature: whether its code does not require `Current` and all non-object calls are correct;
	- for a feature with non-object calls: whether features used the non-object calls do not require objects.


Revision 101212 - Directory Listing
Modified Tue Dec 26 16:08:10 2017 UTC (2 years, 1 month ago) by alexk
Added evaluation whether a feature has non-object calls in inherited assertions.

Revision 101211 - Directory Listing
Modified Tue Dec 26 16:07:00 2017 UTC (2 years, 1 month ago) by alexk
Added queries that tell if a feature body or its immediate assertions have non-object calls.
Propagated information about immediate non-object calls from a feature AST to a feature descriptor.
Added queries that tell if a feature has non-object calls, immediate or inherited.


Revision 101209 - Directory Listing
Modified Tue Dec 26 15:57:10 2017 UTC (2 years, 1 month ago) by alexk
Moved a plain comment to a note description clause.

Revision 101203 - Directory Listing
Modified Sun Dec 24 19:38:36 2017 UTC (2 years, 1 month ago) by alexk
Avoided an optimization of a single-instruction feature that consists of a single call when the target of the call is of an expanded type, because the result needs to be returned, but its address may be changed by the GC during the call (see `compute_need_gc_hooks`). This fixes test#expanded011.
Replaced assignment attempts with object tests.
Replaced obsolete feature calls with contemporary ones.


Revision 101198 - Directory Listing
Modified Fri Dec 22 19:25:28 2017 UTC (2 years, 1 month ago) by jfiat
Updated the instance-free icons (pre-built, and not anymore generated at runtime).
Updated deferred icons to adopt same border lines of non deferred routine icons, but use a light color inside.

Revision 101196 - Directory Listing
Modified Fri Dec 22 10:28:47 2017 UTC (2 years, 1 month ago) by jfiat
Restore the `1` indicator on the icons for constants.
In the Features tool, try to display whenever it is possible the instance-free property.

Revision 101195 - Directory Listing
Modified Fri Dec 22 10:15:12 2017 UTC (2 years, 1 month ago) by alexk
Added a query that tells if a routine has a class postcondition.

Revision 101193 - Directory Listing
Modified Fri Dec 22 09:08:40 2017 UTC (2 years, 1 month ago) by alexk
Relaxed an assertion that if a feature is used in a non-object call, it should be instance-free, by ignoring this condition with 'Absent explicit assertion' turned on because the validity checks in this case are done after code generation.

Revision 101192 - Directory Listing
Modified Fri Dec 22 09:06:05 2017 UTC (2 years, 1 month ago) by alexk
Cosmetics: corrected description that did not have spaces between phrases on different lines.

Revision 101185 - Directory Listing
Modified Mon Dec 18 18:53:27 2017 UTC (2 years, 1 month ago) by alexk
Updated code to the follow recent changes in the configuration library.

Revision 101183 - Directory Listing
Modified Mon Dec 18 18:07:04 2017 UTC (2 years, 1 month ago) by alexk
Checked whether a feature is instance-free and whether the target type is suitable for a non-object call independently.
Factored out error reports for non-object calls to allow for postponing them when AXA option is turned on.
Added a check that AXA option is applicable only when the class used in a non-object call is compiled with "Full class checking".


Revision 101181 - Directory Listing
Modified Mon Dec 18 14:56:06 2017 UTC (2 years, 1 month ago) by jfiat
New has_class_postcondition feature queries in the metrics tool.


Revision 101180 - Directory Listing
Modified Mon Dec 18 14:03:14 2017 UTC (2 years, 1 month ago) by alexk
Reported VD83 for 'absent_explicit_assertion' as an error rather than a warning.

Revision 101179 - Directory Listing
Modified Mon Dec 18 14:01:25 2017 UTC (2 years, 1 month ago) by alexk
Improved single-line error output by mentioning the affected setting name.

Revision 101176 - Directory Listing
Modified Mon Dec 18 11:07:02 2017 UTC (2 years, 1 month ago) by alexk
Propagated the value of 'Absent explicit assertion' setting specified in an ECF to system options with the check that the value cannot be modified in a compiled project.

Revision 101173 - Directory Listing
Modified Mon Dec 18 10:55:17 2017 UTC (2 years, 1 month ago) by alexk
Added a query and a setter for the new AXA setting.

Revision 101170 - Directory Listing
Modified Mon Dec 18 10:50:30 2017 UTC (2 years, 1 month ago) by alexk
Used a special query to see if the project is compiled for .NET.

Revision 101164 - Directory Listing
Modified Sun Dec 17 15:49:38 2017 UTC (2 years, 1 month ago) by alexk
Replaced VSTA(2) with VUNO validity error.
Added checks for VUNO validity rule, including both, errors and warnings to support backward compatibility.
Disabled some code analysis warnings on the source code of the compiler classes.


Revision 101163 - Directory Listing
Modified Sun Dec 17 15:44:18 2017 UTC (2 years, 1 month ago) by alexk
Added a warning for VUCR when the code should be fixed, but is temporary allowed for compatibility reasons.

Revision 101162 - Directory Listing
Modified Sun Dec 17 15:38:37 2017 UTC (2 years, 1 month ago) by alexk
Suppressed warnings caused by a large number of arguments.

Revision 101157 - Directory Listing
Modified Fri Dec 15 11:16:51 2017 UTC (2 years, 1 month ago) by alexk
Improved error report by making wording more precise.

Revision 101156 - Directory Listing
Modified Fri Dec 15 11:15:58 2017 UTC (2 years, 1 month ago) by alexk
Fixed postconditions that did not consider the case when the class of the dropped feature has not compiled successfully.

Revision 101153 - Directory Listing
Modified Fri Dec 15 10:09:45 2017 UTC (2 years, 1 month ago) by alexk
Moved checks for VDRD(9) and VDJR(5) to the feature adaptation checks to provide more precise and correct error reports (e.g., to distinguish between joining with an effective feature and redeclaration, and to follow the rule wording, to allow for joining of a class feature with a constant attribute). See test#free009, test#free010.

Revision 101152 - Directory Listing
Modified Fri Dec 15 10:03:35 2017 UTC (2 years, 1 month ago) by alexk
Added a check for VUCR when a class feature is redefined into an attribute without a body (this fixes test#free008).

Revision 101144 - Directory Listing
Modified Tue Dec 12 19:37:31 2017 UTC (2 years, 1 month ago) by alexk
Minor optimizations.

Revision 101143 - Directory Listing
Modified Tue Dec 12 19:25:07 2017 UTC (2 years, 1 month ago) by alexk
Removed unused features.

Revision 101142 - Directory Listing
Modified Tue Dec 12 19:16:34 2017 UTC (2 years, 1 month ago) by alexk
Used a single feature rather than multiple features to query whether a feature has printable assertions.

Revision 101141 - Directory Listing
Modified Tue Dec 12 19:14:44 2017 UTC (2 years, 1 month ago) by alexk
Used `is_instance_free` when specifying an instance-free status of an interface object rather than `is_class`.

Revision 101140 - Directory Listing
Modified Tue Dec 12 18:03:12 2017 UTC (2 years, 1 month ago) by alexk
Added a new query to FEATURE_I that tells if a feature has an immediate class postcondition.
Changed the query `is_class` in FEATURE_I to return `True` when the feature has either an immediate class postcondition or an inherited one.
Collected information whether inherited features have class postconditions.


Revision 101139 - Directory Listing
Modified Tue Dec 12 17:41:54 2017 UTC (2 years, 1 month ago) by alexk
Removed a validity rule that if a class has a class feature, it should be compiled with full class checking.

Revision 101138 - Directory Listing
Modified Tue Dec 12 17:40:25 2017 UTC (2 years, 1 month ago) by alexk
Added a new query that tells if an assertion set has a class postcondition.

Revision 101136 - Directory Listing
Modified Tue Dec 12 16:41:59 2017 UTC (2 years, 1 month ago) by alexk
Used an error code VUCR instead of a temporary one.
Added placeholders for additional checks for validity rules related to instance-free calls.


Revision 101135 - Directory Listing
Modified Tue Dec 12 16:33:46 2017 UTC (2 years, 1 month ago) by alexk
Removed an empty conditional branch.

Revision 101132 - Directory Listing
Modified Mon Dec 11 20:18:48 2017 UTC (2 years, 1 month ago) by jfiat
Made sure class postconditions (for instance free routine) are displayed in formatters.

Revision 101130 - Directory Listing
Modified Mon Dec 11 17:22:03 2017 UTC (2 years, 1 month ago) by alexk
Corrected new validity rule subcode.

Revision 101127 - Directory Listing
Modified Fri Dec 8 18:14:23 2017 UTC (2 years, 1 month ago) by alexk
Simplified a postcondition of `has_static_access`.

Revision 101126 - Directory Listing
Modified Fri Dec 8 17:38:57 2017 UTC (2 years, 1 month ago) by alexk
Removed a query that is unused.

Revision 101124 - Directory Listing
Modified Fri Dec 8 16:09:51 2017 UTC (2 years, 1 month ago) by alexk
Added postconditions to the features `is_instance_free`, `is_target_free` and `has_static_access` to describe behavior of the features and their relationship.

Revision 101123 - Directory Listing
Modified Fri Dec 8 16:08:01 2017 UTC (2 years, 1 month ago) by alexk
Corrected `is_target_free` to take into account that external non-static IL members are not target-free even when they have no associated assertions.

Revision 101122 - Directory Listing
Modified Fri Dec 8 16:00:23 2017 UTC (2 years, 1 month ago) by alexk
Removed unnecessary inheritance links.

Revision 101121 - Directory Listing
Modified Fri Dec 8 15:37:08 2017 UTC (2 years, 1 month ago) by alexk
Added a query that tells if a feature is instance-free.

Revision 101120 - Directory Listing
Modified Fri Dec 8 14:47:07 2017 UTC (2 years, 1 month ago) by alexk
Used a different error code for invalid declarations of class features.
Made wording of the error reports more precise.


Revision 101119 - Directory Listing
Modified Fri Dec 8 14:44:13 2017 UTC (2 years, 1 month ago) by alexk
Improved error report by making wording more precise and adding details from where the features come from.

Revision 101117 - Directory Listing
Modified Fri Dec 8 11:44:05 2017 UTC (2 years, 1 month ago) by jfiat
Make sure to set the current_feature when evaluating a watch expression (debugger).
Even when evaluating expression directly `on dropped object` (as opposed to local, attribute, ... values).


Revision 101113 - Directory Listing
Modified Thu Dec 7 13:19:30 2017 UTC (2 years, 1 month ago) by alexk
Improved error report by making wording more precise and adding details from where the features come from.

Revision 101112 - Directory Listing
Modified Thu Dec 7 13:12:11 2017 UTC (2 years, 1 month ago) by alexk
Made sure class status is propagated when undefining a feature (this fixes test#free008 when class routines are undefined and then are effected).

Revision 101108 - Directory Listing
Modified Wed Dec 6 20:42:29 2017 UTC (2 years, 1 month ago) by alexk
Extended a check for an external and constant feature that are used in an instance-free call to make sure there are no inherited assertions in addition to the immediate ones (this fixes test#free007).

Revision 101105 - Directory Listing
Modified Wed Dec 6 07:31:10 2017 UTC (2 years, 1 month ago) by alexk
Used an interface object rather than an internal compiler object to report if a feature is instance-free.

Revision 101104 - Directory Listing
Modified Tue Dec 5 19:26:00 2017 UTC (2 years, 1 month ago) by alexk
Renamed `is_instance_free` to `is_class` to match the standard terminology.

Revision 101103 - Directory Listing
Modified Tue Dec 5 19:23:15 2017 UTC (2 years, 1 month ago) by alexk
Removed an unused local variable.

Revision 101102 - Directory Listing
Modified Tue Dec 5 19:22:35 2017 UTC (2 years, 1 month ago) by alexk
Fixed a typo in a comment.

Revision 101100 - Directory Listing
Modified Tue Dec 5 18:30:43 2017 UTC (2 years, 1 month ago) by alexk
Added checks for the new validity rules VDJR(4) and VDRD(9) that ensure the same status between redeclared/joined and inherited versions of features.

Revision 101099 - Directory Listing
Modified Tue Dec 5 16:58:35 2017 UTC (2 years, 1 month ago) by alexk
Removed support for an instance-free note clause.

Revision 101098 - Directory Listing
Modified Tue Dec 5 14:05:54 2017 UTC (2 years, 1 month ago) by jfiat
Do not set a breakable slot in feature tool for `class` postcondition (used to mark a routine instance-free).
Cosmetic.

Revision 101096 - Directory Listing
Modified Mon Dec 4 14:29:26 2017 UTC (2 years, 1 month ago) by alexk
Removed a note clause with an instance-free mark because instance-free features are now specified in postconditions.

Revision 101092 - Directory Listing
Modified Mon Dec 4 05:16:25 2017 UTC (2 years, 1 month ago) by manus
Fix `eif_id_object` to return null when requested id is 0.


Revision 101081 - Directory Listing
Modified Fri Dec 1 15:01:05 2017 UTC (2 years, 1 month ago) by alexk
Used special query in the feature descriptor to check validity rules for class feature declaration to remove the dependency of the specific form of the instance-free mark.

Revision 101080 - Directory Listing
Modified Fri Dec 1 14:58:50 2017 UTC (2 years, 1 month ago) by alexk
Propagated information about "class" postcondition to the feature level.


Revision 101078 - Directory Listing
Modified Fri Dec 1 14:49:28 2017 UTC (2 years, 1 month ago) by jfiat
Added IDE support for instance-free routines:
 - icon support 
 - new instance-free formatter in the class tool.
 - new instance-free related queries in the metrics tool.

Removed a few obsolete calls (related to service interface).
Removed a few reverse assignment attempts.
Changed the internal ES_TOOL_FOUNDATIONS.session_data function to use directly the session service.
Fixed typo in one function name.

Revision 101073 - Directory Listing
Modified Tue Nov 28 14:22:04 2017 UTC (2 years, 1 month ago) by jfiat
Added a menu "Recompile from Scratch", for now, in the "Hidden Debug>Project" menu.


Revision 101072 - Directory Listing
Modified Tue Nov 28 14:16:48 2017 UTC (2 years, 1 month ago) by jfiat
Renamed class related to the Execution parameters.
Replaced few reverse assignment attempts by object tests.

Revision 101070 - Directory Listing
Modified Mon Nov 27 14:53:03 2017 UTC (2 years, 2 months ago) by jfiat
In execution parameters, double clicking on title grid also triggers the editing of associated grid item.
Renamed classes to map dialog title (and make it easier to find code associated with IDE functionality).

Revision 101068 - Directory Listing
Modified Mon Nov 27 11:37:59 2017 UTC (2 years, 2 months ago) by alexk
Supported assertions that consist of a single keyword "class".


Revision 101065 - Directory Listing
Modified Fri Nov 24 13:59:29 2017 UTC (2 years, 2 months ago) by alexk
Cosmetics: used an object tests and removed unused code.

Revision 101064 - Directory Listing
Modified Fri Nov 24 13:58:02 2017 UTC (2 years, 2 months ago) by alexk
Cosmetics: used object tests.

Revision 101063 - Directory Listing
Modified Fri Nov 24 12:32:15 2017 UTC (2 years, 2 months ago) by alexk
Added a check for validity of an address of Current in instance-free features (this fixes test#free002).

Revision 101061 - Directory Listing
Modified Thu Nov 23 12:20:50 2017 UTC (2 years, 2 months ago) by alexk
Added a query `is_instance_free` to E_FEATURE.

Revision 101046 - Directory Listing
Modified Wed Nov 15 11:14:38 2017 UTC (2 years, 2 months ago) by javierv
EiffelStudio, Support Site integration: Added better error description to bug report in case of errors. 

Revision 101042 - Directory Listing
Modified Tue Nov 14 10:17:08 2017 UTC (2 years, 2 months ago) by jfiat
Hide the Current object line for instance free calls.
Updated the object grid line design for current, arguments, locals, staick, and result lines.


Revision 101035 - Directory Listing
Modified Sat Nov 11 18:10:50 2017 UTC (2 years, 2 months ago) by alexk
Avoided reporting an error for an instance-free call when the called feature is not instance-free as soon as this is a target-free feature (i.e. detected by the compiler rather than specified by a user).
Avoided reporting an error for an instance-free feature that makes a call to an attribute as soon as this call is qualified.
Made sure the checks of the calls to conversion features are performed with `is_qualified_call` flag set because otherwise they become a subject to instance-free checks.


Revision 101032 - Directory Listing
Modified Fri Nov 10 12:44:53 2017 UTC (2 years, 2 months ago) by alexk
Simplified checks used for generating instance-free calls by using special queries that determine whether a target object is required, whether the type of the target is fixed, etc. This fixes issues with access on constants and external features introduced by earlier commits, especially when the objectless calls are performed on deferred classes.


Revision 101031 - Directory Listing
Modified Fri Nov 10 12:39:05 2017 UTC (2 years, 2 months ago) by alexk
Added queries to check whether a target of some sort is required to make a call:
	is_target_type_fixed - Is target type fixed at compile time?
	is_target_free - Is the feature independent on the target type of the call?
	is_class_target_needed - Does a call need a class target rather than an object target?
Simplified checks used when generating optimized code by using the queries above.
M    call_access_b.e
M    routine_b.e


Revision 101030 - Directory Listing
Modified Fri Nov 10 12:25:29 2017 UTC (2 years, 2 months ago) by alexk
Added a query that tells whether a feature requires any target to call it.

Revision 101015 - Directory Listing
Modified Tue Nov 7 14:20:07 2017 UTC (2 years, 2 months ago) by alexk
Cosmetics: replaced reverse assignments with object tests.


Revision 101014 - Directory Listing
Modified Tue Nov 7 14:18:24 2017 UTC (2 years, 2 months ago) by alexk
Fixed a precondition of `is_special_actual_expanded_with_references` that used `context_cl_type` instead of `context_type`.
Cosmetics:
	- merged nested conditional instructions
	- replaced reverse assignments with object test locals


Revision 101013 - Directory Listing
Modified Tue Nov 7 14:14:51 2017 UTC (2 years, 2 months ago) by alexk
Optimized calls to constants and instance-free features of basic classes in finalized mode.
Supported instance-free calls with targets of multi-constraint formal generics.


Revision 101012 - Directory Listing
Modified Tue Nov 7 14:09:49 2017 UTC (2 years, 2 months ago) by alexk
Optimized calls to instance-free features by using a compile-time dtype for basic and standalone types.

Revision 101011 - Directory Listing
Modified Tue Nov 7 14:05:19 2017 UTC (2 years, 2 months ago) by alexk
Cosmetics: replaced a voidness test with an object test with a subsequent call on the object test local.

Revision 101010 - Directory Listing
Modified Tue Nov 7 14:03:07 2017 UTC (2 years, 2 months ago) by alexk
Cosmetics.

Revision 101009 - Directory Listing
Modified Tue Nov 7 06:13:55 2017 UTC (2 years, 2 months ago) by jfiat
Call on_account_logged_in also when interface is loaded with account already signed it.
Asynchronous es cloud ping operation.

Revision 101008 - Directory Listing
Modified Tue Nov 7 06:10:17 2017 UTC (2 years, 2 months ago) by jfiat
Made experimental cloud login disabled by default, added associated hidden preference to enable it.
 

Revision 101007 - Directory Listing
Modified Mon Nov 6 20:46:24 2017 UTC (2 years, 2 months ago) by jfiat
Made experimental cloud login disabled by default, added associated hidden preference to enable it.
Now Cloud installation id includes version name.
Moved `license_accepted` status in "Misc" preferences set.
Improved cloud api discovering.


Revision 101005 - Directory Listing
Modified Fri Nov 3 21:18:37 2017 UTC (2 years, 2 months ago) by alexk
Moved generation of an instance-free target object to parameter generation to avoid incorrect C code for calls to instance-free functions.

Revision 100997 - Directory Listing
Modified Tue Oct 31 18:14:27 2017 UTC (2 years, 2 months ago) by alexk
Supported C code generation for instance-free calls.

Revision 100996 - Directory Listing
Modified Tue Oct 31 18:12:54 2017 UTC (2 years, 2 months ago) by alexk
Fixed a bug introduced in the previous commit where a nested object is updated before it is set.

Revision 100995 - Directory Listing
Modified Tue Oct 31 13:23:44 2017 UTC (2 years, 2 months ago) by alexk
Added an explicit creation procedure for a local variable byte node to avoid calling a feature that sets the variable position right after creation.

Revision 100994 - Directory Listing
Modified Tue Oct 31 13:20:34 2017 UTC (2 years, 2 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 100993 - Directory Listing
Modified Tue Oct 31 13:18:22 2017 UTC (2 years, 2 months ago) by alexk
Removed unneeded code.

Revision 100991 - Directory Listing
Modified Tue Oct 31 12:54:42 2017 UTC (2 years, 2 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 100989 - Directory Listing
Modified Tue Oct 31 12:52:13 2017 UTC (2 years, 2 months ago) by alexk
Supported instance-free calls for melted byte code generation (test#free004 and test#free005).

Revision 100988 - Directory Listing
Modified Tue Oct 31 12:25:31 2017 UTC (2 years, 2 months ago) by alexk
Used ROUTINE_B in CREATION_EXPR_B because creation procedure cannot be an attribute.

Revision 100986 - Directory Listing
Modified Mon Oct 30 17:21:30 2017 UTC (2 years, 2 months ago) by jfiat
Disabled debug behavior for cloud tool.
Made the login dialog smaller (do not expand it to full window size anymore).

Revision 100985 - Directory Listing
Modified Mon Oct 30 16:33:23 2017 UTC (2 years, 2 months ago) by jfiat
Use either libcurl, or EiffelNet for http_client lib.

Revision 100984 - Directory Listing
Modified Mon Oct 30 16:32:48 2017 UTC (2 years, 2 months ago) by jfiat
fixed test set compilation.

Revision 100974 - Directory Listing
Modified Fri Oct 27 17:40:11 2017 UTC (2 years, 3 months ago) by jfiat
Integrated login and register with ESA account.

Revision 100968 - Directory Listing
Modified Fri Oct 27 06:38:33 2017 UTC (2 years, 3 months ago) by alexk
Removed an unused local variable.

Revision 100967 - Directory Listing
Modified Thu Oct 26 19:54:34 2017 UTC (2 years, 3 months ago) by alexk
Replaced a reverse assignment with a regular one.

Revision 100966 - Directory Listing
Modified Thu Oct 26 13:43:22 2017 UTC (2 years, 3 months ago) by alexk
Moved common functionality to ROUTINE_BL to avoid code duplication.

Revision 100965 - Directory Listing
Modified Thu Oct 26 13:42:26 2017 UTC (2 years, 3 months ago) by alexk
Cosmetics: removed semicolons.

Revision 100963 - Directory Listing
Modified Thu Oct 26 12:34:13 2017 UTC (2 years, 3 months ago) by alexk
Supported instance-free calls for IL code generation (test#free004 and test#free005).

Revision 100962 - Directory Listing
Modified Thu Oct 26 12:32:14 2017 UTC (2 years, 3 months ago) by alexk
Added a common parent ROUTINE_B for FEATURE_B and EXTERNAL_B to avoid code duplication.
Propagated information about instance-free calls to feature call byte nodes.


Revision 100961 - Directory Listing
Modified Thu Oct 26 12:05:07 2017 UTC (2 years, 3 months ago) by alexk
Cosmetics.

Revision 100960 - Directory Listing
Modified Thu Oct 26 10:22:06 2017 UTC (2 years, 3 months ago) by alexk
Made sure a feature clause comment is not copied from the previous feature clause if the comment is absent in the current one.
Cosmetics.


Revision 100958 - Directory Listing
Modified Thu Oct 26 10:10:27 2017 UTC (2 years, 3 months ago) by alexk
Replaced setting a register to void using a temporary uninitialized local variable with an explicit void value.

Revision 100957 - Directory Listing
Modified Thu Oct 26 10:06:32 2017 UTC (2 years, 3 months ago) by alexk
Renamed 'attribute' to 'callee' because the feature is used not only for attributes.

Revision 100953 - Directory Listing
Modified Wed Oct 25 18:05:48 2017 UTC (2 years, 3 months ago) by alexk
Corrected a precondition that prevented replacement of mdMemberRef with mdMethodDef when the method is defined in the module.

Revision 100936 - Directory Listing
Modified Wed Oct 18 10:51:56 2017 UTC (2 years, 3 months ago) by javierv
Merge frameworks patterns library into library patterns library.
Updated code to use the library patterns library instead of the old framework patterns library.


Revision 100935 - Directory Listing
Modified Wed Oct 18 09:54:50 2017 UTC (2 years, 3 months ago) by alexk
Reported different errors for calls to regular non-instace-free feature and to non-instace-free precursors.
Avoided setting `last_type` for a precursor if its check in `process_call` failed.


Revision 100934 - Directory Listing
Modified Wed Oct 18 09:52:26 2017 UTC (2 years, 3 months ago) by alexk
Removed unused assignments.

Revision 100933 - Directory Listing
Modified Wed Oct 18 09:50:53 2017 UTC (2 years, 3 months ago) by alexk
Added an error message for a call to a non-instance-free precursor.

Revision 100931 - Directory Listing
Modified Wed Oct 18 08:49:22 2017 UTC (2 years, 3 months ago) by alexk
Fixed test#free003 by testing `is_qualified_call` instead of `is_qualified` in `process_call` to report VSTB: the latter is true only for qualified calls, whereas the former is true for both qualified calls and creation procedure calls that should be also ignored when checking for VSTB violation.

Revision 100929 - Directory Listing
Modified Wed Oct 18 08:45:52 2017 UTC (2 years, 3 months ago) by alexk
Fixed precondition violation in `{FEATURE_BL}.is_special_actual_expanded_with_references` by replacing `context.context_cl_type` with a new feature `context_cl_type` redeclared in inline classes to use the inlined context type instead.
Cosmetics:
	- replaced assignment attempts with object tests
	- used bracket operator to retrieve items from arrays


Revision 100928 - Directory Listing
Modified Wed Oct 18 08:38:21 2017 UTC (2 years, 3 months ago) by alexk
Replaced obsolete calls to ARRAY.make with ARRAY.make_filled.

Revision 100923 - Directory Listing
Modified Tue Oct 17 08:45:15 2017 UTC (2 years, 3 months ago) by jfiat
Switched to https://cloud.eiffel.com/api 

Revision 100919 - Directory Listing
Modified Mon Oct 16 14:39:12 2017 UTC (2 years, 3 months ago) by jfiat
Fixed the url for the Cloud website location.

Revision 100909 - Directory Listing
Modified Sat Oct 14 15:00:45 2017 UTC (2 years, 3 months ago) by manus
Fix incorrect signature of veto_pebble_function

Vision2 only accepts a veto pebble function with one argument not two, and the docking library requires
sometime two. Made sure that we pass the right pebble function otherwise `valid_operands` will now yield
false in the internal of Vision2 (before it worked due to our invalid usage of `empty_operands` which
creates the proper tuple to call the function albeit not void safe since the extra argument was Void.


Revision 100905 - Directory Listing
Modified Fri Oct 13 15:26:17 2017 UTC (2 years, 3 months ago) by jfiat
Added `ends_with (..)` to the EB_OBJECT_VIEWER class for future needs.
Removed unwanted files.


Revision 100903 - Directory Listing
Modified Fri Oct 13 09:38:04 2017 UTC (2 years, 3 months ago) by jfiat
Display cloud identifier info (i.e the server url).
Mainly for debugging.

Revision 100902 - Directory Listing
Modified Fri Oct 13 09:37:09 2017 UTC (2 years, 3 months ago) by jfiat
Fixed es cloud token refresh operation.

Revision 100901 - Directory Listing
Modified Fri Oct 13 08:07:03 2017 UTC (2 years, 3 months ago) by jfiat
Change cursor to busy when connecting to remote web service.
Code cleaning (removed commented lines).

Revision 100887 - Directory Listing
Modified Wed Oct 11 06:51:21 2017 UTC (2 years, 3 months ago) by jfiat
Fixed void-safety code.
Updated testing code after class renaming.

Revision 100885 - Directory Listing
Modified Tue Oct 10 20:56:00 2017 UTC (2 years, 3 months ago) by alexk
Added validity checks for cases when an attribute or an object-relative once is marked as instance-free (see test#free001).

Revision 100883 - Directory Listing
Modified Tue Oct 10 20:30:55 2017 UTC (2 years, 3 months ago) by jfiat
Improved cloud api integration.
Added better error management.

Revision 100882 - Directory Listing
Modified Tue Oct 10 20:08:47 2017 UTC (2 years, 3 months ago) by jfiat
right adjust the value from the file

Revision 100879 - Directory Listing
Modified Tue Oct 10 19:37:54 2017 UTC (2 years, 3 months ago) by alexk
Added a validity error for the case when an instance-free feature directly or indirectly relies on Current (see test#free002).

Revision 100877 - Directory Listing
Modified Tue Oct 10 19:32:22 2017 UTC (2 years, 3 months ago) by alexk
Changed `has_static_access` to take instance-free features into account.

Revision 100876 - Directory Listing
Modified Tue Oct 10 19:29:45 2017 UTC (2 years, 3 months ago) by alexk
Replaced reverse assignments with object tests.

Revision 100875 - Directory Listing
Modified Tue Oct 10 19:28:05 2017 UTC (2 years, 3 months ago) by alexk
Cosmetics.

Revision 100874 - Directory Listing
Modified Tue Oct 10 19:27:17 2017 UTC (2 years, 3 months ago) by alexk
Added a precondition to `add_feature_error` because its implementation makes an implicit assumption that such a precondition exists.

Revision 100873 - Directory Listing
Modified Tue Oct 10 19:23:57 2017 UTC (2 years, 3 months ago) by alexk
Used `add_feature_name` instead of `add_feature_error` when `e_feature` is Void to avoid precondition violation.

Revision 100872 - Directory Listing
Modified Tue Oct 10 19:22:01 2017 UTC (2 years, 3 months ago) by alexk
Used written class to initialize a stone for an error reported for inherited code, without it the editor is positioned to a line in a wrong class.

Revision 100848 - Directory Listing
Modified Sun Oct 8 12:04:09 2017 UTC (2 years, 3 months ago) by jfiat
Fixed testing suite.

Revision 100847 - Directory Listing
Modified Sat Oct 7 18:17:24 2017 UTC (2 years, 3 months ago) by jfiat
Fixed various void-safety violation.

Revision 100846 - Directory Listing
Modified Sat Oct 7 18:11:35 2017 UTC (2 years, 3 months ago) by jfiat
fixed testing.ecf by including cloud instead of account lib.

Revision 100843 - Directory Listing
Modified Fri Oct 6 16:36:20 2017 UTC (2 years, 3 months ago) by jfiat
fixed linux implementation for ES Cloud service

Revision 100839 - Directory Listing
Modified Fri Oct 6 14:01:47 2017 UTC (2 years, 3 months ago) by jfiat
Added ES Cloud support.
Account menu and tool.
New startup page to accept license, and give possibility to login.

Revision 100838 - Directory Listing
Modified Fri Oct 6 12:52:34 2017 UTC (2 years, 3 months ago) by jfiat
Added cloud service to access the EiffelStudio cloud service.

Revision 100837 - Directory Listing
Modified Fri Oct 6 10:15:12 2017 UTC (2 years, 3 months ago) by alexk
Cosmetics:
	- replaced some reverse assignments with object tests
	- combined nested conditional instructions
	- removed unused code
	- removed temporary variables


Revision 100836 - Directory Listing
Modified Fri Oct 6 09:47:37 2017 UTC (2 years, 3 months ago) by alexk
Added generation of an "instance_free" option for a feature when it is specified.


Revision 100835 - Directory Listing
Modified Fri Oct 6 09:34:30 2017 UTC (2 years, 3 months ago) by alexk
Removed temporary variables and merged nested conditional instructions.

Revision 100834 - Directory Listing
Modified Fri Oct 6 09:21:23 2017 UTC (2 years, 3 months ago) by alexk
Added an error when a class with an instance-free feature is compiled without full class checking.

Revision 100833 - Directory Listing
Modified Fri Oct 6 09:18:50 2017 UTC (2 years, 3 months ago) by alexk
Marked the class as deferred because no direct instances of it are created.

Revision 100832 - Directory Listing
Modified Fri Oct 6 09:17:27 2017 UTC (2 years, 3 months ago) by alexk
Marked `print_short_help` as non-frozen to allow for redefinition that does not read the error text from a file.

Revision 100827 - Directory Listing
Modified Wed Oct 4 15:53:20 2017 UTC (2 years, 3 months ago) by alexk
Removed temporary local variables.

Revision 100826 - Directory Listing
Modified Wed Oct 4 15:44:47 2017 UTC (2 years, 3 months ago) by alexk
Set a flag for instance-free features.

Revision 100824 - Directory Listing
Modified Wed Oct 4 15:34:14 2017 UTC (2 years, 3 months ago) by alexk
Added a flag for instance-free features.

Revision 100793 - Directory Listing
Modified Tue Sep 26 12:16:07 2017 UTC (2 years, 4 months ago) by alexk
Supported generation of RTF for printing with Unicode characters. A user still needs to select a font with all the glyphs used in the code.

Revision 100792 - Directory Listing
Modified Tue Sep 26 12:12:46 2017 UTC (2 years, 4 months ago) by alexk
Fixed test#unicode008 by changing acceptable UTF-8 sequences to match those specified in the Unicode standard.

Revision 100788 - Directory Listing
Modified Mon Sep 25 11:28:26 2017 UTC (2 years, 4 months ago) by alexk
Fixed a bug that caused identifiers with non-ASCII characters to be displayed incorrectly in basic text view because it used a default encoding rather than UTF-32.

Revision 100787 - Directory Listing
Modified Mon Sep 25 11:25:01 2017 UTC (2 years, 4 months ago) by alexk
Corrected `described_access_id` to support Unicode feature names, e.g. when they are aliases with non-ASCII characters. This allows for pick-and-drop on non-ASCII operators.

Revision 100780 - Directory Listing
Modified Wed Sep 20 13:12:07 2017 UTC (2 years, 4 months ago) by alexk
Added automatic update of row height when editor preferences (such as font size) changes.

Revision 100769 - Directory Listing
Modified Fri Sep 15 13:49:50 2017 UTC (2 years, 4 months ago) by alexk
Used obsolete call processor from the code analyzer when reporting obsolete calls by the compiler to disable warning suppression and to report the calls as errors when the period of allowed use expires.

Revision 100767 - Directory Listing
Modified Fri Sep 15 13:43:02 2017 UTC (2 years, 4 months ago) by alexk
Added general classes to process obsolete calls and to report obsolete call errors/warnings.
Supported installation of an obsolete feature call processor in the compiler to enable obsolete feature date checks by the code analyzer.
Disabled suppression of an obsolete feature warning after a period specifined in the code analyzer settings.
Supported different severity for obsolete calls so that they can be reported as errors after the period specified in the code analyzer preferences.


Revision 100761 - Directory Listing
Modified Wed Sep 13 18:11:29 2017 UTC (2 years, 4 months ago) by alexk
Moved reporting of obsolete feature calls to a dedicated class to allow for customized processing of obsolete warnings in the future.

Revision 100760 - Directory Listing
Modified Wed Sep 13 18:09:03 2017 UTC (2 years, 4 months ago) by alexk
Avoided duplication of the same attribute with 2 different names (`associated_class` and `class_c`) is some error/warning classes by merging them into one.
Supported the possibility to have an obsolete warning as an error.
Removed some reverse assignments.


Revision 100758 - Directory Listing
Modified Wed Sep 13 17:27:24 2017 UTC (2 years, 4 months ago) by alexk
Restored the feature `dynamic_tool_type` required by compile_all.

Revision 100757 - Directory Listing
Modified Wed Sep 13 17:25:35 2017 UTC (2 years, 4 months ago) by alexk
Corrected a query signature to match recent changes.

Revision 100755 - Directory Listing
Modified Wed Sep 13 12:44:53 2017 UTC (2 years, 4 months ago) by alexk
Moved detection of obsolete feature calls to a single place.

Revision 100754 - Directory Listing
Modified Wed Sep 13 09:50:01 2017 UTC (2 years, 4 months ago) by alexk
Replaced implicit obsolete conversions from TYPE to STRING with explicit calls to the feature that returns a type name and updated related code to use the new typing.

Revision 100751 - Directory Listing
Modified Wed Sep 13 08:07:27 2017 UTC (2 years, 4 months ago) by alexk
Fixed test#term127 by avoiding reporting VWMA violation when there is no explicit type and the computed type is not compatible with the implicit type of the target.

Revision 100743 - Directory Listing
Modified Fri Sep 8 07:56:21 2017 UTC (2 years, 4 months ago) by alexk
Separated error/warning/hint buttons with some space.

Revision 100742 - Directory Listing
Modified Fri Sep 8 06:11:03 2017 UTC (2 years, 4 months ago) by manus
Fix runtime catcall errors by better typing our manifest arrays


Revision 100729 - Directory Listing
Modified Tue Sep 5 08:14:15 2017 UTC (2 years, 4 months ago) by alexk
Used PATH instead of FILE_NAME.
Avoided reverse assignments by changing the type of the containers to be more specific and filling the containers with checked items.
Replaced reverse assignments with object tests.
Cosmetics.


Revision 100728 - Directory Listing
Modified Tue Sep 5 08:05:56 2017 UTC (2 years, 4 months ago) by alexk
Replaced reverse assignments with object tests.

Revision 100727 - Directory Listing
Modified Tue Sep 5 08:03:51 2017 UTC (2 years, 4 months ago) by alexk
Removed a phrase from the description that does not apply anymore.

Revision 100726 - Directory Listing
Modified Tue Sep 5 08:02:46 2017 UTC (2 years, 4 months ago) by alexk
Replaced an implicit obsolete conversion from TYPE to STRING with an explicit call to the feature that returns a type name.
Replaced reverse assignments with object tests.


Revision 100725 - Directory Listing
Modified Tue Sep 5 07:59:26 2017 UTC (2 years, 4 months ago) by alexk
Fixed a bug that might cause en exception trace when attempting to apply fixes to a class that is not loaded in the editor.

Revision 100724 - Directory Listing
Modified Tue Sep 5 07:58:01 2017 UTC (2 years, 4 months ago) by alexk
Fixed test#exec372 by using the type of a manifest array computed according to the new rules rather than old ones.
Cosmetics:
	- removed temporary and unused variables
	- combined nested conditional instructions
	- used object tests instead of voidness tests to reduce the number of local variables


Revision 100723 - Directory Listing
Modified Tue Sep 5 07:43:03 2017 UTC (2 years, 4 months ago) by alexk
Replaced an implicit obsolete conversion from TYPE to STRING with an explicit call to the feature that returns a type name.

Revision 100722 - Directory Listing
Modified Tue Sep 5 07:41:33 2017 UTC (2 years, 4 months ago) by alexk
Replaced an implicit obsolete conversion from TYPE to STRING with an explicit call to the feature that returns a type name.

Revision 100719 - Directory Listing
Modified Sat Sep 2 19:48:03 2017 UTC (2 years, 4 months ago) by jfiat
Check if class has feature table before using feature_with_name* .


Revision 100718 - Directory Listing
Modified Fri Sep 1 19:11:15 2017 UTC (2 years, 4 months ago) by alexk
Fixed test#valid295 by checking all nested local variable declarations during recompilation (not only local variables, but also object test locals, inline separate locals, etc.)
Avoided duplicate checking of validity rules for local variable names in agents.


Revision 100717 - Directory Listing
Modified Fri Sep 1 19:03:21 2017 UTC (2 years, 4 months ago) by alexk
Replaced calls to obsolete feaures with calls to contemporary ones.

Revision 100716 - Directory Listing
Modified Fri Sep 1 19:00:55 2017 UTC (2 years, 4 months ago) by alexk
Fixed bugs when a feature name was used as a name of a local variable.
Cosmetics.


Revision 100713 - Directory Listing
Modified Fri Sep 1 14:07:00 2017 UTC (2 years, 4 months ago) by alexk
Added a checker for conflicts of variables declared inside feature body with features of the same class, useful for recompilation to avoid complete code recheck.

Revision 100700 - Directory Listing
Modified Tue Aug 29 19:28:37 2017 UTC (2 years, 4 months ago) by alexk
Fixed an issue caused by the earlier commit where local variable name conflicts were expected to be checked by {AST_CONTEXT}.is_name_used, while in fact that feature does not check conflicts with the current feature locals and arguments (this fixes a regression in test#scoop055).

Revision 100699 - Directory Listing
Modified Tue Aug 29 19:24:31 2017 UTC (2 years, 4 months ago) by alexk
Used a function instead of a call to a procedure followed by a call to a query.

Revision 100698 - Directory Listing
Modified Tue Aug 29 18:31:29 2017 UTC (2 years, 4 months ago) by alexk
Fixed a typo that caused access on void target when reporting VREG violation for arguments.
Removed reverse assignments.
Cosmetics.


Revision 100690 - Directory Listing
Modified Sun Aug 27 18:51:25 2017 UTC (2 years, 5 months ago) by alexk
Reported VPIR(1) error for all known cases when an agent attempts to use an already used identifier as a local variable name (see test#valid294).

Revision 100688 - Directory Listing
Modified Sun Aug 27 18:04:42 2017 UTC (2 years, 5 months ago) by alexk
Reported VUOT(1) error for all known cases when an object test attempts to use an already used identifier as an object test local (see test#valid294).

Revision 100687 - Directory Listing
Modified Sun Aug 27 17:57:09 2017 UTC (2 years, 5 months ago) by alexk
Reported VOIT(2) error for all known cases when an iteration loop attempts to use an already used identifier (see test#valid294).

Revision 100686 - Directory Listing
Modified Sun Aug 27 17:46:07 2017 UTC (2 years, 5 months ago) by alexk
Reported FRESH_IDENTIFIER error for all known cases when an inline separate attempts to use an already used identifier (see test#valid294).

Revision 100683 - Directory Listing
Modified Sun Aug 27 09:51:15 2017 UTC (2 years, 5 months ago) by alexk
Set precise location when reporting VREG and VRFA for a feature argument.

Revision 100682 - Directory Listing
Modified Sun Aug 27 09:34:09 2017 UTC (2 years, 5 months ago) by alexk
Set precise location when reporting VPIR(1) for a feature argument.

Revision 100679 - Directory Listing
Modified Sun Aug 27 09:15:33 2017 UTC (2 years, 5 months ago) by alexk
Reported VPIR(3) instead of NOT_SUPPORTED when an inline agent has a routine body of an attribute form (see test#term168, bug#15147, bug#17615).
Set precise location when reporting VRLE(1) and VPIR(1) for local variables.


Revision 100678 - Directory Listing
Modified Sun Aug 27 09:03:16 2017 UTC (2 years, 5 months ago) by alexk
Corrected VPIR(3) description to match that of the latest standard.

Revision 100655 - Directory Listing
Modified Tue Aug 22 18:02:43 2017 UTC (2 years, 5 months ago) by alexk
Changed interface of the code-analyzer class CA_FIX so that it can be used similar to the compiler class FIX_FEATURE.

Revision 100653 - Directory Listing
Modified Mon Aug 21 17:25:38 2017 UTC (2 years, 5 months ago) by alexk
Removed an unneeded argument of the feature `execute`.

Revision 100651 - Directory Listing
Modified Mon Aug 21 13:49:20 2017 UTC (2 years, 5 months ago) by alexk
Supported application of a code analyzer fix using given class modifier.
Used recorded match list instead of a one retrieved for every operation.
Removed a flag that indicates that a fix has been applied as useless.


Revision 100650 - Directory Listing
Modified Mon Aug 21 12:29:49 2017 UTC (2 years, 5 months ago) by alexk
Disallowed application of fixes to classes modified either by external tools or in the editor.

Revision 100649 - Directory Listing
Modified Mon Aug 21 12:19:33 2017 UTC (2 years, 5 months ago) by alexk
Replaced calls to an obsolete feaure `is_service_available` with calls to `service`.

Revision 100648 - Directory Listing
Modified Mon Aug 21 12:18:18 2017 UTC (2 years, 5 months ago) by alexk
Replaced an implicit obsolete conversion from TYPE to STRING with an explicit call to the feature that returns a type name.

Revision 100647 - Directory Listing
Modified Mon Aug 21 12:16:33 2017 UTC (2 years, 5 months ago) by alexk
Cosmetics.

Revision 100646 - Directory Listing
Modified Mon Aug 21 12:15:05 2017 UTC (2 years, 5 months ago) by alexk
Cosmetics.

Revision 100645 - Directory Listing
Modified Mon Aug 21 12:13:31 2017 UTC (2 years, 5 months ago) by alexk
Removed an unused argument in `check_local_names`.

Revision 100641 - Directory Listing
Modified Thu Aug 17 08:46:13 2017 UTC (2 years, 5 months ago) by alexk
Removed feature `apply` from `ES_FIX` in favour of `apply_to` that supports application of multiple fixed to the same source code to avoid code duplication and simplify maintainance.

Revision 100640 - Directory Listing
Modified Thu Aug 17 08:43:12 2017 UTC (2 years, 5 months ago) by alexk
Fixed a typo.

Revision 100639 - Directory Listing
Modified Mon Aug 14 16:51:27 2017 UTC (2 years, 5 months ago) by jfiat
Added "/~" and "~" as binary operators.

Revision 100638 - Directory Listing
Modified Mon Aug 14 16:50:04 2017 UTC (2 years, 5 months ago) by jfiat
Prevent potential exception by checking assertion.

Revision 100637 - Directory Listing
Modified Mon Aug 14 16:48:07 2017 UTC (2 years, 5 months ago) by jfiat
Added autocompletion support for manifest value in parenthesis.
such as:
- manifest string: ("abc").|
- manifest number: (123).|
- manifest boolean: (True).|
- manifest type: ({TEST}).|
- typed manifest declaration such as ({STRING_32} "abc").|
- new manifest array such as ({ARRAY [STRING]} <<"abc", "def">>).|

Revision 100630 - Directory Listing
Modified Mon Jul 24 11:54:40 2017 UTC (2 years, 6 months ago) by alexk
Supported processing of multiple fixes on the same source code by collecting classes to be modified and performing batch processing on them.

Revision 100629 - Directory Listing
Modified Mon Jul 24 11:52:52 2017 UTC (2 years, 6 months ago) by alexk
Added a feature to apply multiple fixes on a given class modifier in a row.

Revision 100628 - Directory Listing
Modified Mon Jul 24 11:49:15 2017 UTC (2 years, 6 months ago) by alexk
Avoided reporting warnings for manifest arrays used without explicit types for inherited code to avoid multiple reports for the same location.

Revision 100627 - Directory Listing
Modified Mon Jul 24 11:45:40 2017 UTC (2 years, 6 months ago) by alexk
Used new manifest array syntax with an explicit type when required.
Replaced calls to the obsolete feature `force_extend` with calls to the feature `extend`.
Replaced assignments attempts with object tests.


Revision 100626 - Directory Listing
Modified Mon Jul 24 11:25:51 2017 UTC (2 years, 6 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 100623 - Directory Listing
Modified Mon Jul 24 11:00:31 2017 UTC (2 years, 6 months ago) by alexk
Used new manifest array syntax with an explicit type when required.

Revision 100622 - Directory Listing
Modified Thu Jul 20 15:40:26 2017 UTC (2 years, 6 months ago) by alexk
Replaced some reverse assignments with object tests.

Revision 100621 - Directory Listing
Modified Thu Jul 20 11:03:11 2017 UTC (2 years, 6 months ago) by alexk
Added an automatic fix for missing explicit manifest array type.

Revision 100620 - Directory Listing
Modified Thu Jul 20 10:52:27 2017 UTC (2 years, 6 months ago) by alexk
Optimized retrieval of an old expression value when it is known to not raise an exception.

Revision 100619 - Directory Listing
Modified Thu Jul 20 10:39:25 2017 UTC (2 years, 6 months ago) by alexk
Optimized retrieval of an old expression value when it is known to not raise an exception.

Revision 100618 - Directory Listing
Modified Thu Jul 20 10:35:56 2017 UTC (2 years, 6 months ago) by alexk
Replaced a local with a subsequent void test with an object test.

Revision 100617 - Directory Listing
Modified Thu Jul 20 10:33:15 2017 UTC (2 years, 6 months ago) by alexk
Used a query that tells that an exception block is needed to catch potential exceptions during old expression evaluation.

Revision 100616 - Directory Listing
Modified Thu Jul 20 10:26:19 2017 UTC (2 years, 6 months ago) by alexk
Added a query that tells that an exception block is needed to catch potential exceptions during old expression evaluation.

Revision 100615 - Directory Listing
Modified Wed Jul 19 13:23:21 2017 UTC (2 years, 6 months ago) by alexk
Optimized C code generation to avoid catching exceptions when they are not raised.

Revision 100614 - Directory Listing
Modified Wed Jul 19 13:21:53 2017 UTC (2 years, 6 months ago) by alexk
Made sure `on_start` is called when ahalysis has started.

Revision 100613 - Directory Listing
Modified Wed Jul 19 13:19:54 2017 UTC (2 years, 6 months ago) by alexk
Fixed assertion violations by checking for OK events in addition to error, warning and information events.

Revision 100612 - Directory Listing
Modified Wed Jul 19 13:16:55 2017 UTC (2 years, 6 months ago) by alexk
Used new manifest array syntax with an explicit type when required.

Revision 100607 - Directory Listing
Modified Fri Jul 14 13:52:26 2017 UTC (2 years, 6 months ago) by alexk
Added a query that tells if an expression can trigger an exception.

Revision 100603 - Directory Listing
Modified Thu Jul 13 17:58:08 2017 UTC (2 years, 6 months ago) by alexk
Fixed code generation for conditional expressions when types of expressions in different branches have different expandedness status (for, example, this fixes test#exec360 when compiled for .NET).

Revision 100599 - Directory Listing
Modified Tue Jul 11 20:28:41 2017 UTC (2 years, 6 months ago) by jfiat
Added set_parent_window to EB_LICENSE_COMMAND to force the parent window, instead of using by default last focused window.

Revision 100593 - Directory Listing
Modified Sat Jul 8 11:16:12 2017 UTC (2 years, 6 months ago) by alexk
Used more conventional names for classes that map one iterable into another one.


Revision 100592 - Directory Listing
Modified Sat Jul 8 10:37:17 2017 UTC (2 years, 6 months ago) by alexk
Forced {FORMATTED_MESSAGE} to be used as an ancestor rather than a supplier to avoid unnecessary object creation.
Moved simplified formatting feature `format_elements` that does not require wrapping for arguments to {FORMATTED_MESSAGE} and used it when appropriate.


Revision 100590 - Directory Listing
Modified Sat Jul 8 07:57:10 2017 UTC (2 years, 6 months ago) by alexk
Added a warning/error to be reported when manifest array type is computed using a target type.
Changed processing of manifest arrays to report a warning when manifest array type is computed using a target type.
Added TODO actions to remove the warning/error in a year after the release.
Set severity of the warning depending on current date:
	- the warning can be disabled before one year after the relese expires
	- the warning cannot be disabled after one year after the relese expires
	- the warnig is reported as an error after 1.5 year after the relese


Revision 100588 - Directory Listing
Modified Sat Jul 8 06:54:45 2017 UTC (2 years, 6 months ago) by alexk
Simplified error reporting by adding a helpter formatting feature.

Revision 100576 - Directory Listing
Modified Wed Jul 5 10:39:58 2017 UTC (2 years, 6 months ago) by alexk
Reported a validity error when an explicit manifest type is separate.

Revision 100572 - Directory Listing
Modified Wed Jul 5 09:52:48 2017 UTC (2 years, 6 months ago) by alexk
Fixed test#exec370 by wrapping an expanded object computed in a branch of a conditional expression, in particular,
	- added an explicit type to conditional expression byte node because it cannot be computed from a type of one branch;
	- changed byte and C code generation to convert computed object in every branch to expected type of the whole expression.


Revision 100567 - Directory Listing
Modified Sun Jul 2 07:35:13 2017 UTC (2 years, 6 months ago) by alexk
Modified computation of a conditional expression type to match the one for manifest array: the order of expressions does not matter and there is always a common type (this fixes test#exec369 and affects test#vwce001).

Revision 100565 - Directory Listing
Modified Sat Jul 1 11:50:36 2017 UTC (2 years, 6 months ago) by alexk
Used a different algorithm to compute a manifest array type (this fixes test#exec368).

Revision 100561 - Directory Listing
Modified Sat Jul 1 08:01:22 2017 UTC (2 years, 6 months ago) by alexk
Supported validity checks for explicit type of a manifest array (see test#valid292).
Added a validity check for types of manifest array elements when an explicit array type is given.


Revision 100560 - Directory Listing
Modified Sat Jul 1 07:57:19 2017 UTC (2 years, 6 months ago) by alexk
Added errors to be reported for manifest arrays.

Revision 100559 - Directory Listing
Modified Sat Jul 1 07:55:39 2017 UTC (2 years, 6 months ago) by alexk
Moved hypertext-capable message formatter up in the hierarchy so that it can be used to report any compiler error.

Revision 100557 - Directory Listing
Modified Sat Jul 1 07:48:03 2017 UTC (2 years, 6 months ago) by alexk
Supported explicit manifest array type declaration.

Revision 100556 - Directory Listing
Modified Sat Jul 1 07:41:34 2017 UTC (2 years, 6 months ago) by alexk
Moved ES_EIFFEL_LAYOUT to compiler because it is compiler-specific and should not be used by other tools.

Revision 100552 - Directory Listing
Modified Fri Jun 30 11:32:17 2017 UTC (2 years, 6 months ago) by alexk
Fixed bug#19371 by testing that a stone indeed represents a cluster, not an arbitrary group when no parent can be retrieved.

Revision 100551 - Directory Listing
Modified Thu Jun 29 13:50:30 2017 UTC (2 years, 6 months ago) by alexk
Fixed precondition violation during panel initialization by moving a call to `update_message_counters` from `create_tool_bar_items` to `on_after_initialized`.

Revision 100548 - Directory Listing
Modified Tue Jun 27 08:01:54 2017 UTC (2 years, 7 months ago) by jfiat
Removed unused local variable.

Revision 100547 - Directory Listing
Modified Mon Jun 26 19:30:07 2017 UTC (2 years, 7 months ago) by jfiat
Use ecf mapping info to reuse remembered generated UUID for system ecf file without any declared uuid attribute.

Revision 100546 - Directory Listing
Modified Mon Jun 26 12:10:00 2017 UTC (2 years, 7 months ago) by jfiat
Improved debugger information storage for ecf without any UUID.
(For ecf without any UUID, the system is generating one for the session, but when you reload the same project, a new UUID is generated each time, and thus previously saved debugger info are lost.)

Revision 100527 - Directory Listing
Modified Mon Jun 19 20:24:42 2017 UTC (2 years, 7 months ago) by alexk
Added code analyzer service implementation.

Revision 100526 - Directory Listing
Modified Mon Jun 19 19:35:27 2017 UTC (2 years, 7 months ago) by alexk
Removed unused classes.

Revision 100525 - Directory Listing
Modified Mon Jun 19 19:34:41 2017 UTC (2 years, 7 months ago) by alexk
Added code analyzer service provider.

Revision 100524 - Directory Listing
Modified Mon Jun 19 19:33:50 2017 UTC (2 years, 7 months ago) by alexk
Added code analyzer commands to layout preferences.
Replaced hard-coded command names with constant attributes to avoid potential command name mismatch.


Revision 100523 - Directory Listing
Modified Mon Jun 19 19:31:43 2017 UTC (2 years, 7 months ago) by alexk
Added analyzer commands to a set of toolbarable ones.

Revision 100522 - Directory Listing
Modified Mon Jun 19 19:30:49 2017 UTC (2 years, 7 months ago) by alexk
Added analyzer commands to project menu.

Revision 100521 - Directory Listing
Modified Mon Jun 19 19:29:50 2017 UTC (2 years, 7 months ago) by alexk
Added analyzer commands to a set of toolbarable ones.
Updated sensitivity of analyzer command controls depending on actions being performed.


Revision 100520 - Directory Listing
Modified Mon Jun 19 19:20:54 2017 UTC (2 years, 7 months ago) by alexk
Properly set `category`, `priority` and `type` for code analysis rule violation.
Used unified interface to fix issues.
Removed suggestions.
Added message strings for new controls.
Made cluster context menu entry context-sensitive to show cluster name.
Changes error list layout to have separate error code and severity columns.
Supported correct location-based sorting.
Made error list an observer of code analyzer.
Added hints to error list.
Supported filtering errors with free text.
Added handling of "OK" event for code analyzer.
Added handling of messages coming from code analyzer to error list.
Supported sorting by category (error/warning/hint).
Added a code analyzer scope context to error list.
Supported dropping a stone to error list to start analysis.
Supported colored background for messages of different type.
Added commands to redo last analysis, analyze parent cluster of last item, analyze editor area item, analyze current target, change code analyzer preferences.
Added drop-down menu to code analysis command.
Unified processing of different stones.
Used code analyzer observer interface to enable or disable different analyzer commands depending on current context.
Raised error list on analysis completion.


Revision 100514 - Directory Listing
Modified Mon Jun 19 17:38:02 2017 UTC (2 years, 7 months ago) by alexk
Added a clas invariant to make sure the fix is created only for non-read-only code.

Revision 100513 - Directory Listing
Modified Mon Jun 19 17:36:28 2017 UTC (2 years, 7 months ago) by alexk
Added an abstract class to fix an issue.

Revision 100512 - Directory Listing
Modified Mon Jun 19 17:35:10 2017 UTC (2 years, 7 months ago) by alexk
Removed printing error code inside error message and added a feature to do it in a dedicated error list column.

Revision 100511 - Directory Listing
Modified Mon Jun 19 17:32:44 2017 UTC (2 years, 7 months ago) by alexk
Cosmetics.

Revision 100510 - Directory Listing
Modified Mon Jun 19 17:30:30 2017 UTC (2 years, 7 months ago) by alexk
Replaced reverse assignments with object trests.
Changed code generation in finalized mode for expanded initialization to make sure class invariant is not checked before and is checked after creation procedure call.


Revision 100509 - Directory Listing
Modified Mon Jun 19 17:23:36 2017 UTC (2 years, 7 months ago) by alexk
Added preferences for colored messages background.

Revision 100508 - Directory Listing
Modified Mon Jun 19 17:21:41 2017 UTC (2 years, 7 months ago) by alexk
Added dedicated commands for different code analysis actions.

Revision 100507 - Directory Listing
Modified Mon Jun 19 17:19:48 2017 UTC (2 years, 7 months ago) by alexk
Replaced a call to an obsolete feature `is_service_available` with a call to `service`.

Revision 100505 - Directory Listing
Modified Mon Jun 19 16:50:02 2017 UTC (2 years, 7 months ago) by alexk
Replaced reverse assignments with object tests.
Replaced calls to an obsolete feaure `is_service_available` with calls to `service`.
Changed `find_event_row` to pick a parent row for subrows: this is more robust than testing that subrow count is greater than 0 because there could be messages without subrows.
Avoided one-by-one update when removing all selected event rows.


Revision 100503 - Directory Listing
Modified Mon Jun 19 16:39:57 2017 UTC (2 years, 7 months ago) by alexk
Replaced implicit obsolete conversions from TYPE to STRING with explicit calls to the feature that returns a type name.

Revision 100502 - Directory Listing
Modified Mon Jun 19 16:11:07 2017 UTC (2 years, 7 months ago) by alexk
Added a code analyzer service and an associated event observer.

Revision 100501 - Directory Listing
Modified Mon Jun 19 16:10:00 2017 UTC (2 years, 7 months ago) by alexk
Added a code analyzer service and an associated event observer.

Revision 100500 - Directory Listing
Modified Mon Jun 19 16:07:24 2017 UTC (2 years, 7 months ago) by alexk
Replaced calls to an obsolete feaure `is_service_available` with a calls to `service`.

Revision 100498 - Directory Listing
Modified Mon Jun 19 16:02:10 2017 UTC (2 years, 7 months ago) by alexk
Updated Eiffel Software address.

Revision 100497 - Directory Listing
Modified Mon Jun 19 15:58:33 2017 UTC (2 years, 7 months ago) by alexk
Replaced a call to an obsolete feaure `is_service_available` with a call to `service`.

Revision 100496 - Directory Listing
Modified Mon Jun 19 15:55:24 2017 UTC (2 years, 7 months ago) by alexk
Added a category for static analysis.

Revision 100495 - Directory Listing
Modified Mon Jun 19 15:54:46 2017 UTC (2 years, 7 months ago) by alexk
Avoided an obsolete feature call.

Revision 100492 - Directory Listing
Modified Mon Jun 19 14:47:48 2017 UTC (2 years, 7 months ago) by alexk
Made `name` accessible for static calls by making sure it is properly exported.

Revision 100491 - Directory Listing
Modified Mon Jun 19 14:43:28 2017 UTC (2 years, 7 months ago) by alexk
Changed `stone_name` to return 32-bit version of string so that no checks and conversions are required on a client side.

Revision 100490 - Directory Listing
Modified Mon Jun 19 14:38:53 2017 UTC (2 years, 7 months ago) by alexk
Added icons for code analyzer.
Added an option icon.
Added overlay sub-icons with left and right placement.


Revision 100485 - Directory Listing
Modified Thu Jun 15 16:14:30 2017 UTC (2 years, 7 months ago) by manus
Updated EiffelStudio to the 17.11 release

Revision 100479 - Directory Listing
Modified Wed Jun 14 17:48:55 2017 UTC (2 years, 7 months ago) by alexk
Regenerated pixmap accessor class to avoid calls to obsolete features.

Revision 100365 - Directory Listing
Modified Thu May 11 19:33:49 2017 UTC (2 years, 8 months ago) by jfiat
Fixed code completion inside an inline separate declaration.
ex: "separate name as l_name do ... end"

Revision 100363 - Directory Listing
Modified Thu May 11 16:16:31 2017 UTC (2 years, 8 months ago) by jfiat
Removed obsolete call.

Revision 100361 - Directory Listing
Modified Thu May 11 15:55:30 2017 UTC (2 years, 8 months ago) by jfiat
Make sure the compiler version includes all information to be able to guess the associated revision number. (now the build value must have at least 4 digits).

Revision 100356 - Directory Listing
Modified Thu May 11 12:47:39 2017 UTC (2 years, 8 months ago) by alexk
Relaxed typing rules for conditional expressions to check that types of expressions conform rather than equal and to do decouple class-based conformance from attachment and separateness statuses.

Revision 100355 - Directory Listing
Modified Thu May 11 09:25:23 2017 UTC (2 years, 8 months ago) by jfiat
Reuse the existing `block_matcher`.

Revision 100354 - Directory Listing
Modified Thu May 11 09:23:03 2017 UTC (2 years, 8 months ago) by jfiat
Check the system class is set before using it.

Revision 100353 - Directory Listing
Modified Thu May 11 07:58:47 2017 UTC (2 years, 8 months ago) by jfiat
Improved editor code completion by adding cases for keywords "inspect, debug, check, all, some" (in addition to "if, loop").

Revision 100351 - Directory Listing
Modified Wed May 10 16:59:07 2017 UTC (2 years, 8 months ago) by jfiat
Minor changes.
- Use alias "[]" instead of `@`.
- Removed commented line.

Revision 100350 - Directory Listing
Modified Wed May 10 16:53:34 2017 UTC (2 years, 8 months ago) by jfiat
Improved the editor class analyzer to "skip" inlined agent feature ... when current cursor is outside its scope.
This fixes completion and stone picking for token after such inline agent.

Revision 100349 - Directory Listing
Modified Wed May 10 15:22:29 2017 UTC (2 years, 8 months ago) by alexk
Used shared NONE type to initialize result register.

Revision 100348 - Directory Listing
Modified Wed May 10 15:20:23 2017 UTC (2 years, 8 months ago) by alexk
Used `detachable NONE` for Void.

Revision 100347 - Directory Listing
Modified Wed May 10 15:18:44 2017 UTC (2 years, 8 months ago) by alexk
Added a detachble version of type NONE to simplify detection of detachable types when they are used to make a detachable version of another type.

Revision 100344 - Directory Listing
Modified Tue May 9 20:15:21 2017 UTC (2 years, 8 months ago) by jfiat
Fixed annoying behavior with pickable local variable tokens.
  - local variables can not be the right value of nested call.
  - ignore tuple access id for local processing.
Removed a few obsolete assignment attempts.
Improved code as regard to void-safety concern.

Revision 100304 - Directory Listing
Modified Tue May 2 04:20:03 2017 UTC (2 years, 8 months ago) by manus
Fix C compilation warning in generated code for CECIL
Cosmetic in code generation by removing an extra newline


Revision 100258 - Directory Listing
Modified Thu Apr 27 14:04:42 2017 UTC (2 years, 9 months ago) by jfiat
Added a new "License" menu entry in the "Help" menu.
If the $ISE_EIFFEL/LICENSE exists, it is displayed in a dialog.

Revision 100254 - Directory Listing
Modified Wed Apr 26 09:42:04 2017 UTC (2 years, 9 months ago) by jfiat
Fixed code after removal of reverse assignement code (obsolete).

Revision 100253 - Directory Listing
Modified Wed Apr 26 09:11:24 2017 UTC (2 years, 9 months ago) by jfiat
Removed a few reverse assignement code (obsolete).

Revision 100245 - Directory Listing
Modified Fri Apr 21 14:48:03 2017 UTC (2 years, 9 months ago) by alexk
Removed unused local.

Revision 100225 - Directory Listing
Modified Tue Apr 18 18:29:11 2017 UTC (2 years, 9 months ago) by alexk
Replaced reverse assignment with object test.
Avoided temporary string creation in `tool_id`.


Revision 100224 - Directory Listing
Modified Tue Apr 18 18:27:17 2017 UTC (2 years, 9 months ago) by alexk
Passed a target name as STRING_32 to avoid implicit conversion.

Revision 100217 - Directory Listing
Modified Tue Apr 18 16:40:03 2017 UTC (2 years, 9 months ago) by jfiat
Updated calls related to locals processing.

Revision 100215 - Directory Listing
Modified Tue Apr 18 16:03:34 2017 UTC (2 years, 9 months ago) by jfiat
Added missing ACCESS_ID_STONE

Revision 100212 - Directory Listing
Modified Mon Apr 17 15:49:00 2017 UTC (2 years, 9 months ago) by jfiat
Implemented picking stone from arguments and local variables in editors and formatters.
note: for now object test locals, inline agent locals, and across, separate locals are not yet supported.

Revision 100206 - Directory Listing
Modified Fri Apr 14 20:18:17 2017 UTC (2 years, 9 months ago) by alexk
Replaced implicit conversion involving obsolete feature calls with explicit calls to non-obsolete features.
Replaced reverse assignments with object tests.


Revision 100204 - Directory Listing
Modified Fri Apr 14 18:06:51 2017 UTC (2 years, 9 months ago) by alexk
Removed unused local.

Revision 100197 - Directory Listing
Modified Fri Apr 14 12:51:55 2017 UTC (2 years, 9 months ago) by jfiat
Updated Copyright years to ...-2017.

Revision 100185 - Directory Listing
Modified Fri Apr 14 08:06:38 2017 UTC (2 years, 9 months ago) by alexk
Replaced reverse assignments with object tests.

Revision 100184 - Directory Listing
Modified Fri Apr 14 08:05:48 2017 UTC (2 years, 9 months ago) by alexk
Replaced calls to an obsolete feature `TYPE.attempt` with object tests.

Revision 100183 - Directory Listing
Modified Fri Apr 14 08:05:07 2017 UTC (2 years, 9 months ago) by alexk
Replaced calls to an obsolete feature `TYPE.attempt` with calls to `TYPE.attempted`.

Revision 100182 - Directory Listing
Modified Fri Apr 14 07:40:31 2017 UTC (2 years, 9 months ago) by alexk
Replaced calls to an obsolete feature `TYPE.attempt` with object tests.

Revision 100168 - Directory Listing
Modified Thu Apr 13 13:14:12 2017 UTC (2 years, 9 months ago) by jfiat
Added `ES_DOCKABLE_TOOL_PANEL.develop_window_session_data: detachable SESSION_I` to replace obsolete calls `session_manager.is_service_available`.
Replaced a few reverse assignments with object tests. 

Revision 100167 - Directory Listing
Modified Thu Apr 13 13:13:05 2017 UTC (2 years, 9 months ago) by jfiat
Check if rout_id is positive before using it with feature_with_rout_id.

Revision 100166 - Directory Listing
Modified Thu Apr 13 12:42:56 2017 UTC (2 years, 9 months ago) by jfiat
Added `EB_EDITORS_MANAGER.remove_cursor_observer`.

Revision 100164 - Directory Listing
Modified Thu Apr 13 12:37:52 2017 UTC (2 years, 9 months ago) by jfiat
Fixed typo.

Revision 100141 - Directory Listing
Modified Tue Apr 11 19:07:57 2017 UTC (2 years, 9 months ago) by manus
Add new benchmark comparing with Gobo 4.0d and 4.1


Revision 100123 - Directory Listing
Modified Mon Apr 10 09:14:29 2017 UTC (2 years, 9 months ago) by jfiat
Reverted previous change.

Revision 100122 - Directory Listing
Modified Mon Apr 10 09:06:05 2017 UTC (2 years, 9 months ago) by jfiat
Quoted feature `feature_name' or `feature_name` should have at least one character, then empty `'  or `` are not considered as quoted feature name.
(In addition, this allows to use ``text'' quotation in description.)

Revision 100117 - Directory Listing
Modified Fri Apr 7 16:26:02 2017 UTC (2 years, 9 months ago) by alexk
Added checks for obsolete calls caused by calling obsolete conversion features (this fixes test#valid289).

Revision 100113 - Directory Listing
Modified Fri Apr 7 14:49:57 2017 UTC (2 years, 9 months ago) by alexk
Added a class ID to simplify retrieval of features involved in conversion without the need to track for context type.

Revision 100106 - Directory Listing
Modified Thu Apr 6 12:28:55 2017 UTC (2 years, 9 months ago) by alexk
Passed information whether a creation procedure is being called. This allows for more specific code to be generated for calls on objects created in passive and active regions.
Removed unnecessary local variables.
Added missing feature comments.
Used object test locals instead of locals when appropriate.
Replaced calls to obsolete features with calls to non-obsolete ones.
Replaced reverse assignments with object tests.
Combined feature clauses with the same comment into one.


Revision 100105 - Directory Listing
Modified Thu Apr 6 11:33:51 2017 UTC (2 years, 9 months ago) by alexk
Corrected previous change by generating checks for assertion monitoring only when it is supported and moving a SCOOP wait condition loop inside the monitoring check.

Revision 100100 - Directory Listing
Modified Wed Apr 5 14:26:45 2017 UTC (2 years, 9 months ago) by alexk
Fixed test#scoop081 by generating preconditions in SCOOP like in non-SCOOP mode except for checking it all the time when there are uncontrolled arguments.
General code clean-up: replaced reverse assignments with object tests, combined nested conditional instructions, used an across form of a loop.


Revision 100099 - Directory Listing
Modified Wed Apr 5 14:23:32 2017 UTC (2 years, 9 months ago) by javierv
EiffelStudio GUI Add contextual menu to restore: recently closed tabs.
Added shortcut in the contextual menu for Close tabs 'Ctrl + F4'.

Revision 100096 - Directory Listing
Modified Mon Apr 3 17:14:09 2017 UTC (2 years, 9 months ago) by jfiat
Remember location, only for project creation.

Revision 100089 - Directory Listing
Modified Fri Mar 31 16:31:14 2017 UTC (2 years, 9 months ago) by jfiat
Protected `destroy` against call on Void target.

Revision 100063 - Directory Listing
Modified Tue Mar 28 08:14:20 2017 UTC (2 years, 10 months ago) by alexk
Fixed test#codeanalysis025 by setting a type recorder when a new instance of the checker is created for inline agents or built-ins.

Revision 100055 - Directory Listing
Modified Mon Mar 27 15:47:10 2017 UTC (2 years, 10 months ago) by jfiat
Updated cosmetic for remember location in create new basic application dialog.

Revision 100046 - Directory Listing
Modified Fri Mar 24 11:17:59 2017 UTC (2 years, 10 months ago) by jfiat
Added a way to remember the project location in the basic project creation dialog.

Revision 100032 - Directory Listing
Modified Thu Mar 23 18:44:03 2017 UTC (2 years, 10 months ago) by alexk
Replaced some reverse assignments with object tests.

Revision 100031 - Directory Listing
Modified Thu Mar 23 18:42:50 2017 UTC (2 years, 10 months ago) by alexk
Added obsolete call context in command line mode.

Revision 100023 - Directory Listing
Modified Thu Mar 23 12:53:37 2017 UTC (2 years, 10 months ago) by alexk
Avoided reporting a warning when an obsolete attribute is used as a target of an assignment or of a creation instruction.

Revision 100010 - Directory Listing
Modified Tue Mar 21 16:31:32 2017 UTC (2 years, 10 months ago) by jfiat
Improved debugging experience for docking code.
(+fixed a few typo, and remove an obsolete reverse assignment attempt.)

Revision 100009 - Directory Listing
Modified Tue Mar 21 16:22:10 2017 UTC (2 years, 10 months ago) by jfiat
Fixed EiffelStudio layout importation.
Previously it could happen to corrupt the layout, especially the editors area was restored in floating state.

Revision 100005 - Directory Listing
Modified Tue Mar 21 13:19:04 2017 UTC (2 years, 10 months ago) by javierv
Initial import Restore Closed Tabs.
- Record editor tab closing and update a list of recently closed tab.
- Restore last closed tab (shorcut Ctrl + Shift + T), at the moment without using the previous location.

Updated default.xml preferences. 
- Updated 'Basic Text View' shourtcut to (Ctrl + Shift + B) instead of (Ctrl+ Shift + T).
- Added a new preference `shortcuts.file.restore_tab` 



Revision 99999 - Directory Listing
Modified Mon Mar 20 16:47:38 2017 UTC (2 years, 10 months ago) by manus
Updated benchmark to rev#99997


Revision 99990 - Directory Listing
Modified Sun Mar 19 16:14:32 2017 UTC (2 years, 10 months ago) by alexk
Corrected condition when it is safe to retrieve information about class attributes to read `degree_4_needed implies degree_4_processed` instead of `degree_4_processed` because `degree_4_processed` is set only when `degree_4_needed` was true.

Revision 99989 - Directory Listing
Modified Sun Mar 19 16:12:13 2017 UTC (2 years, 10 months ago) by alexk
Exported `degree_4_needed` to `{AST_CONTEXT}`.

Revision 99988 - Directory Listing
Modified Sat Mar 18 11:13:20 2017 UTC (2 years, 10 months ago) by alexk
Added protection to access class skeleton only after degree 4 in feature `initialize` because the class is used by both degree 3 and degree 4, so not all functionality is always available.

Revision 99987 - Directory Listing
Modified Sat Mar 18 11:11:33 2017 UTC (2 years, 10 months ago) by alexk
Exported `degree_4_processed` to `{AST_CONTEXT}` to allow for checking if class skeleton is ready for use.
Replaced some reverse assignments with object tests.
Cosmetics: corrected style of some comments.


Revision 99983 - Directory Listing
Modified Fri Mar 17 18:42:03 2017 UTC (2 years, 10 months ago) by alexk
Improved performance of checks by continuing recursive checks (feature `process`) only when there are no qualified calls or some unset attributes. This is critical for classes with thousands of attributes and features.
Changed processing of once features (`process_once_as`) to keep track of access to Current rather than forgetting such access.
Considered calls to once features as qualified in case they return a reference object or an object that can refer to a reference object to make sure incompletely initialized objects are not kept as their result (this fixes test#attach124, test#attach125, test#attach126).
Checked that arguments passed to creation procedures do not indirectly reference objects to prevent passing incompletely initialized objects (this fixes test#attach127).
Cosmetics: corrected style of feature comments and replaced voidness tests with object tests.


Revision 99982 - Directory Listing
Modified Fri Mar 17 18:26:37 2017 UTC (2 years, 10 months ago) by alexk
Added a query `has_reference` that tells if a value of the given type can directly or indirectly reference a reference object at run-time.
Replaced reverse assignments with object tests.
Cosmetics: corrected comment style, reordered feature adaptation to simplify adding/removing new adaptations.


Revision 99981 - Directory Listing
Modified Fri Mar 17 18:16:26 2017 UTC (2 years, 10 months ago) by alexk
Replaced reverse assignments with object tests and corrected comment and description style.

Revision 99971 - Directory Listing
Modified Mon Mar 13 13:35:40 2017 UTC (2 years, 10 months ago) by alexk
Used a feature ID instead to a routine ID to retrieve attributes and to check if there are stable.
Cosmetics: fixed comment style.


Revision 99969 - Directory Listing
Modified Mon Mar 13 13:07:28 2017 UTC (2 years, 10 months ago) by alexk
Extended export status of `leave_realm` and `leave_optional_realm` to support fine-grained scope processing when required.

Revision 99968 - Directory Listing
Modified Mon Mar 13 13:02:06 2017 UTC (2 years, 10 months ago) by alexk
Removed a query `has_stable_attribute` because it is no longer used.

Revision 99967 - Directory Listing
Modified Mon Mar 13 12:59:21 2017 UTC (2 years, 10 months ago) by alexk
Used a precomputed flag that tells if current class has stable attributes to optimize validity checks when there are many features with inherited preconditions and many attributes.
Replaced reverse assignments with object tests.
Cosmetics: added automatic comments for inherited features, added missing periods in feature comments.


Revision 99965 - Directory Listing
Modified Mon Mar 13 12:45:11 2017 UTC (2 years, 10 months ago) by alexk
Avoided taking into account inherited preconditions in complete void safety mode when evaluating attachment status of variables. This affects test#attach045.

Revision 99964 - Directory Listing
Modified Mon Mar 13 12:37:28 2017 UTC (2 years, 10 months ago) by alexk
Added an attribute that tells if current class has stable attributes to avoid recomputing this information.

Revision 99956 - Directory Listing
Modified Fri Mar 10 18:45:09 2017 UTC (2 years, 10 months ago) by alexk
Replaced a reverse assignment with an object test.
Removed a call to an obsolete feature `is_service_available`.


Revision 99955 - Directory Listing
Modified Fri Mar 10 18:37:52 2017 UTC (2 years, 10 months ago) by alexk
Replaced reverse assignments with an object tests.
Replaced a call to obsolete `ARRAY.make` with a call to `ARRAY.make_empty`.
Cosmetics: added periods at the end of comments.


Revision 99954 - Directory Listing
Modified Fri Mar 10 18:34:37 2017 UTC (2 years, 10 months ago) by alexk
Replaced calls to obsolete `is_service_available` with calls to `service`.

Revision 99953 - Directory Listing
Modified Fri Mar 10 18:32:55 2017 UTC (2 years, 10 months ago) by alexk
Replaced a call to obsolete `force_extend` with a call to `extend`.

Revision 99952 - Directory Listing
Modified Fri Mar 10 18:30:02 2017 UTC (2 years, 10 months ago) by alexk
Fixed bug#19336 by checking if universe is available before looking for class names in it.
Replaced reverse assignments with object tests.
Simplified code by using across loops instead of regular ones.


Revision 99928 - Directory Listing
Modified Mon Mar 6 09:43:38 2017 UTC (2 years, 10 months ago) by jfiat
Check if file is readable before trying to load the related docking layout.

Revision 99923 - Directory Listing
Modified Sun Mar 5 19:24:33 2017 UTC (2 years, 10 months ago) by alexk
Removed an obsolete feature call to ARRAY.make in processing of an inspect instruction and simplified associated code.

Revision 99913 - Directory Listing
Modified Fri Mar 3 12:41:04 2017 UTC (2 years, 10 months ago) by alexk
Fixed test#valid290 by checking whether an assigner query is obsolete.

Revision 99889 - Directory Listing
Modified Wed Mar 1 12:51:59 2017 UTC (2 years, 10 months ago) by alexk
Moved detection whether a message is visible according to a filter to rule violation event class to support arbitrary (i.e. not only textual) contents.
Supported hypertext formatting of message titles.
Supported violation-definable text of message titles instead of fixed rule titles.
Used a rule title as a tooltip.


Revision 99886 - Directory Listing
Modified Wed Mar 1 12:30:46 2017 UTC (2 years, 10 months ago) by alexk
Reported location for obsolete feature calls.

Revision 99885 - Directory Listing
Modified Wed Mar 1 12:02:49 2017 UTC (2 years, 10 months ago) by alexk
Moved code_analysis to the common target because it is used in all versions of the compiler.

Revision 99860 - Directory Listing
Modified Sun Feb 26 14:41:15 2017 UTC (2 years, 11 months ago) by alexk
Updated docking library clients to meet recent changes in the docking library.

Revision 99856 - Directory Listing
Modified Wed Feb 22 12:25:37 2017 UTC (2 years, 11 months ago) by alexk
Fixed bug#19333 (test#melt110) by emitting a missing BC_WCHAR opcode before a character value when generating melted code for is_character_8.

Revision 99854 - Directory Listing
Modified Mon Feb 20 07:56:41 2017 UTC (2 years, 11 months ago) by alexk
Added a check that a row is visible before its expansion is triggered, otherwise there is a precondition violation.

Revision 99830 - Directory Listing
Modified Fri Feb 17 14:50:27 2017 UTC (2 years, 11 months ago) by alexk
Added missing checks for obsolete calls in address expressions, unary and binary operators and moved the check to a single place.

Revision 99787 - Directory Listing
Modified Fri Feb 3 22:05:41 2017 UTC (2 years, 11 months ago) by javierv
Expand the first N errors. 
Session is not used anymore to expand errors.
Added a new preference item  'tools.error_list.expand_n_errors' to default.xml file.


Revision 99774 - Directory Listing
Modified Tue Jan 31 06:25:52 2017 UTC (2 years, 11 months ago) by manus
Fix bug#19318 and eweasel test#exec365

When a once manifest string was using an extended ASCII, we would generate the UTF-8 representation instead of the extended ASCII representation.
We now use the same code as in STRING_B where we take the STRING_32 representation of the value and then convert it to STRING_8.

Revision 99759 - Directory Listing
Modified Wed Jan 25 18:09:10 2017 UTC (3 years ago) by manus
Updated EiffelStudio to the 17.05 release

Revision 99750 - Directory Listing
Modified Tue Jan 24 17:38:15 2017 UTC (3 years ago) by manus
Replace PLATFORM_CONSTANTS by PLATFORM

Possible now that we added `is_64_bits` to PLATFORM.

Revision 99743 - Directory Listing
Modified Fri Jan 20 16:03:32 2017 UTC (3 years ago) by alexk
Propagated severity to rule violation because the same rule can have different severity depending on context, so actual severity depends on detected violation.

Revision 99740 - Directory Listing
Modified Fri Jan 20 14:38:57 2017 UTC (3 years ago) by alexk
Supported positioning of a text cursor in the editor to a specific line-column location for an issue reported by the code analyzer.

Revision 99739 - Directory Listing
Modified Fri Jan 20 14:37:00 2017 UTC (3 years ago) by alexk
Supported creation of position stones that specify a column, not just a line.

Revision 99738 - Directory Listing
Modified Fri Jan 20 14:35:01 2017 UTC (3 years ago) by alexk
Supported positioning a text cursor in the editor to a specific column, not just a line, if this information is available.

Revision 99736 - Directory Listing
Modified Fri Jan 20 14:17:53 2017 UTC (3 years ago) by alexk
Recorded an obsolete message for an attribute with body (this fixes test#valid289).

Revision 99735 - Directory Listing
Modified Fri Jan 20 14:06:58 2017 UTC (3 years ago) by alexk
Added ability to set obsolete messages for attributes (with bodies).

Revision 99734 - Directory Listing
Modified Fri Jan 20 14:05:31 2017 UTC (3 years ago) by alexk
Cosmetics: added a missing comment period and used a better feature clause comment.

Revision 99733 - Directory Listing
Modified Fri Jan 20 14:02:56 2017 UTC (3 years ago) by alexk
Moved a procedure to set an obsolete message to the general feature class because the message can be set not only for routines.

Revision 99727 - Directory Listing
Modified Wed Jan 18 14:01:20 2017 UTC (3 years ago) by alexk
Used `extend` instead of obsolete `force_extend` to register agents.

Revision 99715 - Directory Listing
Modified Thu Jan 12 13:14:40 2017 UTC (3 years ago) by alexk
Added a check that object test local type should be available before using it as otherwise EiffelStudio crashes with access on void target.

Revision 99708 - Directory Listing
Modified Tue Jan 10 14:09:02 2017 UTC (3 years ago) by jfiat
Fix UI for settings management dialog of import settings.
 - The version combo is now read-only
 - The labels in the advanced mode are not truncated anymore


Revision 99692 - Directory Listing
Modified Tue Jan 3 17:45:57 2017 UTC (3 years ago) by manus
Updated to the EiffelStudio 17.01 release.

Revision 99679 - Directory Listing
Modified Wed Dec 14 23:04:35 2016 UTC (3 years, 1 month ago) by jfiat
Display the Void safety setting in the system output view (and use lowercase label name).

Revision 99673 - Directory Listing
Modified Fri Dec 9 18:57:30 2016 UTC (3 years, 1 month ago) by alexk
Split capabilities update so that the part that is not saved, is recomputed at every compilation.

Revision 99666 - Directory Listing
Modified Fri Dec 9 11:44:19 2016 UTC (3 years, 1 month ago) by alexk
Updated generation of new ECF to refer to base.ecf instead of base-safe.ecf and to use defaults for concurrency if possible.

Revision 99660 - Directory Listing
Modified Thu Dec 8 10:20:07 2016 UTC (3 years, 1 month ago) by alexk
Added a comment on previous commit.

Revision 99659 - Directory Listing
Modified Thu Dec 8 10:17:15 2016 UTC (3 years, 1 month ago) by alexk
Moved a call to capabilities setter before any class options are computed as otherwise it is too late to update them (this fixes test#config049).

Revision 99655 - Directory Listing
Modified Wed Dec 7 15:52:19 2016 UTC (3 years, 1 month ago) by javierv
Fixed issue with the header widget (Show templates/ Show features), after some user interactions the header was not refreshed as it should.

Revision 99652 - Directory Listing
Modified Wed Dec 7 14:34:56 2016 UTC (3 years, 1 month ago) by alexk
Reported errors as warnings if they are detected for ECFs referenced from the original one.

Revision 99651 - Directory Listing
Modified Wed Dec 7 13:29:22 2016 UTC (3 years, 1 month ago) by alexk
Fixed bug#config048 by updating capabilities at the last minute when no further checks are going to be done because otherwise modified libraries/precompiles may mismatch current project settings during cofiguration checks and trigger errors.

Revision 99643 - Directory Listing
Modified Tue Dec 6 17:48:42 2016 UTC (3 years, 1 month ago) by manus
Add `is_64_bits' implementation for new PLATFORM.is_64_bits query.


Revision 99638 - Directory Listing
Modified Tue Dec 6 08:03:59 2016 UTC (3 years, 1 month ago) by alexk
Removed VD80 configuration warnings to avoid getting duplicate reports because ECF is processed twice.

Revision 99635 - Directory Listing
Modified Tue Dec 6 07:56:58 2016 UTC (3 years, 1 month ago) by alexk
Slightly optimized `is_equivalent` by removing unneeded assignment.

Revision 99634 - Directory Listing
Modified Tue Dec 6 07:55:32 2016 UTC (3 years, 1 month ago) by alexk
Slightly optimized `same_signature` by removing unneeded assignments.

Revision 99629 - Directory Listing
Modified Mon Dec 5 15:44:21 2016 UTC (3 years, 1 month ago) by alexk
Factored out capability setter to avoid incorrect or missing error reports when capabilities are updated before all checks are done (this fixes test#attach084).

Revision 99595 - Directory Listing
Modified Fri Dec 2 17:19:44 2016 UTC (3 years, 1 month ago) by manus
Update concurrency capability to None

To make it compilable


Revision 99594 - Directory Listing
Modified Fri Dec 2 17:18:30 2016 UTC (3 years, 1 month ago) by manus
Update concurrency capability to None

To make it compilable


Revision 99593 - Directory Listing
Modified Fri Dec 2 17:08:39 2016 UTC (3 years, 1 month ago) by manus
Fix capability to make it compile


Revision 99585 - Directory Listing
Modified Fri Dec 2 09:22:21 2016 UTC (3 years, 1 month ago) by alexk
Reported an error instead of a warning on attempt to change concurrency setting of a compiled project.

Revision 99575 - Directory Listing
Modified Thu Dec 1 08:54:17 2016 UTC (3 years, 1 month ago) by jfiat
Display Result value in Object tool without any parent grid row.

Revision 99560 - Directory Listing
Modified Tue Nov 29 16:55:49 2016 UTC (3 years, 1 month ago) by manus
Add 16.11 benchmark


Revision 99559 - Directory Listing
Modified Tue Nov 29 16:55:30 2016 UTC (3 years, 1 month ago) by manus
Add 16.11 benchmark


Revision 99556 - Directory Listing
Modified Tue Nov 29 15:42:07 2016 UTC (3 years, 1 month ago) by alexk
Propagated project settings for capabilities to dependent elements (targets, libraries, groups, etc.) so that the old code to access options can be used.
Added current capability options to AST_CONTEXT to optimize access to them during type checks.
Removed VD88 validity checks and associated class and error message because this is superseeded by capability checks.
Slightly optimized capability checks by recording project settings at the beginning and reusing them during traversal.
Restored original code to retrieve compilation options in CLASS_I.


Revision 99552 - Directory Listing
Modified Tue Nov 29 15:05:49 2016 UTC (3 years, 1 month ago) by jfiat
Removed previous workaround to have ec bench compiling with 16.11.9.9444, not needed anymore with latest 16.11 release.

Revision 99534 - Directory Listing
Modified Sat Nov 26 03:34:38 2016 UTC (3 years, 2 months ago) by javierv
Fixed issue with code templates: class completion suggest to use Ctrl+Space to show features and shouldn't

Revision 99519 - Directory Listing
Modified Fri Nov 25 12:19:50 2016 UTC (3 years, 2 months ago) by jfiat
Removed a few obsolete calls.

Revision 99518 - Directory Listing
Modified Fri Nov 25 12:17:47 2016 UTC (3 years, 2 months ago) by jfiat
Provide a way to force preferences to be saved right away.

Revision 99517 - Directory Listing
Modified Fri Nov 25 12:12:35 2016 UTC (3 years, 2 months ago) by jfiat
Minor change to prevent potential Call on Void target in the future.

Revision 99495 - Directory Listing
Modified Wed Nov 23 22:23:23 2016 UTC (3 years, 2 months ago) by jfiat
Commented unused feature.

Revision 99486 - Directory Listing
Modified Wed Nov 23 21:16:17 2016 UTC (3 years, 2 months ago) by jfiat
Converted $EIFFEL_SRC/eiffel projects to latest ecf version 1-16-0 supporting notion of capability.
Replaced the two ecfs with a single one, and redirect the ___-safe.ecf to the normal ___.ecf file.

Also update some projects to new routine interface, and better void-safety when possible.

Revision 99478 - Directory Listing
Modified Wed Nov 23 15:41:44 2016 UTC (3 years, 2 months ago) by alexk
Added an option to control capabilities in case something goes wrong compared to a previous versio of EiffelStudio.

Revision 99477 - Directory Listing
Modified Wed Nov 23 15:39:47 2016 UTC (3 years, 2 months ago) by alexk
Used target settings to compute void safety and cat-call detection levels.

Revision 99476 - Directory Listing
Modified Wed Nov 23 15:38:41 2016 UTC (3 years, 2 months ago) by alexk
Changed error and warning reports to depend on selected capability checks option.

Revision 99470 - Directory Listing
Modified Tue Nov 22 09:52:59 2016 UTC (3 years, 2 months ago) by alexk
Used updated ECF format with capabilities specified in a dedicated element.

Revision 99466 - Directory Listing
Modified Mon Nov 21 10:43:54 2016 UTC (3 years, 2 months ago) by jfiat
Also include the version minor in the About dialog message  (i.e 16.11  instead of just 16).

Revision 99461 - Directory Listing
Modified Sun Nov 20 20:07:33 2016 UTC (3 years, 2 months ago) by alexk
Fixed a regression, when elements of a list were not separated by a comma because format specification was made always attached, by distinguishing default format specification.

Revision 99456 - Directory Listing
Modified Sat Nov 19 22:24:33 2016 UTC (3 years, 2 months ago) by alexk
Avoided duplicate warnings for capability errors.

Revision 99453 - Directory Listing
Modified Sat Nov 19 19:35:41 2016 UTC (3 years, 2 months ago) by alexk
Added a specific error for capability checks.

Revision 99452 - Directory Listing
Modified Sat Nov 19 19:24:57 2016 UTC (3 years, 2 months ago) by alexk
Replaced reverse assignments with object tests.

Revision 99451 - Directory Listing
Modified Sat Nov 19 19:23:06 2016 UTC (3 years, 2 months ago) by alexk
Replaced reverse assignment with a regular one.

Revision 99445 - Directory Listing
Modified Fri Nov 18 17:49:23 2016 UTC (3 years, 2 months ago) by jfiat
Added docking layout import settings support.

Revision 99440 - Directory Listing
Modified Wed Nov 16 09:16:13 2016 UTC (3 years, 2 months ago) by alexk
Made code compatible with initialization level of void safety.

Revision 99439 - Directory Listing
Modified Wed Nov 16 09:10:41 2016 UTC (3 years, 2 months ago) by alexk
Made code compatible with initialization level of void safety.

Revision 99434 - Directory Listing
Modified Fri Nov 11 21:08:58 2016 UTC (3 years, 2 months ago) by javierv
Updated code templates UI: Display a top widget with a label in the list of completion possibilities (for templates/features). 

Revision 99431 - Directory Listing
Modified Fri Nov 11 18:01:25 2016 UTC (3 years, 2 months ago) by alexk
Made sure an object test with attached expression and without type check is optimized away only in finalized mode or when source type is expanded (this fixes test#attach123).

Revision 99430 - Directory Listing
Modified Fri Nov 11 15:47:43 2016 UTC (3 years, 2 months ago) by alexk
Changed type of `class_type` that is always CL_TYPE_A.

Revision 99428 - Directory Listing
Modified Fri Nov 11 14:25:52 2016 UTC (3 years, 2 months ago) by alexk
Fixed test#attach122 by using detachable type for Result.

Revision 99425 - Directory Listing
Modified Thu Nov 10 17:34:10 2016 UTC (3 years, 2 months ago) by alexk
Propargated attachment status of an object test expression so that the associated object test can be optimized away (see test#attach122).
Replaced assignment attempts with object tests.


Revision 99424 - Directory Listing
Modified Thu Nov 10 17:17:21 2016 UTC (3 years, 2 months ago) by alexk
Fixed test#attach122 by recording detachable types for local variables.
Replaced calls to ARRAY.make with ARRAY.make_filled to avoid warning messages.
Used across loops instead of cursor-based loops at the places where ARRAY.make_filled is used now.


Revision 99420 - Directory Listing
Modified Thu Nov 10 08:39:15 2016 UTC (3 years, 2 months ago) by jfiat
Made import settings dialog simpler, but kept an advanced options alternative.

Revision 99417 - Directory Listing
Modified Tue Nov 8 22:33:13 2016 UTC (3 years, 2 months ago) by jfiat
Added missing class.

Revision 99412 - Directory Listing
Modified Tue Nov 8 12:32:40 2016 UTC (3 years, 2 months ago) by jfiat
Added first time launch dialog to give the user the possibility to import settings from a previous installation.

Revision 99407 - Directory Listing
Modified Sun Nov 6 13:48:21 2016 UTC (3 years, 2 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 99400 - Directory Listing
Modified Sun Nov 6 12:31:36 2016 UTC (3 years, 2 months ago) by alexk
Replaced errors when capabilities of a client does not match capabilities of a supplier with warnings.
Added checks that a corrent setting should match capabilities of all dependent targets, not only current one.


Revision 99399 - Directory Listing
Modified Sun Nov 6 12:21:24 2016 UTC (3 years, 2 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 99398 - Directory Listing
Modified Sun Nov 6 12:20:30 2016 UTC (3 years, 2 months ago) by alexk
Removed unused inheritance link.

Revision 99385 - Directory Listing
Modified Fri Nov 4 08:38:42 2016 UTC (3 years, 2 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 99384 - Directory Listing
Modified Thu Nov 3 19:45:51 2016 UTC (3 years, 2 months ago) by jfiat
Added a convenient feature to the execution parameter dialog, to update a profile title based on the profile parameters.
  Indeed often, it is named "Profile #1", not always convenient.


Revision 99364 - Directory Listing
Modified Mon Oct 31 15:49:23 2016 UTC (3 years, 2 months ago) by alexk
Updated ECFs to most recent version with capabilities.

Revision 99351 - Directory Listing
Modified Sun Oct 30 14:14:23 2016 UTC (3 years, 2 months ago) by alexk
Made resource framework void-safe.

Revision 99346 - Directory Listing
Modified Sun Oct 30 13:14:23 2016 UTC (3 years, 2 months ago) by alexk
Added validation of capabilities.

Revision 99344 - Directory Listing
Modified Fri Oct 28 10:24:13 2016 UTC (3 years, 3 months ago) by jfiat
Added a new dialog to import settings from previous installation of EiffelStudio.
  See menu "tools>Import Settings"

Added a convenient feature to the execution parameter dialog, to update a profile title based on the profile parameters.
  Indeed often, it is named "Profile #1", not always convenient.


Revision 99326 - Directory Listing
Modified Fri Oct 21 07:43:42 2016 UTC (3 years, 3 months ago) by jfiat
Removed unwanted change in previous commit.

Revision 99325 - Directory Listing
Modified Fri Oct 21 07:41:25 2016 UTC (3 years, 3 months ago) by jfiat
Updated code to follow void-safety principles (not fully converted).

Revision 99321 - Directory Listing
Modified Thu Oct 20 14:16:43 2016 UTC (3 years, 3 months ago) by javierv
Fixed issue (void target) with code template completion, when a class does not have exported features.

Revision 99314 - Directory Listing
Modified Wed Oct 19 17:06:12 2016 UTC (3 years, 3 months ago) by jfiat
Updated code to follow void-safety principle (not fully converted).

Revision 99313 - Directory Listing
Modified Wed Oct 19 16:34:04 2016 UTC (3 years, 3 months ago) by jfiat
Use https://room.eiffel.com rather than https://www.eiffelroom.com .

Revision 99311 - Directory Listing
Modified Wed Oct 19 16:23:01 2016 UTC (3 years, 3 months ago) by jfiat
Updated code to follow void-safety principle (not fully converted).

Revision 99309 - Directory Listing
Modified Wed Oct 19 12:07:13 2016 UTC (3 years, 3 months ago) by jfiat
Added support for quoted feature in comment using two backticks such as `foo`  in addition to previous backtick and single quote `foo'.

Revision 99304 - Directory Listing
Modified Mon Oct 17 10:37:05 2016 UTC (3 years, 3 months ago) by alexk
Replaced multithreaded process library and classes with single-threaded ones to remove dependency on Thread library in a batch compiler and allow for capablity-restricted ECFs.

Revision 99302 - Directory Listing
Modified Mon Oct 17 06:52:00 2016 UTC (3 years, 3 months ago) by alexk
Removed unused locals.
Corrected feature comments to follow guidelines.
Replaced an attribute used for typing only with a function.


Revision 99248 - Directory Listing
Modified Mon Oct 3 15:46:21 2016 UTC (3 years, 3 months ago) by alexk
Added an error for mismatch of effective settings between a precompile and a project.

Revision 99247 - Directory Listing
Modified Mon Oct 3 15:43:49 2016 UTC (3 years, 3 months ago) by alexk
Added a creation procedure with configuration error argument.

Revision 99206 - Directory Listing
Modified Thu Sep 29 13:40:19 2016 UTC (3 years, 3 months ago) by jfiat
Check precondition before calling `format_uris`.

Revision 99205 - Directory Listing
Modified Thu Sep 29 13:26:18 2016 UTC (3 years, 3 months ago) by jfiat
Updated ISE_DOC (and related) variables.
Ensure environment variables has the priority over built-in variables.


Revision 99204 - Directory Listing
Modified Thu Sep 29 13:06:10 2016 UTC (3 years, 3 months ago) by jfiat
Fixed a catcall.

Revision 99203 - Directory Listing
Modified Thu Sep 29 12:11:06 2016 UTC (3 years, 3 months ago) by jfiat
Cosmetic and copyright

Revision 99188 - Directory Listing
Modified Fri Sep 23 20:50:41 2016 UTC (3 years, 4 months ago) by javierv
Updated templates examples.
Updated the tokens to display the template code in the tooltip.
Updated EB_CODE_COMPLETION_WINDOW.show_template, call to `show'  to display templates in completion list. 

Revision 99183 - Directory Listing
Modified Thu Sep 22 12:36:28 2016 UTC (3 years, 4 months ago) by jfiat
Fixed code template locals insertion with regards to indentation.

Revision 99178 - Directory Listing
Modified Wed Sep 21 16:22:49 2016 UTC (3 years, 4 months ago) by jfiat
Fixed infinite loop in editor code, introduced during recent part-conversion to Void-safety.

Revision 99175 - Directory Listing
Modified Wed Sep 21 02:37:36 2016 UTC (3 years, 4 months ago) by javierv
Updated code to use the new code template proposal. 
Targetless templates does not use target feature.
Target/Context templates will have a feature `target'. 
Added template_version metadata at top level class (not use at the moment).
Updated metadata for templates (removed `description', optional `title').
Updated templates to use the latest proposal

   


Revision 99167 - Directory Listing
Modified Mon Sep 19 16:21:04 2016 UTC (3 years, 4 months ago) by jfiat
Updated code based on void-safety coding style.

Revision 99166 - Directory Listing
Modified Mon Sep 19 16:15:40 2016 UTC (3 years, 4 months ago) by jfiat
Fixed the EiffelStudio Execution parameter tool not restoring the working directory value.

Revision 99162 - Directory Listing
Modified Sun Sep 18 16:48:39 2016 UTC (3 years, 4 months ago) by alexk
Fixed bug#19264 (test#attach121) by using start location of an inline agent instead of its name that may not be set at this point yet.

Revision 99159 - Directory Listing
Modified Sun Sep 18 06:14:50 2016 UTC (3 years, 4 months ago) by alexk
Simplified processing of concurrency setting by reviewing all possibilities and making behavior more consistent.
Now the rules are:
	1. Project uses a precompile. If concurrency setting is not specified, it is taken from the precompile. Otherwise it is compared against the precompile and an warning is reported on mismatch (to be replaced with an error).
	2. Project does not use a precompile. Concurrency setting is set on first compilation. On any subsequent recompilations if the setting is different from the inital one, a warning is reported (this is different from earlier versions when the mismatch is reported only one).
The change affects test#incr184 because the behaviour is more consistent (the mismatch is detected every time, not just once).


Revision 99158 - Directory Listing
Modified Sun Sep 18 05:53:12 2016 UTC (3 years, 4 months ago) by alexk
Replaced hard-coded console setting name with a common constant attribute.
Replaced updates to concurrency setting with correposnding API calls so that the setting is properly serialized depending on output ECF version.


Revision 99152 - Directory Listing
Modified Sat Sep 17 08:33:27 2016 UTC (3 years, 4 months ago) by alexk
Fixed test#melt109 by correcting code that generated conversion for basic types.
Replaced reverse assignments and associated voidness tests with object tests.


Revision 99149 - Directory Listing
Modified Fri Sep 16 18:23:41 2016 UTC (3 years, 4 months ago) by alexk
Replaced concurrency setting with target capability.
Added a tab for capablity settings in project settings dialog. Supported calculation and visualization of default capability settings.
Supported reading and writing of capability options in new ECF format.


Revision 99148 - Directory Listing
Modified Fri Sep 16 18:15:02 2016 UTC (3 years, 4 months ago) by alexk
Replaced reverse assignment with a regular one.

Revision 99137 - Directory Listing
Modified Fri Sep 16 17:42:45 2016 UTC (3 years, 4 months ago) by alexk
Fixed a bug when multiple arguments were not processed correctly.
Replaced Void for default format with an empty string to simplify code.


Revision 99135 - Directory Listing
Modified Fri Sep 16 17:33:03 2016 UTC (3 years, 4 months ago) by alexk
Added icons for default settings.

Revision 99134 - Directory Listing
Modified Thu Sep 15 15:15:26 2016 UTC (3 years, 4 months ago) by javierv
Refactor rename code_template_builder.e to es_code_template_builder.e
Clean and simplified coded.


Revision 99133 - Directory Listing
Modified Thu Sep 15 08:00:18 2016 UTC (3 years, 4 months ago) by jfiat
Simplified code template insertion.
Better handling of indentation.
Insert locals at the end of local declarations.
Improved linked inline editing, especially when editing from token not being the first.

Revision 99132 - Directory Listing
Modified Tue Sep 13 11:42:30 2016 UTC (3 years, 4 months ago) by jfiat
Fixed linked token inline editing when text is selected, or when trying append a character at the end of the wanted token.

Revision 99131 - Directory Listing
Modified Tue Sep 13 11:25:10 2016 UTC (3 years, 4 months ago) by jfiat
Use proper eiffelstudio label instead of using the debugger's ones.

Revision 99130 - Directory Listing
Modified Tue Sep 13 10:45:45 2016 UTC (3 years, 4 months ago) by javierv
Added missing class for code templates

Revision 99129 - Directory Listing
Modified Tue Sep 13 10:39:22 2016 UTC (3 years, 4 months ago) by javierv
Added missing files for code templates.

Revision 99128 - Directory Listing
Modified Tue Sep 13 10:19:48 2016 UTC (3 years, 4 months ago) by javierv
Initial import of code templates, inline edition and code templates examples.

Revision 99124 - Directory Listing
Modified Tue Sep 6 11:52:47 2016 UTC (3 years, 4 months ago) by jfiat
Replaced a few reverse assignment attempts by object tests.
Replaced a few obsolete calls on `is_service_available` by `service`.
Void-safety: marked a few entities as detachable, to show they can be Void.

Revision 99123 - Directory Listing
Modified Tue Sep 6 10:41:34 2016 UTC (3 years, 4 months ago) by jfiat
Updated editor library and related components:
- Replaced a few reverse assignment attempts by object tests.
- Minor improvement related to void-safe design or code.

Revision 99070 - Directory Listing
Modified Sat Jul 30 02:55:39 2016 UTC (3 years, 5 months ago) by manus
Add protection when the command has been recycled, we won't have a target to find the editor.


Revision 99065 - Directory Listing
Modified Fri Jul 29 14:19:29 2016 UTC (3 years, 5 months ago) by manus
Remove SHARED_PARSER_FILE_BUFFER

Its only feature `file_buffer` was redefined but never used, the class is not useless and can be removed.

Revision 99064 - Directory Listing
Modified Fri Jul 29 14:12:39 2016 UTC (3 years, 5 months ago) by manus
Remove postcondition of `is_loose`

The definition of `is_loose` was incorrectly expressed, especially since rev#99048 which allows `like Current` to not be loose when it represents an expanded class and has no actual generic parameters that are loose.

Revision 99050 - Directory Listing
Modified Sat Jul 23 12:41:57 2016 UTC (3 years, 6 months ago) by manus
Fix eweasel test#final125

The RTLIU call in the generated code was not properly generated because it used reference_arg_count which was decreased after we generated the call to RTLI. This causing some entity that were supposed to be protected to not be protected.


Revision 99048 - Directory Listing
Modified Sat Jul 23 10:55:37 2016 UTC (3 years, 6 months ago) by manus
Fix stack overflow in test#incr433

When a basic type is defining `item` to be of type `like Current` we were getting a stack overflow when checking the validity of types at the end of degree 2 when calling `{TYPE_A}.is_runnable_on_processor`. This was due to an invalid skeleton generated for `like Current` attributes when we now the type cannot change (case of expanded without loose generics). We fix this by defining `is_loose` on LIKE_CURRENT properly and changed the definition of `description`.

Refactor the `description` and `description_with_detachable_type` to be more uniform and using a new creation procedure to create the instances of ATTR_DESC.


Revision 99047 - Directory Listing
Modified Sat Jul 23 10:46:56 2016 UTC (3 years, 6 months ago) by manus
Add new 16.11 result


Revision 99042 - Directory Listing
Modified Sat Jul 23 08:06:20 2016 UTC (3 years, 6 months ago) by manus
Remove configuration-tool library as this is now provided by the configuration-compiler library.


Revision 99037 - Directory Listing
Modified Wed Jul 20 06:51:26 2016 UTC (3 years, 6 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 99036 - Directory Listing
Modified Wed Jul 20 06:36:15 2016 UTC (3 years, 6 months ago) by alexk
Added a missing argument that was added to override configuration settings.

Revision 99035 - Directory Listing
Modified Tue Jul 19 17:28:10 2016 UTC (3 years, 6 months ago) by alexk
Supported command-line configuration settings parsing.
Passed configuration settings retrieved from command-line arguments to override current target settings.
Added help messages for configuration option and code analysis options.
Supplied available CLR runtimes agent to configuration command-line parser so that it can check validity of provided values.
Used constants for MSIL generation type defined in a validity class instead of literals.
Changed setting name and value types to allow using READABLE_STRING_32 rather than only STRING_32.
Replaced some assignment attempts with object tests.


Revision 99018 - Directory Listing
Modified Tue Jul 12 13:55:49 2016 UTC (3 years, 6 months ago) by alexk
Added help messages for code analysis options and a new configuration option.

Revision 99017 - Directory Listing
Modified Tue Jul 12 13:54:37 2016 UTC (3 years, 6 months ago) by alexk
Added queries for code analysis option names and a new configuration option name.

Revision 99011 - Directory Listing
Modified Tue Jul 12 07:12:07 2016 UTC (3 years, 6 months ago) by alexk
Removed an unused local.

Revision 99010 - Directory Listing
Modified Tue Jul 12 07:11:24 2016 UTC (3 years, 6 months ago) by alexk
Removed unused locals.

Revision 99000 - Directory Listing
Modified Thu Jul 7 13:52:58 2016 UTC (3 years, 6 months ago) by manus
Fix eweasel test#store009 and test#store010 which showed that we forgot to implement {TYPE}.is_attached, {TYPE}.is_deferred and {TYPE}.is_expanded in melted mode which happens when a new type is added to the system.


Revision 98984 - Directory Listing
Modified Thu Jun 30 05:33:43 2016 UTC (3 years, 6 months ago) by alexk
Corrected output that should use STRING_32 instead of STRING_8 for translated strings.

Revision 98974 - Directory Listing
Modified Wed Jun 29 16:42:39 2016 UTC (3 years, 6 months ago) by alexk
Changed description field in property grid from {ES_LABEL} to {ES_SCROLLABLE_LABLE} to improve support for multi-line texts.
Replaced an assignment attempt in {EB_CUSTOMIZED_FORMATTER_DIALOG} with an object test.


Revision 98958 - Directory Listing
Modified Mon Jun 27 09:08:28 2016 UTC (3 years, 7 months ago) by jfiat
Linked-editing applies on same (case sensitive) tokens. (otherwise in `foo: FOO` , `foo` and `FOO` were considered as same token!).
Exclude token preceded by a dot , to avoid to replace `foo` in `bar.foo`.
Added information in debug_output of linked item. (mostly for development/debugging purpose).

Revision 98957 - Directory Listing
Modified Sun Jun 26 08:57:39 2016 UTC (3 years, 7 months ago) by alexk
Fixed a bug that caused assertion violation when exiting EiffelStudio with a project that had been never compiled and functions that compute locations for profile and exception handler information files were returning Void.

Revision 98953 - Directory Listing
Modified Sat Jun 25 19:45:43 2016 UTC (3 years, 7 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 98941 - Directory Listing
Modified Sun Jun 19 01:12:23 2016 UTC (3 years, 7 months ago) by manus
Made sure to check the contracts of the libraries in $EIFFEL_SRC/framework as EiffelStudio is our only target that we use to test those libraries.


Revision 98940 - Directory Listing
Modified Sun Jun 19 01:11:25 2016 UTC (3 years, 7 months ago) by manus
Comment out postcondition of `register_factory` as creating a new session when the whole system
is not yet initialized doesn't make sense. Put a comment for fixing this in the future.


Revision 98909 - Directory Listing
Modified Wed Jun 15 11:58:16 2016 UTC (3 years, 7 months ago) by manus
Use {C_CONST} strings instead of hardcoded ones for RTLP and RTPI


Revision 98900 - Directory Listing
Modified Thu Jun 9 14:07:15 2016 UTC (3 years, 7 months ago) by manus
Updated to the EiffelStudio 16.11 release.


Revision 98871 - Directory Listing
Modified Tue Jun 7 11:51:05 2016 UTC (3 years, 7 months ago) by alexk
Removed calls to {ANY}.as_attached.

Revision 98862 - Directory Listing
Modified Fri Jun 3 18:06:42 2016 UTC (3 years, 7 months ago) by alexk
Avoided code duplication by using features for nested inlining of features from SPECIAL for regular inlining.

Revision 98861 - Directory Listing
Modified Fri Jun 3 18:00:54 2016 UTC (3 years, 7 months ago) by alexk
Supported nested inlining in finalized mode for the following features of class SPECIAL:
	base_address
	clear_all
	copy_data
	count
	item
	overlapping_move
	non_overlapping_move
	put


Revision 98854 - Directory Listing
Modified Wed Jun 1 19:04:57 2016 UTC (3 years, 7 months ago) by alexk
Allowed for editor name to be passed as READABLE_STRING_GENERAL instead of STRING_GENERAL to avoid potential conversions in client's code.

Revision 98832 - Directory Listing
Modified Fri May 27 12:49:33 2016 UTC (3 years, 8 months ago) by alexk
Simplified code that initializes a string with available locales by removing unnecessary checks.

Revision 98831 - Directory Listing
Modified Fri May 27 11:52:59 2016 UTC (3 years, 8 months ago) by alexk
Added Spanish to the list of languages.

Revision 98803 - Directory Listing
Modified Wed May 18 21:58:19 2016 UTC (3 years, 8 months ago) by jfiat
Linked editing operational only from first token, i.e usually from the local declaration position. (Later it will be possible from any linked token).

Revision 98801 - Directory Listing
Modified Wed May 18 13:07:10 2016 UTC (3 years, 8 months ago) by jfiat
Made the linked editing functionality hidden for now.

Revision 98798 - Directory Listing
Modified Wed May 18 12:37:57 2016 UTC (3 years, 8 months ago) by jfiat
Removed unused code.
Made the background-color of linked tokens customizable (via preferences).
Made clear this linked editing is experimental feature in the description.
Added comments.

Revision 98794 - Directory Listing
Modified Wed May 18 07:20:39 2016 UTC (3 years, 8 months ago) by jfiat
Made the linked editing disabled by default. User can enable it via the preferences "editor.eiffel.linked_token_editing_enabled".
Added description via the default.xml eifinit file.

Revision 98793 - Directory Listing
Modified Tue May 17 20:58:57 2016 UTC (3 years, 8 months ago) by jfiat
Also save and restore last selected profile.

Revision 98792 - Directory Listing
Modified Tue May 17 20:44:45 2016 UTC (3 years, 8 months ago) by jfiat
Added linked token editing behavior, activated by Ctrl+DoubleClick on a text token.
By default limited to the current feature's region/scope.

Revision 98791 - Directory Listing
Modified Tue May 17 20:30:58 2016 UTC (3 years, 8 months ago) by jfiat
Fixed potential issue with multiple EiffelStudio windows session.

Revision 98785 - Directory Listing
Modified Tue May 17 11:42:53 2016 UTC (3 years, 8 months ago) by jfiat
Updated various copyright value in code.

Revision 98778 - Directory Listing
Modified Mon May 16 14:44:41 2016 UTC (3 years, 8 months ago) by manus
Fix C compilation warning for converting an int to a pointer by using an intermediary `rt_uint_ptr'.


Revision 98762 - Directory Listing
Modified Sun May 15 10:43:38 2016 UTC (3 years, 8 months ago) by manus
Update generated files to new version of gelex and geyacc


Revision 98761 - Directory Listing
Modified Sun May 15 10:41:24 2016 UTC (3 years, 8 months ago) by manus
New 16.05 benchmarks.


Revision 98756 - Directory Listing
Modified Sun May 15 01:21:51 2016 UTC (3 years, 8 months ago) by manus
Update results for Linux x86-64


Revision 98740 - Directory Listing
Modified Sat May 14 00:04:59 2016 UTC (3 years, 8 months ago) by manus
Do not display logo for finish freezing when launch from EiffelStudio as this is useless.


Revision 98739 - Directory Listing
Modified Thu May 12 14:07:02 2016 UTC (3 years, 8 months ago) by alexk
Avoided a hack that used a variable id as a default value if the latter was not set because now default value is always initialized and moreover an empty value may be OK.

Revision 98738 - Directory Listing
Modified Thu May 12 14:02:13 2016 UTC (3 years, 8 months ago) by alexk
Initialized default value of a variable by the element id rather by an empty string.

Revision 98737 - Directory Listing
Modified Thu May 12 14:00:06 2016 UTC (3 years, 8 months ago) by alexk
Supported processing of a nested element "default" in elements "literal" and "object".


Revision 98729 - Directory Listing
Modified Thu May 12 08:02:00 2016 UTC (3 years, 8 months ago) by alexk
Removed an XML element "default" that was not processed and was not present in existing code templates.


Revision 98726 - Directory Listing
Modified Wed May 11 13:41:55 2016 UTC (3 years, 8 months ago) by manus
Avoid C# compilation warning by providing GetHashCode implementations.


Revision 98724 - Directory Listing
Modified Wed May 11 13:09:32 2016 UTC (3 years, 8 months ago) by manus
Made the Release build the default one. Do not hide any warnings.


Revision 98723 - Directory Listing
Modified Wed May 11 13:08:58 2016 UTC (3 years, 8 months ago) by manus
Removed the need to copy the Release build as it is done automatically by msbuild.


Revision 98716 - Directory Listing
Modified Tue May 10 14:00:35 2016 UTC (3 years, 8 months ago) by alexk
Considered local variables as detachable only if the void-safety level is set to initialization or higher as otherwise the compiler can report initialization-specific errors without checking initialization rules (see test#attach120).

Revision 98708 - Directory Listing
Modified Tue May 10 10:15:02 2016 UTC (3 years, 8 months ago) by alexk
Fixed test#attach119 by using a more conservative feature to make a type attached that checks for current void-safety context and attachment status of a source type.

Revision 98683 - Directory Listing
Modified Sat May 7 13:31:51 2016 UTC (3 years, 8 months ago) by manus
Added 16.05 benchmarks


Revision 98671 - Directory Listing
Modified Fri May 6 07:25:39 2016 UTC (3 years, 8 months ago) by alexk
Added object test locals to make calls on them after voidness tests instead of on the original expressions.
Replaced calls to `index_set' with calls to `lower' and `upper'.


Revision 98668 - Directory Listing
Modified Fri May 6 07:12:27 2016 UTC (3 years, 8 months ago) by alexk
Replaced iteration based on `index_set' with direct iteration over the corresponding structure.
Replaced assignment attempts with object tests.
Merged deeply nested conditions with a single condition using conjunction.
Replaced calls to `index_set' with calls to `lower' and `upper'.


Revision 98666 - Directory Listing
Modified Fri May 6 06:53:49 2016 UTC (3 years, 8 months ago) by alexk
Replaced calls to `index_set' with calls to `lower' and `upper'.
Replaced assignment attempts with object tests.


Revision 98662 - Directory Listing
Modified Thu May 5 08:34:21 2016 UTC (3 years, 8 months ago) by alexk
Added a comment explaining the call to `{TYPE_A}.instantiated_in'.

Revision 98657 - Directory Listing
Modified Mon May 2 16:16:03 2016 UTC (3 years, 8 months ago) by jfiat
Prevent a call on Void target.

Revision 98656 - Directory Listing
Modified Mon May 2 08:41:38 2016 UTC (3 years, 8 months ago) by jfiat
Also suggest iron for missing precompile library.

Revision 98655 - Directory Listing
Modified Mon May 2 08:40:08 2016 UTC (3 years, 8 months ago) by jfiat
Minor comment, or cosmetic or void-safe related changes (removed a few reverse assignment calls).


Revision 98648 - Directory Listing
Modified Thu Apr 28 06:43:36 2016 UTC (3 years, 9 months ago) by alexk
Preserved attachment status of results of conversions operations because it is used in conformance checks in descendants (see test#attach118).

Revision 98641 - Directory Listing
Modified Wed Apr 27 13:16:12 2016 UTC (3 years, 9 months ago) by jfiat
Save execution parameters data into xml file.
Added a way to export those parameters into a file choosen by the user, and also import such parameters from a file as well.

Revision 98614 - Directory Listing
Modified Tue Apr 12 14:42:24 2016 UTC (3 years, 9 months ago) by alexk
Fixed bug#19212 by replacing run-time-specific calls that do not work anymore because of changes in interface of ROUTINE classes with Eiffel code to retrieve information about types of agent arguments.

Revision 98613 - Directory Listing
Modified Tue Apr 12 14:34:39 2016 UTC (3 years, 9 months ago) by alexk
Fixed a bug that caused a menu to be parented because the same code was used to create a top-level menu and a submenu and the result was cached causing assertion violation for the menu used as top-level. Now the result is cached only when the menu is top-level.
Simplified code to create new metric submenus by using a helper routine that allowed to get rid of a nested loop and assignment attempts.


Revision 98612 - Directory Listing
Modified Tue Apr 12 14:27:44 2016 UTC (3 years, 9 months ago) by alexk
Removed assignment attempt and assertion on this assignment result that is never used and might be not ever set and caused assertion violation for no obvious reason.

Revision 98610 - Directory Listing
Modified Tue Apr 12 07:10:58 2016 UTC (3 years, 9 months ago) by jfiat
Added tooltip to describe the "reuse name" option of the refactoring rename dialogs (feature and class renaming).

Revision 98590 - Directory Listing
Modified Sun Mar 27 18:35:34 2016 UTC (3 years, 10 months ago) by alexk
Fixed test#scoop077 by applying SCOOP semantics rules and checking SCOOP validity rules for iteration cursors.

Revision 98583 - Directory Listing
Modified Sun Mar 20 19:07:31 2016 UTC (3 years, 10 months ago) by alexk
Corrected previous change that used `print_target_register' instead of `print_checked_target_register' to check target of a tuple access for voidness.

Revision 98582 - Directory Listing
Modified Sun Mar 20 19:04:07 2016 UTC (3 years, 10 months ago) by alexk
Replaced a call to `print_target_register' with a call to `print_checked_target_register' to avoid additional checks for no reason.

Revision 98581 - Directory Listing
Modified Sun Mar 20 10:17:49 2016 UTC (3 years, 10 months ago) by alexk
Avoided checks for voidness for object test locals because they are always attached.

Revision 98580 - Directory Listing
Modified Sun Mar 20 10:16:15 2016 UTC (3 years, 10 months ago) by alexk
Replaced assignment attempt with a regular assignment.

Revision 98579 - Directory Listing
Modified Sun Mar 20 09:33:56 2016 UTC (3 years, 10 months ago) by alexk
Replaced assignment attempt with object test.

Revision 98578 - Directory Listing
Modified Sat Mar 19 10:06:02 2016 UTC (3 years, 10 months ago) by manus
Disable inlining of object test

Due to a major compilation slow down we choose to disable inlining of object tests as the cost is too high for the little benefit we gain from it.


Revision 98577 - Directory Listing
Modified Sat Mar 19 06:42:34 2016 UTC (3 years, 10 months ago) by alexk
Removed an argument from `print_target_register' because expanded types are rarely used at the moment and with this agument the check that the type is expanded is not inlined.
Used specialized versions of "RTCV" and "RTCW" strings to avoid adding the same sequences of characters after them again and again.
Replaced `has_side_effect' with `print_checked_target_register' to avoid slowdown caused by multiple polymorphic calls (first to `has_side_effect' and then to `print_register') on the same objects. This also allows to cover more cases when "RTVW" can be used instead of "RTCV" or is not needed at all (e.g. for manifest strings, tuples, etc.).


Revision 98572 - Directory Listing
Modified Fri Mar 18 22:55:29 2016 UTC (3 years, 10 months ago) by jfiat
Improved search of libraries, based on "score" among:
 - local libraries (from $ISE_LIBRARY/...), 
 - installed iron packages 
 - available iron packages
 - and prepare interfaces for additional source of libraries (such as github ..., not yet implemented)

Improved performance for iron installation api usage.
Fixed invalid value extracted from json string  (forgot to unescaped values).
Keep more information in the file representing on the client the installed or available iron packages (include the notes).
Made more flexible the `normalize_multiline` for iron package file info parser.
Updated iron client, to store on the client a revision used to update the iron installation api data and avoid rescanning the folder for nothing.
Applied improved search implementation to the iron server.

Revision 98570 - Directory Listing
Modified Sun Mar 13 18:24:48 2016 UTC (3 years, 10 months ago) by alexk
Used specific cursor type to generate code for loop expressions like this has been done for across loops.

Revision 98569 - Directory Listing
Modified Sun Mar 13 18:22:59 2016 UTC (3 years, 10 months ago) by alexk
Used `print_target_register' instead of direct generation of "RTCV" macro.
Supported inlining of SPECIAL.item inside inlined code.


Revision 98568 - Directory Listing
Modified Sun Mar 13 18:21:11 2016 UTC (3 years, 10 months ago) by alexk
Used `print_target_register' instead of direct generation of "RTCV" macro.


Revision 98567 - Directory Listing
Modified Sun Mar 13 18:19:47 2016 UTC (3 years, 10 months ago) by alexk
Added a feature `has_side_effect' that indicates whether an associated register may have a side effect (if not, it can be evaluated multiple times for efficiency reasons).
Added a feature `print_target_register' that prints a register with an additional check that it's value is not void and can be used as a target of a call. The feature uses `has_side_effect' to generate more a efficient macro.


Revision 98566 - Directory Listing
Modified Sun Mar 13 18:09:20 2016 UTC (3 years, 10 months ago) by alexk
Added a more efficient macro to perform access on void target check by doing it in a macro that expects that its argument has no side-effects and can be recomputed multiple times (that is the case for predefined and temporary registers).

Revision 98562 - Directory Listing
Modified Fri Mar 11 09:30:22 2016 UTC (3 years, 10 months ago) by alexk
Enabled inling for code with object test locals after fixing inling bug in rev#98561.

Revision 98561 - Directory Listing
Modified Fri Mar 11 09:28:19 2016 UTC (3 years, 10 months ago) by alexk
Fixed bug#18028 (test#final114), test#final123, test#bench019 that was caused by using an incorrect register for an internal local (object test local, iteration cursor, separate instruction local). Together with rev#98560 the register is now correctly retrieved from the inlining context.

Revision 98560 - Directory Listing
Modified Fri Mar 11 09:18:36 2016 UTC (3 years, 10 months ago) by alexk
Used new features to set and restore inlining context to take into account routine body changes that are required to correctly compute positions of internal local variables (object test locals, iteration cursors, separate instruction locals).

Revision 98559 - Directory Listing
Modified Fri Mar 11 09:13:20 2016 UTC (3 years, 10 months ago) by alexk
Added features to support saving and restoring current context for inlining.

Revision 98552 - Directory Listing
Modified Wed Mar 2 09:46:22 2016 UTC (3 years, 10 months ago) by alexk
Moved features `type' and `set_type' to the common ancestor of {ATTRIBUTE_B}, {FEATURE_B} and {EXTERNAL_B} to avoid code duplication.
Replaced some assignment attempts with object tests.
Avoided object creation when accessing an object of a basic type in C code generation (this was already the case in byte code generation).
Removed an unused feature `{CALL_ACCESS_B}.real_feature_id'.
Converted an informal class comment in {EXTERNAL_B} into a description note.


Revision 98551 - Directory Listing
Modified Wed Mar 2 09:38:32 2016 UTC (3 years, 10 months ago) by alexk
Moved checks for local variable names used in inline agents next to the checks for formal argument names (before the errors in local variable names were not reported if there were errors in argument names).
Optimized code generation for iteration instruction calls to `after' and `forth' by rechecking the code with the actual type of a cursor variable.
Avoided processing of implicit iteration expressions if iteration variable name conflicts with a name of an outer scope.


Revision 98550 - Directory Listing
Modified Wed Mar 2 09:33:02 2016 UTC (3 years, 10 months ago) by alexk
Removed a test for formal generic number in `internal_same_generic_derivation_as' because it does not matter when looking if types correspond to the same class type.

Revision 98549 - Directory Listing
Modified Wed Mar 2 08:55:35 2016 UTC (3 years, 10 months ago) by alexk
Replaced assignment attempts with object tests.

Revision 98548 - Directory Listing
Modified Wed Mar 2 06:55:56 2016 UTC (3 years, 10 months ago) by alexk
Removed an unused feature.

Revision 98547 - Directory Listing
Modified Wed Mar 2 06:48:44 2016 UTC (3 years, 10 months ago) by alexk
Provided a stronger postcondition for `argument_position_id' that ensures that the found argument has a position greater or equal to the starting position.

Revision 98546 - Directory Listing
Modified Mon Feb 29 09:20:07 2016 UTC (3 years, 10 months ago) by alexk
Replaced an informal class comment with a note entry.

Revision 98545 - Directory Listing
Modified Mon Feb 29 09:19:04 2016 UTC (3 years, 10 months ago) by alexk
Added tags to the class EIS entry.

Revision 98537 - Directory Listing
Modified Sat Feb 20 06:29:26 2016 UTC (3 years, 11 months ago) by alexk
Relaxed void safety rules for local variables (including Result) by allowing assigning detachable values to them even when their type is attached (see test#attach116, test#attach117).

This is achieved as follows:
1. If a local (or Result) is a target of an assignment, it's type is considered detachable.
2. If a local (or Result) of a type that required initialization (this includes attached and formal generic types, possibly through anchors) is not set, it's value is considered detachable.
3. If a local (or Result) is considered attached due to an assignment or a CAP, it is also considered set (even though it might have never been assigned).
4. If a local (or Result) is assigned a value that requires initialization (i.e. of an attached or formal generic type), it is considered set, but may be detachable.
5. If a local (or Result) is assigned a value of a detachable type that does not require initialization, it is considered unset and detachable.
6. A target of an assignment attempt may not be of an attached type or a type that requires initialization.
7. At routine end Result is required to be set if it is of a type that requires initialization.

The change allows dropping explicit detachable marks in local declarations and simplifying the code that uses Result, e.g.

	foo: X
		local
			r: detachable X
		do
			r := something
			if not attached r then
				r := something_else_attached
			end
			Result := r
		end

	foo: X
		do
			if attached something as r then
				Result := r
			else
				Result := something_else_attached
			end
		end

into

	foo: X
		do
			Result := something
			if not attached Result then
				Result := something_else_attached
			end
		end

The change does not allow previously void-unsafe code to be treated as void-safe, but may affect errors reported by the compiler, in particular:
1. VEVI errors may be now reported as VUTA(2) when a local of an attached type is used as a target of call before it is attached.
2. VEVI errors may be now reported as VJAR (or the counterpart for argument passing) when a local of an attached type is used as a source expression before it is attached.


Revision 98536 - Directory Listing
Modified Sat Feb 20 05:50:13 2016 UTC (3 years, 11 months ago) by alexk
Marked local variables as set when they become attached and added features to unset locals when they are assigned Void.

Revision 98535 - Directory Listing
Modified Fri Feb 19 14:58:00 2016 UTC (3 years, 11 months ago) by alexk
Avoided setting detachable mark on an expanded type so that expanded types can be compared without dropping attachment marks (e.g., as part of local variable type rule that the type is detachable by default, to avoid errors in test#exec211).

Revision 98534 - Directory Listing
Modified Fri Feb 19 14:52:50 2016 UTC (3 years, 11 months ago) by alexk
Added features to unset local variables (this is used when a set variable is assigned void when its type is attached).

Revision 98515 - Directory Listing
Modified Mon Feb 15 09:03:37 2016 UTC (3 years, 11 months ago) by jfiat
Revisited the add library dialog.
For now the UI stays the same, only the lib indexer and search is redesigned and improved with a notion of provider.

Revision 98492 - Directory Listing
Modified Sun Feb 7 05:11:04 2016 UTC (3 years, 11 months ago) by manus
Fix eweasel test#dotnet119 when you inherit from a .NET class where one of the following routines are frozen, we would generate bad code (Equals, Finalize, ToString and GetHashCode) as we were telling that we were redefinining them. 


Revision 98491 - Directory Listing
Modified Sun Feb 7 05:05:03 2016 UTC (3 years, 11 months ago) by manus
Fix on top of rev#98156 to always to a convert, and not a cast which is removed when compiling in non-verifiable mode. This fixes eweasel test#dotnet118.


Revision 98489 - Directory Listing
Modified Fri Feb 5 12:31:08 2016 UTC (3 years, 11 months ago) by alexk
Merged new code analysis rules from EVE.
Adapted new code analysis rules to use conventions of the trunk.
Fixed issues in the new code analysis rule checks that caused failures (access on void target and assertion violations) when checking EiffelBase.


Revision 98462 - Directory Listing
Modified Tue Feb 2 09:21:24 2016 UTC (3 years, 11 months ago) by jfiat
Updated environment variable used within EiffelStudio to use new eiffel.org website.

Revision 98457 - Directory Listing
Modified Sat Jan 30 13:55:21 2016 UTC (3 years, 11 months ago) by manus
Fix .NET being broken since we changed the hash_code computation of types in rev#98107.

The end result of not optimizing .NET calls is that we had for some calls some overflow since the code was not optimized at all and we usually implement x as `item.x' in the Eiffel text code.


Revision 98455 - Directory Listing
Modified Fri Jan 29 15:15:50 2016 UTC (3 years, 11 months ago) by manus
Fix eweasel test#valid288

Ensure we reset the `current_target_type' used for evaluating a manifest array when evaluating the expression of an across loop, as otherwise if the expression is itself a manifest array we might wrongly evaluate its type.


Revision 98438 - Directory Listing
Modified Sat Jan 23 08:30:09 2016 UTC (4 years ago) by alexk
Marked a new project generated from a single source file as SCOOP-capable.

Revision 98437 - Directory Listing
Modified Sat Jan 23 08:26:23 2016 UTC (4 years ago) by alexk
Added an option to indicate that a new project is SCOOP-capable and used a different default ECF based on this option value.

Revision 98436 - Directory Listing
Modified Sat Jan 23 08:23:49 2016 UTC (4 years ago) by alexk
Used SCOOP-enabled project file as the default.

Revision 98382 - Directory Listing
Modified Wed Jan 13 06:51:58 2016 UTC (4 years ago) by alexk
Fixed bug#19173 by checking that library target is initialized before accessing it. (The library target is initialized when the library is enabled. If the library is disabled by a condition, its target stays void.)

Revision 98357 - Directory Listing
Modified Tue Jan 5 14:05:51 2016 UTC (4 years ago) by manus
Refactor `execute', `execute_with_filename' and removed `execute_with_dialog' as part of fixing bug#19178.

Now we are preventing `execute' from doing anything if the corresponding development window is empty. Removed the complicated logic that was in `execute_with_dialog' and moved the code directly in `execute'.


Revision 98356 - Directory Listing
Modified Tue Jan 5 13:54:05 2016 UTC (4 years ago) by manus
Fixed bug#19178 by updating the save symbols when we switch to an empty editor tab so to prevent the `Save Copy As' menu entry from being active.


Revision 98355 - Directory Listing
Modified Tue Jan 5 13:48:47 2016 UTC (4 years ago) by manus
Added missing precondition to `save_file'.


Revision 98347 - Directory Listing
Modified Wed Dec 30 15:46:07 2015 UTC (4 years ago) by manus
Updated to the next EiffelStudio 16.05 release.

Revision 98332 - Directory Listing
Modified Sun Dec 27 05:39:01 2015 UTC (4 years, 1 month ago) by alexk
Reported obsolete command-line options as warnings.
Removed obsolete options -ace and and -project from the quick help.
Replaced old code analysis command-line options in the quick help with the new ones.


Revision 98329 - Directory Listing
Modified Sat Dec 26 17:49:03 2015 UTC (4 years, 1 month ago) by alexk
Corrected initialization of code analysis command object that should be done only one time for all command-line options rather than for every new one to allow for incremental update of the command state.
Allowed multiple -ca_class options by checking that the currently active command is the command of code analysis.


Revision 98327 - Directory Listing
Modified Sat Dec 26 16:22:58 2015 UTC (4 years, 1 month ago) by alexk
Changed processing of code analysis command-line arguments to report errors immediately instead of trying to run code analysis.
Supported position-independent code analysis options (still retaining old code analysis options) that act like regular EiffelStudio command-line options:
	-ca_default
	-ca_setting preference_file_name
	-ca_class (-all|class_name)
	-ca_rule rule_name_with_optional_setting
Improved error reporting for code analysis command-line options by providing more details (such as option name, rule name, kind of syntax error).


Revision 98317 - Directory Listing
Modified Thu Dec 24 10:43:29 2015 UTC (4 years, 1 month ago) by alexk
Fixed a precondition violation caused by access to the object System that is not allowed if the system is not defined (this happens, for example, when requesting code analysis on an uncompiled project with a precompiled that is not available, such as test#codeanalysis001).

Revision 98313 - Directory Listing
Modified Tue Dec 22 17:29:14 2015 UTC (4 years, 1 month ago) by jfiat
Use https://eiffel.org/... instead of docs.eiffel.com .

Revision 98310 - Directory Listing
Modified Mon Dec 21 18:12:34 2015 UTC (4 years, 1 month ago) by javierv
Improved ES_EXCEPTION_SUBMIT_DIALOG.
Show an error dialog when a network problem occurs instead of raise an exception.

Revision 98299 - Directory Listing
Modified Mon Dec 21 12:43:05 2015 UTC (4 years, 1 month ago) by manus
Update to new PROCEDURE signature that only has one generic parameter.


Revision 98282 - Directory Listing
Modified Fri Dec 18 13:53:29 2015 UTC (4 years, 1 month ago) by manus
Updated to the EiffelStudio 15.12 release.


Revision 98281 - Directory Listing
Modified Fri Dec 18 13:50:12 2015 UTC (4 years, 1 month ago) by alexk
Removed blank spaces before colons in generated root class because they do not work well with proportional fonts.

Revision 98279 - Directory Listing
Modified Thu Dec 17 13:34:17 2015 UTC (4 years, 1 month ago) by manus
Eiffel code and ECFs update to support new agent notations.

Use the syntax_updater to use the new declaration of agent types.
No hand modification of the Eiffel code was necessary. The summary is:
- 251 ECFs modified
- 894 Eiffel classes updated

For ECFs there were a few problems:
- ECFs that are redirections are replaced by their redirected content (3 had to be reverted)
- ECFs that are located in a child directory of a project/library containing no Eiffel classes but whose project has Eiffel classes updated to use the new agent type declaration are not updated by a design decision to not use the syntax_updater to update all ECFs (8 had to be manually converted).


Revision 98278 - Directory Listing
Modified Thu Dec 17 11:50:26 2015 UTC (4 years, 1 month ago) by alexk
Supported generation of simplified type declarations that involve classes with single tuple parameter.

Revision 98268 - Directory Listing
Modified Tue Dec 15 14:29:45 2015 UTC (4 years, 1 month ago) by alexk
Avoided setting attachment status on implicit TUPLE type when compiled in non-void-safe mode to avoid CAT-call errors at run-time.

Revision 98253 - Directory Listing
Modified Tue Dec 15 08:36:33 2015 UTC (4 years, 1 month ago) by alexk
Removed unused locals.

Revision 98251 - Directory Listing
Modified Mon Dec 14 14:36:34 2015 UTC (4 years, 1 month ago) by manus
Fixed improper type of like argument in generics.

Fixed 14.05 -> 15.08 regression in handling of anchored to argument for void-safety which caused something that should be attached to be detachable because the type of an object does not carry the attachment status and the new code relies on it to create the new type. This is not a problem in experimental mode where the type of an object is always attached. Fixes eweasel test#exec364.


Revision 98247 - Directory Listing
Modified Sun Dec 13 15:19:30 2015 UTC (4 years, 1 month ago) by manus
Cosmetics.


Revision 98237 - Directory Listing
Modified Thu Dec 10 14:21:13 2015 UTC (4 years, 1 month ago) by manus
Updated Eiffel syntax to the latest supported one.


Revision 98201 - Directory Listing
Modified Mon Dec 7 11:30:44 2015 UTC (4 years, 1 month ago) by manus
Fixed `same_as' to not compare `is_expanded' and `declaration_mark' as they are already compared in `has_same_marks'.
Simplified definition of `is_expanded' and `is_reference' to only use `declaration_mark' and `class_declaration_mark' which saves us the need to go through `base_class'.
Both changes fix eweasel test#incr395 when running compiler in assertion mode.


Revision 98196 - Directory Listing
Modified Fri Dec 4 15:39:01 2015 UTC (4 years, 1 month ago) by alexk
Fixed test#attach115 by recording a qualified call as soon as there is an iteration form of a loop.

Revision 98186 - Directory Listing
Modified Thu Dec 3 09:56:58 2015 UTC (4 years, 1 month ago) by alexk
Fixed bug#17907 (test#incr417), bug#17913 (test#incr418), (in assertion-enabled mode) bug#17942 (test#incr419), test#incr432 by resetting `{CLASS_C}.degree_4_processed' status before doing degree 4 during incremental recompilation to make sure any changes after an error fix are taken into account.

Revision 98185 - Directory Listing
Modified Thu Dec 3 09:49:11 2015 UTC (4 years, 1 month ago) by alexk
Added a procedure to reset `degree_4_processed' flag that will be used to unmark a class a processed of there are errors during degree 4.

Revision 98178 - Directory Listing
Modified Wed Dec 2 12:37:45 2015 UTC (4 years, 1 month ago) by manus
Moved esa_client library to the graphical version only.


Revision 98175 - Directory Listing
Modified Tue Dec 1 20:17:23 2015 UTC (4 years, 1 month ago) by javierv
Added EiffelStudio integration with new Support Site.
Updated ecf with new dependency : esa client ibrary
Build the integration using the existing design.
Fixed register in Submit Bug dialgog. Open a new browser window with support site register page.
Removed unneeded classes.

Revision 98170 - Directory Listing
Modified Sun Nov 29 13:26:54 2015 UTC (4 years, 1 month ago) by manus
Added a new invariant stating that the base class of a base type is always declared expanded. Use this invariant to remove some useless checking to compute the associated reference type.


Revision 98169 - Directory Listing
Modified Sun Nov 29 13:23:31 2015 UTC (4 years, 1 month ago) by manus
Fixed `set_expanded_mark' and `set_reference_mark' so that we have types that are consistent, i.e. if a class is already expanded, no need to add the expanded mark. Conversely if the type is already a reference. This solves a lot of assertion violations when we added comparison of the declaration mark in `same_as'. This is also more logical.


Revision 98168 - Directory Listing
Modified Sat Nov 28 12:20:32 2015 UTC (4 years, 2 months ago) by alexk
Corrected feature comment on `as_marks_free'.
Removed a conditional instruction in `as_implicitly_attached' because the condition is always true due to the feature precondition.
Cosmetics.


Revision 98167 - Directory Listing
Modified Sat Nov 28 11:22:02 2015 UTC (4 years, 2 months ago) by alexk
Replaced reverse assignments with object tests.

Revision 98166 - Directory Listing
Modified Sat Nov 28 11:20:48 2015 UTC (4 years, 2 months ago) by alexk
Replaced reverse assignment with an object test.

Revision 98165 - Directory Listing
Modified Sat Nov 28 11:19:43 2015 UTC (4 years, 2 months ago) by alexk
Removed an invariant that real manifest constants are always 64-bit.

Revision 98164 - Directory Listing
Modified Sat Nov 28 11:17:59 2015 UTC (4 years, 2 months ago) by alexk
Removed unused locals.
Replaced reverse assignment with an object test.


Revision 98163 - Directory Listing
Modified Sat Nov 28 11:17:07 2015 UTC (4 years, 2 months ago) by alexk
Removed unused locals.

Revision 98161 - Directory Listing
Modified Sat Nov 28 10:46:45 2015 UTC (4 years, 2 months ago) by alexk
Avoided code duplication in retrieving arguments for auto test and code analysis arguments.
Passed 32-bit string options to code analysis framework instead of 8-bit.
Avoided conversion when analysing code analysis arguments by using `{READABLE_STRING_32}.same_string_general' instead of `{READABLE_STRING_32}.same_string'.
Added a check that a code analysis rule name passed as an argument is in ASCII.
Supported 32-bit code analysis preference file name.
Simplified implementation of `{EWB_CODE_ANALYSIS}.first_word'.
Removed unused feature `{EWB_CODE_ANALYSIS}.next_word'.


Revision 98159 - Directory Listing
Modified Sat Nov 28 07:58:42 2015 UTC (4 years, 2 months ago) by alexk
Replaced explicit tuple creation with an implicit one.

Revision 98158 - Directory Listing
Modified Sat Nov 28 02:42:55 2015 UTC (4 years, 2 months ago) by manus
Avoided check violation in melted generation of NONE_TYPE were we would get 0 instead of a valid type. Use NATURAL_16 for the melted generation to match what is done in C code generation.


Revision 98157 - Directory Listing
Modified Sat Nov 28 02:26:26 2015 UTC (4 years, 2 months ago) by manus
Fixed performance issue for systems with many types (in the 300K range) where it would take about 5 minutes at the end of degree 3 to process the instantiator and filters to generate the list of CLASS_TYPEs. Now it takes about 10-15s. Still a lot but clearly better:
* Changed the implementation of `{TYPE_A}.hash_code'  and descendants to have a better distribution. We use the newly introduced `combined_hash_code' which we should move up to HASHABLE in the future. 
* Changed the cleanup process for types in instantiator and filters by only doing it when necessary (no types have changed their generics or been removed) and not while we process the types in `{CLASS_C}.update_types'. Now the cleanup is done before the degree 4 and when we remove classes introduced when the testing library is included in the system. 
* Do not add TUPLE types in instantiator, this is useless since we only need one class type. This reduces the number quite a bit. We should do the same for TYPE and TYPED_POINTER but currently our code generation still needs all the variations.
* When adding types in instantiator we make sure we add them without any marks (we do not care about attached vs detachable, variant vs frozen, ...) This also reduces the number of types dramatically in void-safe system.

Revision 98156 - Directory Listing
Modified Sat Nov 28 02:04:44 2015 UTC (4 years, 2 months ago) by manus
* Revisited conversions of basic types which were not working with minibase. The reason is that we relied on the presence of the conversion routines but really this is not necessary. So we have introduced the notion of null conversion and adapted code generation accordingly. The other benefit is with the formatting of code, no more uncompilable code such as `8.to_integer_8'.
* Changed the type checking for manifest reals where we allow conversions between REAL_32 and REAL_64.

Revision 98153 - Directory Listing
Modified Sat Nov 28 01:23:32 2015 UTC (4 years, 2 months ago) by manus
Cosmetics.

Revision 98152 - Directory Listing
Modified Sat Nov 28 01:22:22 2015 UTC (4 years, 2 months ago) by manus
Added a fixme for improving the code later.

Revision 98151 - Directory Listing
Modified Sat Nov 28 01:21:31 2015 UTC (4 years, 2 months ago) by manus
Fixed test#anchor012 assertion violation because we were inserting q.conformance_type in the instantiator without checking the type was valid.

Revision 98140 - Directory Listing
Modified Wed Nov 25 14:50:13 2015 UTC (4 years, 2 months ago) by alexk
Fixed test#attach114 by checking that parenthesis may be used as parenthesis alias calls.

Revision 98132 - Directory Listing
Modified Sun Nov 22 19:13:11 2015 UTC (4 years, 2 months ago) by alexk
Fixed test#attach049 by checking target type of boolean operators when computing scopes of variables.

Revision 98117 - Directory Listing
Modified Wed Nov 18 15:35:05 2015 UTC (4 years, 2 months ago) by alexk
Removed generation of debugger hooks for assignments to tuple fields because now this is done by parent INSTR_CALL_B objects.

Revision 98114 - Directory Listing
Modified Tue Nov 17 12:44:32 2015 UTC (4 years, 2 months ago) by alexk
Updated a check and a comment in a procedure that processes agent types to take into account recent changes to ROUTINE classes that now have one less parameter.

Revision 98113 - Directory Listing
Modified Tue Nov 17 11:56:20 2015 UTC (4 years, 2 months ago) by alexk
Used simplified (tuple-folded) representation for types with one tuple-based formal parameter.

Revision 98111 - Directory Listing
Modified Tue Nov 17 11:46:51 2015 UTC (4 years, 2 months ago) by alexk
Made `tuple_parameter_index' generally available so that it can be used to format type declarations.

Revision 98107 - Directory Listing
Modified Tue Nov 10 12:46:12 2015 UTC (4 years, 2 months ago) by manus
Do not rely on hash_code to find out the kind of basic types, it is safer to rely on the SK_ value (especially if one changes the hash_code implementation).

Revision 98106 - Directory Listing
Modified Tue Nov 10 12:39:54 2015 UTC (4 years, 2 months ago) by manus
Fixed Typo.

Revision 98103 - Directory Listing
Modified Mon Nov 9 16:47:12 2015 UTC (4 years, 2 months ago) by alexk
Removed an unused argument passed to a creation procedure to show preferences.
Switched to code analysis preference dialog with its own translation namespace.


Revision 98102 - Directory Listing
Modified Mon Nov 9 16:45:23 2015 UTC (4 years, 2 months ago) by alexk
Removed an unused argument passed to a creation procedure to show preferences.

Revision 98100 - Directory Listing
Modified Mon Nov 9 16:41:15 2015 UTC (4 years, 2 months ago) by alexk
Added a class for code analysis preference dialog that uses a different translation namespace.

Revision 98099 - Directory Listing
Modified Mon Nov 9 16:39:28 2015 UTC (4 years, 2 months ago) by alexk
Added a creation procedure to pass a preference grid control explicitly in case some fine-tuning is needed.

Revision 98098 - Directory Listing
Modified Mon Nov 9 16:36:22 2015 UTC (4 years, 2 months ago) by alexk
Used locale-independent names for general code analysis preferences.

Revision 98097 - Directory Listing
Modified Mon Nov 9 16:34:45 2015 UTC (4 years, 2 months ago) by alexk
Used a locale-independent name to change code analysis preferences.

Revision 98092 - Directory Listing
Modified Mon Nov 9 15:58:52 2015 UTC (4 years, 2 months ago) by alexk
Supported explicit specification of a translation namespace different from "preference".
Added a creation procedure with a custom translation namespace.
Added a test to prevent precondition violation of a preference name is (by mistake) empty.
Removed unnecessary locals.
Replaced an assignment attempt with an object test.


Revision 98087 - Directory Listing
Modified Mon Nov 9 14:18:24 2015 UTC (4 years, 2 months ago) by manus
Added support for generating optimized version of `hash_code_64' from basic types when it will be added in EiffelBase.


Revision 98086 - Directory Listing
Modified Mon Nov 9 14:14:40 2015 UTC (4 years, 2 months ago) by manus
Fixed many C warnings by ensuring that a negative body id is printed in hexadecimal.


Revision 98070 - Directory Listing
Modified Mon Nov 2 17:30:19 2015 UTC (4 years, 2 months ago) by romanschmocker
Several small changes to SCOOP runtime interface.

* Added macro RTS_SDC which declares variables used
  for separate calls. That way we can avoid unused
  variables (and the corresponding warnings) for features
  with separate arguments but no separate call.
* Removed the first, unnecessary argument in RTS_OU.
* Removed the #ifdef RTS_SCP_CAPABLE line in generation
  of eplug.c. This was pretty nonsensical anyway because
  the macro was always defined in eif_macros.h.
* Removed the following macros which are no longer needed:
  RTS_IMPERSONATE, EIF_IS_DIFFERENT_PROCESSOR,
  EIF_IS_DIFFERENT_PROCESSOR_FOR_QUERY, EIF_IS_SYNCED_ON,
  RTS_SCP_CAPABLE, EIF_IS_PASSIVE, EIF_SET_PASSIVE,
  EIF_SET_ACTIVE, RTS_SEMAPHORE_CLIENT_WAIT,
  RTS_SEMAPHORE_SUPPLIER_SIGNAL, RTS_PROCESSOR_CPU_YIELD
* Removed RTS_AS - the check is now done in the runtime.



Revision 98068 - Directory Listing
Modified Mon Nov 2 15:28:46 2015 UTC (4 years, 2 months ago) by romanschmocker
Changed code generation for impersonated calls.

The commit introduces three macros RTS_CI, RTS_BI
and RTS_EI for impersonated calls and changes
the skeleton code used to generate a possibly
non-separate or impersonated call.
Additionally, CREATION_EXPR_B is changed such
that a creation procedure to a passive region
is no longer exactly separate.


Revision 98063 - Directory Listing
Modified Sat Oct 31 20:59:15 2015 UTC (4 years, 2 months ago) by alexk
Avoided feature call on void target when an agent is a procedure that has no return type. This issue caused clickable form to report an error for code had procedure-based agents.

Revision 98061 - Directory Listing
Modified Sat Oct 31 20:54:45 2015 UTC (4 years, 2 months ago) by alexk
Removed an unused local and outer parentheses that are not required.

Revision 98060 - Directory Listing
Modified Sat Oct 31 12:52:07 2015 UTC (4 years, 2 months ago) by alexk
Replaced reverse assignment with an object test.

Revision 98059 - Directory Listing
Modified Sat Oct 31 12:46:52 2015 UTC (4 years, 2 months ago) by alexk
Removed unused local.

Revision 98058 - Directory Listing
Modified Sat Oct 31 12:46:27 2015 UTC (4 years, 2 months ago) by alexk
Removed unused local.

Revision 98057 - Directory Listing
Modified Fri Oct 30 15:40:14 2015 UTC (4 years, 2 months ago) by romanschmocker
Changed the compiler-runtime interface for separate calls.

The main difference is the introduction of a new macro RTS_CALL.

In the runtime, the following changes have been made:

* Removed macros RTS_CC, RTS_CP, RTS_CF, RTS_CA, RTS_CS, RTS_CTW and RTS_CTR.
* Removed the superfluous argument a in RTS_AC, RTS_AA and RTS_AS.
* Changed struct call_data: offset and address are no longer a union.
* Changed RTS_SD to add a local variable l_scoop_result in workbench mode.
* Added the macro RTS_CALL which takes the arguments:
** on workbench: Routine ID and Result SK_XYZ type.
** on finalized: Routine address, pattern, offset and result pointer.

In the compiler, the following changes have been made:
* Removed all descendants of {ACCESS_B}.generate_separate_call.
* Removed {CALL_ACCESS_B}.generate_separate_call_for_workbench.
* Added helper features generate_workbench_separate_call_args,
  generate_finalized_separate_call_args, generate_workbench_separate_call_get_result
  and generate_finalized_separate_call_get_result.
* Implemented {ACCESS_B}.generate_separate_call  which generates 
  the RTS_CALL macro and takes advantage of the above features.
* Removed the code to allocate a pointer for the call_data struct
  in NESTED_BL and CREATION_EXPR_B, since it's predefined in RTS_SD now.
* Removed the code to allocate a result register in workbench mode
  in ATTRIBUTE_BW, EXTERNAL_BW and FEATURE_BW.
* Removed code to propagate the result register in TUPLE_ACCESS_BL.
  This was the trickiest change since, frankly, I didn't fully understand
  this mechanism. I mostly used commit rev#97399 as a guideline.
  The generated files look identical though, and eweasel doesn't
  complain as either.
* Removed the use of eif_scoop_access(x) and RTS_EIF_ACCESS in
  SEPARATE_PATTERNS. These macros didn't have an effect anyway.



Revision 98053 - Directory Listing
Modified Fri Oct 30 12:03:28 2015 UTC (4 years, 2 months ago) by alexk
Changed the limit of C files generated in one directory from a constant to a compiler configuration setting to fix bug#19147.

Revision 98052 - Directory Listing
Modified Fri Oct 30 11:59:38 2015 UTC (4 years, 2 months ago) by alexk
Added new resource names to identify maximum number of C files that can be generated in one C directory.

Revision 98046 - Directory Listing
Modified Sun Oct 25 05:44:02 2015 UTC (4 years, 3 months ago) by manus
Updated to the 15.11 Release.


Revision 98042 - Directory Listing
Modified Fri Oct 23 15:20:06 2015 UTC (4 years, 3 months ago) by romanschmocker
Changed compiler analysis such that the macro  RTS_SD
is also emitted whenever there's a separate call to a
creation procedure. Additionally, the variable used for 
the call_data structure is now declared within RTS_SD
and the macros are changed accordingly.


Revision 98040 - Directory Listing
Modified Thu Oct 22 11:59:52 2015 UTC (4 years, 3 months ago) by alexk
Changed routine types by removing the first parameter for a target type that was never used.
Added checks for routine class declarations to make sure they have an expected number of formal generics.
Changed signature of {CLASS_C}.partial_actual_type to support obsolete routine type declarations.
Supported obsolete routine type declarations with unneeded first parameter.
Replaced some assignment attempts with object tests.
Fixed a bug in {TYPE_A_CHECKER}.check_constraint_type when a cursor was restored on a wrong structure (it caused a precondition violation when processing an obsolete routine type, not sure if it can be reproduced in other cases).
Adapted agent type computation to use the new routine types without the target parameter.


Revision 98039 - Directory Listing
Modified Thu Oct 22 11:45:40 2015 UTC (4 years, 3 months ago) by alexk
Added new messages to report when routine classes have unexpected generic parameters declarations.

Revision 98038 - Directory Listing
Modified Thu Oct 22 11:43:53 2015 UTC (4 years, 3 months ago) by alexk
Added a new option that tells whether classes use obsolete routine type declarations. The option is unset for new projects and is set by default for old projects.

Revision 98037 - Directory Listing
Modified Thu Oct 22 11:42:58 2015 UTC (4 years, 3 months ago) by alexk
Triggered recompilation when an option that controls processing of routine type declarations is changed, as well as when a cat-call detection option is changed.

Revision 98036 - Directory Listing
Modified Thu Oct 22 11:37:49 2015 UTC (4 years, 3 months ago) by alexk
Added errors to be reported at parse time for violations of declaration rules for previous routine types.

Revision 98035 - Directory Listing
Modified Thu Oct 22 11:12:35 2015 UTC (4 years, 3 months ago) by alexk
Replaced indexed access to get a result type with a relative one (the result type is the last one in a function class).

Revision 98034 - Directory Listing
Modified Thu Oct 22 11:08:17 2015 UTC (4 years, 3 months ago) by alexk
Replaced an obsolete feature call with a non-obsolete one.

Revision 98033 - Directory Listing
Modified Thu Oct 22 11:07:45 2015 UTC (4 years, 3 months ago) by alexk
Replaced an obsolete feature call with a non-obsolete one.

Revision 98029 - Directory Listing
Modified Thu Oct 22 10:56:27 2015 UTC (4 years, 3 months ago) by alexk
Removed two warnings related to void-safety:
- replaced an assignment attempt with an object test;
- used a void-safe version of a creation procedure instead on a non-void-safe one.


Revision 98026 - Directory Listing
Modified Thu Oct 22 10:48:48 2015 UTC (4 years, 3 months ago) by alexk
Replaced indexed access to get a result type with a relative one (the result type is the last one in a function class).

Revision 98025 - Directory Listing
Modified Thu Oct 22 10:46:13 2015 UTC (4 years, 3 months ago) by alexk
Slightly simplified access to a routine class descriptor.

Revision 98023 - Directory Listing
Modified Wed Oct 21 11:27:49 2015 UTC (4 years, 3 months ago) by alexk
Made sure `current_pos' is always positive as otherwise there is a recurring precondition violation for a call to `index_of' in `finish_reading_string' (e.g. as an agent in GUI mode EiffelStudio, so that an exception trace cannot be produced).

Revision 98014 - Directory Listing
Modified Mon Oct 19 14:51:23 2015 UTC (4 years, 3 months ago) by manus
Fixed typo on full.


Revision 98001 - Directory Listing
Modified Thu Oct 15 15:44:52 2015 UTC (4 years, 3 months ago) by romanschmocker
First part of SCOOP runtime interface changes.

This commit moves the initialization of SCOOP request
groups out of the precondition evaluation loop. This
makes the code slightly more efficient because we don't
need to allocate memory again and again.

Furthermore, the commit removes the first (and often
only) argument in the RTS_R* macros. The macro RTS_SRCX 
is renamed to RTS_RCX and also lost its first argument.
All macros in the RTS_R* group are used for request
group management.

The following macros are no longer emitted and are
therefore removed:
RTS_SDR, RTS_SRC, RTS_SRP, RTS_SRF, RTS_SRD



Revision 97961 - Directory Listing
Modified Tue Oct 6 09:59:52 2015 UTC (4 years, 3 months ago) by alexk
Fixed bug#19120 (test#tuple019) by reporting the tuple field name that violated VUAR(2) for the corresponding assigner command.

Revision 97923 - Directory Listing
Modified Tue Sep 22 14:40:49 2015 UTC (4 years, 4 months ago) by alexk
Changed evaluation of a class type to take into account possible tuple parameter unfolding, when the type of an actual generic parameter in a class type declaration can differ from the type of the corresponding tuple-based formal generic parameter of the class (see test#exec363).

Revision 97922 - Directory Listing
Modified Tue Sep 22 14:37:28 2015 UTC (4 years, 4 months ago) by alexk
Added functions to find formal generic parameters that conform to a tuple type.
Changed evaluation of a class type based on a given class to take into account possible tuple parameter unfolding, when the number of actual generic parameters in a class type declaration can differ from the number of formal generic parameters of the class.


Revision 97888 - Directory Listing
Modified Tue Aug 25 13:49:00 2015 UTC (4 years, 5 months ago) by alexk
Propagated controlled status of an object test expression to an object test local to avoid unnecessary wrapping for this local (this fixes test#scoop074).

Revision 97886 - Directory Listing
Modified Tue Aug 25 12:19:05 2015 UTC (4 years, 5 months ago) by alexk
Removed an unused function.

Revision 97885 - Directory Listing
Modified Mon Aug 24 16:51:18 2015 UTC (4 years, 5 months ago) by alexk
Fixed test#scoop075 by allocating a separate call data structure register before message processing and by freeing it at the end of a call so that the register does not get incorrectly reused.

Revision 97853 - Directory Listing
Modified Wed Aug 19 18:23:53 2015 UTC (4 years, 5 months ago) by manus
Updated to the 15.08 release.


Revision 97832 - Directory Listing
Modified Tue Aug 18 23:18:04 2015 UTC (4 years, 5 months ago) by manus
Revisited catcall detection to fix some issues found while porting existing libraries to be catcall safe:
* Made `like Current' a frozen type. There is currently no escape out of it, except in actual generic parameter where you can prefix it with `like Current'. To support this we added the notion of implicitly frozen type, but currently there is no good support for it (meaning that we will still see `frozen like Current' when really `like Current' should be enough.
* Changed the conformance rules for redefinition which now imposes that if the ancestor type was frozen, the signature should still keep the frozen part.
* Fixed issue where conformance was not taking into account the variant mark of the current type.
* Added `as_variant_bits' to copy the variance status of one type to a new one. Useful to adapt types during type checking or conformance.
* Fixed type checking so that the current type from where the type checking starts is created without any variance marks. The same way we do with void-safety where we drop the attachment marks too.
* Fixed `adapted_type_to_target' in AST_FEATURE_CHECKER_GENERATOR to verify that if target is frozen, then source is also frozen, as this checks is not done during conformance since we allow covariant redefinition of frozen types. This solves the issue where an infix or prefix operator returning a frozen type would keep its frozen type even if the target was not frozen.
* Added in AST_FEATURE_CHECKER_GENERATOR a new query `is_query_stable' to verify that a routine is never redefined covariantly. This helps keep some type frozen even if target is not frozen.
* Fixed conversions involving `frozen' variance mark.
* Cosmetics


Revision 97815 - Directory Listing
Modified Thu Aug 13 17:45:21 2015 UTC (4 years, 5 months ago) by manus
The non-class type code was duplicating the code for setting the annotations from the `set_class_type_marks'. To avoid this, we renamed `set_class_type_marks' into `updated_type_with_annotations' and use it in all the `process_xxx' features. This will help in the future by having just one place where annotations are taking into account.


Revision 97774 - Directory Listing
Modified Tue Aug 4 22:41:39 2015 UTC (4 years, 5 months ago) by manus
* In AST_FEATURE_CHECKER_GENERATOR:
** Added validity checking for agent calls to ensure that none of the actual generic parameter of the agent TUPLE are variant. Because if this was the case, it would cause some potential catcalls.
** Replaced "a [i] := x" by "a.put.. (x, i)" to avoid issues with the debugger (which have been fixed since then, but I prefer the old way of adding stuff to a container).
** Fixed a bug in the catcall checker that made it allow invalid calls. The downside of this is that there is some code in EiffelBase that won't compile. We are still looking for a solution.
* Ensure that if one of a constraint of a formal generic parameter of a class is frozen, then we consider that formal frozen. Conversely, a formal alone that is marked `frozen' in the constraint, will also be considered `frozen'.


Revision 97772 - Directory Listing
Modified Tue Aug 4 22:32:48 2015 UTC (4 years, 5 months ago) by manus
Fixed a minor issue in checking the validity of a constraint that is marked `frozen' when we are not in `experimental mode', in this case we should not ensure that the actual generic parameter is also frozen.


Revision 97753 - Directory Listing
Modified Wed Jul 22 19:22:28 2015 UTC (4 years, 6 months ago) by alexk
Supported actual argument conversion to a tuple formal argument at any rather than just last position.

Revision 97749 - Directory Listing
Modified Tue Jul 21 13:03:06 2015 UTC (4 years, 6 months ago) by alexk
Removed a test for a formal argument count that duplicates the same test in an outer condition.

Revision 97696 - Directory Listing
Modified Mon Jul 13 14:45:39 2015 UTC (4 years, 6 months ago) by manus
* Fixed an issue in the code generation to not generate the `FROZEN_FLAG' mark if the type is implicitely frozen (as this is the case for expanded or for frozen class). We also updated the runtime to remove the FROZEN_FLAG if used in conjunction with such a class. This could occur with anchors or formals.
* Added ability for the runtime to print `frozen' if the FROZEN_FLAG is present. This is not a breaking change since it won't be emmitted if catcall checking is not enabled.
* Fixed spurious catcall runtime errors when there were none. It was due to the fact that the compiler generate POLY_FLAG at the first level for a type declaration when it should not. The solution requiring to change the compiler is too long to implement so for the time being we modified the runtime in 2 places to discard the flag.


Revision 97692 - Directory Listing
Modified Sun Jul 12 10:15:17 2015 UTC (4 years, 6 months ago) by manus
Removed the flag telling if a class is separate since we do not have separate class, only types.
Replaced that flag by one telling if a class is marked `frozen' which is going to be used in the catcall safe implementation later.


Revision 97689 - Directory Listing
Modified Fri Jul 10 12:18:15 2015 UTC (4 years, 6 months ago) by alexk
Made breakpoint generation for conditional expressions consistent for different generation modes and breakable code view.

Revision 97657 - Directory Listing
Modified Mon Jul 6 20:43:05 2015 UTC (4 years, 6 months ago) by alexk
Fixed test#scoop069 by computing adapted formal argument type before checking for VUAR(3) and VUAR(4) validity rules to take into account separateness status of actual generic parameters when the argument type depends on formal generics.

Revision 97651 - Directory Listing
Modified Mon Jul 6 12:17:07 2015 UTC (4 years, 6 months ago) by alexk
Removed an unused feature and corrected a header feature comment.

Revision 97643 - Directory Listing
Modified Fri Jul 3 16:52:35 2015 UTC (4 years, 6 months ago) by manus
Fixed debugging issue when using an assigner as in `t.val := x'. Because we were generating a NESTED_B node for the equivalent call `t.set_val (x)' we would never generate a debugger hook. To solve this, we now generate the same code as if we had written `t.set_val (x)', i.e. we generate an instance of INSTR_CALL_B and have the NESTED_B node in it.


Revision 97629 - Directory Listing
Modified Fri Jul 3 07:24:45 2015 UTC (4 years, 6 months ago) by alexk
Fixed a typo in a comment.

Revision 97628 - Directory Listing
Modified Fri Jul 3 07:20:06 2015 UTC (4 years, 6 months ago) by alexk
Corrected comment that talked about if block instead of across block.

Revision 97623 - Directory Listing
Modified Thu Jul 2 19:13:06 2015 UTC (4 years, 6 months ago) by alexk
Removed unused local.

Revision 97622 - Directory Listing
Modified Thu Jul 2 19:01:08 2015 UTC (4 years, 6 months ago) by alexk
Removed unused feature.

Revision 97617 - Directory Listing
Modified Thu Jul 2 10:21:35 2015 UTC (4 years, 6 months ago) by manus
Fixed a bug where if we set `catcall_detection' to complete, we will not check the new conformance rules.


Revision 97615 - Directory Listing
Modified Wed Jul 1 20:45:38 2015 UTC (4 years, 6 months ago) by manus
Removed remaining check statement that was not needed anymore as it was used for debugging.


Revision 97612 - Directory Listing
Modified Wed Jul 1 20:17:48 2015 UTC (4 years, 6 months ago) by alexk
Avoided generating SCOOP-specific code in non-SCOOP mode.

Revision 97593 - Directory Listing
Modified Tue Jun 30 20:49:18 2015 UTC (4 years, 6 months ago) by manus
Added recent compilation time with 15.05.9.7585.


Revision 97591 - Directory Listing
Modified Tue Jun 30 14:52:25 2015 UTC (4 years, 6 months ago) by manus
Updated to the new 15.07 release.

Revision 97583 - Directory Listing
Modified Tue Jun 30 07:24:30 2015 UTC (4 years, 6 months ago) by alexk
Propagated information about active status of a newly created separate region from AST to the corresponding byte node.
Changed code generation for creation of a new separate region to differentiate between active and passive regions.


Revision 97576 - Directory Listing
Modified Fri Jun 26 11:40:20 2015 UTC (4 years, 7 months ago) by alexk
Avoided generation of separate flags in non-SCOOP mode.

Revision 97570 - Directory Listing
Modified Fri Jun 26 08:01:47 2015 UTC (4 years, 7 months ago) by manus
* Changed the code generation to be more compact (about a 2 to 6% size reduction), and it is about the same speed.
* Changed the way we save/restore stacks in the generated code when you have a routine with rescue. It is much simpler now and clearer too with less differences between the normal and rescue case. Basically in the rescue case we add calls to other macros, instead of changing the macros we are using. The biggest change is that now we do:

RTLI(x);
RTLR(0, &Current);
...
RTLIU(x);

the last call is actually updating the top of the `loc_set' stack. And the final macro RTLE simply update the top pointer of `loc_set', no if is used to find out if we need to go back one chunk or not. The big assumption is that `loc_set' is always allocated before being used which is a given (see local.c).

* To support the above and reduce code duplication for stack handling we are using some kind of template mechanism to generate from a single file multiple generic derivation of the same stack code. 
* Replaced all stack manipulations using those generic routines. There are still some custom made stack manipulation but they are far less than before and much easier to understand
* The new stack have a clear semantic of what to expect, and access to the top element is always done without a check if the stack was created and not empty.
* Added quite a few assertions too.

See review#5762110734729216



Revision 97561 - Directory Listing
Modified Thu Jun 25 18:48:50 2015 UTC (4 years, 7 months ago) by alexk
Supported formatted output for a passive creation region specification.

Revision 97559 - Directory Listing
Modified Thu Jun 25 12:18:56 2015 UTC (4 years, 7 months ago) by manus
Removed useless new line after generating the metamorphose code in {CALL_ACCESS_B}.generate_parameters.


Revision 97558 - Directory Listing
Modified Thu Jun 25 10:10:52 2015 UTC (4 years, 7 months ago) by manus
Better formatting of inlined routines by indentinf the code between the { } and removing some useless newlines.


Revision 97557 - Directory Listing
Modified Thu Jun 25 09:26:01 2015 UTC (4 years, 7 months ago) by alexk
Avoided generation of local variable declarations in non-SCOOP mode.
Simplified a function that detects whether a SCOOP request chain is required by using an expression form of an across loop.


Revision 97555 - Directory Listing
Modified Thu Jun 25 09:05:56 2015 UTC (4 years, 7 months ago) by manus
Added `generate_construct_block_open' which can be used to generate the opening { in C construct such as `if', `while', `for', ...


Revision 97554 - Directory Listing
Modified Thu Jun 25 08:57:14 2015 UTC (4 years, 7 months ago) by manus
Fixed invalid code generation that was either missing some new lines or putting too many:
- Missing in feature call resulting in code like: tr1 = RTLN(x); F1_2(tr1);
- One extra new line after the RTDBGA macros


Revision 97547 - Directory Listing
Modified Wed Jun 24 10:41:23 2015 UTC (4 years, 7 months ago) by alexk
Avoided SCOOP-specific checks in the code generated in non-SCOOP mode.

Revision 97539 - Directory Listing
Modified Tue Jun 23 14:42:35 2015 UTC (4 years, 7 months ago) by alexk
Corrected a typo in a name of SEPARATE_INSTRUCTION_B.

Revision 97536 - Directory Listing
Modified Tue Jun 23 14:32:32 2015 UTC (4 years, 7 months ago) by alexk
Preserved separate marks even when a system is compiled in non-SCOOP mode.

Revision 97535 - Directory Listing
Modified Tue Jun 23 14:31:21 2015 UTC (4 years, 7 months ago) by alexk
Set separate status of a default formal generic constraint even when a system is compiled in non-SCOOP mode.

Revision 97534 - Directory Listing
Modified Tue Jun 23 14:29:59 2015 UTC (4 years, 7 months ago) by alexk
Set default separate status of a formal generic even when a system is compiled in non-SCOOP mode.

Revision 97533 - Directory Listing
Modified Tue Jun 23 14:28:08 2015 UTC (4 years, 7 months ago) by alexk
Corrected a typo in SEPARATE_INSTRUCTION_B name.
Avoided generation of SDCOOP-specific code for a separate instruction in non-SCOOP mode.
Avoided reporting of VUAR(3), VUAR(4), VUTA(3) errors in non-SCOOP mode.


Revision 97532 - Directory Listing
Modified Tue Jun 23 14:17:37 2015 UTC (4 years, 7 months ago) by alexk
Relaxed conformance checks for separate status in non-SCOOP mode.

Revision 97531 - Directory Listing
Modified Tue Jun 23 14:16:25 2015 UTC (4 years, 7 months ago) by alexk
Inlined `is_equivalent_excluding_status' that is called only by `is_equivalent'.

Revision 97530 - Directory Listing
Modified Tue Jun 23 14:14:15 2015 UTC (4 years, 7 months ago) by alexk
Used separate arguments when required by SCOOP rules.

Revision 97526 - Directory Listing
Modified Tue Jun 23 14:06:49 2015 UTC (4 years, 7 months ago) by alexk
Used separate arguments when required by SCOOP rules.

Revision 97525 - Directory Listing
Modified Tue Jun 23 14:04:06 2015 UTC (4 years, 7 months ago) by alexk
Used more specific type of associated data.

Revision 97524 - Directory Listing
Modified Tue Jun 23 13:56:11 2015 UTC (4 years, 7 months ago) by alexk
Avoided generation of a new region creation and of a separate creation procedure call in non-SCOOP mode.

Revision 97523 - Directory Listing
Modified Tue Jun 23 13:55:00 2015 UTC (4 years, 7 months ago) by alexk
Avoided generation of a separate call in non-SCOOP mode.

Revision 97446 - Directory Listing
Modified Tue Jun 9 13:32:42 2015 UTC (4 years, 7 months ago) by manus
Added support at compile time for `frozen'/`variant' annotations so that they generate the proper annotations.
Changed the option to be a choice between no catcall checks, just conformance with frozen/variant and full catcall check.


Revision 97439 - Directory Listing
Modified Tue Jun 9 11:13:22 2015 UTC (4 years, 7 months ago) by manus
To avoid code duplication, removed `generate_frozen|melted_end_debugger_hook' as it was the same code.


Revision 97438 - Directory Listing
Modified Tue Jun 9 08:26:40 2015 UTC (4 years, 7 months ago) by jfiat
Fixing debugger output of "print message" $THREADID for reached breakpoints.
   Make sure all call stack elements has `thread_id' set.
   This is used by the "When hits" breakpoint facility to print $THREADID


Revision 97435 - Directory Listing
Modified Mon Jun 8 13:31:58 2015 UTC (4 years, 7 months ago) by manus
Added new macro RTLIE(x) which currently does nothing but will help us prepare a new way to generate registration code of our locals/arguments.


Revision 97434 - Directory Listing
Modified Mon Jun 8 12:53:44 2015 UTC (4 years, 7 months ago) by manus
Added new benchmarks for 15.05 which is slightly better than 14.11 but still slower than 14.05 and older revisions.


Revision 97422 - Directory Listing
Modified Tue Jun 2 16:29:33 2015 UTC (4 years, 7 months ago) by alexk
Fixed test#scoop034 by using patterns that take care about result values of generic types that can be returned unboxed.

Revision 97421 - Directory Listing
Modified Tue Jun 2 16:19:56 2015 UTC (4 years, 7 months ago) by alexk
Added registration for optimized function calls when result of a basic type is returned as is instead of creating a new object.

Revision 97417 - Directory Listing
Modified Mon Jun 1 14:27:38 2015 UTC (4 years, 7 months ago) by alexk
Removed SK type value from byte code for assignments to tuple fields because it is not used.

Revision 97406 - Directory Listing
Modified Fri May 29 13:14:01 2015 UTC (4 years, 8 months ago) by alexk
Fixed a bug that caused a crash when compiling EiffelBase2 by avoiding recomputation of a formal generic for a tuple type because it always coincides with the actual type, and an attempt to recompute it causes access to formal generics that are not available in TUPLE class.

Revision 97405 - Directory Listing
Modified Fri May 29 12:33:29 2015 UTC (4 years, 8 months ago) by manus
Fixed obsolete call to `new_system_generate_uuid' by replacing it with `new_system_generate_uuid_with_file_name'.


Revision 97402 - Directory Listing
Modified Fri May 29 09:19:29 2015 UTC (4 years, 8 months ago) by manus
Removed commit rev#78578 and rev#79711 as `internal_search_tool' was never cached so it did only change the fact that when closing windows or resetting editors nothing was done on the search tool. Using the current version I could not reproduce crashes reported in bug#15544 and bug#15792 which are the exact same failure but yielded 2 different fixes.


Revision 97400 - Directory Listing
Modified Fri May 29 08:02:55 2015 UTC (4 years, 8 months ago) by alexk
Replaced explicit computation of tuple access feature with a call to a specific procedure that does it for a given type.

Revision 97399 - Directory Listing
Modified Fri May 29 07:45:32 2015 UTC (4 years, 8 months ago) by alexk
Added code generation for separate tuple accesses.

Revision 97398 - Directory Listing
Modified Fri May 29 07:42:47 2015 UTC (4 years, 8 months ago) by alexk
Added generation of patterns for tuple accesses.

Revision 97397 - Directory Listing
Modified Fri May 29 07:41:09 2015 UTC (4 years, 8 months ago) by alexk
Avoided unnecessary blank lines in the generated code when impersonalization is involved.

Revision 97396 - Directory Listing
Modified Fri May 29 07:37:58 2015 UTC (4 years, 8 months ago) by alexk
Added procedures to generate tuple access macros, corresponding to a given type.

Revision 97395 - Directory Listing
Modified Fri May 29 07:36:24 2015 UTC (4 years, 8 months ago) by alexk
Added byte code generation for separate tuple accesses.

Revision 97389 - Directory Listing
Modified Thu May 28 19:59:38 2015 UTC (4 years, 8 months ago) by manus
Satisfy the postcondition of `internal_recycle' by wiping out the `widget_table' unfortunately it does not fix the bug we were trying to fix since it is never called. The bug is quite simple, open 2 EiffelStudio windows, makes sure the output tool is visible. Click compile. Then close one of the window and click compile. It will violate a precondition `is_interface_usable' because it is still trying to clear the output from the window we just called. See bug#19074.


Revision 97375 - Directory Listing
Modified Tue May 26 18:53:24 2015 UTC (4 years, 8 months ago) by manus
Fixed eweasel test#final096 and test#anchor059 by ensuring that when there is only one possible type for a anchored type (like x or like a.x) we use that type for generation. Before we were using its abstract representation that may involve some formals which cannot be the case if there is only one type for dynamic binding.


Revision 97372 - Directory Listing
Modified Tue May 26 12:30:41 2015 UTC (4 years, 8 months ago) by manus
Fixed invalid namespace specification of the trustinfo node which makes running our .exe on Windows XP fail with the following message: "The application failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem".


Revision 97367 - Directory Listing
Modified Tue May 26 09:09:10 2015 UTC (4 years, 8 months ago) by manus
Fixed call on void target because in previous commit rev#97361 we forgot to initialize tuple using a manifest tuple.


Revision 97361 - Directory Listing
Modified Mon May 25 20:50:35 2015 UTC (4 years, 8 months ago) by manus
* Major overall of generic conformance to support many annotations such as attached, detachable, separate, frozen, variant:

** Introduce a new struct EIF_TYPE which is made of an ID and of some annotations. The ID is what we used to know as the Dftype of an object, and the annotations can be attached, detachable, separate, frozen, variant. So now we have only one Dftype for all the possible combinations of annotations. Readapted all the code and changed the code generation accordingly to manipulate EIF_TYPEs.

** Updated the way we perform conformance check based on the new EIF_TYPE structure. Before 2 types differing by their attachement mark had 2 different IDs and thus we had 2 entries in the conformance table. Now 2 types different by their annotations have only one entry in the conformance table and then we simply check that their annotations conform to ensure conformance. This enables us to take care of cases such as properly checking conformance of LIST [A] to LIST [separate A] (which yields False but previously yield True as `separate' was ignored). This fixes eweasel test#scoop063.

** To maintain some backward compatibility, all routines involving a dynamic type in the Eiffel code or C code are now using a EIF_ENCODED_TYPE which is an integer encoding of an EIF_TYPE where in the lowest 16-bit you will find the ID, and in the upper 16-bit the annotations. With this, in a non-void-safe system, the dynamic types looks exactly the same. In a void-safe system, the IDs will be different if they involve some annotations. However with respect to the dynamic type of objects, they are the same for now as we discard the annotations when building the EIF_TYPE representing the object type. This is key to maintain backward compatibility.

** The code was changed so that the default printing of "attached A [detachable B]]" is changed from "!A[B]" to "A [detachable B]", and that {ANY}.generating_type returned the attached version of the type of an object. However this caused too many issues (See previous point). So for the time being this is disabled via the new variable `egc_is_experimental' which will only be set to true when compiling code in experimental mode (this is not yet implemented).

** Changed implementation of the way Eiffel TYPE instances are kept in the runtime. Instead of storing them in an array indexed by Dftype, we are now storing them in a hash table. This is required since the encoded EIF_TYPE can actually be a big number due to the annotations.

** Updated `eif_type_id' to understand attached/detachable, but also combinations with `separate'. No support for frozen/variant yet but that will be easy to add. Added better handling of incompatible annotations such as asking for the type of "attached detachable T" which will be rejected as an invalid ID.

** Changed the way we perform catcall checking in the generated code, debugger. We tweak the annotations so that the attachment marks on the base type are not displayed in the error message.

** Fixed the way we create CREATE_INFO instances, in most cases we were creating them with the annotation free version of the type. But that does not work anymore because we need the attachment marks to see what type we are going to match or to create. Updated generation of annotations flags to support separate, but not yet frozen/variant.

* Renamed opcode BC_IS_ATTACHED into BC_IS_ATTACHED_ATTRIBUTE since this is only used to verify that the declaration of an attribute is attached.

* Removed obsolete INTERNAL builtins as we are going to remove the `compatible' folder in the 15.05 release.

* Changed the definition of `dbinfo' for the `pos/expect/actual' part used for runtime catcall checking to simply be `rtcc_pos/rtcc_expect/rtcc_actual' instead of nested anonymous structures.

* Things to improve in future:
** Avoid generating the full EIF_TYPE to just get the annotations.
** Remove all the eif_xxx2 routines to just keep one set.

* eweasel tests being fixed by these changes: test#valid271, test#scoop064
* eweasel tests being improved by these changes: test#final096, test#anchor059 and test#exec316. They do not crash because the way we generate things internally. However we found the issue and we will fix that shortly after this commit.
* Performance benchmarks show roughly same performance on x86 platforms using gcc/clang/CL. On Sparc, our only big endian platform, although the routines `eif_encoded_type/eif_decoded_type' are not optimized into just one assembly operations, the performance is also roughly the same.



Revision 97319 - Directory Listing
Modified Tue May 19 10:52:35 2015 UTC (4 years, 8 months ago) by alexk
Fixed test#term216 by replacing reverse assignment with a regular one and changing an expected type of an expression to a more general one.

Revision 97312 - Directory Listing
Modified Tue May 19 09:04:09 2015 UTC (4 years, 8 months ago) by alexk
Changed defaults for autocompletion after 'separate' keyword so that nothing is inserted after pressing Space key, because the same keyword is also used in type declarations.

Revision 97310 - Directory Listing
Modified Tue May 19 08:28:08 2015 UTC (4 years, 8 months ago) by alexk
Moved processing of assignment to tuple fields to `process_call' that simplifies code generation and allows for detection and report of validity errors induced by type combinators in SCOOP mode (this fixes test#scoop054).
Supported reporting of VUAR(3) and VUAR(4) for tuple fields.
Fixed a bug in updating an assigner instruction when its assigner command takes several arguments that involve conversion (the previous code recorded last converted expression to be stored in an updated AST node, though only the expression at position 1 should be treated this way).


Revision 97308 - Directory Listing
Modified Tue May 19 08:08:14 2015 UTC (4 years, 8 months ago) by alexk
Supported error report for named tuples.

Revision 97307 - Directory Listing
Modified Tue May 19 08:06:08 2015 UTC (4 years, 8 months ago) by alexk
Marked called feature attribute as detachable to support the same errors for named tuples.

Revision 97295 - Directory Listing
Modified Mon May 18 11:00:45 2015 UTC (4 years, 8 months ago) by alexk
Changed processing of assigner instructions (not for tuples yet) to process an unfolded form instead of the original one. This simplifies processing and fixes test#scoop060 and test#valid277. The change affects reporting of VBAC(1) and VBAC(3) that are now reported as VUAR(2) and VFAC(3) (the latter is due to the previous commit).

Revision 97294 - Directory Listing
Modified Mon May 18 10:54:24 2015 UTC (4 years, 8 months ago) by alexk
Changed detection of VFAC(3) for stable queries/commands so that an assigner command can be more restrictive compared to an assigner query type (this effectively replaces VBAC(3) that was detected on the client side, but can disappear as soon as assigner instructions are processed as their unfolded forms).

Revision 97277 - Directory Listing
Modified Mon May 11 14:28:20 2015 UTC (4 years, 8 months ago) by jfiat
Fixed description information in the library editor output.
Added various option information, among other void-safety settings.


Revision 97266 - Directory Listing
Modified Sat May 9 07:51:28 2015 UTC (4 years, 8 months ago) by alexk
Fixed a bug that causes C compilation failure for test#scoop058 due to recent changes to macro definitions that remove semicolons from the macros.
Removed generation of unnecessary spaces.


Revision 97265 - Directory Listing
Modified Sat May 9 07:48:04 2015 UTC (4 years, 8 months ago) by alexk
Removed strings with macro declarations that are not used.

Revision 97264 - Directory Listing
Modified Fri May 8 20:58:11 2015 UTC (4 years, 8 months ago) by alexk
Moved detection and reporting of VUER to `adapt_type_to_target' to avoid code duplication.
Added adaptation of a field type of a separate named tuple (this partially fixes test#scoop054).


Revision 97261 - Directory Listing
Modified Fri May 8 10:21:13 2015 UTC (4 years, 8 months ago) by alexk
Corrected the postcondition of `set_stone' that did not take into account the possibility that the argument could be void.

Revision 97259 - Directory Listing
Modified Fri May 8 07:37:23 2015 UTC (4 years, 8 months ago) by alexk
Supported keyword-based completion for a separate instruction.

Revision 97254 - Directory Listing
Modified Thu May 7 10:21:10 2015 UTC (4 years, 8 months ago) by manus
Added missing semicolon to declarations since macros don't have one.


Revision 97246 - Directory Listing
Modified Wed May 6 08:39:25 2015 UTC (4 years, 8 months ago) by manus
Added trustInfo in manifest so that no virtualization on registry keys and files will take place.


Revision 97240 - Directory Listing
Modified Tue May 5 13:49:01 2015 UTC (4 years, 8 months ago) by jfiat
Removed breakpoint on "separate" keyword line for separate inline.

Revision 97231 - Directory Listing
Modified Mon May 4 20:02:35 2015 UTC (4 years, 8 months ago) by jfiat
Fixed compilation due to remaining upcoming change.

Revision 97230 - Directory Listing
Modified Mon May 4 19:53:20 2015 UTC (4 years, 8 months ago) by jfiat
Added support for SCOOP separate inline local variables in debugger.
Added for separate inline arguments, a visual breakpoint token in the margin of clickable format (i.e a breakpoint slot).

Revision 97227 - Directory Listing
Modified Mon May 4 15:37:19 2015 UTC (4 years, 8 months ago) by alexk
Recorded type information for separate instruction arguments to supply it when the arguments are used in expressions.

Revision 97224 - Directory Listing
Modified Mon May 4 12:58:43 2015 UTC (4 years, 8 months ago) by alexk
Fixed a bug when a string has been passed instead of an array to initialize an array-based preference.

Revision 97216 - Directory Listing
Modified Thu Apr 30 08:16:07 2015 UTC (4 years, 8 months ago) by manus
Fixed crash in `on_locked' due to the editor being recycled. This is most likely due to open/closing EiffelStudio windows before compiling. The fix is similar to the one made in rev#93828 for `on_unlocked'. It fixes bug#19065.


Revision 97212 - Directory Listing
Modified Wed Apr 29 21:33:29 2015 UTC (4 years, 9 months ago) by manus
Implemented suggestion of bug#19053 to provide the class name or file name indicating which class/file might be reloaded from an external edit.


Revision 97207 - Directory Listing
Modified Wed Apr 29 07:04:17 2015 UTC (4 years, 9 months ago) by alexk
Added missing implementation of a visitor procedure.

Revision 97200 - Directory Listing
Modified Tue Apr 28 14:02:11 2015 UTC (4 years, 9 months ago) by alexk
Implemented visitor procedure.
Added generation of a debugger hook before an inline separate instruction.


Revision 97199 - Directory Listing
Modified Tue Apr 28 13:59:48 2015 UTC (4 years, 9 months ago) by alexk
Added visitor procedure for an inline separate instruction.

Revision 97198 - Directory Listing
Modified Tue Apr 28 13:58:35 2015 UTC (4 years, 9 months ago) by alexk
Added byte code generation for an inline separate instruction.

Revision 97197 - Directory Listing
Modified Tue Apr 28 13:57:32 2015 UTC (4 years, 9 months ago) by alexk
Added processing of an inline separate instruction.

Revision 97196 - Directory Listing
Modified Tue Apr 28 13:55:38 2015 UTC (4 years, 9 months ago) by alexk
Added new byte codes to indicate start and end of an inline separate instruction.

Revision 97190 - Directory Listing
Modified Tue Apr 28 11:07:52 2015 UTC (4 years, 9 months ago) by alexk
Removed an unnecessary check that was supposed to be used only for generation of a declaration of "uarg", but was mistakenly done for "uargN" declarations as well.
Fixed C code generation for macro "RTS_SRD" that was not passed an argument.


Revision 97187 - Directory Listing
Modified Mon Apr 27 22:24:25 2015 UTC (4 years, 9 months ago) by manus
Fixed issue where if you have editors next to each other as in:
[   ANY   |    STRING_8 ]
[         |             ]
and ANY has focus. Then picking something and dropping it in STRING_8, would actually update ANY. The fix was to set focus to the editor of STRING_8 first and then setting the stone. The drawback is that giving focus to STRING_8 is actually reloading the stone for nothing (but this was already the case in previous versions).


Revision 97184 - Directory Listing
Modified Sun Apr 26 07:41:52 2015 UTC (4 years, 9 months ago) by alexk
Marked an expression as controlled if it is an argument of an inline separate.
Supported byte node generation for separate instructions.
Defaulted type of a separate instruction argument to ANY.


Revision 97182 - Directory Listing
Modified Sat Apr 25 11:58:04 2015 UTC (4 years, 9 months ago) by alexk
Added a byte node for separate instructions.

Revision 97181 - Directory Listing
Modified Sat Apr 25 11:56:04 2015 UTC (4 years, 9 months ago) by alexk
Added a query that tells whether a local is controlled.

Revision 97177 - Directory Listing
Modified Fri Apr 24 15:30:22 2015 UTC (4 years, 9 months ago) by alexk
Added validity checks for arguments of a separate instruction.

Revision 97176 - Directory Listing
Modified Fri Apr 24 15:27:16 2015 UTC (4 years, 9 months ago) by alexk
Added a validity error that an identifier to name an entity is not a fresh one.

Revision 97175 - Directory Listing
Modified Fri Apr 24 15:25:12 2015 UTC (4 years, 9 months ago) by alexk
Added a validity error that an expression used in an inline separate instruction is not of a separate type.

Revision 97097 - Directory Listing
Modified Tue Apr 14 17:46:25 2015 UTC (4 years, 9 months ago) by alexk
Moved pretty printer to the parser framework to make it available to other subsystems.

Revision 97089 - Directory Listing
Modified Tue Apr 14 13:09:47 2015 UTC (4 years, 9 months ago) by alexk
Corrected formatting of separate instructions.

Revision 97088 - Directory Listing
Modified Tue Apr 14 13:08:39 2015 UTC (4 years, 9 months ago) by alexk
Changed processing of separate instruction arguments to make sure they do not interfere with each other.

Revision 97084 - Directory Listing
Modified Tue Apr 14 08:35:48 2015 UTC (4 years, 9 months ago) by manus
* Fixed bug#19062 where `current_editor' is not always attached when you close all editors for example and then target a class in it via the address bar. Now we check that it is not Void.
* Refactored the code so that there is only one call to `l_checker.set_stone_after_first_check'.


Revision 97083 - Directory Listing
Modified Tue Apr 14 08:30:33 2015 UTC (4 years, 9 months ago) by manus
Exposed the `detachable' aspect of `current_editor'.


Revision 97081 - Directory Listing
Modified Tue Apr 14 05:14:59 2015 UTC (4 years, 9 months ago) by alexk
Improved printing of a separate instruction in presence of inline comments.

Revision 97059 - Directory Listing
Modified Fri Apr 10 12:57:35 2015 UTC (4 years, 9 months ago) by manus
Removed non-used locals.


Revision 97047 - Directory Listing
Modified Thu Apr 9 10:11:06 2015 UTC (4 years, 9 months ago) by manus
Fixed call on Void target in `open_classes/open_clusters' when you do not have a fake editor to begin with. Now it is created by default all the time to avoid this situation.


Revision 97046 - Directory Listing
Modified Wed Apr 8 19:56:06 2015 UTC (4 years, 9 months ago) by manus
Added context menu entry to change pick and drop preference.


Revision 97042 - Directory Listing
Modified Wed Apr 8 09:20:17 2015 UTC (4 years, 9 months ago) by manus
* Added new preference `override_tab_behavior' which tells EiffelStudio what to do when dropping a stone onto an editor tab. Three options are available: override current, always create a new tab, only create a new tab if current editor had some editing.
* Merged EB_STONE_FIRST_CHECKER into EB_STONE_CHECKER to avoid scattering of P&D code for setting stones.
* Updated EB_DEVELOPMENT_WINDOW to use the new `override_tab_behavior' preference to behave as specified above and take into account the changes in EB_STONE_CHECKER.

Revision 97041 - Directory Listing
Modified Wed Apr 8 09:14:42 2015 UTC (4 years, 9 months ago) by manus
* Simplified {EB_EDITORS_MANAGER}.on_drop by only calling `select_editor' when we found the stone in a different tab. No need to set focus to make a fake editor real, since `editor_with_stone' will do that now (fixed from rev#97038).
* Made {EB_EDITORS_MANAGER}.open_classes|open_clusters works on both real and fake editors. By relying on `fake_editors' we removed the need for EB_FAKE_SMART_EDITOR_CELL and rely on the stone associated directly to the fake editor (remember fake editors are only created when loading a project in EiffelStudio for tabs that are there but not yet selected). Adapted EB_DEVELOPMENT_WINDOW accordingly.
* Typos on casing for Void, True and False.

Revision 97038 - Directory Listing
Modified Tue Apr 7 13:57:27 2015 UTC (4 years, 9 months ago) by manus
* Fixed editor_with_stone so that when you have a fake editor with an existing stone (case of opening EiffelStudio with tabs from previous sessions and tabs are fake editors associated with a stone) you return the newly created editor, not the fake one. This was found when changing some of the stone handling to use `select_editor' and this would not show the editor (since it was trying to show the fake one).
* Changed semantics of `create_editor_beside_content' so that it always create a new editor tab. Updated callers to ensure they call it when a new tab is really needed.
* Changed type of `fake_editors' to show that we only have instances of EB_FAKE_SMART_EDITOR in it. Updated callers to perform object test for insertion, added contracts to `create_docking_content_fake_one' to ensure `last_created_editor' is such an instance.
* Now that we are using PATH which supports unicode, we can perform a case insensitive comparison of the filename in `on_file_drop' to see if we already have a file opened in the editor.
* Rewrite `on_drop' to be more logical. If we have an editor with the stone, we simply switch to it, otherwise we focus the editor and then load the stone in it.
* Small refactorings.

Revision 97035 - Directory Listing
Modified Tue Apr 7 08:15:56 2015 UTC (4 years, 9 months ago) by manus
Added `is_compatible_with' which is not as strong as `same_as'. This is useful for the EiffelStudio editor because it will now allow code to see if the stone we drop corresponds to the same class and in this case, there is less to do.

Revision 97034 - Directory Listing
Modified Tue Apr 7 08:09:15 2015 UTC (4 years, 9 months ago) by manus
Drop usage of {EB_DEVELOPMENT_WINDOW}.force_stone which was a reminiscence of the old time. The behavior was quite strange since although you stated that editor and context tool was not linked, it will cause both to be linked on the new stone. This only happened when opening a new window which is quite rare those days since most users only use on window with many tabs. Now we open a new window, if the preference `is_unified_stone' is set, context will be targeted to the new stone, otherwise it will not.

Revision 97033 - Directory Listing
Modified Tue Apr 7 08:01:50 2015 UTC (4 years, 9 months ago) by manus
No need to call `set_stone (Void)' since this is automatically called by the {EB_EDITORS_MANAGER}on_editor_switched action sequence when the new tab is shown on screen.

Revision 97029 - Directory Listing
Modified Mon Apr 6 19:03:58 2015 UTC (4 years, 9 months ago) by alexk
Added processing of SEPARATE_INSTRUCTION_AS node.

Revision 97027 - Directory Listing
Modified Mon Apr 6 16:36:43 2015 UTC (4 years, 9 months ago) by alexk
Added processing of NAMED_EXPRESSION_AS node.

Revision 97023 - Directory Listing
Modified Fri Apr 3 18:07:01 2015 UTC (4 years, 9 months ago) by manus
Removed EiffelBuild project because the generated windows/dialogs have long been reworked manually.


Revision 97022 - Directory Listing
Modified Fri Apr 3 17:59:01 2015 UTC (4 years, 9 months ago) by manus
Moved `user_create_interface_objects' to direct descendant of EB_CUSTOMIZED_FORMATTER_DIALOG_IMP so that `compile_all_bench' target compiles.


Revision 97020 - Directory Listing
Modified Fri Apr 3 13:51:02 2015 UTC (4 years, 9 months ago) by manus
Use the `item' query from FUNCTION instead of using `call' followed by `last_result'.

Revision 97019 - Directory Listing
Modified Fri Apr 3 13:42:31 2015 UTC (4 years, 9 months ago) by manus
* Use the `item' query from FUNCTION instead of using `call' followed by `last_result'.
* Regenerated EiffelBuild classes to use the new void-safe templates which also address the above by using `item' instead of `call/last_result'.

Revision 97018 - Directory Listing
Modified Fri Apr 3 13:38:55 2015 UTC (4 years, 9 months ago) by manus
* Use the `item' query from FUNCTION instead of using `call' followed by `last_result'.
* Regenerated EiffelBuild classes to use the new void-safe templates which also address the above by using `item' instead of `call/last_result'.
* Removed usage of SD_TOOL_BAR/SD_TOOL_BAR_BUTTON in the _IMP class since it is generated by EiffelBuild and a standard EV_TOOL_BAR/EV_TOOL_BAR_BUTTON does the job well.


Revision 97013 - Directory Listing
Modified Fri Apr 3 06:51:05 2015 UTC (4 years, 9 months ago) by manus
Use the `item' query from FUNCTION instead of using `call' followed by `last_result'. However we cannot yet do it when the agent is called from `perform_with_test_suite' since it handles both procedure and functions. One will need a refactoring that I'm not yet ready to do.

Revision 97002 - Directory Listing
Modified Thu Apr 2 13:14:41 2015 UTC (4 years, 9 months ago) by manus
Agent syntax cosmetics.

Revision 96999 - Directory Listing
Modified Thu Apr 2 12:04:19 2015 UTC (4 years, 9 months ago) by manus
Ensured that `file_name' always returns an object. If the corresponding feature is not present, we check the CLASS_C object instead.

Revision 96998 - Directory Listing
Modified Thu Apr 2 12:02:42 2015 UTC (4 years, 9 months ago) by manus
Take into account that {FILED_STONE}.file_name is attached. No need to check for Void in clients.

Revision 96997 - Directory Listing
Modified Thu Apr 2 11:56:16 2015 UTC (4 years, 9 months ago) by manus
* Added `is_dotnet_class' in CLASSI_STONE. This simplifies code that manually first checked if a CLASS_I was external in the case of a CLASSI_STONE, and then check if a CLASS_C was external in case of a CLASSC_STONE. Updated clients of CLASSI_STONE and descendants that were checking the above to use new query.
* Improved EB_OPEN_SHELL_COMMAND to take into account that all types of STONE we are accepting are descendants of FILED_STONE.


Revision 96993 - Directory Listing
Modified Thu Apr 2 09:42:15 2015 UTC (4 years, 9 months ago) by manus
Made LINE_STONE inherit from FILED_STONE since concrete descendants are already descendants of that class. This enables us to fix a bug where the `class_c' attribute was actually never set. Now the only caller we had was `EB_OPEN_SHELL_COMMAND' which did test for Void status so it would not crash but it was doing nothing when it actually can now since we can use the `file_name' attribute.


Revision 96992 - Directory Listing
Modified Thu Apr 2 09:39:31 2015 UTC (4 years, 9 months ago) by manus
Added licensing info.


Revision 96991 - Directory Listing
Modified Thu Apr 2 08:58:39 2015 UTC (4 years, 9 months ago) by manus
Cosmetics.


Revision 96988 - Directory Listing
Modified Thu Apr 2 07:49:33 2015 UTC (4 years, 9 months ago) by manus
Removed commented `inherit {NONE}'.


Revision 96987 - Directory Listing
Modified Thu Apr 2 07:48:56 2015 UTC (4 years, 9 months ago) by manus
Removed useless redefinition of `synchronized_stone' since it is the same as the one inherited from STONE.


Revision 96986 - Directory Listing
Modified Thu Apr 2 07:45:36 2015 UTC (4 years, 9 months ago) by manus
Made it possible to edit a FILED_STONE in an external editor, not just CLASSI_STONE.


Revision 96985 - Directory Listing
Modified Thu Apr 2 07:38:09 2015 UTC (4 years, 9 months ago) by manus
Provided a safe implementation of `pebble' by providing as closed argument the corresponding tool bar item.


Revision 96969 - Directory Listing
Modified Wed Apr 1 12:07:24 2015 UTC (4 years, 9 months ago) by manus
Connected `pebble' to the `set_pebble_function' of the SD_COMMAND_TOOL_BAR_BUTTON since it has now been implemented. It allows us to pick from the target diagram toolbar button the currently targeted class/cluster.
Simplified `on_veto_pebble_function' with object test.
Removed usage of `was_dropped' which only had the side effect to force the user to right click twice to start a pick and drop after dropping something in the diagram tool.
Added proper deny cursors.


Revision 96964 - Directory Listing
Modified Tue Mar 31 21:06:55 2015 UTC (4 years, 9 months ago) by manus
Moved up 3 similar implementations of `enabled_dotnet_formatters' to ES_FORMATTER_TOOL_PANEL_BASE to avoid code duplication.


Revision 96963 - Directory Listing
Modified Tue Mar 31 20:50:54 2015 UTC (4 years, 9 months ago) by manus
Use across instead of `do_all_in_list' to update formatters.


Revision 96962 - Directory Listing
Modified Tue Mar 31 19:19:40 2015 UTC (4 years, 9 months ago) by manus
Removed code that setup the file notifier since always we were hooked up we actually never did any action on notification.


Revision 96958 - Directory Listing
Modified Tue Mar 31 13:57:14 2015 UTC (4 years, 9 months ago) by manus
Removed `is_stone_external' from ES_FORMATTER_TOOL_PANEL_BASE since it was only use as a flag in the `set_stone' routines of 3 descendants where one could have used a local for that purpose. Refactored code using `is_stone_external' to rely on a local, use object tests to simplify the code, use the fact that CLASSC_STONE inherits from CLASSI_STONE.


Revision 96957 - Directory Listing
Modified Tue Mar 31 13:27:09 2015 UTC (4 years, 9 months ago) by manus
Removed ability to create a new windows which is just maximized on the context or the editor since this was never enabled in our code although it was referenced.


Revision 96956 - Directory Listing
Modified Tue Mar 31 13:11:51 2015 UTC (4 years, 9 months ago) by manus
Renamed `unified_stone' and `set_unified_stone' into `is_unified_stone' and `set_is_unified_stone' to make it clear this is a boolean query and not a stone.


Revision 96952 - Directory Listing
Modified Tue Mar 31 07:28:30 2015 UTC (4 years, 9 months ago) by alexk
Added missing new line in generated code before RTS_IMPERSONATE.

Revision 96944 - Directory Listing
Modified Mon Mar 30 13:07:00 2015 UTC (4 years, 10 months ago) by manus
Removed saving of `unified_stone' preference in `set_unified_stone'. It is now done in the `togget_unified_stone' routine called when user trigger the toggle.


Revision 96943 - Directory Listing
Modified Mon Mar 30 12:56:04 2015 UTC (4 years, 10 months ago) by manus
Use `detachable' annotation for `set_stone' and `stone' features to show that stone can be voids and that we are supposed to handle those cases. In one case, I removed a contract to `{EB_STONABLE_TOOL}.set_stone' as it was clearly not guaranteed we will be called with a non-void valid stone in the ES_FEATURES_RELATION_TOOL_PANEL descendant since the implementation of set_stone was also performing the check in its implementation.

Revision 96942 - Directory Listing
Modified Mon Mar 30 12:52:58 2015 UTC (4 years, 10 months ago) by manus
Use normal agent with an open target instead of an inline agent which are heavier.

Revision 96941 - Directory Listing
Modified Mon Mar 30 12:08:37 2015 UTC (4 years, 10 months ago) by manus
Use `detachable' annotation for `set_stone' and `stone' features to show that stone can be voids and that we are supposed to handle those cases. In one case, I removed a contract to `{EB_EDITOR}.set_stone' as it was clearly not guaranteed we will be called with a non-void stone.

Revision 96940 - Directory Listing
Modified Mon Mar 30 11:52:36 2015 UTC (4 years, 10 months ago) by manus
Removed `set_stone_after_first_check' and incorporated the code in `set_stone'. This reduces the clutter of stone management in EV_DEVELOPMENT_WIDNOW as the removed routine was just use for the implementation.

Revision 96937 - Directory Listing
Modified Mon Mar 30 10:14:24 2015 UTC (4 years, 10 months ago) by manus
Removed version limitations queries from EIFFEL_ENV has they have been disabled for a long time now.
Cosmetics on code.

Revision 96936 - Directory Listing
Modified Mon Mar 30 09:50:08 2015 UTC (4 years, 10 months ago) by manus
Replace inline agents with an agent where target is open.

Revision 96934 - Directory Listing
Modified Mon Mar 30 09:15:37 2015 UTC (4 years, 10 months ago) by manus
Removed non-used attribute `old_stone'.


Revision 96933 - Directory Listing
Modified Mon Mar 30 09:14:53 2015 UTC (4 years, 10 months ago) by manus
Removed non-used local.


Revision 96930 - Directory Listing
Modified Fri Mar 27 14:27:07 2015 UTC (4 years, 10 months ago) by manus
Updated argument to {EB_WINDOW_MANAGER}.development_windows_with_class that is now using a CLASS_I as argument. See commit rev#96928.


Revision 96929 - Directory Listing
Modified Fri Mar 27 14:19:30 2015 UTC (4 years, 10 months ago) by manus
Updated code to take into account the removal of the EXTERNAL_FILE_STONE which was never instantiated before. See commit rev#96928.


Revision 96928 - Directory Listing
Modified Fri Mar 27 13:57:20 2015 UTC (4 years, 10 months ago) by manus
Removed EXTERNAL_FILE_STORE class which was never instantiated and removed code depending on it.
Changed signature of {EB_EDITORS_MANAGER}.is_class_editing and {EB_WINDOW_MANAGER}.development_windows_with_class to use a CLASS_I instead of a path and updated callers accordingly.

Revision 96926 - Directory Listing
Modified Fri Mar 27 13:04:45 2015 UTC (4 years, 10 months ago) by manus
Removed {EB_HISTORY_OWNER}.advanced_set_stone as it can be safely by `set_stone'. Updated callers accordingly.

Revision 96925 - Directory Listing
Modified Fri Mar 27 12:59:32 2015 UTC (4 years, 10 months ago) by manus
Made class deferred since it was never instantiated. It helps to find out exactly what kind of stones we might have at runtime.

Revision 96924 - Directory Listing
Modified Fri Mar 27 12:57:04 2015 UTC (4 years, 10 months ago) by manus
Cosmetics and small refactoring: replaced `process_class' and `process_feature' by `edit_in_external_editor' whose name is clearer and handles both type of stones.

Revision 96923 - Directory Listing
Modified Fri Mar 27 12:55:00 2015 UTC (4 years, 10 months ago) by manus
Removed obsolete features.

Revision 96921 - Directory Listing
Modified Fri Mar 27 12:38:45 2015 UTC (4 years, 10 months ago) by manus
Fixed a precondition violation in the inline agent of `propagate_drop_veto_actions' which would occur when you start doing some pick and drop after opening and closing a development window. The action sequences were still called on the closed development window which was no more usable.

Revision 96918 - Directory Listing
Modified Thu Mar 26 20:20:49 2015 UTC (4 years, 10 months ago) by alexk
Fixed a bug that might cause memory corruption or access violation because Current was not registered for GC tracking when performing separate calls that use Current internally.

Revision 96917 - Directory Listing
Modified Thu Mar 26 20:17:28 2015 UTC (4 years, 10 months ago) by alexk
Used constant attributes instead of manifest constants to avoid object creation.

Revision 96916 - Directory Listing
Modified Thu Mar 26 20:16:14 2015 UTC (4 years, 10 months ago) by alexk
Used a constant attribute instead of a manifest constant to avoid object creation.

Revision 96915 - Directory Listing
Modified Thu Mar 26 20:15:21 2015 UTC (4 years, 10 months ago) by alexk
Used a constant attribute instead of a manifest constant to avoid object creation.

Revision 96914 - Directory Listing
Modified Thu Mar 26 20:13:55 2015 UTC (4 years, 10 months ago) by alexk
Used a constant attribute instead of a manifest constant to avoid object creation.

Revision 96913 - Directory Listing
Modified Thu Mar 26 20:12:18 2015 UTC (4 years, 10 months ago) by alexk
Added a constant for a call to a separate constant and removed constants for unused macros for separate calls.

Revision 96903 - Directory Listing
Modified Wed Mar 25 08:19:59 2015 UTC (4 years, 10 months ago) by manus
Fixed typo in directory name, updated link that pointed to it.


Revision 96902 - Directory Listing
Modified Tue Mar 24 21:51:44 2015 UTC (4 years, 10 months ago) by manus
Fixed broken link.


Revision 96852 - Directory Listing
Modified Tue Mar 17 12:37:06 2015 UTC (4 years, 10 months ago) by alexk
Removed features related to ISE_SCOOP_MANAGER that is no longer used.

Revision 96829 - Directory Listing
Modified Fri Mar 13 12:36:25 2015 UTC (4 years, 10 months ago) by manus
Replaced `designated initializers' for union in the generation of the descriptor tables as old version of VC++ prior to 2013 do not support them. Instead we use macros EIF_GENERIC and EIF_NON_GENERIC defined in the runtime to initialize them.


Revision 96794 - Directory Listing
Modified Fri Mar 6 20:09:57 2015 UTC (4 years, 10 months ago) by manus
Fixed issue most likely introduced in rev#96027 where we will get a precondition violation in `{FEATURE_I}.real_body_index' in eweasel test#valid097. This happens because before we would use an EXECUTION_UNIT to retrieve that value when melting an ATTRIBUTE_I, but not anymore as we query it directly from the EXECUTION_TABLE. It seems that the precondition is too strong since the query from EXECUTION_TABLE will simply return 0 if not found. Adapted callers to check for 0 instead of querying for `valid_body_id' which has now been removed.

Revision 96779 - Directory Listing
Modified Fri Mar 6 11:17:46 2015 UTC (4 years, 10 months ago) by manus
Fixed a check from previous commit that was too strong since we substract -1 to the positive type_id.


Revision 96778 - Directory Listing
Modified Fri Mar 6 10:50:33 2015 UTC (4 years, 10 months ago) by manus
* Changed the implementation of the `desc_info' structures by going from 24 bytes down to 16 bytes on 64-bit platform, and from 16 to 8 on 32-bit platform. Fixed typing of `offset' field to be of type `uint32' and not BODY_INDEX since it is an attribute offset. Merged fields `gen_type' and `type' into a union `type' with either a type or a generic type array. We can easily know which one it is because we take advantage that memory addresses are aligned to a multiple of 2, so when it represents a type, the lowest bit is 1, otherwise it is 0.
* The above changes let us reduce the size of the workbench executable by 2 to 3%.
* Changed the generated code for the generation of the `desc_info' structure accordingly to the new implementation. Removed the difference in code generation between normal and precompiled since they are using the exact same implementation now.
* Use `const' qualifier to show that the desc_info structure won't be modified after being generated.
* Use `wattr' instead of the `CAttrOffs' macro which has been removed. There was little gain to get and it certainly improves the debugging experience.
* Simplified `wtype_array' in update.c to not have any argument since we were always passing NULL.
* Simplified some code and removed code duplication.


Revision 96771 - Directory Listing
Modified Thu Mar 5 09:16:46 2015 UTC (4 years, 10 months ago) by manus
Fixed bug#19050 and eweasel test#attach113 where a creation conversion would create an instance keeping the attachment marks making comparisons using ~ fails when compared to an object created via normal means.


Revision 96691 - Directory Listing
Modified Tue Mar 3 10:34:24 2015 UTC (4 years, 10 months ago) by manus
Made code compile in batch mode when enabling SCOOP.


Revision 96654 - Directory Listing
Modified Wed Feb 18 22:28:06 2015 UTC (4 years, 11 months ago) by manus
Updated to the new 15.05 release.

Revision 96633 - Directory Listing
Modified Mon Feb 16 14:06:55 2015 UTC (4 years, 11 months ago) by manus
Added 15.01 benchmark.


Revision 96611 - Directory Listing
Modified Thu Feb 12 17:51:24 2015 UTC (4 years, 11 months ago) by alexk
Removed ISE_SCOOP_MANAGER and associated callback functions as elements that should not be removed from a SCOOP system.

Revision 96610 - Directory Listing
Modified Thu Feb 12 17:48:54 2015 UTC (4 years, 11 months ago) by alexk
Removed requirement for a system to have ISE_SCOOP_MANAGER when it is compiled in SCOOP mode.

Revision 96609 - Directory Listing
Modified Thu Feb 12 17:46:13 2015 UTC (4 years, 11 months ago) by alexk
Replaced a check that a system has ISE_SCOOP_MANAGER with a check that the system is compiled as SCOOP because ISE_SCOOP_MANAGER is no longer required.
Removed generation of ISE_SCOOP_MANAGER callback functions.
Removed generation of ISE_SCOOP_MANAGER type information.


Revision 96608 - Directory Listing
Modified Thu Feb 12 16:33:54 2015 UTC (4 years, 11 months ago) by alexk
Replaced a check whether a system is compiled as SCOOP based on presence of ISE_SCOOP_MANAGER with a check that the system is compiled as SCOOP because ISE_SCOOP_MANAGER is no longer required.

Revision 96570 - Directory Listing
Modified Mon Feb 2 22:30:12 2015 UTC (4 years, 11 months ago) by manus
Fixed eweasel test#final122 and bug#19028 where we would incorrectly optimize `expr and False' or `expr and then False' into just `expr' which is wrong is `expr' is True because the whole expression would be True and not False. Now we optimize the above in just False if `expr' is predefined or an attribute access or if it is the `and' boolean op.


Revision 96566 - Directory Listing
Modified Mon Feb 2 14:20:06 2015 UTC (4 years, 11 months ago) by manus
* Fixed issue introduced in version 7.3 of EiffelStudio where .NET classes would not appear in tree view (only some part of the namespaces):
 - This was due to the change in query `path' from CLASS_I which removed trailing forward slash "/".
 - An inconsistency when adding a forward slash in a path.
 To avoid the issue above we made sure to never start or finish a path with "/".

* Fixed a typo in `is_physical_assembly' in eb_sorted_cluster.e

* Improved tooltip of assemblies by separating the assembly name from the namespace with ": ".

* Fixed tooltip of physical assemblies to show assembly information which was not shown due to an invalid source expression to get the physical assembly.


Revision 96546 - Directory Listing
Modified Wed Jan 28 09:25:03 2015 UTC (5 years ago) by romanschmocker
Changed agent creation rules for separate targets.

This change makes it possible to introduce library
features that help users to avoid writing small
little wrapper features in SCOOP to control an object.

The patch weakens the rule for agent creation such
that it is now possible to create agents on separate,
uncontrolled target. The newly created agent object
is placed on the same processor as the target, and it
inherits the 'is_controlled' status.



Revision 96509 - Directory Listing
Modified Tue Jan 20 23:09:55 2015 UTC (5 years ago) by manus
Removed non-used local.


Revision 96460 - Directory Listing
Modified Wed Jan 14 19:57:20 2015 UTC (5 years ago) by manus
Updated to 15.01 release.


Revision 96434 - Directory Listing
Modified Thu Jan 8 10:42:34 2015 UTC (5 years ago) by manus
Fixed bug#19010 by ensuring we access `buf' only if it is attached in AST_ROUNDTRIP_COMPILER_FACTORY. Fixed signature of `new_integer_as' in descendants of AST_FACTORY to show that `buf' is indeed detachable.


Revision 96429 - Directory Listing
Modified Wed Dec 24 10:53:14 2014 UTC (5 years, 1 month ago) by manus
Fixed bug#19004 where if what we analyzed contained a formal generic parameter the parser would not resolve the type since it will think they are class type and not formals. Related to commit rev#96427.


Revision 96326 - Directory Listing
Modified Wed Dec 10 23:27:58 2014 UTC (5 years, 1 month ago) by manus
Fixed a crash when launching just `ec' without a config file option which is used when trying to load the default ECF.


Revision 96303 - Directory Listing
Modified Tue Dec 9 21:57:10 2014 UTC (5 years, 1 month ago) by manus
We are removing `eif_utils.cpp' from the runtime, so we can remove it from CECIL too.


Revision 96251 - Directory Listing
Modified Fri Dec 5 10:26:02 2014 UTC (5 years, 1 month ago) by alexk
Updated lists of object files used by multithreaded run-time.

Revision 96246 - Directory Listing
Modified Thu Dec 4 19:56:38 2014 UTC (5 years, 1 month ago) by alexk
Removed conditional compilation for a new SCOOP run-time that is now expected all the time.

Revision 96245 - Directory Listing
Modified Thu Dec 4 19:55:41 2014 UTC (5 years, 1 month ago) by alexk
Removed conditional compilation for a new SCOOP run-time that is now expected all the time.

Revision 96231 - Directory Listing
Modified Wed Dec 3 11:16:29 2014 UTC (5 years, 1 month ago) by jfiat
Allow the execution parameters to unset variables names using star such as "ISE_*"

review#6312460025856000

Revision 96230 - Directory Listing
Modified Wed Dec 3 11:13:03 2014 UTC (5 years, 1 month ago) by jfiat
Changed SCOOP debugger support to use RT_EXTENSION instead of ISE_SCOOP_MANAGER interface.

review#5336036255203328

Revision 96229 - Directory Listing
Modified Tue Dec 2 21:53:27 2014 UTC (5 years, 1 month ago) by jfiat
Always use the absolute path of given .ecf for EiffelStudio.
This way, no issue opening 2 distinct projects having the same ecf filename.


Revision 96065 - Directory Listing
Modified Fri Nov 7 21:08:39 2014 UTC (5 years, 2 months ago) by manus
Merged from rev#96046: Initialize min_sleep_time for TTY rota task system to avoid busy wait. Indeed "min_sleep_time" is used to find the lowest sleep time of all active tasks. By not setting it to a high value (as it is done in EV_ROTA.loop_to_next_pause), the minimum sleep time will always be 0 and thus the ROTA system on the command line is basically doing a busy wait and using CPU time.


Revision 96027 - Directory Listing
Modified Fri Oct 31 16:04:11 2014 UTC (5 years, 2 months ago) by manus
* Fixed eweasel test#melt107 where if the TYPE class was forcibly melted, the routine `default' would raised a check violation at runtime because unlike the C code generation we do not remove the body before generating.
* Renamed `{FEATURE_I}.real_body_id' into `real_body_index' to be consistent with {FEATURE_I}.body_index (not all occurrences of body_id have been replaced).
* Changed the way we melt code to be more similar to the C code generation by adding {FEATURE_I}.melt and removing the `melt' routine from MELTED_INFO and by using a CLASS_TYPE and not using an EXECUTION_UNIT.


Revision 96024 - Directory Listing
Modified Fri Oct 31 09:28:24 2014 UTC (5 years, 2 months ago) by manus
Removed non-used locals.


Revision 96012 - Directory Listing
Modified Wed Oct 29 12:07:38 2014 UTC (5 years, 3 months ago) by manus
Fixed a generation failure because we forgot to initialize the context with the current CLASS_TYPE for which we generate the custom attributes of the class.


Revision 96011 - Directory Listing
Modified Wed Oct 29 12:06:33 2014 UTC (5 years, 3 months ago) by manus
Fixed grammar in comment.


Revision 95925 - Directory Listing
Modified Wed Oct 15 06:48:38 2014 UTC (5 years, 3 months ago) by alexk
Added an argument to a function that creates FEATURE_B from FEATURE_I to indicate that the target of a call is separate in order to avoid optimized calls to agent objects in that case (this fixes incorrect C code generation for test#scoop031 in finalized mode).

Revision 95897 - Directory Listing
Modified Fri Oct 10 13:16:36 2014 UTC (5 years, 3 months ago) by jfiat
Debugger: replaced usage of INTERNAL by REFLECTOR 
Debugger: fixed bug#18950 related to object internal viewer
Eiffel Base: added `{RT_EXTENSION_GENERAL}.object_runtime_info' in order to ease implementation of debugger "object internal viewer" functionality.

review#6024180898201600 (http://patchreview.eiffel.com/6024180898201600/)


Revision 95859 - Directory Listing
Modified Tue Oct 7 11:31:32 2014 UTC (5 years, 3 months ago) by manus
Fixed typo introduced by mistake in previous commit.


Revision 95858 - Directory Listing
Modified Tue Oct 7 11:22:40 2014 UTC (5 years, 3 months ago) by manus
Use `const' for most C arrays we generate. Updated most routines to take as arguments `const ...' to show they do not modify the argument. This is necessary due to the first change for C generated arrays.

In `rqst_idrs.c', there was in `idr_Dumped' some code that could now write to `const char *' in the case the type was not EX_CALL, EX_RESC or EX_RETY. But I could not find any situation where we would hit that code. So I removed it. In the event it happens again, we would have to redesign the type of the structure used to communicate.

Revision 95851 - Directory Listing
Modified Sat Oct 4 06:42:43 2014 UTC (5 years, 3 months ago) by manus
Removed dead code for trying to remove the `CLxxf.c' files which are not generated anymore.


Revision 95819 - Directory Listing
Modified Mon Sep 29 08:34:08 2014 UTC (5 years, 3 months ago) by manus
Added benchmark of 14.11.


Revision 95818 - Directory Listing
Modified Mon Sep 29 08:32:10 2014 UTC (5 years, 3 months ago) by manus
Added bench benchmark on Mac OS X.


Revision 95817 - Directory Listing
Modified Mon Sep 29 08:27:49 2014 UTC (5 years, 3 months ago) by manus
Fixed eweasel test#incr431 and bug#18954 where an incremental compilation causing at degree 4 a recompilation of a class not processed at degree 5 and containing some unique constants would crash the compiler because the values assigned to those constants were actually computed at degree 5 and stored to be retrieved at degree 4. Now we simply do nothing at degree 5 and we compute the constant value at degree 4.


Revision 95786 - Directory Listing
Modified Mon Sep 22 15:05:00 2014 UTC (5 years, 4 months ago) by alexk
Replaced explicit TUPLE creation with manifest tuple (review#11039056).

Revision 95785 - Directory Listing
Modified Mon Sep 22 15:02:44 2014 UTC (5 years, 4 months ago) by alexk
Replaced explicit TUPLE creation with manifest tuple (review#11039056).

Revision 95784 - Directory Listing
Modified Mon Sep 22 15:01:30 2014 UTC (5 years, 4 months ago) by alexk
Replaced explicit TUPLE creation with manifest tuple (review#11039056).

Revision 95783 - Directory Listing
Modified Mon Sep 22 14:59:51 2014 UTC (5 years, 4 months ago) by alexk
Replaced explicit TUPLE creation with manifest tuple (review#11039056).

Revision 95675 - Directory Listing
Modified Wed Aug 20 12:50:00 2014 UTC (5 years, 5 months ago) by manus
Fixed an issue where launching the iron command line tool it would fail to find the required DLLs on Windows (libcurl, openssl, ...). The current workaround is to launch the tool in the bin directory of EiffelStudio, a later fix will have the DLLs next to the executable.

Revision 95592 - Directory Listing
Modified Fri Aug 8 17:55:16 2014 UTC (5 years, 5 months ago) by manus
Removed comment that applied to an old version of the code.


Revision 95406 - Directory Listing
Modified Sat Jul 12 00:17:50 2014 UTC (5 years, 6 months ago) by manus
* Removed usage of the pattern {EV_WINDOW}.lock_update/{EV_WINDOW}.unlock_update whenever it was not necessary as on some conditions (mostly remote access on Windows) it triggers some full repaint of all applications, not just EiffelStudio. This most affects the following:
** Code completion
** ES_PROMPT

* Improved display of tooltip during completion by avoiding recreating the content of the tooltip window each time it is displayed. Relaxed the precondition of `{ES_CONTRACT_VIEWER_WIDGET}.set_context so that we can call it multiple times as well as wiping out the grid content, not just clearing it since we add to it.

* Redesigned EVS_LABEL to map more the EV_LABEL set of creation procedures (thus made `make' obsolete', updated callers to use `default_create'.)

* Fixed some typo.

Revision 95405 - Directory Listing
Modified Sat Jul 12 00:06:54 2014 UTC (5 years, 6 months ago) by manus
Hide the scrollbars to avoid seeing them when reducing the size of the parent dialog.


Revision 95403 - Directory Listing
Modified Fri Jul 11 18:53:50 2014 UTC (5 years, 6 months ago) by manus
Fixed issue with context menu not working when removing unused locals because the `item' of the grid that was computed when releasing the button on the grid was not the right one, it always took the first one thus applying the fix had no effect. To simplify the code and fix the issue we now use `pointer_button_release_item_actions' which provides the item underneath the click so we do not have to calculate it. The only thing we need to calculate is the position of the context menu.


Revision 95401 - Directory Listing
Modified Fri Jul 11 18:17:46 2014 UTC (5 years, 6 months ago) by manus
Avoided catcall at runtime by using a manifest tuple fills with Voids at initialization time.


Revision 95400 - Directory Listing
Modified Fri Jul 11 16:46:13 2014 UTC (5 years, 6 months ago) by manus
Fixed bug#18910 where an implicit conversion from STRING_32 to STRING_8 caused not only truncation but also a call on Void targets.


Revision 95387 - Directory Listing
Modified Wed Jul 9 00:11:23 2014 UTC (5 years, 6 months ago) by manus
Fixed eweasel test#term214 since previous commit to fix eweasel test#valid285 introduced a bug because we used `f.written_in' in `recompute' when calling `recomputed_in' but the last argument is meant to show in which context the type we are recomputing has been written, not where the code is coming from. And here the `found_feature' is the one from the `found_site' and thus its type is relative to the `found_site'.


Revision 95383 - Directory Listing
Modified Tue Jul 8 12:25:54 2014 UTC (5 years, 6 months ago) by alexk
Fixed test#valid285 by providing context for computing type of a remote anchor when recomputing qualified anchored type.

Revision 95379 - Directory Listing
Modified Mon Jul 7 18:35:47 2014 UTC (5 years, 6 months ago) by manus
* Fixed C code generation to generate the proper type array description for qualified anchor types by provding the qualifier and the whole chain of routine IDs at code generation. For workbench mode, it was sufficient to modify `rt_id_of' in the runtime to process QUALIFIED_FEATURE_TYPE. But for finalized mode, we also had to change the code generation so that at runtime we can access all the polymorphic tables for routine IDs used for types.
* With the above changes we also had to change the type encoding done in melted mode to be closer to the C one. So we had to change the way `make_byte_code' work fro CREATE_INFO descendants, and also we had to move some routines of `interp.c' handling anchored types inside `rt_id_of' but only in workbench mode, so performance is not affected by much. On the other hand, now `rt_id_of' needs to query the type of the i-th argument of a routine in melted mode only and we added a shared routine `rt_melted_arg' to get this information.
* By changing this, we made a few opcodes not_used: BC_CTYPE, BC_CARG, BC_CCUR, BC_CLIKE and BC_QLIKE.
* The final change was that because we now encode a routine ID in the type array of 16-bit integer, we had to take into consideration routine ID whose value is greater than 65535, we do that in both melted and C code by encoding the routine IDs using the fact that routine IDs are never negative and never the maximum value to prevent TERMINATOR_TYPE appearing in the middle of the type array description.
* Fixed eweasel test#valid284 by resolving types recursively when we have a `like {A}.something' and `something' is `like a.b' which hasn't been computed yet. This is done via the addition of `nested_check_types' in FEATURE_I.
* This fixes existing eweasel test#incr419, test#melt090, test#anchor025 and new additional tests test#valid282, test#valid283, test#valid284, test#anchor079, test#anchor080, test#anchor081, test#anchor082, test#anchor083, test#anchor084, test#anchor085, test#anchor086.


Revision 95378 - Directory Listing
Modified Mon Jul 7 18:20:57 2014 UTC (5 years, 6 months ago) by alexk
Merged from EVE to support new SCOOP run-time.

Revision 95377 - Directory Listing
Modified Mon Jul 7 18:20:34 2014 UTC (5 years, 6 months ago) by alexk
Merged from EVE to support new SCOOP run-time.

Revision 95376 - Directory Listing
Modified Mon Jul 7 18:20:03 2014 UTC (5 years, 6 months ago) by alexk
Merged from EVE to support new SCOOP run-time.

Revision 95375 - Directory Listing
Modified Mon Jul 7 18:19:33 2014 UTC (5 years, 6 months ago) by alexk
Merged from EVE to support new SCOOP run-time.

Revision 95367 - Directory Listing
Modified Mon Jul 7 18:13:01 2014 UTC (5 years, 6 months ago) by alexk
Added header comments for the new flag that indicates whether the new SCOOP run-time should be used.

Revision 95366 - Directory Listing
Modified Mon Jul 7 18:11:14 2014 UTC (5 years, 6 months ago) by alexk
Added an option that indicates whether a new SCOOP run-time has to be used.

Revision 95324 - Directory Listing
Modified Mon Jun 23 22:40:52 2014 UTC (5 years, 7 months ago) by manus
* Fixed crash if TUPLE class has no `object_comparison' query, now we simply put a non-clickable entry object_comparison.
* Improved TUPLE display by not showing the 0-index since it is already shown as `object_comparison'.


Revision 95315 - Directory Listing
Modified Fri Jun 20 12:36:40 2014 UTC (5 years, 7 months ago) by alexk
Removed `formal_instatiation_in' because the feature `recomputed_in' works better for qualified anchored types.

Revision 95314 - Directory Listing
Modified Fri Jun 20 09:16:17 2014 UTC (5 years, 7 months ago) by alexk
Fixed an issue with processing qualified anchored types in arguments of binary operators when the first operand is of a formal generic type (test#anchor083).

Revision 95312 - Directory Listing
Modified Fri Jun 20 08:54:46 2014 UTC (5 years, 7 months ago) by alexk
Fixed an issue with processing a qualified anchored type computed for a call to a feature on an unknown formal generic type (test#anchor086).

Revision 95305 - Directory Listing
Modified Thu Jun 19 16:22:39 2014 UTC (5 years, 7 months ago) by alexk
Fixed an issue with processing a qualified anchored type in an argument that potentially takes a tuple (test#anchor085).

Revision 95301 - Directory Listing
Modified Thu Jun 19 15:15:28 2014 UTC (5 years, 7 months ago) by alexk
Fixed an issue with processing an inherited qualified anchored type in test#anchor081.

Revision 95300 - Directory Listing
Modified Thu Jun 19 14:24:10 2014 UTC (5 years, 7 months ago) by alexk
Fixed an issue with processing a qualified anchored type in an assigner command (test#anchor084).

Revision 95298 - Directory Listing
Modified Thu Jun 19 13:38:21 2014 UTC (5 years, 7 months ago) by alexk
Fixed an issue with processing a qualified anchored type in test#anchor079.

Revision 95297 - Directory Listing
Modified Thu Jun 19 12:59:08 2014 UTC (5 years, 7 months ago) by alexk
Fixed issues with processing qualified anchored type in test#anchor083.

Revision 95294 - Directory Listing
Modified Thu Jun 19 12:13:54 2014 UTC (5 years, 7 months ago) by alexk
Fixed issues with processing qualified anchored type in test#anchor082.

Revision 95289 - Directory Listing
Modified Wed Jun 18 23:56:49 2014 UTC (5 years, 7 months ago) by manus
Use an object test and `and then' in `instantiation_of' as otherwise we could get a call on Void target on some compiler implementations.


Revision 95280 - Directory Listing
Modified Wed Jun 18 10:15:48 2014 UTC (5 years, 7 months ago) by apaolo
Fixed a bug in parsing code analysis preferences from the command line (a border case).

Revision 95279 - Directory Listing
Modified Wed Jun 18 10:13:52 2014 UTC (5 years, 7 months ago) by apaolo
Implemented forced preferences from the command line in Inspector Eiffel.

Revision 95264 - Directory Listing
Modified Tue Jun 17 16:21:35 2014 UTC (5 years, 7 months ago) by jfiat
Added "Attach debuggee execution" to the command line debugger (i.e  ec -loop ...)

Revision 95263 - Directory Listing
Modified Tue Jun 17 15:01:02 2014 UTC (5 years, 7 months ago) by alexk
Fixed test#anchor080 (related to bug#18893) by replacing `formal_instantiation_in' with `recomputed_in' that takes an additional parameter indicating current class that is used to resolve formal generic constraints when required.

Revision 95262 - Directory Listing
Modified Tue Jun 17 14:54:10 2014 UTC (5 years, 7 months ago) by alexk
Added a feature for computing a type descriptor for "detachable separate ANY".


Revision 95261 - Directory Listing
Modified Tue Jun 17 14:52:05 2014 UTC (5 years, 7 months ago) by jfiat
Improved UI for attach debuggee dialog.
Added context help using uuid, and added short label in the dialog to provide very quick help.

Revision 95255 - Directory Listing
Modified Fri Jun 13 17:20:03 2014 UTC (5 years, 7 months ago) by alexk
Fixed test#anchor079 (bug#18893) by adding a new feature {TYPE_A}.recomputed_in that is similar to {TYPE_A}.formal_instantiation_in that takes an additional argument required to compute qualified anchored type in the following conditions:
	- the type of the qualifier is formal generic X;
	- the type of the feature in the feature chain depends on a qualified anchored type Y;
	- the type Y depends on a formal generic parameter of the class B of the constraint Z;
	- the type Y needs to be recomputed for the context class A that is used to get the actual generic parameter of the constraint Z;
	- the class A is used to get the constraint and to find the feature used in the qualified anchored type, without it TYPE_A_FEATURE_FINDER fails to find the corresponding feature.


Revision 95246 - Directory Listing
Modified Wed Jun 11 23:50:30 2014 UTC (5 years, 7 months ago) by manus
Updated EiffelStudio version to 14.11.


Revision 95237 - Directory Listing
Modified Wed Jun 11 11:30:11 2014 UTC (5 years, 7 months ago) by apaolo
Additional changes to EWB_CODE_ANALYSIS to make it actually compile.

Revision 95236 - Directory Listing
Modified Wed Jun 11 11:29:37 2014 UTC (5 years, 7 months ago) by apaolo
Changes for the code review.

Revision 95235 - Directory Listing
Modified Wed Jun 11 11:29:01 2014 UTC (5 years, 7 months ago) by apaolo
Changes to the way Inspector Eiffel parses arguments and outputs warning.

Revision 95216 - Directory Listing
Modified Mon Jun 2 15:16:15 2014 UTC (5 years, 7 months ago) by alexk
Removed unnecessary attachment marks from class types by taking default attachment status into account.

Revision 95215 - Directory Listing
Modified Sat May 31 19:22:31 2014 UTC (5 years, 7 months ago) by alexk
Changed precondition of `is_frozen_type_compatible' to be able to accept unknown target type (test#inference014).

Revision 95213 - Directory Listing
Modified Sat May 31 19:19:25 2014 UTC (5 years, 7 months ago) by alexk
Avoided reporting VOMB(2) violation when type of an inspect expression is unknown (test#inference013).

Revision 95192 - Directory Listing
Modified Thu May 29 14:40:34 2014 UTC (5 years, 8 months ago) by alexk
Added a comment to refactor creation of a new FEATURE_I object for inline agents by moving it to an earlier stage.

Revision 95191 - Directory Listing
Modified Thu May 29 14:30:44 2014 UTC (5 years, 8 months ago) by alexk
Avoided a crash when inferring types for the code with inline agents by generating feature descriptors even when no code generation is requested.

Revision 95188 - Directory Listing
Modified Thu May 29 13:47:11 2014 UTC (5 years, 8 months ago) by alexk
Avoided inspect value error for inspect expression of an unknown type (see test#inference013).

Revision 95187 - Directory Listing
Modified Thu May 29 12:11:43 2014 UTC (5 years, 8 months ago) by alexk
Added a check that iteration expression should be attached in void-safe mode.

Revision 95186 - Directory Listing
Modified Thu May 29 11:37:52 2014 UTC (5 years, 8 months ago) by alexk
Corrected description of the class and header comment of a creation procedure.

Revision 95178 - Directory Listing
Modified Mon May 26 14:22:07 2014 UTC (5 years, 8 months ago) by jfiat
Added package dependencies installation.
Added installation of package dependencies used from a ecf file, helpful for integration with "EiffelStudio".
More helpful conf error message when IRON is implied.

Revision 95174 - Directory Listing
Modified Sat May 24 15:59:07 2014 UTC (5 years, 8 months ago) by manus
Improvements in catcall checker mechanism:
* Now we ignore `frozen' for conformance, that is to say `frozen B' conforms to `frozen A' if B conforms to A. However `frozen' is now taken into account for expression conformance and thus `frozen X' is expression conform to `frozen Y' if and only if `X' is identical to `Y'.
* Took into account frozen/variance annotation in TUPLE conformance.
* To make things more modulable `is_frozen' only applies to frozen type, frozen class or expanded class.
* Created Result type combinator that if a query is frozen in a qualified call (i.e. a.q) then the type of `a.q' is frozen if and only if `a' is frozen.
* Reorganized `check_cat_call' order in the checks, to check for conformance, and if it is then check that actual argument is not variant.


Revision 95172 - Directory Listing
Modified Sat May 24 04:26:33 2014 UTC (5 years, 8 months ago) by manus
Improved code that checks for presence of the profinfo file and its .pfi counterpart.


Revision 95171 - Directory Listing
Modified Sat May 24 04:25:20 2014 UTC (5 years, 8 months ago) by manus
As soon as we read a value from a column that does not match what we expect we set `is_conversion_ok' to False instead of silently ignoring it.


Revision 95170 - Directory Listing
Modified Fri May 23 23:33:56 2014 UTC (5 years, 8 months ago) by manus
Previous commit rev#94727 introduced a bug which messed up the parsing of the profinfo file (we dropped some `not' in boolean expression).


Revision 95146 - Directory Listing
Modified Wed May 21 12:44:27 2014 UTC (5 years, 8 months ago) by alexk
Moved a cluster with classes for automated fixing out of compiler kernel.
Removed ability of error classes to generate associated fixes.
Added a factory class that generates fixes for errors.
Supported visitor pattern for MISSING_LOCAL_TYPE_ERROR and UNUSED_LOCAL_WARNING.
Supported correct textual output of suggested types to fix missing type in a local declaration list.


Revision 95145 - Directory Listing
Modified Wed May 21 12:29:11 2014 UTC (5 years, 8 months ago) by alexk
Supported visitor pattern for some compiler-specific errors and warnings.

Revision 95144 - Directory Listing
Modified Wed May 21 12:27:30 2014 UTC (5 years, 8 months ago) by alexk
Added a visitor that extends ERROR_VISITOR by processing compiler-specific errors and warnings.

Revision 95127 - Directory Listing
Modified Tue May 20 22:44:54 2014 UTC (5 years, 8 months ago) by manus
Avoided catcalls at runtime when playing with the warning filter list because you cannot call `is_equal' if types are not exactly the same and not conforming to each other.


Revision 95121 - Directory Listing
Modified Mon May 19 23:11:38 2014 UTC (5 years, 8 months ago) by manus
Added processing of `frozen' annotation in formatters.


Revision 95120 - Directory Listing
Modified Mon May 19 23:11:09 2014 UTC (5 years, 8 months ago) by manus
Fixed an issue with the building of `match_list'. We check that if the `generated' timestamp on the match list is different from the modification on date for the class then we will rebuild it. Except that once built we still set `generated' to the last compiled datestamp of the class, causing a rebuild of the match list all the time. This effect is very visible in a large class, where after compiled it, you debug, while debugging you modify it, then the generation of the flat becomes very very slow.


Revision 95119 - Directory Listing
Modified Mon May 19 23:05:09 2014 UTC (5 years, 8 months ago) by manus
Added processing of `frozen' annotation in formatters.


Revision 95109 - Directory Listing
Modified Mon May 19 14:38:42 2014 UTC (5 years, 8 months ago) by alexk
Supported a fix option that suggests a type when it is missing from a local declaration list.
Made GUI part of a fix option more general, so that the same code can be used to fix different feature-level issues.


Revision 95108 - Directory Listing
Modified Mon May 19 14:35:25 2014 UTC (5 years, 8 months ago) by alexk
Change parent class to be feature-specific rather than class-specific.

Revision 95107 - Directory Listing
Modified Mon May 19 14:33:20 2014 UTC (5 years, 8 months ago) by alexk
Added a common parent for fix options that apply to single features.

Revision 95106 - Directory Listing
Modified Mon May 19 14:31:26 2014 UTC (5 years, 8 months ago) by alexk
Added a fix option for a missing type in a local declaration list.

Revision 95105 - Directory Listing
Modified Mon May 19 14:29:36 2014 UTC (5 years, 8 months ago) by alexk
Added handler that applies a fix for a missing type in a local declaration list.

Revision 95104 - Directory Listing
Modified Mon May 19 14:27:51 2014 UTC (5 years, 8 months ago) by alexk
Added messages for adding a missing type to a local declaration list.

Revision 95102 - Directory Listing
Modified Mon May 19 14:26:05 2014 UTC (5 years, 8 months ago) by alexk
Added feature to format one element.

Revision 95089 - Directory Listing
Modified Fri May 16 17:35:29 2014 UTC (5 years, 8 months ago) by manus
Disabled full class checking for now, we can still use ISE_EC_FLAGS for forcing it. This is too expensive when enabled.


Revision 95088 - Directory Listing
Modified Fri May 16 16:37:08 2014 UTC (5 years, 8 months ago) by manus
Made sure that autotest and code_analysis are using the current project's settings.


Revision 95079 - Directory Listing
Modified Fri May 16 04:10:45 2014 UTC (5 years, 8 months ago) by manus
Made the mini-toolbar button of the groups panel sensitive as soon as the project is created. This is ok because they have an internal protection and will either do nothing or popup a dialog if it is not possible. This allows us for example to search for a class in the tree view as soon as degree 6 is completed.


Revision 95078 - Directory Listing
Modified Fri May 16 04:06:42 2014 UTC (5 years, 8 months ago) by manus
Fixed a bug in `routine_from_ids' where calling `cl.feature_with_body_index (body_index)' without checking that `cl' has a feature table would violate the precondition and in finalized mode cause a call on Void target. To reproduce this open (no recompile yet) from scratch a project that had been previously compiled with some breakpoints set. Then when you exit it would fail.


Revision 95070 - Directory Listing
Modified Thu May 15 18:20:27 2014 UTC (5 years, 8 months ago) by alexk
Avoided a crash if type inference causes an exception by reporting detected missing type declarations.
Avoided forced type computation if it is already dobe because of the type inference iteration limit.
Disabled code generation if types are inferred because they will be reported as fix options to missing type declaration errors.
Fixed a bug that might cause reporting a missing type error multiple times even when only one local was affected.
Changed error reporting to avoid duplicate error reports for the variables that belong to the same local declaration list.


Revision 95066 - Directory Listing
Modified Thu May 15 15:52:40 2014 UTC (5 years, 8 months ago) by alexk
Removed explicit tuple creation.

Revision 95065 - Directory Listing
Modified Thu May 15 15:47:27 2014 UTC (5 years, 8 months ago) by alexk
Corrected computation of the position for local variable declaration without a type.

Revision 95064 - Directory Listing
Modified Thu May 15 15:46:14 2014 UTC (5 years, 8 months ago) by alexk
Improved single-line error message.

Revision 95063 - Directory Listing
Modified Thu May 15 14:53:32 2014 UTC (5 years, 8 months ago) by alexk
Recorded errors about missing type in local declaration instead of reporting them immediately to be able to associate fix options by inferring missing types.
Moved reporting of missing type in local declaration to local type resolution where it should be possible to suggest inferred types.


Revision 95051 - Directory Listing
Modified Wed May 14 06:04:57 2014 UTC (5 years, 8 months ago) by manus
Removed unneeded helper variable.


Revision 95050 - Directory Listing
Modified Wed May 14 06:04:20 2014 UTC (5 years, 8 months ago) by manus
Use `retried' consistently when it is using the standard pattern to retry the execution of a routine after a failure.


Revision 95049 - Directory Listing
Modified Wed May 14 06:03:53 2014 UTC (5 years, 8 months ago) by manus
Use `retried' consistently when it is using the standard pattern to retry the execution of a routine after a failure.


Revision 95048 - Directory Listing
Modified Wed May 14 06:03:21 2014 UTC (5 years, 8 months ago) by manus
Use `retried' consistently when it is using the standard pattern to retry the execution of a routine after a failure.


Revision 95047 - Directory Listing
Modified Wed May 14 06:02:40 2014 UTC (5 years, 8 months ago) by manus
Added description of the command line for the code-analysis switch.


Revision 95041 - Directory Listing
Modified Tue May 13 17:55:19 2014 UTC (5 years, 8 months ago) by alexk
Added error reporting for a missing type in a local declaration list.

Revision 95040 - Directory Listing
Modified Tue May 13 17:51:25 2014 UTC (5 years, 8 months ago) by alexk
Supported output of parameterized multi-line messages.

Revision 95039 - Directory Listing
Modified Tue May 13 17:50:11 2014 UTC (5 years, 8 months ago) by alexk
Improved output of the error message.

Revision 95038 - Directory Listing
Modified Tue May 13 17:48:36 2014 UTC (5 years, 8 months ago) by alexk
Ensured the last line not terminated with a new line is added to the output anyway if it is not empty.
Decreased spacing between error icon and error message.


Revision 95037 - Directory Listing
Modified Tue May 13 17:44:57 2014 UTC (5 years, 8 months ago) by alexk
Moved code that prints an error code to a separate procedure.

Revision 95036 - Directory Listing
Modified Tue May 13 16:20:11 2014 UTC (5 years, 8 months ago) by alexk
Changed type of URL string to be STRING_32 as this is what all clients expect.

Revision 95035 - Directory Listing
Modified Tue May 13 10:23:45 2014 UTC (5 years, 8 months ago) by alexk
Added a class to report a syntax error for missing type declaration for a local list.

Revision 95034 - Directory Listing
Modified Tue May 13 10:22:25 2014 UTC (5 years, 8 months ago) by alexk
Factored out a class with common formatting features.
Moved FIX_MESSAGE to a new directory for message classes.


Revision 95033 - Directory Listing
Modified Tue May 13 09:57:12 2014 UTC (5 years, 8 months ago) by alexk
Replaced inline agent with feature-based one.

Revision 95023 - Directory Listing
Modified Fri May 9 16:57:11 2014 UTC (5 years, 8 months ago) by alexk
Moved formatting features to a dedicated class.
Made fix option action name and description translatable.


Revision 95022 - Directory Listing
Modified Fri May 9 09:41:19 2014 UTC (5 years, 8 months ago) by alexk
Changed type of new_line_32 to CHARACTER_32 to avoid conversion.

Revision 95021 - Directory Listing
Modified Fri May 9 08:45:52 2014 UTC (5 years, 8 months ago) by alexk
Added removal of a trailing comment if it appears on the same line as a removed local declaration list.

Revision 95020 - Directory Listing
Modified Thu May 8 18:27:12 2014 UTC (5 years, 8 months ago) by alexk
Supported removal of the whole local declaration clause if no local variables are left after removal.

Revision 95018 - Directory Listing
Modified Thu May 8 18:23:50 2014 UTC (5 years, 8 months ago) by alexk
Used Unicode version of a query to compute modified text of a feature to preserve Unicode comments, operators, etc.

Revision 95013 - Directory Listing
Modified Wed May 7 19:13:55 2014 UTC (5 years, 8 months ago) by alexk
Removed dedicated fix column.
Used grid item component to indicate that a fix for an error is available.
Avoided multiple prompts when several selected fixes are applied.


Revision 95012 - Directory Listing
Modified Wed May 7 19:10:12 2014 UTC (5 years, 8 months ago) by alexk
Made fix a grid item component so that it may be inserted in a grid cell.
Added a query that returns a new menu entry with a fix message.


Revision 95009 - Directory Listing
Modified Wed May 7 17:30:15 2014 UTC (5 years, 8 months ago) by manus
Fixed eweasel test#anchor077 where the compiler would crash in `update_immediate_qualified_anchored_type' when analyzing the following qualified anchored type `like x.f' where f is defined as `f: like y.z.w' because when processing `f' in `like x.f' we would use the AST of `like x.f' while analyzing the code of `like y.z.w' and we will do an out of bound access in the chain since it only has one item and not two. Now like processing the qualified, we save `associated_type_ast' before calling `process_anchor' and restore it after. See review#5671311628042240.


Revision 94999 - Directory Listing
Modified Tue May 6 14:34:15 2014 UTC (5 years, 8 months ago) by alexk
Replaced plain fix tooltip with a clickable one.

Revision 94998 - Directory Listing
Modified Tue May 6 13:43:51 2014 UTC (5 years, 8 months ago) by alexk
Removed insertion of an item to a column that is now merged with a description column.

Revision 94997 - Directory Listing
Modified Tue May 6 13:33:41 2014 UTC (5 years, 8 months ago) by alexk
Removed category column.

Revision 94987 - Directory Listing
Modified Mon May 5 14:56:33 2014 UTC (5 years, 8 months ago) by alexk
Replaced category icon with error/warning icon to be more informative and free some precious space in error description.

Revision 94985 - Directory Listing
Modified Mon May 5 13:43:07 2014 UTC (5 years, 8 months ago) by alexk
Ensured the same fix cannot be applied twice.

Revision 94984 - Directory Listing
Modified Mon May 5 13:05:47 2014 UTC (5 years, 8 months ago) by alexk
Moved fix icons from fix suggestion to fix toolbar button.

Revision 94974 - Directory Listing
Modified Thu May 1 15:42:40 2014 UTC (5 years, 8 months ago) by manus
Fixed postcondition violation in `make_copy_for_saving' when you set a breakpoint on a routine, then either rename or removed that routine and compile. The issue is that routine_from_ids will return Void since it does not exist anymore.


Revision 94968 - Directory Listing
Modified Thu May 1 00:00:27 2014 UTC (5 years, 8 months ago) by manus
Fixed issue in `on_validate_type' where previous commit at rev#94928 to remove the explicit tuple creation introduced a bug since `Result' is now created at the very end of the routine. So we have replaced `Result.valid' by `l_message = Void' which is semantically equivalent.


Revision 94967 - Directory Listing
Modified Wed Apr 30 23:28:58 2014 UTC (5 years, 8 months ago) by manus
Fixed updated eweasel tests test#valid275, test#exec338 and test#incr383 were the compiler failed to report warnings on comparison of a = b when `a' and `b' do not have the same type. Currently it will still not report a warning if you compare Void with a formal generic parameter or a reference (attached or not), but will if compared against an expanded type.


Revision 94961 - Directory Listing
Modified Wed Apr 30 18:32:41 2014 UTC (5 years, 8 months ago) by manus
* Changed "Inspector Eiffel" into "Eiffel Inspector" as the former might have a negative connotation (think Inspector Clouseau).
* Labeled the Eiffel Inspector tool experimental since there is no documentation and there are a few shortcomings.


Revision 94960 - Directory Listing
Modified Wed Apr 30 18:31:37 2014 UTC (5 years, 8 months ago) by manus
Do not violate a check violation if there are no more templates, simply gray out the menu entry.


Revision 94959 - Directory Listing
Modified Wed Apr 30 18:30:56 2014 UTC (5 years, 8 months ago) by manus
Fixed obsolete calls to `is_service_available'.


Revision 94958 - Directory Listing
Modified Wed Apr 30 18:30:14 2014 UTC (5 years, 8 months ago) by manus
Fixed a precondition violation when calling `tabbify_unicode' in `format_contract' if a line from the contract editor is empty which happens when user press twice the enter key when editing the contract. We simply check that the line is not empty.


Revision 94957 - Directory Listing
Modified Wed Apr 30 18:20:56 2014 UTC (5 years, 8 months ago) by manus
Provided a workaround for a bug in the XML parser library where if you do not call `start' on the input stream before calling `parse_from_stream' it will not work properly and report a syntax error on the first character of the XML file. This prevented the our contract editor to function properly.


Revision 94955 - Directory Listing
Modified Wed Apr 30 17:25:55 2014 UTC (5 years, 8 months ago) by manus
Updated to use `start_selection' and `end_selection' instead of obsolete and incorrect `selection_start' and `selection_end'.


Revision 94954 - Directory Listing
Modified Wed Apr 30 17:09:49 2014 UTC (5 years, 8 months ago) by manus
Changed "Inspector Eiffel" into "Eiffel Inspector" as the former might have a negative connotation (think Inspector Clouseau).


Revision 94952 - Directory Listing
Modified Wed Apr 30 16:06:09 2014 UTC (5 years, 8 months ago) by alexk
Added a discardable dialog with a warning that there is no way to undo applied fixes.

Revision 94950 - Directory Listing
Modified Wed Apr 30 13:22:52 2014 UTC (5 years, 8 months ago) by alexk
Removed explicit tuple creation.

Revision 94948 - Directory Listing
Modified Wed Apr 30 11:08:28 2014 UTC (5 years, 8 months ago) by alexk
Added a command to apply selected fixes in an error list panel.
Added a column to an error list for suggested fixes.
Extended context menu for errors to mention possible fixes.
Changed enabled/disabled state of error into tool button to enabled whenever the error list is not empty as an error code can be dropped to it even when no errors are selected.


Revision 94947 - Directory Listing
Modified Wed Apr 30 10:47:57 2014 UTC (5 years, 8 months ago) by alexk
Added handler that applies a fix for an unused locals warning.

Revision 94946 - Directory Listing
Modified Wed Apr 30 10:39:16 2014 UTC (5 years, 8 months ago) by alexk
Added a command to apply selected fixes.

Revision 94945 - Directory Listing
Modified Wed Apr 30 10:37:20 2014 UTC (5 years, 8 months ago) by alexk
Changed type of items that indicate unused local variable names to be indexes to a string heap to simplify finding them in AST.
Provided a fix option for unused locals warning.


Revision 94944 - Directory Listing
Modified Wed Apr 30 10:24:28 2014 UTC (5 years, 8 months ago) by alexk
Added a descriptor of a fix to remove unused local declarations.

Revision 94943 - Directory Listing
Modified Wed Apr 30 10:22:40 2014 UTC (5 years, 8 months ago) by alexk
Added an application of a fix that removes unused local declarations.

Revision 94942 - Directory Listing
Modified Wed Apr 30 10:22:18 2014 UTC (5 years, 8 months ago) by alexk
Added a cluster for applications of error/warning fixes.

Revision 94941 - Directory Listing
Modified Wed Apr 30 10:21:26 2014 UTC (5 years, 8 months ago) by alexk
Added a cluster for error/warning fix automation.

Revision 94940 - Directory Listing
Modified Wed Apr 30 09:16:20 2014 UTC (5 years, 8 months ago) by alexk
Added a class for a suggested fix option in a single class.

Revision 94939 - Directory Listing
Modified Wed Apr 30 09:13:52 2014 UTC (5 years, 8 months ago) by alexk
Added a query to enumerate potential fix options of the error.

Revision 94938 - Directory Listing
Modified Wed Apr 30 09:12:42 2014 UTC (5 years, 8 months ago) by alexk
Added a class for a suggested fix option.

Revision 94937 - Directory Listing
Modified Wed Apr 30 09:10:44 2014 UTC (5 years, 8 months ago) by alexk
Moved error/warning icons to a section with a dedicated row and added new icons for automated fixing.

Revision 94936 - Directory Listing
Modified Wed Apr 30 09:07:48 2014 UTC (5 years, 8 months ago) by alexk
Added a formatter of messages with injected objects of arbitrary types that are formatted by the clients. It provides a general formatting framework with provision of complex formatting specifications for scalar and composite objects, including nested lists and structures (the parsing of nested format specifications is not implemented yet).

Revision 94935 - Directory Listing
Modified Wed Apr 30 09:04:24 2014 UTC (5 years, 8 months ago) by alexk
Added format specification that can be used to format complex messages, including the cases with nested elements (the functionality is not implemented yet).

Revision 94934 - Directory Listing
Modified Wed Apr 30 08:43:07 2014 UTC (5 years, 8 months ago) by alexk
Added classes to map ITERABLE [G] to ITERABLE [H] on the fly by using a supplied mapping function.

Revision 94929 - Directory Listing
Modified Wed Apr 30 07:22:08 2014 UTC (5 years, 8 months ago) by alexk
Changed the description note clause tag value to use a verbatim string instead of a multi-line string that did not contain all expected whitespaces.

Revision 94928 - Directory Listing
Modified Wed Apr 30 07:16:38 2014 UTC (5 years, 8 months ago) by alexk
Removed explicit tuple creation.

Revision 94909 - Directory Listing
Modified Wed Apr 23 21:16:02 2014 UTC (5 years, 9 months ago) by manus
Fixed previously undetected VWEQ error in postcondition of `make' as we were comparing a FEATURE_I with a E_FEATURE.


Revision 94884 - Directory Listing
Modified Thu Apr 17 16:39:13 2014 UTC (5 years, 9 months ago) by manus
Fixed bug#18855 where we used the wrong constant to display the command switch for the `-debug' option.


Revision 94858 - Directory Listing
Modified Wed Apr 16 15:22:42 2014 UTC (5 years, 9 months ago) by manus
Made it compile with latest changes in tracer.


Revision 94856 - Directory Listing
Modified Wed Apr 16 12:26:41 2014 UTC (5 years, 9 months ago) by alexk
Replaced calls to the same feature with multiple flags with calls to different features.

Revision 94854 - Directory Listing
Modified Wed Apr 16 12:08:41 2014 UTC (5 years, 9 months ago) by alexk
Cosmetics.

Revision 94830 - Directory Listing
Modified Fri Apr 11 06:59:28 2014 UTC (5 years, 9 months ago) by alexk
Added context to the strings that are subject to translation.
Supported singular/plural forms for error/warning/suggestion/hint counters.
Moved analysis scope from the toolbar to the mini-toolbar of the code analyzer.
Merged columns of tree icons and of category icons for better tree-like representation.
Corrected checks that should have expected "no issues" message instead of no messages at all.


Revision 94829 - Directory Listing
Modified Fri Apr 11 06:52:54 2014 UTC (5 years, 9 months ago) by alexk
Prevented compilation before doing an analysis if its target is a precompiled library.
Made `event_list' service detachable as it's attachment is not guaranteed.
Changed processing of preferences to avoid assertion violations.


Revision 94825 - Directory Listing
Modified Fri Apr 11 06:35:10 2014 UTC (5 years, 9 months ago) by alexk
Changed implementation of `evaluated_type_in_descendant' to satisfy its inherited postcondition.

Revision 94816 - Directory Listing
Modified Thu Apr 10 20:11:59 2014 UTC (5 years, 9 months ago) by alexk
Removed unneeded parentheses and nested conditional instructions.

Revision 94787 - Directory Listing
Modified Mon Apr 7 20:38:03 2014 UTC (5 years, 9 months ago) by manus
Removed obsolete `meaningful_content' and updated callers accordingly.

Revision 94780 - Directory Listing
Modified Fri Apr 4 13:27:14 2014 UTC (5 years, 9 months ago) by jfiat
Use object test for void-safe code

Revision 94774 - Directory Listing
Modified Thu Apr 3 22:44:25 2014 UTC (5 years, 9 months ago) by manus
Merged ANNOTATED_TYPE_A to TYPE_A and updated callers accordingly. This simplifies the inheritance hierachy and reduces the number of useless object tests to be done to manipulate type annotations.


Revision 94753 - Directory Listing
Modified Tue Apr 1 04:59:05 2014 UTC (5 years, 9 months ago) by manus
Added memory_analyzer.o and offset.o to the list of runtime files that are part of the runtime which needs to be reassembled to build a CECIL archive.


Revision 94747 - Directory Listing
Modified Mon Mar 31 22:51:01 2014 UTC (5 years, 9 months ago) by manus
* Fixed an issue with the catcall checker where the type of manifest strings being frozen, we might inadvertantly change the type of {CLASS_C}.actual_type for the STRING_8 class causing some compilation errors. This was found when checking `{STRING_8}.multiply' in the descendant class {PATH_NAME}. We could not reproduce it on a smaller example.
* Changed a typing rule so that the type of a creation expression create {A ....} would be frozen since we know for sure that the type is not going to be changed at runtime. This allows creation of frozen entities.


Revision 94734 - Directory Listing
Modified Thu Mar 27 18:36:56 2014 UTC (5 years, 10 months ago) by alexk
Added a new feature to visit {LOCAL_TYPE_A} to type visitors.
Changed TYPE_A_FEATURE_FINDER to collect all features in several potential types instead of keeping just one.
Added a provisional field to keep not only a base class of a type found by TYPE_A_FEATURE_FINDER but also the type itself that may be useful for error reports.
Moved code that adds a feature found by TYPE_A_FEATURE_FINDER to one place (class type) that should allow looking for features on type sets.
Supported looking for a feature in TYPE_A_FEATURE_FINDER by the feature alias.
Changed processing of lower and upper bounds of unknown types of local variables by initially setting them to "attached NONE" and "separate detachable ANY" respectively.
Changed the way LOCAL_TYPE_A is marked as computable, now it becomes computable when it is not updated when processing the whole code of a feature. In particular bounds no longer keep UNKNOWN_TYPE_A.
Changed computation of a minimum type for a local without type declaration (it does not perform real lookup for a common ancestor yet, the mimimum is selected from known bounds if possible).
Added computation of a maximum type for a local without type declaration (it does not perform real lookup for a common decendant yet, the maximum is selected from known bounds if possible).
Added queries that lookup for a feature by its feature name or its alias name on an unknown local type.
Improved lower/upper bound extension to take into account bounds of the type being added as a bound if it appears to be another unknown local type.
Changed addition of new bounds so that a new bound always replaces an existing one even if they are equal as the new one may be more precise if it depends on another unknown local type.
Performed feature lookup even if the target is of an unknown local type for
- normal feature calls
- agent expressions
- unary expressions
- binary expressions
- bracket expressions
- parenthesis expressions
Changed processing of manifest tuples and manifest arrays to allow items of an unknown type (this is required for fixed point computation).
Used fixed-point computation algorithm to evaluate types of locals without type declarations by ensuring that the associated types reach a stable state (i.e. no new bounds are added).
Used type approximation to compute a type of an address expression.
Used detachable types to check for VWEQ as now by convention "attached NONE" conforms to an expanded or a formal generic type.
Added LOCAL_TYPE_A_RESOLVER that correctly updates all types that depend on unknown local types.
Preserved bound information collected by a type checker from one pass to another instead of discarding it (this is required for fixed point computation).


Revision 94733 - Directory Listing
Modified Thu Mar 27 16:08:45 2014 UTC (5 years, 10 months ago) by alexk
Introduced conformance of 'attached NONE' to an expanded or formal generic type that is useful for type inference as it allows having a bottom type for all (non-frozen) types. This is safe because an object of type 'attached NONE' cannot be constructed anyway.

Revision 94731 - Directory Listing
Modified Thu Mar 27 14:36:18 2014 UTC (5 years, 10 months ago) by alexk
Redefined `is_known' to take into account the cases when a generic type depends on an unknown type.

Revision 94728 - Directory Listing
Modified Thu Mar 27 00:39:41 2014 UTC (5 years, 10 months ago) by manus
Made sure there are semicolons between arguments.
Simplified if in if statement in one if.



Revision 94727 - Directory Listing
Modified Thu Mar 27 00:08:12 2014 UTC (5 years, 10 months ago) by manus
Improved code from results of Inspector Eiffel:
* Removed useless object tests.
* Removed unneeded type in object test since expression is already of that type.
* Simplified boolean expression comparison instead of comparing against True or False.
* Removed unneeded parenthesis.
* Removed assignments to entities which were not used afterward.

Revision 94726 - Directory Listing
Modified Thu Mar 27 00:04:29 2014 UTC (5 years, 10 months ago) by manus
Fixed a potential bug in `store_all' found by Inspector Eiffel where we forgot to restore the cursor after traversing a list.
Removed unneeded object test.


Revision 94725 - Directory Listing
Modified Thu Mar 27 00:02:19 2014 UTC (5 years, 10 months ago) by manus
Found a potential bug in `deregister_entries_of_component_id' via the Inspector Eiffel where we duplicated a list to traverse it but we were still using the original one to perform the traversal.


Revision 94724 - Directory Listing
Modified Thu Mar 27 00:01:00 2014 UTC (5 years, 10 months ago) by manus
Improved code from results of Inspector Eiffel:
* Removed useless object tests.
* Removed unneeded type in object test since expression is already of that type.
* Simplified boolean expression comparison instead of comparing against True or False.
* Removed unneeded parenthesis.
* Removed assignments to entities which were not used afterward.

Revision 94723 - Directory Listing
Modified Wed Mar 26 23:49:35 2014 UTC (5 years, 10 months ago) by manus
Made sure there are semicolons between arguments.
Removed object tests locals that are not needed since expression is already a local or argument.

Revision 94722 - Directory Listing
Modified Wed Mar 26 23:48:38 2014 UTC (5 years, 10 months ago) by manus
Made sure there are semicolons between arguments.


Revision 94720 - Directory Listing
Modified Wed Mar 26 18:16:09 2014 UTC (5 years, 10 months ago) by manus
Improved code from results of Inspector Eiffel.


Revision 94718 - Directory Listing
Modified Wed Mar 26 03:49:29 2014 UTC (5 years, 10 months ago) by manus
Improved code from results of Inspector Eiffel.


Revision 94716 - Directory Listing
Modified Tue Mar 25 14:55:38 2014 UTC (5 years, 10 months ago) by manus
The library patterns is in $ISE_LIBRARY. $EIFFEL_SRC is for the rest.


Revision 94713 - Directory Listing
Modified Tue Mar 25 05:20:45 2014 UTC (5 years, 10 months ago) by manus
Added some detachable marks towards a void-safe code.


Revision 94712 - Directory Listing
Modified Tue Mar 25 04:46:27 2014 UTC (5 years, 10 months ago) by manus
Added some detachable marks and object tests towards a void-safe code.


Revision 94711 - Directory Listing
Modified Tue Mar 25 04:44:46 2014 UTC (5 years, 10 months ago) by manus
Added some detachable marks towards a void-safe code.


Revision 94710 - Directory Listing
Modified Tue Mar 25 04:44:12 2014 UTC (5 years, 10 months ago) by manus
Use object test in `is_first' instead of old `?='.


Revision 94709 - Directory Listing
Modified Tue Mar 25 04:43:05 2014 UTC (5 years, 10 months ago) by manus
Updated ECF to use the latest void-safe ECFs.


Revision 94708 - Directory Listing
Modified Tue Mar 25 04:42:31 2014 UTC (5 years, 10 months ago) by manus
Show that `a_feature' argument of `process_keyword_text' and `process_operator_text' is indeed detachable.


Revision 94707 - Directory Listing
Modified Tue Mar 25 04:40:36 2014 UTC (5 years, 10 months ago) by manus
Show that `a_feature' argument of `process' is indeed detachable.


Revision 94706 - Directory Listing
Modified Tue Mar 25 04:39:25 2014 UTC (5 years, 10 months ago) by manus
Removed classes that are not part of the compiler anymore.


Revision 94704 - Directory Listing
Modified Tue Mar 25 04:06:43 2014 UTC (5 years, 10 months ago) by manus
Updated to not use `is_service_available' queries, but use the query directly and check for attached results instead.


Revision 94703 - Directory Listing
Modified Tue Mar 25 04:05:29 2014 UTC (5 years, 10 months ago) by manus
Updated to not use `is_service_available' queries, but use the query directly and check for attached results instead.


Revision 94702 - Directory Listing
Modified Tue Mar 25 03:54:57 2014 UTC (5 years, 10 months ago) by manus
Updated to not use `is_service_available' queries, but use the query directly and check for attached results instead.


Revision 94701 - Directory Listing
Modified Tue Mar 25 03:54:03 2014 UTC (5 years, 10 months ago) by manus
Updated to not use `is_service_available' queries, but use the query directly and check for attached results instead.


Revision 94700 - Directory Listing
Modified Tue Mar 25 03:47:04 2014 UTC (5 years, 10 months ago) by manus
Removed non-used local.


Revision 94686 - Directory Listing
Modified Mon Mar 24 21:52:11 2014 UTC (5 years, 10 months ago) by zurfluhs
Added code analysis tool (Inspector Eiffel)

Revision 94668 - Directory Listing
Modified Fri Mar 21 23:21:17 2014 UTC (5 years, 10 months ago) by manus
* Removed loading of Ace/Epr file in EiffelStudio. The Epr loading is gone forever (as it was just a mean to retrieve an already compiled project from version 5.6 or earlier, which had an Ace file anyway). The Ace file loading is delegated to a tool `ace2ecf' which will now be included in the delivery.
* Remove constants and messages that are not in use anymore.
* Moved the ace2ecf tool from the configuration framework to the tools folder.
* Updated the ace2ecf tool to use the argument library to process arguments.
* Moved all the ACE parsing classes and loading to the ace2ecf tool.


Revision 94665 - Directory Listing
Modified Fri Mar 21 23:11:40 2014 UTC (5 years, 10 months ago) by manus
Made it match the signature we provided for descendants by using detachable where it was possible detachable.

Revision 94640 - Directory Listing
Modified Wed Mar 19 16:58:52 2014 UTC (5 years, 10 months ago) by jfiat
Client and compiler integration improvements, with local iron repository support, and new "iron:package-name:path-to-file.ecf" uri.

Added support for file system iron repository, to be able to use a working copy are iron repository,
  the file stayed in place, but the user has to "iron install .." the packages to use them.
  this requires the presence of a package.iron file. (specification will be documented soon)
  A local iron repository could be for instance: file:///C:/_dev/trunk/Src/library

Added a new way to reference iron package with specific uri:   
     "iron:package-name:relative-path-to-file.ecf"
  And it uses the declared iron repositories to find out local path.
  The user does not have to use full http://iron.. in the .ecf or hack ISE_LIBRARY for that purpose.
  And with the addition of local file system iron repositories, depending on the order, the reference
    package is installed from local repository, or remote repository. Depending on the order of the repositories.
  for instance "iron:xml:parser/xml_parser-safe.ecf" 
  instead of previously "http://iron.eiffel.com/13.11/com.eiffel/library/text/parser/xml/parser/xml_parser-safe.ecf"
  
Repository are not anymore associated with a name,
  in the repository.ecf are listed only the full URI of the repositories
  command line changed, now it is for instance:
  > iron repository --add file:///C:/_dev/trunk/Src/library 
  > iron repository --add http://iron.eiffel.com/14.05 

The repository declaration order is used to resolve name conflict.
The iron client, now ask which package to install in case of name conflict, 
  and it is possible to install a package by providing the full uri
  for instance 
  > iron install http://iron.eiffel.com/14.05/com.eiffel/library/diff/
  > iron install file:///C:/_dev/trunk/Src/library/diff/
  or just the package name
  > iron install diff
  then the iron client, will ask in case of conflict

Better integration with the ISE compiler, now it can install on demand or automatically the missing iron packages.

Added iron commands support, that will launch executable installed under $IRON_PATH/iron/spec/$ISE_PLATFORM/bin/commands/
  so far, only two commands are available:  
     - update_ecf: to update an .ecf to use the new iron:package-name:relative_path_to_file.ecf
     - update_iron: build or update the package.iron for a given folder. 
               (this can be used to generate the initial iron file for a package,library)

Internally, redesigned the installation api implementation, to avoid any future maintenance issue with file names.
Improved the various iron client operation especially for the display.

Revision 94638 - Directory Listing
Modified Wed Mar 19 16:15:24 2014 UTC (5 years, 10 months ago) by manus
Removed non-used local.


Revision 94628 -