/[eiffelstudio]/FreeELKS/tags/EiffelSoftware/Eiffel_71/void_safe
ViewVC logotype

Log of /FreeELKS/tags/EiffelSoftware/Eiffel_71/void_safe

View Directory Listing Directory Listing


Sticky Revision:
(Current path doesn't exist after revision 92316)

Revision 91985 - Directory Listing
Modified Sun Jun 24 22:13:32 2012 UTC (7 years, 7 months ago) by manus_eiffel
Created EiffelStudio 7.1 release branch for FreeELKS

Revision 91984 - Directory Listing
Modified Fri Jun 15 19:34:32 2012 UTC (7 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `is_scoop_capable' that can be used in assertions/code to find out if code is running under a SCOOP capable runtime.


Revision 91983 - Directory Listing
Modified Fri Jun 15 19:23:24 2012 UTC (7 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed `make_from_separate' which forgot to set `count' properly.


Revision 91982 - Directory Listing
Modified Tue Jun 12 17:17:15 2012 UTC (7 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `disjoint' which finds out if 2 hash_tables have a disjoint set of keys based on current's comparison of keys. See eweasel test#table011 and review#7983171.


Revision 91981 - Directory Listing
Modified Thu May 24 04:13:10 2012 UTC (7 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Updated copyright year for all classes.
Cosmetics: ensured a consistent note clause and `end' class keyword without comment.


Revision 91980 - Directory Listing
Modified Wed May 16 22:43:58 2012 UTC (7 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Moved most of the `is_xxx' queries (e.g. is_integer, is_real) to the ancestor READABLE_STRING_GENERAL.
Changed the implementation of STRING_TO_NUMERIC_CONVERTOR to not assume anything about the content of the string (the code code was previously broken on the STRING_32 side as it forgot to check that input was valid as STRING_8). Now if a character that is not a CHARACTER_8 is encountered, the parsing will fail.
See review#7876088.


Revision 91979 - Directory Listing
Modified Wed May 16 22:38:32 2012 UTC (7 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added some missing postconditions to `is_valid_character_8_code' and `is_valid_character_32_code' to ensure the implementation (being optimized/simplified) is correct. See review#7823043.

Revision 91978 - Directory Listing
Modified Tue May 15 19:28:36 2012 UTC (7 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Clarified some postconditions for conversion of ARRAY <-> ARRAYED_LIST which is sharing the underlying `area'. See review#7876087.


Revision 91977 - Directory Listing
Modified Tue May 15 19:26:22 2012 UTC (7 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Adapted signature of externals to `rt_stat_buf' which is a plaform specific structure that accomodate the differences between Windows 32/64 and Unix. See review#7876052 and review#7881003.


Revision 91976 - Directory Listing
Modified Fri May 11 20:34:26 2012 UTC (7 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `make_from_separate' to STRING_8 and STRING_32 routines to make it easier to transfer strings between processors when using SCOOP.
Abstracted `make' and `make_empty' to the READABLE_STRING_GENERAL parent.
Used `make_empty' instead of `make_filled' in {READABLE_STRING_32}.make_filled to match the implementation of READABLE_STRING_8.


Revision 91975 - Directory Listing
Modified Thu Apr 26 17:20:58 2012 UTC (7 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed `twin' to actually duplicate the underlying storage SPECIAL. Otherwise you end up having FILE instances sharing the same UNIX_FILE_INFO properties. See review#7756042. This fixes eweasel test#lib039.


Revision 91974 - Directory Listing
Modified Fri Apr 6 11:55:07 2012 UTC (7 years, 9 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Fixed `left_adjust' that did not work properly when the string contained only white spaces by following the implementation of STRING_8 (bug#18153, test#string001, review#7670136).

Revision 91973 - Directory Listing
Modified Thu Apr 5 23:23:39 2012 UTC (7 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed bug#18146 where creating an array with bounds M..N and then changing the lower bound so that it is smaller than `M - N - 1' means that we need to shift elements over a gap which we did not fill with the default value.
While fixing this bug, we found that there was another bug after the shift is done, we forgot to erase one item to the default value.
We have updated eweasel test#array007.
See review#7665039.


Revision 91972 - Directory Listing
Modified Mon Apr 2 13:06:37 2012 UTC (7 years, 9 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Corrected precondition of `force' that did not allow storing elements at existing indexes (see test#array009, review#7618002).

Revision 91971 - Directory Listing
Modified Thu Mar 1 19:37:17 2012 UTC (7 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Replaced assignment attempt with assignment because the former is not required.

Revision 91970 - Directory Listing
Modified Fri Jan 20 21:26:03 2012 UTC (8 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#table010 where `valid_cursor' on a cursor obtained from an empty HASH_TABLE would cause a postcondition violation. The solution was to fix `valid_cursor' to not use `valid_iteration_index', we implemented it using `is_off_position' and `truly_occupied'. In the process we made `is_off_position' more correct by stating negative indexes as off. We wimplified `valid_iteration_index' to just check for `truly_occupied' since the latter check the validity of the index anyway. Due to the change in `is_off_position' we had to rewrite `start' to not rely on `forth' as we would be violating its precondition.
See review#7289256.


Revision 91968 - Directory Listing
Modified Sat Nov 19 00:10:01 2011 UTC (8 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `set_rout_disp' the creation procedure as this is what is used at runtime to initialize an agent. This prevent manual creation of an agent object that would not make sense.


Revision 91967 - Directory Listing
Modified Thu Nov 3 22:41:00 2011 UTC (8 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed comparison error in `is_version_mismatched' where strings should have been compared for their content, not if they point to a different address which they would do most of the time there is a mismatch caused by something else than the version number. This fixes eweasel test#store035.


Revision 91965 - Directory Listing
Modified Mon Oct 31 17:05:18 2011 UTC (8 years, 2 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Introduced TABLE_ITERATOR and TABLE_ITERATION_CURSOR to allow "across" iteration using `key' and `item'
And also have HASH_TABLE conforming to TABLE_ITERABLE

Revision 91964 - Directory Listing
Modified Fri Oct 21 16:28:29 2011 UTC (8 years, 3 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Replaced usage of obsolete ARRAY.make by ARRAY.make_filled

Revision 91963 - Directory Listing
Modified Thu Oct 20 16:09:20 2011 UTC (8 years, 3 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Added comments for (internal_)character_types

Revision 91962 - Directory Listing
Modified Thu Oct 20 09:03:57 2011 UTC (8 years, 3 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Fixed various indentation issues, and missing assertion tag

Revision 91961 - Directory Listing
Modified Tue Oct 18 11:39:21 2011 UTC (8 years, 3 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Marked type BIT as obsolete.

Revision 91960 - Directory Listing
Modified Sat Oct 8 19:10:47 2011 UTC (8 years, 3 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Added attachment marks to arguments that are expected to be attached.

Revision 91959 - Directory Listing
Modified Thu Oct 6 05:44:19 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Improved performance of `item' and `has' by at least 10% (sometime up to 30%) depending on the content by avoiding the storage of `control' and `position' when searching for an item. The way we achieve this is by manually inlining the content of `internal_search' without updating any private attributes of HASH_TABLE.


Revision 91958 - Directory Listing
Modified Wed Oct 5 15:15:55 2011 UTC (8 years, 3 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Removed unused local.

Revision 91957 - Directory Listing
Modified Wed Oct 5 05:59:31 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `ends_with' to READABLE_STRING_GENERAL.
Improved `starts_with' loop by going from count to 0.


Revision 91956 - Directory Listing
Modified Tue Oct 4 21:35:10 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Moved `has_substring', `substring_index, `substring_index_in_bounds' and `fuzzy_index' to READABLE_STRING_GENERAL.
Dropped requirement that the searched string has to be valid as a STRING_8 string since now STRING_SEARCHER handles that case properly.


Revision 91955 - Directory Listing
Modified Tue Oct 4 06:29:12 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `starts_with' in READABLE_STRING_GENERAL.


Revision 91954 - Directory Listing
Modified Sat Oct 1 04:35:21 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Moved all string related classes to the `string' subdirectory of the kernel.


Revision 91953 - Directory Listing
Modified Sat Oct 1 00:14:58 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Extended search facilities to allow searches on STRING_32 as well (no more restriction to just STRING_8). The search is optimized when looking into a STRING_32 whose codes are below `max_code_point_value' (here 2000), above the search will be offset by one more. This is to avoid a large memory footprint since there a 1,114,095 possible unicode code point which is 1MB of data and even worse if performing a fuzzy search).
Improved speed of search by creating 2 optimized descendants of STRING_SEARCHER: STRING_8_SEARCHER and STRING_32_SEARCHER. The benchmakrs shows we go from 4.35s down to 2.89s because now we access the searched string directly via its `area', instead of calling `code' on it.
Added `replace_substring_all' optimization, previously only committed for STRING_8.

Revision 91952 - Directory Listing
Modified Fri Sep 30 13:43:27 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Addressed performance issue of `replace_substring_all' of bug#17707 where we now optimize replacement of a string by a larger one by first calculating the positions where the original string is located in the Current string and then performing one reallocation and then performing the substitution from the end. Our benchmarks shows that for a 100K string and about 5000 substitution it is a 30x speed improvement.


Revision 91951 - Directory Listing
Modified Thu Sep 29 23:05:45 2011 UTC (8 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Cosmetics.


Revision 91950 - Directory Listing
Modified Thu Sep 29 06:33:43 2011 UTC (8 years, 3 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Used a mandatory check instruction instead of an optional one because the CAP for the latter is going to be dropped.
Used {TYPE}.default in `make_filled'.
Added a precondition to `make_filled' that the actual generic has a default value as this is required to call {TYPE}.default.


Revision 91949 - Directory Listing
Modified Thu Sep 29 06:31:04 2011 UTC (8 years, 3 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Used a mandatory check instruction instead of an optional one because the CAP for the latter is going to be dropped.

Revision 91948 - Directory Listing
Modified Tue Sep 27 00:00:46 2011 UTC (8 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed some more issues with using instances of IMMUTABLE_STRING_xx obtained via a call to `shared_substring' where the lower bound is not 1:
- index_of, last_index_of, has
- hash_code
- occurrences
- is_valid_as_string_8
The fix was to ensure we use `area_lower' instead of 0 for the lower bound in the SPECIAL.
The drawback of the fix is that there is a 1% slow down in performance due to the polymorphic call to `area_lower' when applied on the EiffelStudio compiler.


Revision 91947 - Directory Listing
Modified Mon Sep 26 21:27:57 2011 UTC (8 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed `item', `item_code' and `code' which did not properly work on IMMUTABLE_STRING_xx when the are obtained from `shared_substring' with a lower index that is not 1.


Revision 91946 - Directory Listing
Modified Sun Sep 25 19:49:38 2011 UTC (8 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Moved some queries to the READABLE_STRING_GENERAL ancestor:
- is_boolean, true_constant, false_constant
- is_number_sequence, is_real_sequence
- is_real, is_double, is_integer_XX, is_natural_XX
- as_lower, as_upper

Fixed a bug in `is_boolean' when applied to IMMUTABLE_STRING_XX instances made via `shared_substring' where the lower index is not 1, it would not use `area_lower' for its lower offset in the comparison.


Revision 91945 - Directory Listing
Modified Wed Sep 21 21:57:33 2011 UTC (8 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `is_default_pointer' to quickly check if a pointer is equal to the default_pointer query.


Revision 91944 - Directory Listing
Modified Thu Sep 8 11:08:10 2011 UTC (8 years, 4 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Marked `item'/`at' as stable to allow application of the new rules on assigner procedures that allow types with different attachment status.

Revision 91943 - Directory Listing
Modified Mon Sep 5 14:10:30 2011 UTC (8 years, 4 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Updated copyright information.

Revision 91942 - Directory Listing
Modified Mon Sep 5 09:37:39 2011 UTC (8 years, 4 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Corrected signature and implementation of `duplicate' to return an attached result (this addresses bug#17806).

Revision 91941 - Directory Listing
Modified Thu Aug 18 15:00:33 2011 UTC (8 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Cosmetics.


Revision 91940 - Directory Listing
Modified Wed Aug 17 22:32:15 2011 UTC (8 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Minor modification to speed up twin operation for the most general cases where one twin a small string with a large buffer by not copying the large buffer but only the usable part. In EiffelStore this has a 20% speed up for general database operation.


Revision 91939 - Directory Listing
Modified Fri Jul 29 11:57:51 2011 UTC (8 years, 5 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Added a false postcondition to the feature `die' to indicate that execution cannot reach any point after a call to this routine.

Revision 91938 - Directory Listing
Modified Mon Jul 25 21:08:02 2011 UTC (8 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `own_from_pointer' requires a non-null pointer, as otherwise it was violating the invariant of the class.


Revision 91936 - Directory Listing
Modified Fri Jun 17 21:12:00 2011 UTC (8 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed useless implementation of {ARRAY}.trim because we were comparing against the wrong capacity instead of against the capacity of the `area'. This addresses bug#17669.


Revision 91934 - Directory Listing
Modified Sat Jun 4 16:41:35 2011 UTC (8 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed bug#17622 where a STRING used in `read_to_string' would not have its `hash_code' changed even if its content changed. See eweasel test#lib037.


Revision 91931 - Directory Listing
Modified Mon May 16 05:26:08 2011 UTC (8 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Previous update to correct_mismatch was somehow incorrect and would not retrieve an old HASH_TABLE (before the change to void-safety). This fixed eweasel test#store034.


Revision 91930 - Directory Listing
Modified Mon May 9 04:43:26 2011 UTC (8 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed requirement of having `start' in ITERATION_CURSOR. Note that you need a new compiler to compile this code, otherwise it will complain about a missing `start' routine.


Revision 91929 - Directory Listing
Modified Thu Apr 28 06:41:40 2011 UTC (8 years, 9 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Made ITERATION_CURSOR more abstract by moving most of the functionality to INDEXABLE_ITERATION_CURSOR, so that ITERATION_CURSOR may be used in the contexts that do not have target structure, do not support manipulations with indexes, etc.
Replaced `cursor_index' with a function that computes its value based on `target_index', `is_reversed' and `step'.
Ensured `new_cursor' returns a new cursor in a started state, so that feature `{ITERATION_CURSOR}.start' can be removed in the future.
Made `after' more general, so that it returns `True' also in the cases when a cursor or a structure are not in a valid state, that in fact means there are no more items to iterate on.
Moved inheritance link to ITERABLE from ITERATION_CURSOR to INDEXABLE_ITERATION_CURSOR so that a cursor class may decide whether it supports ITERABLE or not.


Revision 91928 - Directory Listing
Modified Wed Apr 20 05:17:38 2011 UTC (8 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Forgot to relax precondition of `delete' to use `path_exists' as `exists' will try to follow a symbolic link and `delete' will not anyway, so we are interesting in deleting the current file/link and not checking if the links point to something that actually exists.


Revision 91927 - Directory Listing
Modified Wed Apr 13 07:39:02 2011 UTC (8 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
* Changed UNIX_FILE_INFO to not raise an error in `update' when the file does not exist. Now we have added a precondition `exists' to the various queries to reflect that. 
* Added the ability to perform queries on the symbolic link itself in UNIX_FILE_INFO by setting or not `is_following_symlinks'.
* Changed PATH_NAME to reuse inherited routine `make_empty' and `make_from_string' as creation procedure since they are slightly more efficient.
* Added {PATH_NAME}.reset to start a new path name without having to create a new instance.
* Improved deletion of content in DIRECTORY by avoiding creation of objects and only performing one `update' query per file.
* Fixed {FILE}.is_symlink so that it returns true when the pointed file is a symbolic link.
* Improved {FILE}.reset to avoid checking for voidness status of `last_string' which is always attached.


Revision 91925 - Directory Listing
Modified Tue Apr 12 21:57:58 2011 UTC (8 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Cosmetics.


Revision 91924 - Directory Listing
Modified Tue Apr 12 21:46:50 2011 UTC (8 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Cosmetics.


Revision 91923 - Directory Listing
Modified Wed Feb 23 00:51:51 2011 UTC (8 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#string001 where using `is_natural_xx' for a negative number would return True instead of False. This is because that we set the state of the parsing to an error and then override that state right away. 


Revision 91922 - Directory Listing
Modified Wed Feb 23 00:48:56 2011 UTC (8 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Allowed left_adjust and right_adjust on STRING_32 characters which remove white spaces as they are known for CHARACTER_8.


Revision 91921 - Directory Listing
Modified Tue Feb 8 18:09:15 2011 UTC (8 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed the check that is not found after a call to `search_for_insertion' since that routine does not need to set `control' since we know that the element will not be found per the precondition.


Revision 91920 - Directory Listing
Modified Mon Jan 31 18:20:26 2011 UTC (8 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#table009 where `search_for_insertion' did not take into account previously removed items to find a new location. Now its code is similar to `internal_search' except that we take the precondition into account by ignoring the cases where the key is already present.


Revision 91919 - Directory Listing
Modified Fri Jan 14 16:26:06 2011 UTC (9 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `prepend_string' in STRING_GENERAL.
Updated the substring-like routines to take a READABLE_STRING_GENERAL as argument with the constraint that it has to be considered as a valid STRING_8.


Revision 91917 - Directory Listing
Modified Fri Dec 10 23:00:54 2010 UTC (9 years, 1 month ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Commented out very expensive assertion.


Revision 91914 - Directory Listing
Modified Wed Nov 17 20:37:28 2010 UTC (9 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed typo in comment.


Revision 91913 - Directory Listing
Modified Mon Oct 4 18:00:48 2010 UTC (9 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed obsolete calls to `conservative_resize' and use `conservative_resize_with_default' instead.


Revision 91912 - Directory Listing
Modified Thu Sep 30 19:58:55 2010 UTC (9 years, 3 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Added deferred `keep_head' and `keep_tail' on STRING_GENERAL 

Revision 91911 - Directory Listing
Modified Wed Sep 29 21:12:07 2010 UTC (9 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `conservative_resize' obsolete since its usage is not void-safe. Updated callers accordingly.


Revision 91910 - Directory Listing
Modified Wed Sep 29 21:08:54 2010 UTC (9 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed a bug where calling `put' twice in a row would cause a leak because the previous weak reference entry was not released.


Revision 91909 - Directory Listing
Modified Wed Sep 29 21:05:34 2010 UTC (9 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Make `empty_operands' always attached since it is the case and does not depend on the actual generic type.


Revision 91908 - Directory Listing
Modified Tue Sep 14 14:27:26 2010 UTC (9 years, 4 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Called `default' on a type instead of an element since the latter may be of a separate type thus violating the rule for the separate feature call target.

Revision 91907 - Directory Listing
Modified Fri Sep 3 13:52:20 2010 UTC (9 years, 4 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Taken into account that actual generic may be separate, so assignment attempt should accept separate argument as well.

Revision 91906 - Directory Listing
Modified Tue Aug 31 22:45:22 2010 UTC (9 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Initial implementation of WEAK_REFERENCE class that does not support an expanded actual generic parameter and that relies solely on the Eiffel Software Runtime. The final version should use builtins instead but this is not yet the case as the compiler hasn't been updated to recognize the WEAK_REFERENCE type.


Revision 91905 - Directory Listing
Modified Tue Aug 31 22:42:04 2010 UTC (9 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Use a local to buffer `area_v2' for minor speed improvement on `force' and `extend'.


Revision 91904 - Directory Listing
Modified Wed Aug 25 19:31:06 2010 UTC (9 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Updated assertion tag to match what is being generated.
Use `fill_with' in aliased_resized_area_with_default for more efficiency.


Revision 91903 - Directory Listing
Modified Wed Aug 18 18:49:21 2010 UTC (9 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `is_expanded' query to find out if a current type is expanded.


Revision 91901 - Directory Listing
Modified Thu Jul 22 00:03:23 2010 UTC (9 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Set `min_value' and `max_value' to their more precise value. This fixes eweasel test#exec326.


Revision 91900 - Directory Listing
Modified Wed Jul 14 18:26:25 2010 UTC (9 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made {ARRAY}.make_empty argumentless and added {ARRAY}.rebase that would help creating an empty array with a give `lower'.
Updated code of EiffelBase to not use `{ARRAY}.make' which is obsolete since not quite void-safe.
As a result of the above change, rewrote BOUNDED_QUEUE and BOUNDED_STACK to use the same implementation of ARRAYED_QUEUE and ARRAYED_STACK, the only difference is that `extendible' is defined to be False. We have redefined `correct_mismatch' to ensure retrieval.


Revision 91898 - Directory Listing
Modified Tue Jul 6 16:27:42 2010 UTC (9 years, 6 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Marked `make' as obsolete since `make' is not void-safe statically. 
   Use `make_empty' or `make_filled' instead.
Fixed subarray void-safety issue

Revision 91897 - Directory Listing
Modified Tue Jul 6 10:36:36 2010 UTC (9 years, 6 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Better void-safe code 
- removed useless type declaration in attached {EXCEPTION} ... 
- removed a few useless object test local variables, when we just care about the type conformance)

Revision 91896 - Directory Listing
Modified Mon Jul 5 14:19:47 2010 UTC (9 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Better fix for eweasel test#list010 by querying the `area_v2' capacity directly when we manipulate `area_v2' instead of going through `capacity' that might be redefined differently in descendants.


Revision 91895 - Directory Listing
Modified Fri Jul 2 19:57:49 2010 UTC (9 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed issue with twinning and deep_twinning a FIXED_LIST that would reset `capacity' to `count' (see eweasel test#list010).


Revision 91891 - Directory Listing
Modified Mon Jun 28 17:03:46 2010 UTC (9 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Simplified postcondition of `safe_less_than' to better reflect the contract of `<' as specified in COMPARABLE. It also let you redefine `safe_less_than' to mean something else than `<' in a descendant.


Revision 91890 - Directory Listing
Modified Mon Jun 28 16:10:49 2010 UTC (9 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed wrong comments about the boolean status of some queries.


Revision 91888 - Directory Listing
Modified Mon Jun 21 21:20:30 2010 UTC (9 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#lib036 where `pad_fraction' did not process properly when one decided to not show the trailing zeros and there were only zeros after the decimal point.
Fixed the post-condition of `pad_fraction' to reflect that the count is set to `decimals' but only when one shows the trailing zeros.


Revision 91887 - Directory Listing
Modified Fri Jun 18 23:50:12 2010 UTC (9 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#exec329 where `abs_ref' was incorrectly defined when `item' was negative 0.


Revision 91886 - Directory Listing
Modified Wed Jun 9 21:47:09 2010 UTC (9 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `min_value' and `max_value' to REAL_32 and REAL_64.


Revision 91885 - Directory Listing
Modified Wed Jun 9 16:10:39 2010 UTC (9 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed export of `sequential_occurrences' as the other `sequential_xxx' features since they do not save the cursor which can be problematic, final users should use `occurrences' instead (Ideally we should be using `Precursor' but that's a whole different story).


Revision 91884 - Directory Listing
Modified Thu Jun 3 16:59:30 2010 UTC (9 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed comments from `finish' that were added in the first revision of ARRAYED_LIST in 1993 and this does not seem to apply anymore.


Revision 91883 - Directory Listing
Modified Wed May 26 18:50:45 2010 UTC (9 years, 8 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
better code, and also fully void-safe

Revision 91882 - Directory Listing
Modified Wed May 26 17:25:02 2010 UTC (9 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Integrated patch from Guus Leeuw to fix the wrong class name used in comments (NUMBER_INFORMATION instead of NUMERIC_INFORMATION).


Revision 91881 - Directory Listing
Modified Wed May 26 16:31:52 2010 UTC (9 years, 8 months ago) by jfiat
Original Path: FreeELKS/trunk/void_safe
Fixed a void-safety issue with current_keys
(note that it is better to iterate and use key_for_iteration instead of using the current_keys .. but it is up to the user)

Revision 91878 - Directory Listing
Modified Wed May 19 18:18:44 2010 UTC (9 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Cosmetics.


Revision 91877 - Directory Listing
Modified Tue May 18 22:25:29 2010 UTC (9 years, 8 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added contribution from ITPassion for converting hexastring into an actual number.


Revision 91876 - Directory Listing
Modified Thu Apr 22 22:50:37 2010 UTC (9 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
No need for a local variable, we can use the argument directly in `valid_iteration_index'.


Revision 91875 - Directory Listing
Modified Tue Apr 20 19:32:13 2010 UTC (9 years, 9 months ago) by arnofiva
Original Path: FreeELKS/trunk/void_safe
Fixed bug #16695 by replacing off with after, otherwise it is not possible to move forward if `before' was true.


Revision 91874 - Directory Listing
Modified Tue Apr 20 18:11:04 2010 UTC (9 years, 9 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed `off' and used `after' as per indicated in proposal for the new loop construct.


Revision 91873 - Directory Listing
Modified Tue Apr 13 11:07:03 2010 UTC (9 years, 9 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Exported `new_cursor' so that ARRAYED_SET can be iterated over using the across form of a loop.

Revision 91872 - Directory Listing
Modified Fri Mar 26 18:21:20 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `is_field_expanded' and `is_field_expanded_of_type' to have a slightly more efficient way than `field_type' and `field_type_of_type' to find out if a field's type is expanded (meaning a user-defined expanded, not a basic type).
Made `expanded_field_type' obsolete since we can get the same information efficiently using existing routines.


Revision 91871 - Directory Listing
Modified Fri Mar 26 17:48:52 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed useless comments.


Revision 91868 - Directory Listing
Modified Mon Mar 22 18:42:14 2010 UTC (9 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Ensured `in_index' returns some meaningful result when there is no allocated storage.

Revision 91867 - Directory Listing
Modified Mon Mar 22 15:26:52 2010 UTC (9 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Minor optimization in `linear_representation'.

Revision 91866 - Directory Listing
Modified Mon Mar 22 12:36:04 2010 UTC (9 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Added feature {RESIZABLE}.trim that allows to minimize allocated storage.

Revision 91865 - Directory Listing
Modified Mon Mar 22 12:07:52 2010 UTC (9 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Avoided using an extra slot that does not keep any value.

Revision 91864 - Directory Listing
Modified Fri Mar 19 12:50:10 2010 UTC (9 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Corrected comment of feature `prunable' to match the real behaviour.

Revision 91863 - Directory Listing
Modified Fri Mar 19 12:35:54 2010 UTC (9 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Cosmetics.

Revision 91862 - Directory Listing
Modified Fri Mar 19 11:44:37 2010 UTC (9 years, 10 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Corrected comments of features keep/remove_head/tail to mention items rather than characters.

Revision 91861 - Directory Listing
Modified Tue Mar 16 20:06:56 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed improper `svn:keywords' setting.
-This line, and those below, will be ignored--

_M   kernel/exceptions/routine_failure.e
_M   kernel/exceptions/sys_exception.e
_M   kernel/exceptions/exception.e
_M   kernel/exceptions/operating_system_signal_failure.e
_M   kernel/exceptions/language_exception.e
_M   kernel/exceptions/check_violation.e
_M   kernel/exceptions/old_violation.e
_M   kernel/exceptions/developer_exception.e
_M   kernel/exceptions/operating_system_failure.e
_M   kernel/exceptions/bad_inspect_value.e
_M   kernel/exceptions/void_target.e
_M   kernel/exceptions/loop_invariant_violation.e
_M   kernel/exceptions/operating_system_exception.e
_M   kernel/exceptions/hardware_exception.e
_M   kernel/exceptions/eiffel_runtime_exception.e
_M   kernel/exceptions/invariant_violation.e
_M   kernel/exceptions/exception_manager_factory.e
_M   kernel/exceptions/postcondition_violation.e
_M   kernel/exceptions/eif_exception.e
_M   kernel/exceptions/precondition_violation.e
_M   kernel/exceptions/machine_exception.e
_M   kernel/exceptions/floating_point_failure.e
_M   kernel/exceptions/com_failure.e
_M   kernel/exceptions/exception_manager.e
_M   kernel/exceptions/variant_violation.e
_M   kernel/exceptions/void_assigned_to_expanded.e
_M   kernel/exceptions/obsolete_exception.e
_M   kernel/exceptions/assertion_violation.e
_M   structures/access/readable_indexable.e


Revision 91860 - Directory Listing
Modified Tue Mar 16 20:04:38 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed improper `svn:keywords' setting.
-This line, and those below, will be ignored--

_M   cursors/two_way_list_iteration_cursor.e
_M   cursors/hash_table_iteration_cursor.e
_M   cursors/indexable_iteration_cursor.e
_M   cursors/linked_list_iteration_cursor.e


Revision 91859 - Directory Listing
Modified Tue Mar 16 20:03:40 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed improper `svn:keywords' setting or even missing in some cases.


Revision 91858 - Directory Listing
Modified Tue Mar 16 20:00:12 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed improper `svn:keywords' setting or even missing in some cases.


Revision 91856 - Directory Listing
Modified Thu Mar 11 23:13:52 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Allow export of `make' to everyone since now MISMATCH_INFORMATION is not a singleton anymore.


Revision 91855 - Directory Listing
Modified Wed Mar 10 23:49:20 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Changed the return type of `storable_version_of_type' to be a C string pointer, that way the Eiffel code is free to chose the type of string it will create. Currently, INTERNAL will now choose to create an IMMUTABLE_STRING_8.


Revision 91854 - Directory Listing
Modified Wed Mar 10 23:47:50 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Now version data is stored as an IMMUTABLE_STRING_8.
Adapted to runtime change which calls back using C strings for setting version information.


Revision 91852 - Directory Listing
Modified Wed Mar 10 23:44:15 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `storable_version_of_type' return an IMMUTABLE_STRING_8, and to avoid useless object creation added a caching mechanism.


Revision 91851 - Directory Listing
Modified Wed Mar 10 17:28:27 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed typo, added missing comment to `type_name_key'.


Revision 91850 - Directory Listing
Modified Wed Mar 10 17:27:15 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `attached_type' and `detachable_type' which let you get the attached or the detachable version of a type.


Revision 91848 - Directory Listing
Modified Wed Mar 10 00:23:24 2010 UTC (9 years, 10 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Renamed `class_key' into `type_name_key' and gave it a value that cannot conflict with an attribute name.
Exported `set_versions' needed by SED.
Removed invariant since it is not a singleton anymore and exported creation to SED.
Made `detachable ANY' the type of the items since we do manipulate `Void' attributes during a mismatch.


Revision 91846 - Directory Listing
Modified Wed Feb 24 21:55:36 2010 UTC (9 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made obsolete some of the STORABLE routines enabling users to configure the format of storable for independent store.
Added `storable_Version' support in MISMATCH_INFORMATION so that one can find out a reason for the mismatch.

Revision 91845 - Directory Listing
Modified Wed Feb 24 20:06:58 2010 UTC (9 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#store027 which did not pass anymore after we fixed test#conform001 which allowed (A [detachable STRING] to conform to `A [attached ANY]'. The issue was that we were not storing all the objects because we ignored all the SPECIAL of detachable types.


Revision 91844 - Directory Listing
Modified Tue Feb 16 16:38:14 2010 UTC (9 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Cosmetics on ISE_RUNTIME for argument names.
Added `storable_version_of_type' in ISE_RUNTIME and used it in INTERNAL.
Moved C external `persistent_field_count_of_type' from INTERNAL to ISE_RUNTIME.


Revision 91843 - Directory Listing
Modified Tue Feb 16 04:39:41 2010 UTC (9 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed a bug in `make_from_cil' that was actually not setting the count properly thus yielding an empty string even if source was not empty.


Revision 91842 - Directory Listing
Modified Sat Feb 13 06:16:50 2010 UTC (9 years, 11 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added support in INTERNAL for finding out if a field of an object was marked `transient' or not.
Added the ability in OBJECT_GRAPH_TRAVERSAL to skip transient object when finding out all the objects of a graph.


Revision 91841 - Directory Listing
Modified Tue Jan 26 00:08:53 2010 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added true support for ITERATION_CURSOR, ITERABLE in most EiffelBase containers.
Added READABLE_INDEXABLE abstraction which is a readonly version of INDEXABLE.
Added VERSIONABLE which is not yet used by our containers, but will shortly. This adds a `version' attribute which is incremented at each modification of a structure.
Only the TREE classes although inheriting from ITERABLE do not provide a proper way of iterating of their items.

Revision 91839 - Directory Listing
Modified Wed Jan 20 19:17:38 2010 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `fill_with' in ARRAY to balance with `filled_with' query.
Redesigned ARRAY2 so that it works in void-safe mode by adding appropriate precondition `({G}).has_default' where it was needed, i.e. `make' and `resize'.
Improved ARRAY2 resizing by doing in place resizing rather than creating a new ARRAY2 structure and moving items afterwards.


Revision 91838 - Directory Listing
Modified Tue Jan 19 17:45:23 2010 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed `{ARRAY}.all_default' so that it returns True when the ARRAY is empty in void-safe mode.
Fixed `{ARRAY}.force' so that eweasel test#array007 passes. It failed because even if we extended the ARRAY by one to `lower - 1' or `upper + 1' we could have resized the SPECIAL by more than one and there ({G}).default would violate its precondition because a reference attached type has no default value. Now we resize the SPECIAL with a new capacity but we change the count to what's required, not `capacity'.


Revision 91836 - Directory Listing
Modified Thu Jan 14 00:13:38 2010 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made DOUBLE_MATH and SINGLE_MATH consistent.
Use REAL_64 and REAL_32 instead of DOUBLE and REAL.
Removed unnecessary preconditions in SINGLE_MATH since it is valid to call them with negative values, it just means that the result will most likely be NaN.


Revision 91835 - Directory Listing
Modified Thu Jan 14 00:09:24 2010 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added Pi_2 and Pi_4 that can be quite useful for numerical computation.


Revision 91834 - Directory Listing
Modified Mon Jan 11 21:59:58 2010 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added support for NaN, +Infinity and -Infinity in REAL_32 and REAL_64.
Protected the invariant as it currently does not hold for NaN values.


Revision 91833 - Directory Listing
Modified Mon Jan 11 21:56:08 2010 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Relaxed precondition of `ARRAY.force' so that one can extend by one at `lower - 1' or `upper - 1' even if the actual generic parameter of the array is attached and you cannot provide a default value. This makes it possible to extend an ARRAY progressively starting from an empty ARRAY.


Revision 91832 - Directory Listing
Modified Mon Dec 28 21:47:26 2009 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Exported `internal_hash_code' to READABLE_STRING_GENERAL so that it can be use to speed up string comparison for large strings with same count but different content.


Revision 91831 - Directory Listing
Modified Mon Dec 28 21:13:36 2009 UTC (10 years ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Use `same_string' to compare directory path as this is what we care about, not about the type.


Revision 91830 - Directory Listing
Modified Fri Dec 25 01:15:45 2009 UTC (10 years, 1 month ago) by ikingifl
Original Path: FreeELKS/trunk/void_safe
Fixed call to memory_calloc in make where the arguments were back to front

Revision 91826 - Directory Listing
Modified Tue Dec 1 21:38:18 2009 UTC (10 years, 1 month ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed typo in `is_immutable' description.
Fixed bug in `remove_substring' which was not changing the `hash_code'.


Revision 91822 - Directory Listing
Modified Tue Nov 24 17:08:39 2009 UTC (10 years, 2 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
The class expects that the sign string is divisible by 3. But its internal implementation breaks this assumption. The fix makes this documented and executable in the form of a class invariant. It also fixes the implementation. After the fix the letters CR and DR are printed as expected.

Revision 91817 - Directory Listing
Modified Tue Nov 24 00:40:03 2009 UTC (10 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#table006 where if a table has all its slots used once but not full, a call to `has' could cause an infinite loop. The solution is to limit the number of iteration in `internal_search' to the number of available slots.


Revision 91816 - Directory Listing
Modified Mon Nov 16 18:07:51 2009 UTC (10 years, 2 months ago) by pryomoax
Original Path: FreeELKS/trunk/void_safe
Removed support classes for NLC, to allow for a full post-release experimental patch.


Revision 91815 - Directory Listing
Modified Mon Nov 9 18:49:04 2009 UTC (10 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#table007 where removal of the default key did not properly update the deleted_marks and indexes_map content which would cause a crash when iterating over the table.


Revision 91814 - Directory Listing
Modified Wed Nov 4 20:04:22 2009 UTC (10 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `to_array' which can be used to create in void-safe mode manifest array with an attached actual generic parameter.


Revision 91812 - Directory Listing
Modified Wed Nov 4 00:10:58 2009 UTC (10 years, 2 months ago) by pryomoax
Original Path: FreeELKS/trunk/void_safe
Abstracted array iteration cursor to INDEXABLE, to support more structures.


Revision 91811 - Directory Listing
Modified Tue Nov 3 22:59:46 2009 UTC (10 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Ensured that code inheriting from the TREE class compiles in full class checking (mostly done by replacing static typing with a more dynamic one using `like Current').


Revision 91810 - Directory Listing
Modified Tue Nov 3 19:51:46 2009 UTC (10 years, 2 months ago) by pryomoax
Original Path: FreeELKS/trunk/void_safe
Switched to using INTEGER instead of NATURAL.


Revision 91809 - Directory Listing
Modified Tue Nov 3 17:55:12 2009 UTC (10 years, 2 months ago) by pryomoax
Original Path: FreeELKS/trunk/void_safe
Added ECMA specified ITERABLE and ITERATION_CURSOR for data structure external cursors.
Added support for external cursors in ARRAY.


Revision 91807 - Directory Listing
Modified Mon Nov 2 21:38:32 2009 UTC (10 years, 2 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#queue003 where `linear_representation' would return an invalid content after removing a few elements and adding some more to the queue.


Revision 91805 - Directory Listing
Modified Fri Oct 23 22:41:52 2009 UTC (10 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
To avoid syntax warnings when using `some' a possibly new keyword in a next revision of Eiffel the language, we are removing it now.


Revision 91803 - Directory Listing
Modified Tue Oct 6 19:12:33 2009 UTC (10 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Follow the new conversion rules that requires to only have attached type in a conversion clause,
  and made sure that a type is not repeated in the list of types. 


Revision 91802 - Directory Listing
Modified Tue Oct 6 03:20:26 2009 UTC (10 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#catcall008 where the `a_open_map' argument of `set_rout_disp' can actually be Void.


Revision 91800 - Directory Listing
Modified Tue Sep 29 00:04:09 2009 UTC (10 years, 3 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added "+" operator in READABLE_STRING_GENERAL to satisfy customer requests.


Revision 91799 - Directory Listing
Modified Mon Sep 21 16:32:16 2009 UTC (10 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
To reduce breaking changes with existing code, I've made `generating_type' return a detachable
  version. That way we do have {INTERNAL}.dynamic_type (obj) = obj.generating_type.type_id.


Revision 91798 - Directory Listing
Modified Mon Sep 21 16:30:42 2009 UTC (10 years, 4 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed non-meaningful precondition to `new_special_any_instance' as it can create
  a SPECIAL whose actual generic parameter is attached since we use `make_empty'. The
  precondition was violated in eweasel test#store019 causing the test to fail.


Revision 91795 - Directory Listing
Modified Thu Aug 27 21:03:55 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `recursive_create_dir' that will work on Unix and Windows only. 


Revision 91792 - Directory Listing
Modified Wed Aug 26 20:32:21 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed an issue when resizing a descendant of HASH_TABLE which might redefine `same_keys'. Because the 
  resizing was done using a HASH_TABLE and not the descendant of HASH_TABLE so if two items were equal
  using ~ but not using `same_keys', only one out of two will appear in the resized table.


Revision 91791 - Directory Listing
Modified Fri Aug 21 21:43:29 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed conversion from REAL_64 to REAL_32 to fix bug#16163 where `r64 := r32 + or64' would truncate the value of `or64' to a REAL_32 for the + operation before assigning the result to a REAL_64.


Revision 91790 - Directory Listing
Modified Thu Aug 20 17:42:45 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `copy' work regardless of new or old copy semantics. 


Revision 91789 - Directory Listing
Modified Thu Aug 20 17:38:08 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `copy' work regardless of new or old copy semantics.


Revision 91788 - Directory Listing
Modified Thu Aug 20 17:34:00 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed eweasel test#reflection003 where `type_of_type' had not been updated to the new runtime behavior
  of the RTLNTY macro which takes as argument not the type id of the TYPE instance, but the one of the
  object we want the TYPE instance from.


Revision 91787 - Directory Listing
Modified Wed Aug 19 22:44:24 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added some comment in `pruned' and removed a useless void check.


Revision 91786 - Directory Listing
Modified Wed Aug 19 22:42:48 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed an infinite loop in `subtract', `intersect' and `symdiff' because `remove' was not moving the 
  cursor to the next element in the tree.
Fixed a bug in `prune' which was not setting back `tree' and thus when removing the last element of
  the tree it would have no effect.
Those fixes fix eweasel test#set006.


Revision 91785 - Directory Listing
Modified Wed Aug 19 21:50:59 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed `test_put' from eweasel test#set006 where one could not extend an element that would be before
  another element in the set. The bug was introduced with the void-safe conversion of EiffelBase.


Revision 91784 - Directory Listing
Modified Tue Aug 18 21:53:29 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `clear_all' obsolete in HASH_TABLE and updated code to use `wipe_out' instead.
Implemented `prune' in HASH_TABLE as now HASH_TABLE is `prunable'.
Do not do anything in `copy' if other is Current.


Revision 91783 - Directory Listing
Modified Tue Aug 18 21:51:27 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `clear_all' in STRING_8 and STRING_32 obsolete and updated code to use `wipe_out' instead.
Removed `like Current' argument in `set' and `subcopy' of STRING_8/STRING_32 routines to avoid catcalls.
Added precondition to `resize' in STRING so that callers should verify they request a larger size, if they
  do not want the check they should use `grow' instead.
Added `keep_head/tail' and `remove_head/tail' in ARRAY.
Updated postconditions of resized_area routines in SPECIAL which were incorrect in case new count was smaller
  than the previous one. Allowed shrinking SPECIAL in the `aliased_resized_area' routine and updated 
  postcondition accordingly.


Revision 91781 - Directory Listing
Modified Mon Aug 17 21:12:10 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed incorrect export clause for `copy' as it should only be available for the Current class.


Revision 91779 - Directory Listing
Modified Fri Aug 14 20:30:42 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed bug introduced at rev#219 when migrating to void-safe which resulted in a precondition violation in
  `put_i_th' in `memory_map'. This fixes bug#15374.


Revision 91776 - Directory Listing
Modified Mon Aug 3 18:31:27 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed post-conditions of `show_trailing_zeros' and `hide_trailing_zeros' which were swapped.


Revision 91773 - Directory Listing
Modified Fri Jul 31 18:13:24 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Forgot redefinition of `out' which prevents code compatibility for code using assuming 
  `generating_type: STRING' but compiled with `generating_type: TYPE [like Current]'.


Revision 91770 - Directory Listing
Modified Tue Jul 28 23:02:55 2009 UTC (10 years, 5 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed bug#16027 where in 6.4 we changed the default to no show trailing zeros compared to previous versions
  which is a breaking change.


Revision 91766 - Directory Listing
Modified Fri Jul 17 22:44:33 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed postcondition of `to_string_8' which was violated if Current was a descendant of STRING_8 (e.g. IMMUTABLE_STRING_8).


Revision 91764 - Directory Listing
Modified Fri Jul 17 16:36:52 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed improper implementation of `type_of_type' which was never creating a unique instance of
  TYPE [X], but just of X.


Revision 91763 - Directory Listing
Modified Wed Jul 15 19:33:37 2009 UTC (10 years, 6 months ago) by pryomoax
Original Path: FreeELKS/trunk/void_safe
Fixed bug in remove causing removal of the last item causes an access of an invalid index in the underlying SPECIAL.


Revision 91762 - Directory Listing
Modified Wed Jul 15 19:28:22 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Reverted previous commit which was only intended for INTEGER_INTERVAL.


Revision 91761 - Directory Listing
Modified Wed Jul 15 19:02:00 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Simply use `standard_copy' for `copy' and prevent useless copy if `other = Current'.


Revision 91760 - Directory Listing
Modified Wed Jul 15 18:22:36 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Simplified copy and fixed it as well since `operands' if set by the user on `other' but not on Current
  would simply violate the postcondition of `copy'.
Prevented useless copy if `other = Current'.


Revision 91759 - Directory Listing
Modified Wed Jul 15 18:14:43 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed non-needed saving of object_comparison from other in `copy'.


Revision 91758 - Directory Listing
Modified Wed Jul 15 18:12:06 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added missing precondition to state that `action' and `test' cannot be void in `do_all_with_index'
  and `do_if_with_index'.


Revision 91757 - Directory Listing
Modified Wed Jul 15 18:05:46 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Prevented useless copy if `copy == Current'.
Removed useless storing and restoring of object_comparison since it is done in `standard_copy'.


Revision 91756 - Directory Listing
Modified Wed Jul 15 17:58:13 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed a bug in `copy' where we would basically not copy `other' but Current instead.


Revision 91755 - Directory Listing
Modified Wed Jul 15 17:57:08 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed typos in assertion tags.


Revision 91754 - Directory Listing
Modified Wed Jul 15 17:55:09 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Guaranteed uniqueness of TYPE instances created by INTERNAL via `type_of_type'.


Revision 91753 - Directory Listing
Modified Wed Jul 15 17:53:17 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Provided more digits to the math constants even if for the time being only 16 digits can actually
  be represented in a REAL_64.


Revision 91752 - Directory Listing
Modified Wed Jul 15 17:51:27 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Prevented useless copy if `other = Current'.


Revision 91751 - Directory Listing
Modified Wed Jul 15 17:50:44 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Prevented useless copy of `other = Current'.


Revision 91750 - Directory Listing
Modified Fri Jul 10 04:58:26 2009 UTC (10 years, 6 months ago) by ikingifl
Original Path: FreeELKS/trunk/void_safe
Removed use of INTERNAL in favor of {ANY}.generating_type

Revision 91749 - Directory Listing
Modified Fri Jul 10 04:56:38 2009 UTC (10 years, 6 months ago) by ikingifl
Original Path: FreeELKS/trunk/void_safe
Updated type_of to use generating_type so that the same type object is returned.

Revision 91748 - Directory Listing
Modified Thu Jul 9 22:44:00 2009 UTC (10 years, 6 months ago) by ikingifl
Original Path: FreeELKS/trunk/void_safe
Removed unused local

Revision 91747 - Directory Listing
Modified Thu Jul 9 05:34:37 2009 UTC (10 years, 6 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added `own_from_pointer' as we have it also in MANAGED_POINTER.


Revision 91746 - Directory Listing
Modified Fri Jul 3 08:55:43 2009 UTC (10 years, 6 months ago) by kwaxer
Original Path: FreeELKS/trunk/void_safe
Fixed bug#14729 by ensuring the types in the class invariant clause involutive_negation are the same regardless of the type of Current (see test#lib032).

Revision 91745 - Directory Listing
Modified Fri Jun 26 20:54:24 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Changed `generating_type' to return `TYPE [like Current]' instead of STRING. To ensure that existing
  code still compiles, we have added conversion routines from TYPE to the various kinds of STRING.


Revision 91744 - Directory Listing
Modified Thu Jun 25 18:16:36 2009 UTC (10 years, 7 months ago) by ikingifl
Original Path: FreeELKS/trunk/void_safe
Made type_of and type_of_type attached to support the post-condition

Revision 91743 - Directory Listing
Modified Thu Jun 25 18:14:06 2009 UTC (10 years, 7 months ago) by ikingifl
Original Path: FreeELKS/trunk/void_safe
Added type keyword for use in type_of

Revision 91742 - Directory Listing
Modified Tue Jun 23 23:58:07 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed non-needed local `n' in `make'.


Revision 91741 - Directory Listing
Modified Tue Jun 23 23:56:56 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Relaxed precondition otherwise creation of empty manifest arrays << >> would violate the precondition and
  updated implementation accordingly.


Revision 91740 - Directory Listing
Modified Tue Jun 23 18:41:56 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed duplicated `-- Iteration' feature clause.


Revision 91739 - Directory Listing
Modified Tue Jun 23 18:10:13 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Relaxed the precondition of `subcopy' so that you can copy an empty array into an empty array.


Revision 91737 - Directory Listing
Modified Fri Jun 19 18:51:46 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Ensured that position 128 to 255 are filled for `internal_character_types'.


Revision 91735 - Directory Listing
Modified Wed Jun 10 23:25:01 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed obsolete features that were actually giving you the impression of void-safety but you could
  use them and get call on void-safe.


Revision 91733 - Directory Listing
Modified Fri Jun 5 18:12:07 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Fixed postcondition which was violated if Current was a descendant of STRING_8.


Revision 91731 - Directory Listing
Modified Thu Jun 4 17:32:49 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
New version of EiffelBase in which SPECIAL is void-safe. To do that we split the notion of count and
  capacity so that initially a SPECIAL object has always a count of 0 unless initialized with `make_filled'.
  This required updating some assertions to use `count' rather than `capacity' and changing some postcondition
  of commands to show they are modifying `count'.
This SPECIAL change implied direct changes to STRING related classes, TO_SPECIAL and all its descendants.
  The major changes are in HASH_TABLE and former direct descendants of ARRAY (now they do not inherit from
  ARRAY).
While testing we found some missing contracts to some routines. For example, we added `replaceable' to
  `replace' from ACTIVE and `put' from CHAIN. Or we added a missing `resizable' precondition to `grow'
   and `automatic_grow' in RESIZABLE. We also made `extendible' a query in DYNAMIC_CHAIN, that way we
   can simply change the implementation of FIXED_LIST to just inherit from ARRAYED_LIST and when `count'
   reaches `capacity' it won't be extendible anymore.
We added a correct_mismatch to ARRAYED_LIST and HASH_TABLE to retrieve old version of those classes.


Revision 91730 - Directory Listing
Modified Thu Jun 4 16:54:58 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Made `eif_current_object_id' obsolete and `eif_is_object_id_of_current' since they would foul you in believing
  that the code is actually void safe.


Revision 91729 - Directory Listing
Modified Thu Jun 4 16:51:55 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed creation of TUPLE object and instead use a manifest TUPLE for the agent call. This is needed
  as soon there is the possibility that no creation procedure will be offered for TUPLE because of the
  void-safety mechanism.


Revision 91728 - Directory Listing
Modified Thu Jun 4 16:50:56 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Use `put' instead of `put_default' which will be removed. This is fine since the class is not void-safe
  anyway.


Revision 91727 - Directory Listing
Modified Thu Jun 4 16:48:39 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed creation of TUPLE object and instead use a manifest TUPLE for the agent call. This is needed
  as soon there is the possibility that no creation procedure will be offered for TUPLE because of the
  void-safety mechanism.


Revision 91726 - Directory Listing
Modified Thu Jun 4 16:47:27 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Removed creation of TUPLE object and instead use a manifest TUPLE for the agent call. This is needed
  as soon there is the possibility that no creation procedure will be offered for TUPLE because of the
  void-safety mechanism.


Revision 91725 - Directory Listing
Modified Thu Jun 4 16:46:03 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Changed signature of `put_reference' to take a detachable ANY, this is necessary as otherwise we cannot
  put Void in a TUPLE.


Revision 91724 - Directory Listing
Modified Thu Jun 4 16:45:16 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Uncommented precondition of `set_target' since it is quite important the new target have the same type
  as the old one (if it was not the case, then some agent optimizations could not be done).
Use `put' instead of `force' since now resizing will occur.


Revision 91723 - Directory Listing
Added Wed Jun 3 23:59:39 2009 UTC (10 years, 7 months ago) by manus_eiffel
Original Path: FreeELKS/trunk/void_safe
Added a void_safe version of FreeELKS where SPECIAL is trully void-safe. The remaining issues are with
  copy semantics and TUPLE creation that could result in a call on void target at runtime without
  the compiler detecting it at compiler time.


  ViewVC Help
Powered by ViewVC 1.1.23