Log of /branches/CAT_mono/Src/Eiffel/API/evaluated_type/like_type_a.e
Parent Directory
|
Revision Log
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: 5297 byte(s)
Diff to
previous 69629
Added monomorph mark for class types, either "frozen" or "invariant".
First (simple) conformance check for monomorphic types.
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/API/evaluated_type/like_type_a.e
File length: 5076 byte(s)
Diff to
previous 58325
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
57371 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 8 00:05:46 2006 UTC
(13 years, 9 months ago)
by
manus
Original Path:
trunk/Src/bench/Eiffel/API/evaluated_type/like_type_a.e
File length: 5066 byte(s)
Diff to
previous 56535
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
Revision
55790 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Fri Nov 18 08:16:50 2005 UTC
(14 years ago)
by
alexk
Original Path:
trunk/Src/bench/Eiffel/API/evaluated_type/like_type_a.e
File length: 3521 byte(s)
Diff to
previous 50374
Changed conformance tests to use a new feature `conformance_type'
because now `actual_type' can return LIKE_CURRENT due to changes
in processing of "like Current" type.
Changed signature of `instantiated_in' to accept LIKE_CURRENT that can
now be used during type checking in addition to the previously used
CL_TYPE_A.
Moved declaration of `class_id' into the class LIKE_FEATURE because it
is used only there.
Revision
44434 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 21 04:49:24 2004 UTC
(15 years, 4 months ago)
by
manus
Original Path:
trunk/Src/bench/Eiffel/API/evaluated_type/like_type_a.e
File length: 3082 byte(s)
Diff to
previous 42626
Removed support for `reference' types:
- removed `reference_actual_type'.
- added `is_conformant_to' which enables us to find if one type inherits
from another one in a conformant way. It is needed for checking constraint
genericity when actual generic is an expanded and constraint is a reference.
Before we were using `reference_actual_type.conform_to' but since we
removed it, we need something else and this is `is_conformant_to'.
Revision
41738 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 5 18:59:26 2004 UTC
(15 years, 9 months ago)
by
manus
Original Path:
trunk/Src/bench/Eiffel/API/evaluated_type/like_type_a.e
File length: 3020 byte(s)
Diff to
previous 40762
Added definition of `is_external' to find if we are handling an external type.
Added definition of `reference_actual_type' in case we anchor to a basic type.
Renamed `internal_conform_to' into `conform_to' since `internal_conform_to'
has now been removed from parent.
Fixed `type_i' so that when the type is expanded, there is no need to have
a CREATE_INFO instance because no redefinition can occur on the anchor type.
Revision
12165 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Sat Dec 5 19:29:49 1998 UTC
(21 years ago)
by
manus
Original Path:
trunk/Src/bench/Eiffel/API/evaluated_type/like_type_a.e
File length: 2772 byte(s)
Diff to
previous 11302
Before when compiling this code:
secret: REAL
guess_history: ARRAY [like secret]
do_something is
local
gh: like guess_history
do
gh := guess_history
end
you got the following error:
Error code: VJAR
Type error: source of assignment does not conform to target.
What to do: make sure that type of source (right-hand side)
conforms (in the sense of inheritance rule) to type of target.
Class: GUESSBOX
Feature: is_closest
Target name: gh
Target type: ARRAY [[like secret]: REAL]
Source_type: ARRAY [[like secret]: REAL]
because we forget to take the actual type of `other' in internal_conforms_to.
Revision
11302 -
(
view)
(
annotate)
-
[select for diffs]
Modified
Sun Sep 13 22:35:07 1998 UTC
(21 years, 3 months ago)
by
manus
Original Path:
trunk/Src/bench/Eiffel/API/evaluated_type/like_type_a.e
File length: 2760 byte(s)
Diff to
previous 11128
Removed `evaluated_type' and `associated_eclass' from TYPE_A and from their
descendants.
The first one, because it was a synonym to `actual_type'
The second one because it was the same as `associated_class'
Removed also useless precondition which were not exactly doing what their author
expected.
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.