/[eiffelstudio]/branches/eth/eve/Src/Eiffel/API/evaluated_type/like_feature.e
ViewVC logotype

Log of /branches/eth/eve/Src/Eiffel/API/evaluated_type/like_feature.e

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 92516 - (view) (annotate) - [select for diffs]
Modified Fri May 3 04:29:22 2013 UTC (6 years, 7 months ago) by jasonw
File length: 7257 byte(s)
Diff to previous 92434
<<Merged from trunk#92515.>>

Revision 92434 - (view) (annotate) - [select for diffs]
Modified Fri Apr 12 10:41:30 2013 UTC (6 years, 8 months ago) by jasonw
File length: 7071 byte(s)
Diff to previous 90750
<<Merged from trunk#92433.>>

Revision 90750 - (view) (annotate) - [select for diffs]
Modified Mon Jan 21 13:30:30 2013 UTC (6 years, 10 months ago) by jasonw
File length: 7245 byte(s)
Diff to previous 84268
<<Merged from trunk#90747.>>

Revision 84268 - (view) (annotate) - [select for diffs]
Modified Tue Aug 24 14:02:11 2010 UTC (9 years, 3 months ago) by jasonw
File length: 7240 byte(s)
Diff to previous 83740
<<Merged from trunk#84267.>>

Revision 83740 - (view) (annotate) - [select for diffs]
Modified Tue Jun 29 10:47:08 2010 UTC (9 years, 5 months ago) by julian
File length: 7794 byte(s)
Diff to previous 83445
<<Merged from trunk#83736.>>

Revision 83445 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 15:29:40 2010 UTC (9 years, 6 months ago) by jasonw
File length: 7541 byte(s)
Diff to previous 83441
<<Merged from trunk@83442.>>

Revision 83441 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 13:52:53 2010 UTC (9 years, 6 months ago) by jasonw
File length: 7320 byte(s)
Diff to previous 83331
Renamed branch eve3 to eve. The eve branch serves as the new branch for the EVE project.

Revision 83331 - (view) (annotate) - [select for diffs]
Modified Wed May 26 18:49:35 2010 UTC (9 years, 6 months ago) by jasonw
Original Path: branches/eth/eve3/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7320 byte(s)
Diff to previous 82901
<<Breanched from trunk@83330>> Created a branch to upgrade Eiffel Transform library to trunk.

