/[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 66895 by manus, Sun Feb 25 17:11:57 2007 UTC revision 67199 by alexk, Mon Mar 12 10:26:03 2007 UTC
# Line 310  feature -- Access Line 310  feature -- Access
310                          Result := Other_code + class_id                          Result := Other_code + class_id
311                  end                  end
312    
313    feature -- Type evaluation
314    
315            implemented_type (implemented_in: INTEGER): CL_TYPE_I is
316                            -- Parent type that corresponds to the current one.
317                    require
318                            valid_implemented_in: implemented_in > 0
319                    local
320                            written_class: CLASS_C
321                    do
322                                    -- If it is defined in current class, that's easy and we
323                                    -- return `current_type'. Otherwise we have to find the
324                                    -- correct CLASS_TYPE object where it is implemented.
325                            if class_id = implemented_in then
326                                    Result := Current
327                            else
328                                    written_class := System.class_of_id (implemented_in)
329                                            -- We go through the hierarchy only when `written_class'
330                                            -- is generic, otherwise for the most general case where
331                                            -- `written_class' is not generic it will take a long
332                                            -- time to go through the inheritance hierarchy.
333                                    if written_class.types.count > 1 then
334                                            Result := type_a.find_class_type (written_class).type_i
335                                    else
336                                            Result := written_class.types.first.type
337                                    end
338                            end
339                    end
340    
341  feature -- Status  feature -- Status
342    
343          element_type: INTEGER_8 is          element_type: INTEGER_8 is

Legend:
Removed from v.66895  
changed lines
  Added in v.67199

  ViewVC Help
Powered by ViewVC 1.1.23