/[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 86695 by jasonw, Fri Apr 29 18:23:18 2011 UTC revision 86696 by jasonw, Fri Jun 10 11:12:57 2011 UTC
# Line 3  note Line 3  note
3          legal: "See notice at end of class."          legal: "See notice at end of class."
4          status: "See notice at end of class."          status: "See notice at end of class."
5          date: "$Date$"          date: "$Date$"
6          revision: "$Revision $"          revision: "$Revision$"
7    
8  class  class
9          LIKE_CURRENT          LIKE_CURRENT
# Line 14  inherit Line 14  inherit
14                          actual_type, deep_actual_type, context_free_type,                          actual_type, deep_actual_type, context_free_type,
15                          associated_class, associated_class_type, conform_to, conformance_type, convert_to,                          associated_class, associated_class_type, conform_to, conformance_type, convert_to,
16                          generics, has_associated_class, has_associated_class_type, formal_instantiated_in,                          generics, has_associated_class, has_associated_class_type, formal_instantiated_in,
17                          instantiated_in, duplicate,                          instantiated_in, duplicate, set_separate_mark,
18                          is_basic, is_expanded, is_external, is_like_current, is_none, is_reference, is_ephemeral,                          is_basic, is_expanded, is_external, is_like_current, is_none, is_reference, is_ephemeral,
19                          meta_type, set_actual_type, evaluated_type_in_descendant, is_tuple,                          meta_type, set_actual_type, evaluated_type_in_descendant, is_tuple,
20                          set_attached_mark, set_detachable_mark, set_is_implicitly_attached,                          set_attached_mark, set_detachable_mark, set_is_implicitly_attached,
# Line 387  feature {COMPILER_EXPORTER} -- Modificat Line 387  feature {COMPILER_EXPORTER} -- Modificat
387          set_actual_type (a: TYPE_A)          set_actual_type (a: TYPE_A)
388                          -- Assign `a' to `conformance_type'.                          -- Assign `a' to `conformance_type'.
389                  do                  do
390                          conformance_type := a.to_other_immediate_attachment (Current)                                  -- Promote separateness status if present.
391                            if has_separate_mark then
392                                    conformance_type := a.to_other_immediate_attachment (Current).to_other_separateness (Current)
393                            else
394                                    conformance_type := a.to_other_immediate_attachment (Current)
395                            end
396                          actual_type := Current                          actual_type := Current
397                  end                  end
398    
# Line 427  feature {COMPILER_EXPORTER} -- Modificat Line 432  feature {COMPILER_EXPORTER} -- Modificat
432                          end                          end
433                  end                  end
434    
435            set_separate_mark
436                            -- <Precursor>
437                    do
438                            Precursor
439                            if attached conformance_type as a then
440                                    conformance_type := a.to_other_separateness (Current)
441                            end
442                    end
443    
444  feature {COMPILER_EXPORTER} -- Duplication  feature {COMPILER_EXPORTER} -- Duplication
445    
446          duplicate: LIKE_CURRENT          duplicate: LIKE_CURRENT
# Line 484  feature {COMPILER_EXPORTER} -- Primitive Line 498  feature {COMPILER_EXPORTER} -- Primitive
498                          elseif Result.is_implicitly_attached then                          elseif Result.is_implicitly_attached then
499                                  Result := Result.as_implicitly_detachable                                  Result := Result.as_implicitly_detachable
500                          end                          end
501                                    -- Promote separateness status if present.
502                            if is_separate then
503                                    Result := Result.to_other_separateness (Current)
504                            end
505                  end                  end
506    
507          adapted_in, skeleton_adapted_in (a_class_type: CLASS_TYPE): CL_TYPE_A          adapted_in, skeleton_adapted_in (a_class_type: CLASS_TYPE): CL_TYPE_A
# Line 531  feature {COMPILER_EXPORTER} -- Primitive Line 549  feature {COMPILER_EXPORTER} -- Primitive
549                                  Result := l_like                                  Result := l_like
550                          end                          end
551                          Result := Result.to_other_attachment (Current)                          Result := Result.to_other_attachment (Current)
552                                    -- Promote separateness status if present.
553                            if is_separate then
554                                    Result := Result.to_other_separateness (Current)
555                            end
556                  end                  end
557    
558          evaluated_type_in_descendant (a_ancestor, a_descendant: CLASS_C; a_feature: FEATURE_I): LIKE_CURRENT          evaluated_type_in_descendant (a_ancestor, a_descendant: CLASS_C; a_feature: FEATURE_I): LIKE_CURRENT
# Line 539  feature {COMPILER_EXPORTER} -- Primitive Line 561  feature {COMPILER_EXPORTER} -- Primitive
561                                  create Result                                  create Result
562                                  Result.set_actual_type (a_descendant.actual_type)                                  Result.set_actual_type (a_descendant.actual_type)
563                                  Result := Result.to_other_attachment (Current)                                  Result := Result.to_other_attachment (Current)
564                                            -- Promote separateness status if present.
565                                    if is_separate then
566                                            Result := Result.to_other_separateness (Current)
567                                    end
568                          else                          else
569                                  Result := Current                                  Result := Current
570                          end                          end
# Line 575  feature {COMPILER_EXPORTER} -- Primitive Line 601  feature {COMPILER_EXPORTER} -- Primitive
601                  end                  end
602    
603  note  note
604          copyright:      "Copyright (c) 1984-2010, Eiffel Software"          copyright:      "Copyright (c) 1984-2011, Eiffel Software"
605          license:        "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"          license:        "GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
606          licensing_options:      "http://www.eiffel.com/licensing"          licensing_options:      "http://www.eiffel.com/licensing"
607          copying: "[          copying: "[

Legend:
Removed from v.86695  
changed lines
  Added in v.86696

  ViewVC Help
Powered by ViewVC 1.1.23