Revision 82901 - (view) (annotate) - [select for diffs]
Modified Wed Apr 21 09:50:11 2010 UTC (9 years, 7 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7320 byte(s)
Diff to previous 82233
Added a feature that tests whether 2 types are syntactically equal.

Revision 82233 - (view) (annotate) - [select for diffs]
Modified Mon Feb 1 17:37:39 2010 UTC (9 years, 10 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 6980 byte(s)
Diff to previous 77703
Removed unused inheritance link.

Revision 77703 - (view) (annotate) - [select for diffs]
Modified Wed Mar 11 23:59:15 2009 UTC (10 years, 9 months ago) by paulb
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7026 byte(s)
Diff to previous 76771
Replaced documentation generation of !/? marks with attached/detachable.


Revision 76771 - (view) (annotate) - [select for diffs]
Modified Tue Jan 20 05:05:28 2009 UTC (10 years, 10 months ago) by king
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 6963 byte(s)
Diff to previous 76432
Improved degree 4 implementation to alias feature i objects should no change be required, most reusable objects are now cached for each class pass resulting in far less memory, gc and disk space being used, aliasing can be further improved by not storing export information in the feature i objects themselves as well as redoing the somewhat broken is_origin implementation

Revision 76432 - (view) (annotate) - [select for diffs]
Modified Mon Dec 29 23:41:59 2008 UTC (10 years, 11 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7006 byte(s)
Diff to previous 75187
Removal of `is' keyword.
Replacement of `is' by `=' for constant definitions.
Replaced `indexing' by `note'.


Revision 75187 - (view) (annotate) - [select for diffs]
Modified Sun Oct 19 14:52:28 2008 UTC (11 years, 1 month ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7056 byte(s)
Diff to previous 75179
Removed unused local.


Revision 75179 - (view) (annotate) - [select for diffs]
Modified Sat Oct 18 22:48:13 2008 UTC (11 years, 1 month ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7093 byte(s)
Diff to previous 73124
Fixed eweasel test#final066 where `is_explicit' was incorrectly evaluated on LIKE_FEATURE. Instead
  we use the associated CREATE_FEAT instance to compute it.
Simplified the code generation in finalized mode for the case we have only one type and making
  sure we use `deep_actual_type'. Ideally the type table should store them with `deep_actual_type'
  applied but we prefer to do that some other time.


Revision 73124 - (view) (annotate) - [select for diffs]
Modified Sun Apr 20 20:58:53 2008 UTC (11 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7090 byte(s)
Diff to previous 72457
Redesigned the generation of polymorphic wrapper: instead of generating it during the code
  generation of a routine we now do it during the generation of the polymorphic table. Doing
  so fixes eweasel tests test#final051, test#final052, test#final053 and test#final054. The
  execution is slightly slower now since the computation of `pattern_id' for each ENTRY is
  costing a little.

Made sure that `EIFFEL_HISTORY.poly_table' always return non-void if a valid routine ID is used.
Removed optimization of not having deferred routines in the table of routine, it actually made things
  more complicated especially since we need to know the `pattern_id' of the routine on which the
  call is being made.
Added a query `is_deferred' to show that all routines in a table are deferred. It is better than
  returning a Void polytable.

Fixed polymorphic calls on external involving generics, they were not processed at all (this
  fixes test#final054).

Changed `meta_type' for expanded type to simply return the same as reference type since at C
  code generation time they are both EIF_REFERENCE. Fixed `meta_type' in LIKE_CURRENT to be still
  LIKE_CURRENT as it is needed to know how `like Current' is seen in descendant class especially
  when it is used to represent a basic type.

Renamed `feature_i_with_body_index' into `feature_of_body_index' since it returns a FEATURE_I.


Revision 72457 - (view) (annotate) - [select for diffs]
Modified Mon Feb 25 17:45:28 2008 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7153 byte(s)
Diff to previous 72419
Use `Precursor' instead of `Original' for inherited comments.


Revision 72419 - (view) (annotate) - [select for diffs]
Modified Sat Feb 23 00:45:27 2008 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 7152 byte(s)
Diff to previous 71645
Changed SUPPLIER_AS to only create the supplier on demands.

Merged TYPE_I and TYPE_A hierarchies in just TYPE_A one.
1-The major change is that now to compute the associated class type (CLASS_TYPE instance) of a TYPE_A
  one has to provide a context in which the TYPE_A instance appear. If no context is provided, then
  formal generics are not replaced. For example: LIST [G] alone will simply give you the LIST [G]
  CLASS_TYPE, but if you do it in the context of TEST [INTEGER], then it will return the
  LIST [INTEGER] CLASS_TYPE.
2-Updated all callers accordingly.
3-Simplified a few calls where before we did `type.associated_class_type.associated_class' to just
  `type.associated_class'.
4-Added new preconditions to the context provided, it really helped finding out when we were not doing
  things properly especially in code generation when regenerating code from parent into descendant.
5-Eventhough TYPE_I disappeared, I kept TYPE_C and its descendants since they are useful to have
  them for C code generation and quick discimination for TYPE_A instances.
6-Made validity of types better controled by checking more things in `{TYPE_A}.is_valid'. For example
  that if type used to represent a class which was expanded and that it is not expanded anymore, then
  the type is not valid anymore.
7-The most problematic change with TYPE_I/TYPE_A was that they had different notion of `is_external'
  we have added `is_true_external' to simplify the code in certain areas where the old TYPE_I semantic
  was needed.

Code generation change:
1-We now assume that the default context is always `{BYTE_CONTEXT}.context_class_type'. Then in
  `real_type' and `creation_type' we use `{TYPE_A}.evaluated_type_in_descendant' to properly evaluate
  a type from the ancestor code in the current context. Very useful for regeneration of inherited
  assertions and replicated features. Before it worked, but it was not clear how to do things properly,
  now it is clear.
2-Changed the way we generate the type information for like arguments: we simply nest calls to resolve
  the type of the arguments. This affects the interpreter and C code generation which includes a level
  ID for computing the type of generics.

C Code generation change:
1-Because debugging was too difficult at some point during that work and also because the name mapping
  we were using limited us to 32767 types and 131071 routines, I've changed the mechanism to not use
  the `encode.c' modules in C/bench and did everything in Eiffel. So now we simply write for a feature
  name FXXX_YYY where XXX is the type ID and YYY the body index. The same kind of changes have been
  done for other names (See ENCODER class for details.).
2-We also use `type_id' instead of `static_type_id' for names. The reason it is safe to do so is because
  `type_id' never changes in workbench mode and that in finalized mode, even if you have different
  incremental recompilation, 2 projects should generate more or less the same code at the ID levels
  making it easier to compare them.
3-Changed the way type are created. Instead of having a CREATE_INFO instance in the TYPE_I objects
  used to properly generate the type, we simply use the original TYPE_A instance. That way when we
  have an anchor, we either generate its `actual_type' or its anchor spec depending on the value of
  `use_info. We still use CREATE_INFO to generate the type information but instead of being an object
  in each TYPE_I, it is merely a once that we reinitialize each time we need it.
4-ONE CRITICAL ASPECT OF THE CHANGE #3 was that storable depends on the way type descriptions are generated
  and thanks to eweasel test#storable013 I was able to catch this much earlier in the process.
5-Generates less polymorphic tables for attributes and types specification. What happened before was
  that when we needed a polymorphic type specification for example to create `like x' where x is covariantly
  redefined, we were generating at the same time the polymorphic table for `x' even though if `x'
  was not actually used in the system. This reduces by a tiny amount only the size of the executable.
6-Made the DESCRIPTOR entries much smaller than they used to be by computing the number of ancestors
  instead of allocating for the numbers of routines which was really silly.

IL code generation change:
1-Provided a implementation for creation of BIT constants in .NET however it does not completely work yet,
  it has to do with the manner we generate the BIT_REF class.
2-Changed the way we compare signatures, we store a CLASS_TYPE and a routine ID instead. And then when
  needed we refetch the FEATURE_I object to perform the signature comparions. The issue is that the previous
  solution would not work if NATIVE_ARRAY and TYPED_POINTER do not record all the possible genereric
  derivations in which they are present which is now the case for simplicity.
3-Fixed a bug in code generation for a TYPE_FEATURE_I that is instantiated as a basic type. We would
  generate its associated reference type instead of the basic type. It was not caught before because those
  routines where never called at runtime unless you had a formal generic parameter creation constraint.
4-Fixed an inconsistency shown by eweasel test#incr168 where a precondition check was generated eventhough
  none was needed because one inherited routine had a True precondition. The C code was doing it ok, but
  not .NET
5-Found out see eweasel test#final041 that we first generate inherited assertion and then precondition,
  which is the contrary of what is done in melted or C code generation.
6-Simplified creation of manifest ARRAYS and TUPLE by avoiding a local variable.


Debugger:
1-Updated the code accordingly to the TYPE_I/TYPE_A merge
2-Fixed bug in {DBG_EVALUATOR}.prepare_parameters so that we do not use BYTE_CONTEXT to resolve
  the type but `instantiation_in' instead. It seems to solve one case that the previous debugger did
  not handle (See updated comment).
3-Fixed precondition violation in
  {AST_DEBUGGER_EXPRESSION_CHECKER_GENERATOR}.expression_or_instruction_type_check_and_code where
  we were still trying to evaluate in the descendant if the parent evaluation failed. Causing some
  precondition violations since the AST was not completely annotated with IDs needed for resolution.

Bug fixes:
1-Fixed issue with the way we maintained {CLASS_C}.generic_features, because you could rebuild the list
  without recompiling descendants (case of modifying only a contract of the class) and the rebuilding
  would yield new routine IDs. Then during either type checking or code generation the evaluation of 
  `{TYPE_A}.evaluate_type_in_descendant' could fail because it is not find the new routine ID in the
  descendant class. Now we preserve the routine ID as long as we can, same with feature ID.
2-Made `feature_of_rout_id' works to find the invariant feature.
3-Made sure that when removing an ID from a server it is also removed from the TMP server. Added
  a `not_present' postcondition after calling `remove' to ensure that.


Revision 71645 - (view) (annotate) - [select for diffs]
Modified Tue Dec 25 08:24:57 2007 UTC (11 years, 11 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 6555 byte(s)
Diff to previous 70927
Taken attachment marks into account when comparing class type declarations (in particular, basic types) to preserve them for feature view (this fixes bug#13577).

Revision 70927 - (view) (annotate) - [select for diffs]
Modified Sat Oct 27 08:44:50 2007 UTC (12 years, 1 month ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 6637 byte(s)
Diff to previous 69973
Removed a space after an attachment mark.

Revision 69973 - (view) (annotate) - [select for diffs]
Modified Tue Aug 14 19:15:39 2007 UTC (12 years, 4 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 6739 byte(s)
Diff to previous 67227
Promoted attachment properties to descendants of TYPE_A.

Revision 67227 - (view) (annotate) - [select for diffs]
Modified Tue Mar 13 01:32:16 2007 UTC (12 years, 9 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 5907 byte(s)
Diff to previous 67176
Support for multi constraint generics:
- Central new class is TYPE_SET_A: It provides features for type checking and feature lookup.
  (the TYPE_A interface is not perfectly complete until now)
- Added EXTENDED_TYPE_A: It basically encapsulates a type and a feature renaming.
- Changed parser to accept the new syntax.
- Adapted validity checks for generics to reflect the new rules.
- Changed AST_FEATURE_CHECKER_GENERATOR in particular `process_call' and its siblings
  to select the so called `multi_constrained_static'. This is the actual static type
  of the target. It is done for each access on a multi constraint generic.
- Added error classes VTGC*, VTGD* and VTMC*.
- Changed code which called `constrained_type' feature to make it capable
  of handling multi constraints. This is in most cases achieved through handling these cases
  explicitly: Autocompletion, query language and debugger are not yet adapted and don't work
  properly in the presence of multi constraint formals.
- Changed AST_DECORATED_OUTPUT_STRATEGY and the like to pretty print the multi constraints correctly.

Support for recursive formals:
- I added a second pass AST_FORMAL_GENERICS_PASS2 which handles the registration of suppliers
  and transformation of the types into the right class (formal or class type).

The rest of the changes are targeted to either one of these.


Revision 67176 - (view) (annotate) - [select for diffs]
Modified Sat Mar 10 01:10:13 2007 UTC (12 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 5909 byte(s)
Diff to previous 58325
Added `evaluated_type_in_descendant' in TYPE_A to evaluate a type in the context of a descendant class.
  The existing instantiation_in would not do it since it does it in a CL_TYPE_A version of the descandant
  class. Although not yet done, `instantiation_in' could be rewritten in a much simpler fashion by using
  this new routine and the existing `instantiated_in'.
Full class checking:
 - Added `full_class_checking' option in the configuration library and removed the system option
   in SYSTEM_OPTIONS.full_type_checking and the associated settings in the configuration library.
 - Updated code in AST_FEATURE_CHECKER_GENERATOR to perform a correct full class checking.
 - Changed EIFFEL_CLASS_C.pass3 to properly initialize the checker to perform full class checking,
   also melted routine without assertions are checked normally (i.e. `to_melt_in' on DEF_PROC_I
   are now the same as FEATURE_I).
First result of applying catcall checking on the compiler:
 - Fixed a validity error in `is_safe_equivalent' from TYPE_A.
 - Fixed a validity error in CLASS_TYPE.make


Revision 58325 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 16:05:16 2006 UTC (13 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/like_feature.e
File length: 5439 byte(s)
Diff to previous 58027
Moved trunk/Src/bench/Eiffel to trunk/Src/Eiffel.

Revision 58027 - (view) (annotate) - [select for diffs]
Modified Wed Apr 5 07:08:57 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5439 byte(s)
Diff to previous 57426
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


Revision 57426 - (view) (annotate) - [select for diffs]
Modified Fri Mar 10 20:30:45 2006 UTC (13 years, 9 months ago) by tedf
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5429 byte(s)
Diff to previous 57371
1. Removed all STRUCTURED_TEXT within the compiler.
2. Replaced with TEXT_FORMATTER for editor and documentation output formatting.
 Generally, there are five descendents for the moment.
-OUTPUT_WINDOW: For simple string output. i.e. Command line, file, buffered string etc.
-TEXT_FILTER: For various documentation formatting.
-EB_OUPUT_MANAGER: Mainly for EB_GRAPHICAL_OUTPUT_MANAGER decoration.
-EDITOR_TOKEN_WRITER: Editor tokens are translated here for colorized editor views.
-TEXT_FORMATTER_DECORATOR: A decorator of TEXT_FORMATTERS. Handles context and formatting information. AST visits for outputs are mainly mediated here.
 There are two sets of interface, process_* and add_*. The main one is process_* which is recommended to use. add_* is from STRUCTURED_TEXT which does not exist any more. As it affected vastly, I still keep its interfaces.
3. SHARED_TEXT_ITEMS are all strings now, as items in structured text have been removed.
4. Wrote AST_OUTPUT_STRATEGY which is an AST_VISITOR processing AST to TEXT_FORMATTER. Wrote AST_DECORATED_OUTPUT_STRATEGY a client of TEXT_FORMATTER_DECORATOR. And one AST_DOCUMENTATION_OUTPUT_STRATEGY only for documentation.
5. Removed flat/short views buffering of STRUCTURED_TEXT. It is slightly slower than before, but in my opinion acceptable.
6. Wrote a AST_TYPE_OUTPUT_STRATEGY which visit a type and print its ‘text’ representation output to a TEXT_FORMATTER.
7. Rewrote TOKEN_VISITOR and a descendant EIFFEL_TOKEN_VISITOR for editor tokens in library and in the compiler.
8. Leave printer command prints simple text in current editor. Further work will be done a little later.
9. We gain 22% faster of documentation generation for the moment. Less than we expected, I think, mainly because of additions and accuracy we gain.



Revision 57371 - (view) (annotate) - [select for diffs]
Modified Wed Mar 8 00:05:46 2006 UTC (13 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5375 byte(s)
Diff to previous 57234
Refactoring which separate TYPE_AS from TYPE_A.
* The TYPE_AS classes specific to the compiler have been removed, we now use the one from the
  parser cluster. Only INTEGER_CONSTANT and FORMAL_CONSTRAINT_AS are compiler specific, but defined
  as descendants of INTEGER_AS and FORMAL_DEC_AS.
* The return type and arguments' type are of type TYPE_A, which help us in removing many calls to
  `actual_type' when the purpose was to get the TYPE_A instance as statically it was a TYPE_AS, but
  dynamically it was TYPE_A.
* Rewritten the way we go from TYPE_AS to TYPE_A. This is now done in two steps.
  1 - convert TYPE_AS into TYPE_A using the AST_TYPE_A_GENERATOR visitor. For Bits symbol and anchors
      we get an UNEVALUATED_XX version.
  2 - evaluate and check validity of TYPE_A we obtained by 1), this is done using TYPE_A_CHECKER.
      TYPE_A_CHECKER is modular in the sense that it can be configured to trigger or not errors.
	  Useful to disable when we are in part of the UI of EiffelStudio who does not care about an
	  error reporting.
* Thanks to the above refactoring, I fixed eweasel tests: test#valid104, test#valid131, test#valid135.
  It was due to a bug that when solving an anchor type, we did not update `feature_id', as a consequence
  a comparison would yield False instead of True, because they were referring to the same anchor.
* In TYPE_A, try to add some preconditions to `associated_class' and fix all incorrect usage of it.
  Use `is_valid' a lot to ensure that we have a valid type (used to check validity of types in
  inheritance clause and constraints).
* Changed formatting so that we see G#x and arg#x (whereas it was Generic #x, Formal #x and arg # x)
  to make things more compact.
* Updated all the other part of EiffelStudio that depended on the above changes.
* New version number 5.7.0806



Revision 57234 - (view) (annotate) - [select for diffs]
Modified Thu Mar 2 01:57:13 2006 UTC (13 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 8648 byte(s)
Diff to previous 56535
Wrote a TYPE_A visitor.


Revision 56535 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 01:37:10 2006 UTC (13 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 8526 byte(s)
Diff to previous 55789
Added text of the GPL license to all classes of the compiler.


Revision 55789 - (view) (annotate) - [select for diffs]
Modified Fri Nov 18 08:11:53 2005 UTC (14 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 7120 byte(s)
Diff to previous 50243
Moved implementation of `update_dependance' together with the associated
data to the class LIKE_FEATURE to avoid reverse assignment, to reduce
class interdependance and to simplify the code.


Revision 50243 - (view) (annotate) - [select for diffs]
Modified Wed Apr 20 16:53:16 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6553 byte(s)
Diff to previous 49374
Improved `like controler' so that eweasel test `valid162' passes, basically
  it enables it or disable it when you encounter the first anchor, and if you
  are the one who enable it, then you can disable it, otherwise you should leave
  the state of the `like_controler' unchanged. It is more consistent with
  the way AST_TYPE_CHECKER does it now.


Revision 49374 - (view) (annotate) - [select for diffs]
Modified Tue Mar 22 01:26:15 2005 UTC (14 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6149 byte(s)
Diff to previous 48838
Moved precondition of `create_info' from LIKE_FEATURE_A to TYPE_A as otherwise
  it was useless.


Revision 48838 - (view) (annotate) - [select for diffs]
Modified Tue Mar 1 18:48:20 2005 UTC (14 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6215 byte(s)
Diff to previous 43410
Protected the code in `ext_append_to' as it does not mean that because a
  class has a feature table that it has the corresponding routine.


Revision 43410 - (view) (annotate) - [select for diffs]
Modified Wed Jun 2 00:07:27 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6140 byte(s)
Diff to previous 43077
Renamed TYPE into TYPE_AS


Revision 43077 - (view) (annotate) - [select for diffs]
Modified Tue May 18 03:55:35 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6137 byte(s)
Diff to previous 40762
Used two words names instead of just one for `put_xx', `read_xx' and `last_xxx' routines.


Revision 40762 - (view) (annotate) - [select for diffs]
Modified Thu Dec 11 23:17:07 2003 UTC (16 years ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6133 byte(s)
Diff to previous 37662
Use `deep_twin' instead of `deep_clone' which is now made obsolete.
Use `twin' instead of `clone' which is now made obsolete.
Use `as_lower' and `as_upper' whenever appropriate instead of cloning and
  then calling `to_lower' or `to_upper'.


Revision 37662 - (view) (annotate) - [select for diffs]
Modified Tue Jun 10 23:37:06 2003 UTC (16 years, 6 months ago) by julieng
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6155 byte(s)
Diff to previous 35932
Replace creation keyword with create keyword.


Revision 35932 - (view) (annotate) - [select for diffs]
Modified Wed Feb 12 20:15:38 2003 UTC (16 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6147 byte(s)
Diff to previous 30419
Fixed bug where we did not raise an error if anchored type was Void, therefore
  fixing eweasel entry incr091)
Cosmetics


Revision 30419 - (view) (annotate) - [select for diffs]
Modified Sun Jan 27 03:25:27 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6031 byte(s)
Diff to previous 30266
In `create_info':
1 - Updated code to new creation procedure of CREATE_FEAT.
2 - Use `context.current_class' instead of `context.actual_class_type.associated_class'
    as they are equivalent and should be much faster to access.


Revision 30266 - (view) (annotate) - [select for diffs]
Modified Mon Jan 21 01:43:02 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5990 byte(s)
Diff to previous 28339
Added `routine_id' which is not inherited anymore.
Updated creation of CREATE_FEAT as it now takes the `routine_id' instead
  of the `feature_id'.


Revision 28339 - (view) (annotate) - [select for diffs]
Modified Wed Oct 24 21:16:32 2001 UTC (18 years, 1 month ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5850 byte(s)
Diff to previous 27594
Use of new creation routine of CREATE_FEAT.


Revision 27594 - (view) (annotate) - [select for diffs]
Modified Wed Sep 12 22:39:24 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5895 byte(s)
Diff to previous 27514
Cosmetics


Revision 27514 - (view) (annotate) - [select for diffs]
Modified Tue Sep 11 03:07:45 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5858 byte(s)
Diff to previous 26913
Now LIKE_FEATURE is using a name ID instead of a STRING to represent `feature_name'.
Updated corresponding classes.


Revision 26913 - (view) (annotate) - [select for diffs]
Modified Sun Aug 12 23:50:20 2001 UTC (18 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5548 byte(s)
Diff to previous 11342
Merged branch `dev46_manu' to the trunc.


Revision 11342 - (view) (annotate) - [select for diffs]
Modified Wed Sep 16 03:03:22 1998 UTC (21 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 4526 byte(s)
Diff to previous 11128
Replaced all the occurences to the old AST *_AS_B by *_AS.


Revision 11128 - (view) (annotate) - [select for diffs]
Modified Mon Aug 24 02:25:56 1998 UTC (21 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 4528 byte(s)
Diff to previous 9656
We removed E_CLASS from the system, we should now use CLASS_C instead.


Revision 9656 - (view) (annotate) - [select for diffs]
Modified Sun Mar 15 02:19:40 1998 UTC (21 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 4528 byte(s)
Diff to previous 5759
Cosmetics
Changed some inheritance scheme concerning types
Add the depedency between genrics in GEN_TYPE_A


Revision 5759 - (view) (annotate) - [select for diffs]
Modified Fri Jun 28 18:44:46 1996 UTC (23 years, 5 months ago) by xavierl
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6585 byte(s)
Diff to previous 3652
`is_equivalent' implemented (used instead of `deep_equal')
cosmetics


Revision 3652 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 15:32:22 1996 UTC (23 years, 11 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6666 byte(s)
Diff to previous 3632
new abstractions for system counters (class ids and type ids)


Revision 3632 - (view) (annotate) - [select for diffs]
Modified Mon Jan 15 11:35:14 1996 UTC (23 years, 11 months ago) by guusl
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6647 byte(s)
Diff to previous 3478
output done through STRUCTURED_TEXT instead of OUTPUT_WINDOW


Revision 3478 - (view) (annotate) - [select for diffs]
Modified Mon Dec 18 15:04:56 1995 UTC (23 years, 11 months ago) by ericb
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6645 byte(s)
Diff to previous 3375
new abstractions for system counters (only ROUTINE_ID so far)


Revision 3375 - (view) (annotate) - [select for diffs]
Modified Mon Dec 4 11:38:01 1995 UTC (24 years ago) by dinov
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6684 byte(s)
Diff to previous 3181
cosmetics (indexing, feature clauses, comments)


Revision 3181 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 16:40:33 1995 UTC (24 years ago) by dinov
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6592 byte(s)
Diff to previous 3078
reorganization in feature clauses


Revision 3078 - (view) (annotate) - [select for diffs]
Modified Mon Oct 30 11:24:52 1995 UTC (24 years, 1 month ago) by dinov
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6415 byte(s)
Diff to previous 2814
features moved in specific feature clauses (Access, Output, ...)
implementation of the API


Revision 2814 - (view) (annotate) - [select for diffs]
Modified Fri Aug 4 15:07:11 1995 UTC (24 years, 4 months ago) by dinov
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6083 byte(s)
Diff to previous 2659
optimization


Revision 2659 - (view) (annotate) - [select for diffs]
Modified Wed Jul 5 16:25:31 1995 UTC (24 years, 5 months ago) by dewij
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6082 byte(s)
Diff to previous 1167
abstract parser: <type> => <type_B>


Revision 1167 - (view) (annotate) - [select for diffs]
Modified Tue Oct 4 23:00:57 1994 UTC (25 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 6078 byte(s)
Diff to previous 605
case stuff


Revision 605 - (view) (annotate) - [select for diffs]
Modified Tue Jun 28 16:58:24 1994 UTC (25 years, 5 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5763 byte(s)
Diff to previous 547
*** empty log message ***


Revision 547 - (view) (annotate) - [select for diffs]
Modified Mon May 9 17:25:40 1994 UTC (25 years, 7 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5730 byte(s)
Diff to previous 435
*** empty log message ***


Revision 435 - (view) (annotate) - [select for diffs]
Modified Wed Dec 8 16:54:36 1993 UTC (26 years ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 5318 byte(s)
Diff to previous 418
*** empty log message ***


Revision 418 - (view) (annotate) - [select for diffs]
Modified Tue Nov 16 17:15:56 1993 UTC (26 years, 1 month ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 4938 byte(s)
Diff to previous 388
*** empty log message ***


Revision 388 - (view) (annotate) - [select for diffs]
Modified Fri Oct 15 14:29:26 1993 UTC (26 years, 2 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 4949 byte(s)
Diff to previous 296
*** empty log message ***


Revision 296 - (view) (annotate) - [select for diffs]
Modified Thu Aug 19 20:09:35 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 4025 byte(s)
Diff to previous 37
*** empty log message ***


Revision 37 - (view) (annotate) - [select for diffs]
Modified Mon Mar 15 12:25:50 1993 UTC (26 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 3848 byte(s)
Diff to previous 18
*** empty log message ***


Revision 18 - (view) (annotate) - [select for diffs]
Added Fri Mar 12 17:44:01 1993 UTC (26 years, 9 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e
File length: 3730 byte(s)
Initial revision


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.23