/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
ViewVC logotype

Log of /branches/CAT_mono/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.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: 9787 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: 9680 byte(s)
Diff to previous 68589
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 68589 - (view) (annotate) - [select for diffs]
Modified Tue May 22 23:48:04 2007 UTC (12 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9680 byte(s)
Diff to previous 68089
Put the routines in alphabetical order (process_renamed_type_a).


Revision 68089 - (view) (annotate) - [select for diffs]
Modified Thu May 3 18:36:31 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9681 byte(s)
Diff to previous 67875
Refactored RENAMED_TYPE_A to RENAMED_TYPE [G -> TYPE_A]
This change allows us to program type safe if possible.

Revision 67875 - (view) (annotate) - [select for diffs]
Modified Wed Apr 18 00:40:15 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9672 byte(s)
Diff to previous 67862
Further adapted refactoring away from EXTENDED_TYPE_A to RENAMED_TYPE_A.

Revision 67862 - (view) (annotate) - [select for diffs]
Modified Tue Apr 17 02:11:27 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9673 byte(s)
Diff to previous 67227
* Fixed minor bug in FORMAL_CONSTRAINT_AS (renaming of single constraint type was not checked)
* Adapted precondition of conformance features in TYPE_SET_A
* Refactored EXTENDED_TYPE_A into RENAMED_TYPE_A.
* Refactored MC_ERROR_REPORT into MC_FEATURE_INFO

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/visitor/ast_type_output_strategy.e
File length: 9674 byte(s)
Diff to previous 65165
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 65165 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 01:36:22 2006 UTC (13 years ago) by patrickr
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9311 byte(s)
Diff to previous 63743
made old and new HASH_TABLE compatible
added some catcall detection and prevention features to HASH_TABLE
changed ID_AS not to inherit form STRING but have a name_id which is an id into the names heap
switched compiler from the obsolete HASH_TABLE to the normal HASH_TABLE of base

Revision 63743 - (view) (annotate) - [select for diffs]
Modified Wed Sep 20 21:19:03 2006 UTC (13 years, 2 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9306 byte(s)
Diff to previous 63687
Removed `process_generic_in_type' because it was useless. Indeed the code was made to solve the case
  were in the ancestor you have a formal and in the current class it is not. But here we always
  process a type in a class. Therefore when we have a formal it is still a formal and no special
  handling is required.
  This fixes eweasel test#term043, test#term050 and test#incr157 because sometime we can call
  this visitor for processing types that did not go through degree 4 yet.


Revision 63687 - (view) (annotate) - [select for diffs]
Modified Tue Sep 19 00:29:36 2006 UTC (13 years, 2 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10261 byte(s)
Diff to previous 63558
Use the name from `l_feat' since it is the proper one when a feature is
  being renamed in a descendand. Fixes bug#11306.


Revision 63558 - (view) (annotate) - [select for diffs]
Modified Thu Sep 14 00:07:41 2006 UTC (13 years, 2 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10269 byte(s)
Diff to previous 63452
Fixed bug#11182 where if a constraint of a class had generics, they would not be shown
  in the descendant/ancestor format as well as in error messages for that class. Now
  we made AST_TYPE_OUTPUT_STRATEGY one of the stateless visitor and updated the
  AST_DECORATED_OUTPUT_STRATEGY to use its new interface.
  And finally we use AST_TYPE_OUTPUT_STRATEGY in FORMAL_CONSTRAINT_AS to properly
  display the constraint type.


Revision 63452 - (view) (annotate) - [select for diffs]
Modified Mon Sep 11 01:52:29 2006 UTC (13 years, 3 months ago) by jasonw
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10109 byte(s)
Diff to previous 59042
Fixed a bug that keyword "BIT" is not colored in class/feature browser and in feature flat form.

Revision 59042 - (view) (annotate) - [select for diffs]
Modified Wed May 17 22:28:03 2006 UTC (13 years, 6 months ago) by tedf
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10040 byte(s)
Diff to previous 58325
Fixed a bug that a named tuple type should have a semi-colon between type entries rather than a comma.

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


Revision 57484 - (view) (annotate) - [select for diffs]
Modified Wed Mar 15 23:05:12 2006 UTC (13 years, 8 months ago) by tedf
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 8630 byte(s)
Diff to previous 57426
After compilation errors occur, we do not have routine id correctly set and some classes are missing. In this case, we do not evaluate types, but send simple text to output.
Fixed a bug in CLICKABLE_TEXT that sometimes the last line did not appear after processing as a text formatter.

Revision 57426 - (view) (annotate) - [select for diffs]
Added Fri Mar 10 20:30:45 2006 UTC (13 years, 9 months ago) by tedf
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 8693 byte(s)
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.



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