ViewVC logotype

Revision 75567

Jump to revision: Previous Next
Author: manus
Date: Thu Nov 13 20:39:48 2008 UTC (11 years, 2 months ago)
Changed paths: 26
Log Message:
Added support for attachment marks at runtime in actual generic parameters:
- Updated runtime to understand annotation marks in our type arrays and all routines for 
  creating types and handling conformance.
- To properly handle conformance, a new entry in the type arrays generated in eparents.c have been
  added, it stores whether or not a type is attached. That is to say A inherits B, and when we check if
  !A conforms to !B, we modify the type array so that it has the attachment mark.
- Increased storable version number as old systems cannot understand the marks.
- Fixed catcall detection at runtime which was not properly handling attached arguments (as before
  we only check catcalls for non-void argument, but it the argument is attached, then we need to
  check that it is indeed not Void.
- Changed the Eiffel code generation so that even if we asked to create !A, we actually create A
  (i.e. we remove the annotation as they do not make sense for the type of an object).
- Made sure that a generic descriptor is created for attributes whose type is an attached non-generic type
  as well as a non-explicit type (e.g. formal/anchors).

Changed paths

Path Details
Directorytrunk/Src/C/run-time/eif_gen_conf.h modified , text changed
Directorytrunk/Src/C/run-time/eif_store.h modified , text changed
Directorytrunk/Src/C/run-time/except.c modified , text changed
Directorytrunk/Src/C/run-time/gen_conf.c modified , text changed
Directorytrunk/Src/C/run-time/include/rt_gen_types.h modified , text changed
Directorytrunk/Src/C/run-time/interp.c modified , text changed
Directorytrunk/Src/C/run-time/plug.c modified , text changed
Directorytrunk/Src/C/run-time/retrieve.c modified , text changed
Directorytrunk/Src/C/run-time/store.c modified , text changed
Directorytrunk/Src/C/run-time/traverse.c modified , text changed
Directorytrunk/Src/Eiffel/API/evaluated_type/attachable_type_a.e modified , text changed
Directorytrunk/Src/Eiffel/API/evaluated_type/cl_type_a.e modified , text changed
Directorytrunk/Src/Eiffel/API/evaluated_type/formal_a.e modified , text changed
Directorytrunk/Src/Eiffel/API/evaluated_type/like_type_a.e modified , text changed
Directorytrunk/Src/Eiffel/API/evaluated_type/none_a.e modified , text changed
Directorytrunk/Src/Eiffel/API/evaluated_type/type_a.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/byte_code/byte_context.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/byte_code/create_feat.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/byte_code/create_formal_type.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/compiler/parent_table.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/generation/entry.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/interface/attribute_i.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/interface/constant_i.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/interface/feature_i.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/interface/type_feature_i.e modified , text changed
Directorytrunk/Src/Eiffel/eiffel/shared/shared_gen_conf_level.e modified , text changed

  ViewVC Help
Powered by ViewVC 1.1.23