* Implemented "affected target" and "affected source" in Info tool. They are used to report potential target or source changes that are affected by corresponding source and target.
* Use MD5 to identify an EIS entry. Original `id' was actually target id. Reimplemented comparison and hash code algorithm.
* Changed EIS_ENTRY_SERVER to use explicit type of EIS_ENTRY, so internally in SEARCH_TABLE, we can setup the equality tester for EIS_ENTRY.
* Added in EIS_STORAGE new data to be stored across sessions. fingerprint_server, acknowledge_server and change_server.
* Added invariants in EB_FOLDER.
* Fixed an issue in ES_EIS_TREE that an config error could result in double EIS tree building.
* Fixed a minor issue that "items without tag" item in the tree was not display correct icon.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92389 8089f293-4706-0410-a29e-feb5c42a2edf
Now preventing launching of autotest test creation if system is in an invalid state

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92390 8089f293-4706-0410-a29e-feb5c42a2edf
Removed `is_parsing_class_head' which was introduced at rev#67227 but not used at time of commit.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92391 8089f293-4706-0410-a29e-feb5c42a2edf
Added printing of the size of a pointer.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92392 8089f293-4706-0410-a29e-feb5c42a2edf
Fixed error where we assign an argument rather than comparing it. Found using `clang'.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92393 8089f293-4706-0410-a29e-feb5c42a2edf
Removed `right_adjust' to keep the data as it is. This fixed the issue that trailing space was missing.
Changed type mapping for STRING_* from CHAR/NCHAR to VARCHAR/NVARCHAR in ODBC for table allocation.

review#9985034

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92394 8089f293-4706-0410-a29e-feb5c42a2edf
Restricted test for GUID type for ODBC only. Made MySQL side simply pass.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92395 8089f293-4706-0410-a29e-feb5c42a2edf
Added a space in a string data to cover the issue that we removed trailing space of string data read from database. See rev#92394.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92396 8089f293-4706-0410-a29e-feb5c42a2edf
Updated test results to the latest code.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92397 8089f293-4706-0410-a29e-feb5c42a2edf
Commit for review#9252072: Update CLASS_TEXT_MODIFIER to not lose unicode info from STRING_32

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92398 8089f293-4706-0410-a29e-feb5c42a2edf
Added functions used to compare 2 substrings

 same_characters (other: READABLE_STRING_8; start_pos, end_pos, index_pos: INTEGER): BOOLEAN
 same_caseless_characters (other: READABLE_STRING_8; start_pos, end_pos, index_pos: INTEGER): BOOLEAN
for the _8 _32 and _GENERAL variants for strings.

review#9276084

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92399 8089f293-4706-0410-a29e-feb5c42a2edf
Changed processing of inherited assertions to preserve previously computed locals that may be used right after type checking by some other analysis.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92402 8089f293-4706-0410-a29e-feb5c42a2edf
Added postcondition to `starting_path'.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92403 8089f293-4706-0410-a29e-feb5c42a2edf
Fixed bug#18565 to prevent any completion when a text field is not editable. Added `is_editable' for that purpose in EV_ABSTRACT_SUGGESTION_FIELD.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92404 8089f293-4706-0410-a29e-feb5c42a2edf
Added missing settings for `cat call detection'.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92405 8089f293-4706-0410-a29e-feb5c42a2edf
Used `l_types' instead of `types' for a local name as it might conflict with soon to be added `types' in ancestor.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92406 8089f293-4706-0410-a29e-feb5c42a2edf
Used `integer_types' instead of `types' for query name as it might conflict with soon to be added `types' in ancestor.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92407 8089f293-4706-0410-a29e-feb5c42a2edf
Fixed same_(*_)characters implementation and assertions.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92409 8089f293-4706-0410-a29e-feb5c42a2edf
* Fixed bug#18164 where if you touch a class without modifying it and that class has some anchors, the compiler would recompile all clients of that class at degree 3 even if not needed:
** This was because when doing a degree 4 on a class, we only solve types after degree 4 has completed. So first in{INHERIT_TABLE}.passe2, calling `feature_table.fill_pass2_control' would compare similar anchors but are different since the new one has not been solved. Then later when we do `equiv_tables := resulting_table.equiv (feature_table, pass2_control)' would mark any routines containing an anchor not equivalent. The end result is adding features in the list of changed routines of the current class which causes all clients to be recompiled.
** The solution was to ensure that `same_as' would only check the routine ID for a normal anchor (not the class ID or the feature ID which are used for code generation only). The same for the `equivalent' routines.
** Because types are not solved before hand, we had to relax the precondition of `equivalent' routines in TYPE_A to not require the type be valid to be compared.
** We reverted `{FEATURE_TABLE}.equiv' to compare feature equivalence even if they have types with evaluation delayed.
** However this broke eweasel test#incr353 because we needed to re-add some classes to degree 4 and degree 3, which is now done in {DEGREE_4}.execute when processing `delayed_classes'. Fixing this also fixed eweasel test#incr400 that was not working in previous version of the compiler.

* While fixing this bug, I came across another bug where it would crash on {TMP_AST_SERVER}.body_item and {TMP_AST_SERVER}.body_force when calling `{INHERIT_TABLE}.feature_i_from_feature_as'. I finally understood that sometimes we mark a class `changed' at degree 4 and insert it at degree 4. The consequence of doing that is that the class was not parsed in that compilation so there is no class in TMP_AST_SERVER thus the crash. The solution is to actually load the AST from the previous compilation as we do at degree 3 when we have to reupdate the AST with new IDs.


git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92411 8089f293-4706-0410-a29e-feb5c42a2edf
Removed non-used field `ck_age'.

git-svn-id: https://svn.eiffel.com/eiffelstudio/trunk@92412 8089f293-4706-0410-a29e-feb5c42a2edf