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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 89347 - (view) (annotate) - [select for diffs]
Modified Fri Aug 10 15:09:25 2012 UTC (7 years, 4 months ago) by jasonw
File length: 6691 byte(s)
Diff to previous 85792
<<Merged from trunk#89346.>>

Revision 85792 - (view) (annotate) - [select for diffs]
Modified Fri Mar 4 13:51:36 2011 UTC (8 years, 9 months ago) by jasonw
File length: 6703 byte(s)
Diff to previous 84470
<<Merged from trunk#85790.>>

Revision 84470 - (view) (annotate) - [select for diffs]
Modified Fri Oct 1 14:01:07 2010 UTC (9 years, 2 months ago) by jasonw
File length: 6689 byte(s)
Diff to previous 84108
<<Merged from trunk#84468.>>


Revision 84108 - (view) (annotate) - [select for diffs]
Modified Wed Aug 4 09:40:49 2010 UTC (9 years, 4 months ago) by wests
File length: 6834 byte(s)
Diff to previous 83928
This commit merges SCOOP from the old EVE branch.

It also contains the scoopli and scoop2scoopli libraries, as well as 
scoop examples.



Revision 83928 - (view) (annotate) - [select for diffs]
Modified Fri Jul 16 15:21:01 2010 UTC (9 years, 4 months ago) by mpei
File length: 6689 byte(s)
Diff to previous 83441
<<Merged from trunk#83927>>

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: 6513 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/basic_a.e
File length: 6513 byte(s)
Diff to previous 82731
<<Breanched from trunk@83330>> Created a branch to upgrade Eiffel Transform library to trunk.

