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

Diff of /branches/CAT_mono/Src/Eiffel/API/evaluated_type/like_type_a.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 50374 by manus, Sat Apr 23 15:07:18 2005 UTC revision 55790 by alexk, Fri Nov 18 08:16:50 2005 UTC
# Line 23  feature -- Properties Line 23  feature -- Properties
23    
24          actual_type: TYPE_A          actual_type: TYPE_A
25                          -- Actual type of the anchored type in a given class                          -- Actual type of the anchored type in a given class
26                            
27          is_like: BOOLEAN is True          is_like: BOOLEAN is True
28                          -- Is the type anchored one ?                          -- Is the type anchored one ?
29    
# Line 33  feature -- Properties Line 33  feature -- Properties
33          is_loose: BOOLEAN is True          is_loose: BOOLEAN is True
34                          -- Does type depend on formal generic parameters and/or anchors?                          -- Does type depend on formal generic parameters and/or anchors?
35    
         class_id: INTEGER  
                         -- Class ID of the class where the anchor is referenced  
   
36          is_basic: BOOLEAN is          is_basic: BOOLEAN is
37                          -- Is the current actual type a basic one ?                          -- Is the current actual type a basic one ?
38                  do                  do
39                          Result := actual_type.is_basic                          Result := actual_type.is_basic
40                  end                  end
41                    
42          is_external: BOOLEAN is          is_external: BOOLEAN is
43                          -- Is current type based on an external class?                          -- Is current type based on an external class?
44                  do                  do
45                          Result := actual_type.is_external                          Result := actual_type.is_external
46                  end                  end
47                    
48          is_reference: BOOLEAN is          is_reference: BOOLEAN is
49                          -- Is current actual type a reference one?                          -- Is current actual type a reference one?
50                  do                  do
# Line 59  feature -- Properties Line 56  feature -- Properties
56                  do                  do
57                          Result := actual_type.is_expanded                          Result := actual_type.is_expanded
58                  end                  end
59            
60          is_none: BOOLEAN is          is_none: BOOLEAN is
61                          -- Is current actual type NONE?                          -- Is current actual type NONE?
62                  do                  do
# Line 100  feature -- Primitives Line 97  feature -- Primitives
97                  deferred                  deferred
98                  end                  end
99    
100          instantiation_in (type: TYPE_A written_id: INTEGER): like Current is          instantiation_in (type: TYPE_A written_id: INTEGER): TYPE_A is
101                          -- Instantiation of Current in the context of `class_type',                          -- Instantiation of Current in the context of `class_type',
102                          -- assuming that Current is written in class of id `written_id'.                          -- assuming that Current is written in class of id `written_id'.
103                  deferred                  deferred
104                  end                  end
105    
106          instantiated_in (class_type: CL_TYPE_A): like Current is          instantiated_in (class_type: TYPE_A): TYPE_A is
107                          -- Instantiation of Current in the context of `class_type'                          -- Instantiation of Current in the context of `class_type'
108                          -- assuming that Current is written in the associated class                          -- assuming that Current is written in the associated class
109                          -- of `class_type'.                          -- of `class_type'.
110                    local
111                            t: like Current
112                  do                  do
113                          Result := twin                          t := twin
114                          Result.set_actual_type (actual_type.instantiated_in (class_type))                          t.set_actual_type (actual_type.instantiated_in (class_type))
115                            Result := t
116                  end                  end
117    
118          conform_to (other: TYPE_A): BOOLEAN is          conform_to (other: TYPE_A): BOOLEAN is
119                          -- Does `actual_type' conform to `other'?                          -- Does `actual_type' conform to `other'?
120                  do                  do
121                          Result := actual_type.conform_to (other.actual_type)                          Result := actual_type.conform_to (other.conformance_type)
122                  end                  end
123    
124          convert_to (a_context_class: CLASS_C; a_target_type: TYPE_A): BOOLEAN is          convert_to (a_context_class: CLASS_C; a_target_type: TYPE_A): BOOLEAN is
125                          -- Does current convert to `a_target_type' in `a_context_class'?                          -- Does current convert to `a_target_type' in `a_context_class'?
126                          -- Update `last_conversion_info' of AST_CONTEXT.                          -- Update `last_conversion_info' of AST_CONTEXT.
127                  do                  do
128                          Result := actual_type.convert_to (a_context_class, a_target_type)                                        Result := actual_type.convert_to (a_context_class, a_target_type)
129                  end                  end
130    
131          type_i: TYPE_I is          type_i: TYPE_I is

Legend:
Removed from v.50374  
changed lines
  Added in v.55790

  ViewVC Help
Powered by ViewVC 1.1.23