/[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 3636 by guusl, Mon Jan 15 12:06:48 1996 UTC revision 3652 by ericb, Mon Jan 15 15:32:22 1996 UTC
# Line 17  inherit Line 17  inherit
17    
18  feature  feature
19    
20          base_id: INTEGER;          base_id: CLASS_ID;
21                          -- Base class id of the type class                          -- Base class id of the type class
22    
23          is_expanded: BOOLEAN;          is_expanded: BOOLEAN;
24                          -- Is the type expanded ?                          -- Is the type expanded ?
25    
26          set_base_id (c: INTEGER) is          set_base_id (c: CLASS_ID) is
27                          -- Assign `c' to `base_id'.                          -- Assign `c' to `base_id'.
28                  do                  do
29                          base_id := c;                          base_id := c;
# Line 67  feature Line 67  feature
67                          other_cl_type ?= other;                          other_cl_type ?= other;
68                          Result :=       other_cl_type /= Void                          Result :=       other_cl_type /= Void
69                                                  and then                                                  and then
70                                                  other_cl_type.base_id = base_id                                                  equal (other_cl_type.base_id, base_id)
71                                                  and then                                                  and then
72                                                  other_cl_type.is_expanded = is_expanded                                                  other_cl_type.is_expanded = is_expanded
73                                                  and then                                                  and then
# Line 180  feature Line 180  feature
180                                  file.putstring ("SK_DTYPE");                                  file.putstring ("SK_DTYPE");
181                          else                          else
182                                  file.putstring ("SK_EXP + (uint32) ");                                  file.putstring ("SK_EXP + (uint32) ");
183                                  file.putint (base_id);                                  file.putint (base_id.id);
184                          end;                          end;
185                  end;                  end;
186    
187          hash_code: INTEGER is          hash_code: INTEGER is
188                          -- Hash code for current type                          -- Hash code for current type
189                  do                  do
190                          Result := Other_code + base_id;                          Result := Other_code + base_id.hash_code
191                  end;                  end;
192    
193          sk_value: INTEGER is          sk_value: INTEGER is
# Line 207  feature Line 207  feature
207                          if not is_expanded then                          if not is_expanded then
208                                  Result := Sk_dtype                                  Result := Sk_dtype
209                          else                          else
210                                  Result := Sk_exp + base_id                                  Result := Sk_exp + base_id.id
211                          end;                          end;
212                  end;                  end;
213    
# Line 231  feature Line 231  feature
231                  do                  do
232                          !!Result                          !!Result
233                          Result.set_is_expanded (is_expanded);                          Result.set_is_expanded (is_expanded);
234                          Result.set_base_type (base_id)                          Result.set_base_class_id (base_id)
235                  end                  end
236    
237  end  end

Legend:
Removed from v.3636  
changed lines
  Added in v.3652

  ViewVC Help
Powered by ViewVC 1.1.23