/[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 32282 by manus, Thu May 30 18:53:24 2002 UTC revision 33952 by manus, Fri Aug 23 16:49:17 2002 UTC
# Line 32  inherit Line 32  inherit
32                          {NONE} all                          {NONE} all
33                  end                  end
34    
35            SHARED_IL_CASING
36                    export
37                            {NONE} all
38                    end
39    
40  create  create
41          make          make
42                    
# Line 82  feature -- Access Line 87  feature -- Access
87                          Result.set_is_separate (is_separate)                          Result.set_is_separate (is_separate)
88                  end                  end
89    
90          il_type_name: STRING is          il_type_name (a_prefix: STRING): STRING is
91                          -- Class name of current type.                          -- Class name of current type.
92                  local                  local
93                          l_class_c: like base_class                          l_class_c: like base_class
# Line 91  feature -- Access Line 96  feature -- Access
96                          if l_class_c.is_external then                          if l_class_c.is_external then
97                                  Result := clone (base_class.external_class_name)                                  Result := clone (base_class.external_class_name)
98                          else                          else
99                                  Result := clone (base_class.name)                                  Result := internal_il_type_name (clone (base_class.name), a_prefix)
100                          end                          end
101                  end                  end
102    
# Line 476  feature -- Output Line 481  feature -- Output
481                          end                          end
482                          Result.append (base_class.name_in_upper)                          Result.append (base_class.name_in_upper)
483                  end                  end
484            
485    feature {NONE} -- Implementation
486    
487            internal_il_type_name (a_base_name, a_prefix: STRING): STRING is
488                            -- Full type name of `a_base_name' using `a_prefix' in IL code generation
489                            -- with namespace specification
490                    require
491                            a_base_name_not_void: a_base_name /= Void
492                    local
493                            l_name: STRING
494                    do
495                            Result := a_base_name
496                            l_name := base_class.lace_class.actual_namespace
497                            if a_prefix /= Void then
498                                    if l_name.is_empty then
499                                            l_name := a_prefix + "."
500                                    else
501                                            l_name := il_casing.namespace_casing (l_name) + "." + a_prefix + "."
502                                    end
503                            else
504                                    if not l_name.is_empty then                                    
505                                            l_name := il_casing.namespace_casing (l_name) + "."
506                                    end
507                            end
508                            Result := l_name + il_casing.pascal_casing (Result,
509                                    feature {IL_CASING_CONVERSION}.upper_case)
510                    ensure
511                            internal_il_type_name_not_void: Result /= Void
512                            internal_il_type_name_not_empty: not Result.is_empty
513                    end
514    
515  end  end

Legend:
Removed from v.32282  
changed lines
  Added in v.33952

  ViewVC Help
Powered by ViewVC 1.1.23