/[eiffelstudio]
ViewVC logotype

Revision 57371


Jump to revision: Previous Next
Author: manus
Date: Wed Mar 8 00:05:46 2006 UTC (13 years, 10 months ago)
Changed paths: 110 (showing only 100; show all)
Log Message:
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



Changed paths

Path Details
Directorytrunk/Src/bench/Eiffel/API/constants/system_constants.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/error/eiffel/parents/special_const.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/error/eiffel/redefined/vtat1.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/error/eiffel/unredefined/vgcc3.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/error/eiffel/unredefined/vtcg6.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/basic_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/bits_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/bits_symbol_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/cl_type_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/formal_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/gen_type_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/like_argument.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/like_current.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/like_feature.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/like_type_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/type_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/typed_pointer_a.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/unevaluated_bits_symbol_a.e added
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/unevaluated_like_type.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/evaluated_type/visitor/type_a_visitor.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/structured_text/shared_text_items.e modified , text changed
Directorytrunk/Src/bench/Eiffel/API/structured_text/text_filter.e modified , text changed
Directorytrunk/Src/bench/Eiffel/Ace/batch.mswin.ace modified , text changed
Directorytrunk/Src/bench/Eiffel/Ace/batch.unix.ace modified , text changed
Directorytrunk/Src/bench/Eiffel/Ace/newbench.linux.ace modified , text changed
Directorytrunk/Src/bench/Eiffel/Ace/newbench.mswin.ace modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/clickable/basic_type.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/clickable/class_type_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/clickable/dotnet_class_as.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/clickable/formal_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/clickable/named_tuple_type_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/factory/ast_compiler_factory.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/factory/ast_roundtrip_compiler_factory.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/factory/ast_roundtrip_compiler_light_factory.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/bits_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/bits_symbol_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/formal_constraint_as.e
(Copied from trunk/Src/bench/Eiffel/eiffel/AST/skeleton/formal_dec_as.e, r57257)
added , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/formal_dec_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/integer_constant.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/like_cur_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/like_id_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/none_type_as.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/skeleton/type.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/ast_feature_checker_generator.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/ast_feature_i_generator.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/ast_formatter_visitor.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/ast_locals_info.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/ast_parent_c_generator.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/ast_type_a_generator.e added
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/ast_type_checker.e deleted
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/shared_stateless_visitor.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/AST/visitor/type_a_checker.e added
Directorytrunk/Src/bench/Eiffel/eiffel/byte_code/address_b.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/byte_code/create_feat.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/byte_code/feature_b.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/byte_code/visitor/custom_attribute_generator.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/cecil/cecil1.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/compiler/address_table.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/compiler/ast_context.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/compiler/convertibility_checker.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/compiler/feature_table.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/compiler/inspect_control.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/compiler/melted_info.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/compiler/type_evaluator.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/generation/entry.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/genericity/formal_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/il_generation/windows/cil_code_generator.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/il_generation/windows/il_module.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/inheritance/inherit_table.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/array_class_b.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/attribute_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/class_b.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/class_c.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/constant_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/def_func_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/dyn_func_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/external_class_c.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/external_func_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/external_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/feat_arg.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/feature_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/native_array_b.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/once_func_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/procedure_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/special_b.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/special_class_type.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/interface/unique_i.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/server/idable.e modified , text changed
Directorytrunk/Src/bench/Eiffel/eiffel/shared/shared_like_controler.e deleted
Directorytrunk/Src/bench/Eiffel/flat_short/bench/format_context.e modified , text changed
Directorytrunk/Src/bench/Eiffel/flat_short/bench/global_feat_adaptation.e modified , text changed
Directorytrunk/Src/bench/Eiffel/flat_short/bench/local_feat_adaptation.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/new_graphical/metric_tool/eb_metric_basic_functionalities.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/new_graphical/refactoring/check/erf_chk_feature_rename.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/new_graphical/refactoring/erf_feature_rename.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/new_graphical/refactoring/visitor/ast_rename_feature_visitor.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/new_graphical/text_window/text/autocomplete/eb_class_info_analyzer.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/new_graphical/text_window/text/autocomplete/eb_name_for_completion.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/new_graphical/tools/dbg_expression_evaluator_b.e modified , text changed
Directorytrunk/Src/bench/Eiffel/interface/tty/ewb_dump_features.e modified , text changed
[...]

  ViewVC Help
Powered by ViewVC 1.1.23