/[eiffelstudio]/branches/CAT_mono/Src/framework/parser/AST/visitor/ast_formal_generics_pass2.e
ViewVC logotype

Log of /branches/CAT_mono/Src/framework/parser/AST/visitor/ast_formal_generics_pass2.e

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 69687 - (view) (annotate) - [select for diffs]
Modified Wed Jul 25 18:55:08 2007 UTC (12 years, 4 months ago) by martins
File length: 7545 byte(s)
Diff to previous 69629
* monomorph for formals
* covaraince for generics (syntax only)

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

Revision 68852 - (view) (annotate) - [select for diffs]
Modified Mon Jun 4 18:15:15 2007 UTC (12 years, 6 months ago) by martins
Original Path: trunk/Src/framework/parser/AST/visitor/ast_formal_generics_pass2.e
File length: 7490 byte(s)
Diff to previous 67856
Fixed bug#12818 (assigner command).
Added more support for alias features.
vwbr.e: Extended the error class to be able to support multi constraint error messages (switcht from CLACC_C to TYPE_A)
formal_a.e: Removed obsolete feature `has_multi_constraints'
gen_type_a.e: Cosmetics
renaming_a.e: Enabled storage of alias names. Detection of Infix/Prefix is not implemented (see bug#12817). 
type_set_a.e: Changed code related to alias names and added some more contracts.
formal_constraint_as.e: Creation of renaming with alias names
ast_feature_checker_generator.e: Fixed bug#12818 (assigner command) and fixed a bug for infix features.
byte_context.e: Fixed bug#12784 reproduced by test#multicon041.
constraining_type_as.e: refactored code into query
ast_formal_generics_pass2.e: In case of enabled assertions there are cases where the checks fail.


Revision 67856 - (view) (annotate) - [select for diffs]
Modified Mon Apr 16 19:22:30 2007 UTC (12 years, 8 months ago) by martins
Original Path: trunk/Src/framework/parser/AST/visitor/ast_formal_generics_pass2.e
File length: 7423 byte(s)
Diff to previous 67227
Cosmetics: I replaced double (or more) lines in the source code by single lines automatically. So you might hit anomalies. But I hope they are just a few exceptions.

Revision 67227 - (view) (annotate) - [select for diffs]
Added Tue Mar 13 01:32:16 2007 UTC (12 years, 9 months ago) by martins
Original Path: trunk/Src/framework/parser/AST/visitor/ast_formal_generics_pass2.e
File length: 7427 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