/[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 75150 by manus, Mon Sep 29 16:28:32 2008 UTC revision 75151 by alexk, Fri Oct 17 08:35:38 2008 UTC
# Line 272  feature -- Generic conformance Line 272  feature -- Generic conformance
272                  end                  end
273    
274          generate_cid (buffer: GENERATION_BUFFER; final_mode, use_info: BOOLEAN; a_context_type: TYPE_A) is          generate_cid (buffer: GENERATION_BUFFER; final_mode, use_info: BOOLEAN; a_context_type: TYPE_A) is
275                          -- Generate mode dependent sequence of type id's                          -- Generate mode dependent sequence of type id's
276                          -- separated by commas. `use_info' is true iff                          -- separated by commas. `use_info' is true iff
277                          -- we generate code for a creation instruction.                          -- we generate code for a creation instruction.
278                  do                  do
# Line 345  feature {COMPILER_EXPORTER} -- Modificat Line 345  feature {COMPILER_EXPORTER} -- Modificat
345          set_actual_type (a: TYPE_A) is          set_actual_type (a: TYPE_A) is
346                          -- Assign `a' to `conformance_type'.                          -- Assign `a' to `conformance_type'.
347                  do                  do
348                          if has_attached_mark then                          conformance_type := to_current_attachment (a)
                                 if not a.is_attached then  
                                         conformance_type := a.as_attached  
                                 else  
                                         conformance_type := a  
                                 end  
                         elseif is_implicitly_attached then  
                                 if not a.is_attached and then not a.is_implicitly_attached then  
                                         conformance_type := a.as_implicitly_attached  
                                 else  
                                         conformance_type := a  
                                 end  
                         elseif has_detachable_mark then  
                                 if not a.is_expanded and then (a.is_attached or else a.is_implicitly_attached) then  
                                         conformance_type := a.as_detachable  
                                 else  
                                         conformance_type := a  
                                 end  
                         else  
                                 if not is_implicitly_attached and then a.is_implicitly_attached then  
                                         conformance_type := a.as_implicitly_detachable  
                                 else  
                                         conformance_type := a  
                                 end  
                         end  
349                          actual_type := Current                          actual_type := Current
350                  end                  end
351    
# Line 447  feature {COMPILER_EXPORTER} -- Primitive Line 423  feature {COMPILER_EXPORTER} -- Primitive
423                                  -- i16 := (0x00FF).to_integer_16 & i8                                  -- i16 := (0x00FF).to_integer_16 & i8
424                                  -- or                                  -- or
425                                  -- i16 := (0x00FF & i8).to_integer_16                                  -- i16 := (0x00FF & i8).to_integer_16
426                          Result := type.intrinsic_type                          Result := to_current_attachment (type.intrinsic_type)
                         if has_attached_mark then  
                                 if not Result.is_attached then  
                                         Result := Result.as_attached  
                                 end  
                         elseif is_implicitly_attached then  
                                 if not Result.is_attached and then not Result.is_implicitly_attached then  
                                         Result := Result.as_implicitly_attached  
                                 end  
                         elseif has_detachable_mark then  
                                 if not Result.is_expanded and then (Result.is_attached or else Result.is_implicitly_attached) then  
                                         Result := Result.as_detachable  
                                 end  
                         elseif not is_implicitly_attached and then Result.is_implicitly_attached then  
                                 Result := Result.as_implicitly_detachable  
                         end  
427                  end                  end
428    
429          adapted_in, skeleton_adapted_in (a_class_type: CLASS_TYPE): CL_TYPE_A is          adapted_in, skeleton_adapted_in (a_class_type: CLASS_TYPE): CL_TYPE_A is
# Line 487  feature {COMPILER_EXPORTER} -- Primitive Line 448  feature {COMPILER_EXPORTER} -- Primitive
448                                  l_like.set_actual_type (class_type.conformance_type)                                  l_like.set_actual_type (class_type.conformance_type)
449                                  Result := l_like                                  Result := l_like
450                          end                          end
451                          if has_attached_mark then                          Result := to_current_attachment (Result)
                                 if not Result.is_attached then  
                                         Result := Result.as_attached  
                                 end  
                         elseif is_implicitly_attached then  
                                 if not Result.is_attached and then not Result.is_implicitly_attached then  
                                         Result := Result.as_implicitly_attached  
                                 end  
                         elseif has_detachable_mark then  
                                 if not Result.is_expanded and then (Result.is_attached or else Result.is_implicitly_attached) then  
                                         Result := Result.as_detachable  
                                 end  
                         elseif not is_implicitly_attached and then Result.is_implicitly_attached then  
                                 Result := Result.as_implicitly_detachable  
                         end  
452                  end                  end
453    
454          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.75150  
changed lines
  Added in v.75151

  ViewVC Help
Powered by ViewVC 1.1.23