/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/eiffel/interface/class_b.e
ViewVC logotype

Log of /branches/CAT_mono/Src/Eiffel/eiffel/interface/class_b.e

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 69650 - (view) (annotate) - [select for diffs]
Modified Tue Jul 24 17:18:14 2007 UTC (12 years, 4 months ago) by juliant
File length: 3926 byte(s)
Diff to previous 69629
Added monomorph mark for class types, either "frozen" or "invariant".
First (simple) conformance check for monomorphic types.

Revision 69629 - (view) (annotate) - [select for diffs]
Modified Mon Jul 23 21:36:18 2007 UTC (12 years, 4 months ago) by manus
File length: 3926 byte(s)
Diff to previous 66895
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 66895 - (view) (annotate) - [select for diffs]
Modified Sun Feb 25 17:11:57 2007 UTC (12 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_b.e
File length: 3926 byte(s)
Diff to previous 66254
Support for FreeELKS:
- Added byte code for `floor' and `ceiling' operation on real types.
- Made `c_tagged_out' take an EIF_REFERENCE rather than an EIF_OBJECT, updated
  all C code using it accordingly and ANY/ISE_RUNTIME.
- Added `eif_built_in.h' to keep all macros used for external "built_in' features
  not implemented with Eiffel code.
- Added BUILT_IN_AS node for representing external "built_in' features:
  * when a built_in routine is found, we look in $ISE_EIFFEL/studio/built_ins to
    see if it has a corresponding implementation and the FEATURE_I/STD_BYTE_CODE
	is generated from the implementation. Otherwise we consider it as a special
	C routines.
  * In the formatters, we show the actual code of the implementation and not the
    external body, the same for debugging.
- Partial fix for Precursor call when call is made in an expanded class, the ancestor
  version might have non-expanded arguments and return type (e.g. like Current).
- Changed CLASS_TYPE for basic types so that `type_i' is a CL_TYPE_I and not
  a BASIC_I. It solves issues when you have code defined in basic types which
  would not be properly generated. Since it would be generated as if it was a
  normal expanded type but the types where still EIF_XXX instead of EIF_REFERENCE.
  This was needed for FreeELKS since now we have implementation in the basic types.
  Added some queries to CLASS_TYPE to avoid accessing `type' to get the information
  since sometime we still want to know that we are in basic types. Added `basic_type'
  to be used when it is a basic type. It has mostly an implication with .NET code
  generation.
- Updated debugger so that one can debug all features but attributes, deferred and
  constants.


Revision 66254 - (view) (annotate) - [select for diffs]
Modified Thu Jan 25 20:32:09 2007 UTC (12 years, 10 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/interface/class_b.e
File length: 4022 byte(s)
Diff to previous 58325
Slightly rewrote `check_validity' for basic types so that we can compile FreeELKS.


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


Revision 57781 - (view) (annotate) - [select for diffs]
Modified Mon Mar 27 17:11:27 2006 UTC (13 years, 8 months ago) by patrickr
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 3638 byte(s)
Diff to previous 57371
New compiler with new configuration system
For now only the batch compiler works


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/eiffel/interface/class_b.e
File length: 3640 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/eiffel/interface/class_b.e
File length: 3652 byte(s)
Diff to previous 56011
Added text of the GPL license to all classes of the compiler.


Revision 56011 - (view) (annotate) - [select for diffs]
Modified Mon Dec 5 17:36:00 2005 UTC (14 years ago) by alexk
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 2247 byte(s)
Diff to previous 44449
Recorded explicit class type declaration rather than a calculated one to
avoid issues with recompiling classes that change their expandedness
status.
Initialized class types associated with a class using `update_types' to
ensure that all structures (e.g., `derivations') are updated as well.
Used instantiation procedure unconditionally to cover the case of "like
Current" type.
Made a feature `duplicate' available in CL_TYPE_I to avoid using reverse
assignment.
Ensured that parent types are reference.
Created generic attribute descriptor not only for types that depend on
formal generic but also for those depending on anchored type ("like
Current").


Revision 44449 - (view) (annotate) - [select for diffs]
Modified Wed Jul 21 05:35:08 2004 UTC (15 years, 4 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 2334 byte(s)
Diff to previous 43990
Changed `partial_actual_type' to not take into account if `reference' was
  specified or not, because support for `reference X' has been removed.


Revision 43990 - (view) (annotate) - [select for diffs]
Modified Mon Jun 28 21:23:32 2004 UTC (15 years, 5 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 2520 byte(s)
Diff to previous 43159
Made sure to support anchors in basic type features' signatures.


Revision 43159 - (view) (annotate) - [select for diffs]
Modified Fri May 21 23:50:40 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 2508 byte(s)
Diff to previous 41838
Updated to use new error code names of SPECIAL_CONST.


Revision 41838 - (view) (annotate) - [select for diffs]
Modified Sat Mar 6 02:49:40 2004 UTC (15 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 2434 byte(s)
Diff to previous 37693
Implemented `partial_actual_type' needed for CLASS_TYPE_AS to create instances
  of TYPE_A.
Implemented `check_validity' in CLASS_B, it is moved from `CLASS_REF_B' (which is
  not in the system anymore) to here because we do not care too much about the
  implementation of the _REF class anymore we care about how the expanded basic
  type is defined, since the associated reference is extracted from the expanded
  basic type.


Revision 37693 - (view) (annotate) - [select for diffs]
Modified Wed Jun 11 23:57:03 2003 UTC (16 years, 6 months ago) by julieng
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 236 byte(s)
Diff to previous 26913
Replace !! with create keyword.
Replace creation keyword with create keyword.
Change order of elements in Precursor instructions.


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/eiffel/interface/class_b.e
File length: 238 byte(s)
Diff to previous 10188
Merged branch `dev46_manu' to the trunc.


Revision 10188 - (view) (annotate) - [select for diffs]
Modified Fri May 22 00:08:34 1998 UTC (21 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 592 byte(s)
Diff to previous 9816
Removed a useless inheritance since it was already here.


Revision 9816 - (view) (annotate) - [select for diffs]
Modified Sat Mar 28 04:02:18 1998 UTC (21 years, 8 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 607 byte(s)
Diff to previous 9653
Cosmetics
Fixed a bug in the C++ generation (degree -5)
Improved the generation of eplug.c


Revision 9653 - (view) (annotate) - [select for diffs]
Modified Sun Mar 15 02:07:44 1998 UTC (21 years, 9 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 633 byte(s)
Diff to previous 8153
Cosmetics (Removed semicolon)
Use precursor to simplify the inheritance scheme
Simplify some features


Revision 8153 - (view) (annotate) - [select for diffs]
Modified Mon Sep 15 23:03:43 1997 UTC (22 years, 3 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/eiffel/interface/class_b.e
File length: 619 byte(s)
Diff to previous 18
Changed a parameter name since it was `precursor' which is now a keyword


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/eiffel/interface/class_b.e
File length: 613 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