/[eiffelstudio]/branches/eth/eve/Src/Eiffel/API/evaluated_type/like_current.e
ViewVC logotype

Diff of /branches/eth/eve/Src/Eiffel/API/evaluated_type/like_current.e

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

revision 71672 by alexk, Tue Dec 25 08:24:57 2007 UTC revision 71673 by alexk, Sat Dec 29 06:34:55 2007 UTC
# Line 12  inherit Line 12  inherit
12          LIKE_TYPE_A          LIKE_TYPE_A
13                  redefine                  redefine
14                          actual_type, associated_class, conform_to, conformance_type, convert_to,                          actual_type, associated_class, conform_to, conformance_type, convert_to,
15                          generics, has_associated_class, instantiated_in,                          generics, has_associated_class, instantiated_in, duplicate,
16                          is_basic, is_expanded, is_external, is_like_current, is_none, is_reference,                          is_basic, is_expanded, is_external, is_like_current, is_none, is_reference,
17                          meta_type, set_actual_type, type_i, evaluated_type_in_descendant, is_tuple,                          meta_type, set_actual_type, type_i, evaluated_type_in_descendant, is_tuple,
18                          set_attached_mark, set_detachable_mark                          set_attached_mark, set_detachable_mark
# Line 189  feature {COMPILER_EXPORTER} -- Modificat Line 189  feature {COMPILER_EXPORTER} -- Modificat
189                          end                          end
190                  end                  end
191    
192    feature {COMPILER_EXPORTER} -- Duplication
193    
194            duplicate: LIKE_CURRENT
195                            -- Duplication
196                    do
197                            Result := Precursor
198                                    -- Ensure `Result.actual_type = Result'
199                                    -- that is expected when working with attachment properties
200                            Result.set_actual_type (conformance_type)
201                    end
202    
203  feature {COMPILER_EXPORTER} -- Primitives  feature {COMPILER_EXPORTER} -- Primitives
204    
205          instantiation_in (type: TYPE_A; written_id: INTEGER): TYPE_A is          instantiation_in (type: TYPE_A; written_id: INTEGER): TYPE_A is
# Line 213  feature {COMPILER_EXPORTER} -- Primitive Line 224  feature {COMPILER_EXPORTER} -- Primitive
224                                  -- or                                  -- or
225                                  -- i16 := (0x00FF & i8).to_integer_16                                  -- i16 := (0x00FF & i8).to_integer_16
226                          Result := type.intrinsic_type                          Result := type.intrinsic_type
227                            if has_attached_mark then
228                                    if not Result.is_attached then
229                                            Result := Result.as_attached
230                                    end
231                            elseif has_detachable_mark then
232                                    if not Result.is_expanded and then Result.is_attached then
233                                            Result := Result.as_detachable
234                                    end
235                            end
236                  end                  end
237    
238          instantiated_in (class_type: TYPE_A): TYPE_A is          instantiated_in (class_type: TYPE_A): TYPE_A is
# Line 231  feature {COMPILER_EXPORTER} -- Primitive Line 251  feature {COMPILER_EXPORTER} -- Primitive
251                                  l_like.set_actual_type (class_type.conformance_type)                                  l_like.set_actual_type (class_type.conformance_type)
252                                  Result := l_like                                  Result := l_like
253                          end                          end
254                            if has_attached_mark then
255                                    if not Result.is_attached then
256                                            Result := Result.as_attached
257                                    end
258                            elseif has_detachable_mark then
259                                    if not Result.is_expanded and then Result.is_attached then
260                                            Result := Result.as_detachable
261                                    end
262                            end
263                  end                  end
264    
265          evaluated_type_in_descendant (a_ancestor, a_descendant: CLASS_C; a_feature: FEATURE_I): LIKE_CURRENT is          evaluated_type_in_descendant (a_ancestor, a_descendant: CLASS_C; a_feature: FEATURE_I): LIKE_CURRENT is

Legend:
Removed from v.71672  
changed lines
  Added in v.71673

  ViewVC Help
Powered by ViewVC 1.1.23