/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/eiffel/genericity/cl_type_i.e
ViewVC logotype

Diff of /branches/CAT_mono/Src/Eiffel/eiffel/genericity/cl_type_i.e

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

revision 30224 by manus, Thu Jan 17 00:57:45 2002 UTC revision 30293 by manus, Mon Jan 21 02:26:16 2002 UTC
# Line 38  create Line 38  create
38  feature {NONE} -- Initialization  feature {NONE} -- Initialization
39    
40          make (id: INTEGER) is          make (id: INTEGER) is
41                          -- Create new instance of `Current' with `base_id'                          -- Create new instance of `Current' with `class_id'
42                          -- assigned with `id'.                          -- assigned with `id'.
43                  require                  require
44                          valid_id: id > 0                          valid_id: id > 0
45                  do                  do
46                          base_id := id                          class_id := id
47                  ensure                  ensure
48                          base_id_set: base_id = id                          class_id_set: class_id = id
49                  end                  end
50                                    
51  feature -- Access  feature -- Access
52    
53          base_id: INTEGER          class_id: INTEGER
54                          -- Base class id of the type class                          -- Base class id of the type class
55    
56          meta_generic: META_GENERIC is          meta_generic: META_GENERIC is
# Line 72  feature -- Access Line 72  feature -- Access
72          base_class: CLASS_C is          base_class: CLASS_C is
73                          -- Base class associated to the class type                          -- Base class associated to the class type
74                  do                  do
75                          Result := System.class_of_id (base_id)                          Result := System.class_of_id (class_id)
76                  end                  end
77    
78          type_a: CL_TYPE_A is          type_a: CL_TYPE_A is
79                  do                  do
80                          create Result                          create Result.make (class_id)
81                          Result.set_is_true_expanded (is_true_expanded)                          Result.set_is_true_expanded (is_true_expanded)
82                          Result.set_is_separate (is_separate)                          Result.set_is_separate (is_separate)
                         Result.set_base_class_id (base_id)  
83                  end                  end
84    
85          il_type_name: STRING is          il_type_name: STRING is
# Line 201  feature -- Access Line 200  feature -- Access
200                          if not is_true_expanded then                          if not is_true_expanded then
201                                  Result := Sk_dtype                                  Result := Sk_dtype
202                          else                          else
203                                  Result := Sk_exp + base_id                                  Result := Sk_exp + class_id
204                          end                          end
205                  end                  end
206    
207          hash_code: INTEGER is          hash_code: INTEGER is
208                          -- Hash code for current type                          -- Hash code for current type
209                  do                  do
210                          Result := Other_code + base_id                          Result := Other_code + class_id
211                  end                  end
212    
213  feature -- Status  feature -- Status
# Line 278  feature -- Status Line 277  feature -- Status
277                  do                  do
278                          other_cl_type ?= other                          other_cl_type ?= other
279                          Result := other_cl_type /= Void -- FIXME                          Result := other_cl_type /= Void -- FIXME
280                                          and then other_cl_type.base_id = base_id                                          and then other_cl_type.class_id = class_id
281                                          and then other_cl_type.is_true_expanded = is_true_expanded                                          and then other_cl_type.is_true_expanded = is_true_expanded
282                                          and then other_cl_type.is_separate = is_separate                                          and then other_cl_type.is_separate = is_separate
283                                          and then other_cl_type.meta_generic = Void                                          and then other_cl_type.meta_generic = Void
# Line 336  feature -- C generation Line 335  feature -- C generation
335                                  buffer.putstring ("SK_DTYPE")                                  buffer.putstring ("SK_DTYPE")
336                          else                          else
337                                  buffer.putstring ("SK_EXP + (uint32) ")                                  buffer.putstring ("SK_EXP + (uint32) ")
338                                  buffer.putint (base_id)                                  buffer.putint (class_id)
339                          end                          end
340                  end                  end
341    

Legend:
Removed from v.30224  
changed lines
  Added in v.30293

  ViewVC Help
Powered by ViewVC 1.1.23