Revision 82731 - (view) (annotate) - [select for diffs]
Modified Wed Mar 31 20:43:06 2010 UTC (9 years, 8 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6513 byte(s)
Diff to previous 78938
Changed the understanding of `sk_type' in the compiler to be a NATURAL_32 as it is in the runtime. Only a few cases of a conversion from integer to natural or from natural to integer have been added with comments stating that they are safe.


Revision 78938 - (view) (annotate) - [select for diffs]
Modified Fri May 29 10:04:37 2009 UTC (10 years, 6 months ago) by jfiat
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6512 byte(s)
Diff to previous 77520
Cleaned object test local expression.

Revision 77520 - (view) (annotate) - [select for diffs]
Modified Wed Mar 4 01:50:25 2009 UTC (10 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6521 byte(s)
Diff to previous 76432
Updated to new syntax of object test and attached/detachable types using the `syntax_updater' tool.


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/basic_a.e
File length: 6502 byte(s)
Diff to previous 75070
Removal of `is' keyword.
Replacement of `is' by `=' for constant definitions.
Replaced `indexing' by `note'.


Revision 75070 - (view) (annotate) - [select for diffs]
Modified Sun Oct 12 05:45:16 2008 UTC (11 years, 1 month ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6562 byte(s)
Diff to previous 74912
Removed useless redefinition of instantiation_in in CL_TYPE_A.
To properly create manifest tuples, arrays and agents, we are now keeping the anchors but only when
  it is an anchor to the current class (ideally we should keep the anchor in all cases, but our
  code generation does not support that, see eweasel test#agent006 for this failure). This fixes
  eweasel tests test#tuple011, test#tuple014.
Due to recent changes in AST_FEATURE_CHECKER_GENERATOR were we keep the anchors most of the time
  we had to fix {CL_TYPE_A}.conform_to so that conformance on TYPED_POINTER is not using `same_as'
  but `valid_generic' which will resolve the anchors. This fixed eweasel test#term132.
Fixed eweasel test#term159 where if you have a conversion as closed argument of an agent it would
 crash the compiler in .NET mode and generate incorrect code in classic.


Revision 74912 - (view) (annotate) - [select for diffs]
Modified Thu Oct 2 21:34:50 2008 UTC (11 years, 2 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6727 byte(s)
Diff to previous 73697
Fixed full class checking error while checking SPECIAL_CLASS_TYPE and NATIVE_ARRAY_CLASS_TYPE
  because type of `generic_derivation' is not `like Current' and they redefine `type' originally
  of type CL_TYPE_A into GEN_TYPE_A and NATIVE_ARRAY_TYPE_A (thus the detected full class checking
  error).


Revision 73697 - (view) (annotate) - [select for diffs]
Modified Fri May 23 18:22:30 2008 UTC (11 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6579 byte(s)
Diff to previous 72953
Properly implemented the ~ operator on .NET.
Fixed .NET code generation which was generating incorrect code for the basic type when we changed the
  signature from `like Current' to the basic type. The issue is that our code generation was not good
  at changing the expanded status of an argument in a signature as this was not detected.
  To make this work, I also changed the code generation of basic type so that they use the basic type
  .NET equivalent rather than the value type we generate for all the signatures (see
  {BASIC_A}.generic_derivation change).
  And also changed a few things here and there for some various transformation of values from ref to
  basic and reverse.
Also if an inherited routine of an expanded class was calling a routine whose signature was changed
  in the expanded type (e.g. `infix "&"' in INTEGER_32 calling `bit_and' which is redefined) then
  we were calling the new `bit_and' routine but still using its inherited signature thus generating
  the wrong argument passing. So we fixed that by changing {CALL_ACCESS_B}.byte_node to update the
  call to the descendant signature but this caused eweasel test#exec060 to now fails. We tried to
  fix it but could not for the time being. The only result of that change is in {BYTE_CONTEXT}.real_type
  which has been factorized to use {BYTE_CONTEXT}.creation_type which now has a slightly different
  code for resolving types when handling inherited code. Other eweasel tests affected by this change
  but that are passing are test#incr288, test#expanded007 and test#melt069.
Had to change FEATURE_I.access to call the new {TYPE_A}.context_free_type instead of {TYPE_A}.deep_actual_type
  because otherwise the code generation in workbench mode for .NET of `abs_ref' in INTEGER would 
  be incorrect for the postcondition. Basically `context_free_type' only keeps `like Current' and gets
  rid of all the other anchors. The name is not that great since it is not completely free from context,
  but could not find one that express this.
 
Added some validity precondition in TYPE_A for `dispatch_anchors', `is_equivalent', `is_safe_equivalent'
  and `equivalent'. Updated REFERENCE_DESC to reflect that change.


Revision 72953 - (view) (annotate) - [select for diffs]
Modified Sat Apr 5 07:02:49 2008 UTC (11 years, 8 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6521 byte(s)
Diff to previous 72720
Removed unused feature.

Revision 72720 - (view) (annotate) - [select for diffs]
Modified Wed Mar 12 21:34:38 2008 UTC (11 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 6525 byte(s)
Diff to previous 72419
Fixed system validity error found when enabling full class checking in the compiler, here it is due to
  insufficiently exported routines.


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/basic_a.e
File length: 6525 byte(s)
Diff to previous 61535
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 61535 - (view) (annotate) - [select for diffs]
Modified Fri Jul 21 14:40:01 2006 UTC (13 years, 4 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/basic_a.e
File length: 3074 byte(s)
Diff to previous 58325
Added a feature to get a reference type for the given expanded type.
Ensured that a type "reference X" conforms to a type "X".


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/basic_a.e
File length: 2814 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/basic_a.e
File length: 2814 byte(s)
Diff to previous 57371
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


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/basic_a.e
File length: 2804 byte(s)
Diff to previous 56535
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 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/basic_a.e
File length: 2795 byte(s)
Diff to previous 45486
Added text of the GPL license to all classes of the compiler.


Revision 45486 - (view) (annotate) - [select for diffs]
Modified Fri Sep 3 21:19:31 2004 UTC (15 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1390 byte(s)
Diff to previous 44434
Fixed `is_equivalent' so that for basic types, we still compare the content.
  Most of the time we don't need to compare the content (e.g. BOOLEAN, POINTER,
  REAL, DOUBLE), but for CHARACTER, WIDE_CHARACTER and INTEGER_XX we need
  to.
This have two impacts:
- Fix an incorrect display of feature signature in our formatters: if you
  had `set_type (t: INTEGER_8; v: INTEGER)' it would be displayed as
  `set_type (t, v: INTEGER_8)'.
- Fix an incrementality issue where the compiler will not detect that you
  changed `set_type (t: INTEGER)' into `set_type (t: INTEGER_8)' and thus
  not checking user of `set_type' to ensure calls are still valid.


Revision 44434 - (view) (annotate) - [select for diffs]
Modified Wed Jul 21 04:49:24 2004 UTC (15 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1562 byte(s)
Diff to previous 43410
Removed support for `reference' types:
  - removed `reference_actual_type'.
  - added `is_conformant_to' which enables us to find if one type inherits
    from another one in a conformant way. It is needed for checking constraint
	genericity when actual generic is an expanded and constraint is a reference.
	Before we were using `reference_actual_type.conform_to' but since we
	removed it, we need something else and this is `is_conformant_to'.


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/basic_a.e
File length: 1763 byte(s)
Diff to previous 41729
Renamed TYPE into TYPE_AS


Revision 41729 - (view) (annotate) - [select for diffs]
Modified Fri Mar 5 17:47:56 2004 UTC (15 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1760 byte(s)
Diff to previous 39140
New expanded implementation, no more conformance between expanded and reference types.
Added specific implementation `reference_actual_type' for basic types.
Added invariant for basic types which states that they are both basic and expanded.
Removed `internal_conform_to' which has been replaced in parent class by
`conform_to' which also now covers basic types.


Revision 39140 - (view) (annotate) - [select for diffs]
Modified Fri Sep 19 02:08:48 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1985 byte(s)
Diff to previous 32079
Changed signature of `instantiation_in' from `like Current' to `TYPE_A' otherwise
it cannot be redefined in new TYPED_POINTER class which inherits from both BASIC_A
and GEN_TYPE_A.


Revision 32079 - (view) (annotate) - [select for diffs]
Modified Wed May 15 02:41:16 2002 UTC (17 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1991 byte(s)
Diff to previous 30265
Made sure that `type_i' from BASIC_A and descendants always returns a new
instance of its associated TYPE_I object. This is necessary as we might
set the `cr_info' attribute and if we use the once from SHARED_TYPE_I
then all basic type share this `cr_info' and can result in incorrect
code generation (at least for .NET where it is now used)


Revision 30265 - (view) (annotate) - [select for diffs]
Modified Mon Jan 21 01:41:16 2002 UTC (17 years, 10 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1912 byte(s)
Diff to previous 26913
Renamed `base_class_id' into `class_id' for consistency with rest of compiler.
Added creation routine to CL_TYPE_A so that `set_base_class_id' has been removed since
  not used. Updated creation routine of GEN_TYPE_A and TUPLE_TYPE_A to add
  an extra argument, the one used in the creation procedure of CL_TYPE_A,
  i.e. the `class_id'.
Cosmetics.


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/basic_a.e
File length: 1910 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, 2 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1907 byte(s)
Diff to previous 11262
Replaced all the occurences to the old AST *_AS_B by *_AS.


Revision 11262 - (view) (annotate) - [select for diffs]
Modified Thu Sep 10 01:34:09 1998 UTC (21 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1909 byte(s)
Diff to previous 9656
Cosmetics


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/basic_a.e
File length: 1918 byte(s)
Diff to previous 5775
Cosmetics
Changed some inheritance scheme concerning types
Add the depedency between genrics in GEN_TYPE_A


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


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


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/basic_a.e
File length: 1819 byte(s)
Diff to previous 3174
cosmetics (indexing, feature clauses, comments)


Revision 3174 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 16:33:04 1995 UTC (24 years ago) by dinov
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1732 byte(s)
Diff to previous 3074
export status


Revision 3074 - (view) (annotate) - [select for diffs]
Modified Mon Oct 30 11:16:01 1995 UTC (24 years, 1 month ago) by dinov
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1713 byte(s)
Diff to previous 2659
cosmetics


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/basic_a.e
File length: 1693 byte(s)
Diff to previous 333
abstract parser: <type> => <type_B>


Revision 333 - (view) (annotate) - [select for diffs]
Modified Thu Aug 26 20:25:16 1993 UTC (26 years, 3 months ago) by grator
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e
File length: 1691 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/basic_a.e
File length: 1637 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/basic_a.e
File length: 1523 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