/[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 40762 by manus, Thu Dec 11 23:17:07 2003 UTC revision 41738 by manus, Fri Mar 5 18:59:26 2004 UTC
# Line 11  inherit Line 11  inherit
11                  undefine                  undefine
12                          same_as, solved_type, instantiation_in                          same_as, solved_type, instantiation_in
13                  redefine                  redefine
14                          actual_type, has_like, is_like,                          actual_type, has_like, is_like, is_external,
15                          is_basic, instantiated_in, meta_type,                          is_basic, instantiated_in, meta_type,
16                          has_associated_class                          has_associated_class, reference_actual_type
17                  end                  end
18    
19          SHARED_LIKE_CONTROLER          SHARED_LIKE_CONTROLER
# Line 22  feature -- Properties Line 22  feature -- Properties
22    
23          actual_type: TYPE_A          actual_type: TYPE_A
24                          -- Actual type of the anchored type in a given class                          -- Actual type of the anchored type in a given class
25                            
26            reference_actual_type: TYPE_A is
27                            -- `actual_type' if not `is_expanded'.
28                            -- Otherwise associated reference of `actual type'
29                    do
30                            Result := actual_type.reference_actual_type
31                    end
32    
33          is_like: BOOLEAN is True          is_like: BOOLEAN is True
34                          -- Is the type anchored one ?                          -- Is the type anchored one ?
# Line 32  feature -- Properties Line 39  feature -- Properties
39          class_id: INTEGER          class_id: INTEGER
40                          -- Class ID of the class where the anchor is referenced                          -- Class ID of the class where the anchor is referenced
41    
   
42          is_basic: BOOLEAN is          is_basic: BOOLEAN is
43                          -- Is the current actual type a basic one ?                          -- Is the current actual type a basic one ?
44                  do                  do
45                          Result := actual_type.is_basic                          Result := actual_type.is_basic
46                  end                  end
47                    
48            is_external: BOOLEAN is
49                            -- Is current type based on an external class?
50                    do
51                            Result := actual_type.is_external
52                    end
53    
54  feature -- Access  feature -- Access
55    
# Line 88  feature -- Primitives Line 100  feature -- Primitives
100                          Result.set_actual_type (actual_type.instantiated_in (class_type))                          Result.set_actual_type (actual_type.instantiated_in (class_type))
101                  end                  end
102    
103          internal_conform_to (other: TYPE_A in_generics: BOOLEAN): BOOLEAN is          conform_to (other: TYPE_A): BOOLEAN is
104                          -- Does `other' conform to `actual_type' ?                          -- Does `actual_type' conform to `other'?
105                  do                  do
106                          Result := actual_type.internal_conform_to (other.actual_type, in_generics)                          Result := actual_type.conform_to (other.actual_type)
107                  end                  end
108    
109          type_i: TYPE_I is          type_i: TYPE_I is
# Line 102  feature -- Primitives Line 114  feature -- Primitives
114                          Result := actual_type.type_i                          Result := actual_type.type_i
115                          cl_type ?= Result                          cl_type ?= Result
116    
117                          if cl_type /= Void then                          if cl_type /= Void and then not cl_type.is_expanded then
118                                          -- Remember that it's an anchored type                                          -- Remember that it's an anchored type, not needed
119                                            -- when handling expanded types.
120                                  cl_type.set_cr_info (create_info)                                  cl_type.set_cr_info (create_info)
121                          end                          end
122                  end                  end

Legend:
Removed from v.40762  
changed lines
  Added in v.41738

  ViewVC Help
Powered by ViewVC 1.1.23