/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/eiffel/genericity/multi_formal_i.e
ViewVC logotype

Log of /branches/CAT_mono/Src/Eiffel/eiffel/genericity/multi_formal_i.e

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 69868 - (view) (annotate) - [select for diffs]
Modified Fri Aug 3 22:28:26 2007 UTC (12 years, 4 months ago) by martins
File length: 8578 byte(s)
Diff to previous 69629
enabled more types to store monomorph information

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: 8398 byte(s)
Diff to previous 68336
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 68336 - (view) (annotate) - [select for diffs]
Modified Tue May 15 21:46:21 2007 UTC (12 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/eiffel/genericity/multi_formal_i.e
File length: 8398 byte(s)
Diff to previous 68030
Removed check statemetns since now it is being used, see comments.


Revision 68030 - (view) (annotate) - [select for diffs]
Modified Mon Apr 30 18:38:45 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/genericity/multi_formal_i.e
File length: 8225 byte(s)
Diff to previous 67227
Main change: I merged many occurences of "constrained_type" like features into `FORMAL_A'
Renamed `is_multi_constrained_formal' into `is_multi_constrained'
type_a.e: I moved some features into FORMAL_A because the usage pattern suggests that they are not needed in TYPE_A (to improve speed).
renamed_type_a.e: added implementation for `conformance_type', this was a bug (not reported)
formal_dec_as.e: fixed a bug in `is_multi_constrained' (not reported)

Revision 67227 - (view) (annotate) - [select for diffs]
Added Tue Mar 13 01:32:16 2007 UTC (12 years, 8 months ago) by martins
Original Path: trunk/Src/Eiffel/eiffel/genericity/multi_formal_i.e
File length: 8238 byte(s)
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.


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