/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/eiffel/AST/visitor/ast_type_a_generator.e
ViewVC logotype

Diff of /branches/CAT_mono/Src/Eiffel/eiffel/AST/visitor/ast_type_a_generator.e

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

revision 69686 by juliant, Tue Jul 24 17:18:14 2007 UTC revision 69687 by martins, Wed Jul 25 18:55:08 2007 UTC
# Line 127  feature {NONE} -- Visitor implementation Line 127  feature {NONE} -- Visitor implementation
127                          i, count: INTEGER                          i, count: INTEGER
128                          l_has_error: BOOLEAN                          l_has_error: BOOLEAN
129                          l_type: TYPE_A                          l_type: TYPE_A
130                            l_covariant_flags: PACKED_BOOLEANS
131                            l_type_as: TYPE_AS
132                            l_gen_type: GEN_TYPE_A
133                  do                  do
134                                  -- Lookup class in universe, it should be present.                                  -- Lookup class in universe, it should be present.
135                          l_class_i := universe.class_named (l_as.class_name.name, current_class.group)                          l_class_i := universe.class_named (l_as.class_name.name, current_class.group)
# Line 142  feature {NONE} -- Visitor implementation Line 145  feature {NONE} -- Visitor implementation
145                                          until                                          until
146                                                  i > count or l_has_error                                                  i > count or l_has_error
147                                          loop                                          loop
148                                                  l_as.generics.i_th (i).process (Current)  
149                                                    l_type_as := l_as.generics.i_th (i)
150                                                    l_type_as.process (Current)
151                                                    if l_type_as.has_covariant_keyword then
152                                                            if l_covariant_flags = Void then
153                                                                    create l_covariant_flags.make (count)
154                                                            end
155                                                            l_covariant_flags.put (True, i)
156                                                    end
157                                                  l_has_error := last_type = Void                                                  l_has_error := last_type = Void
158                                                  l_actual_generic.put (last_type, i)                                                  l_actual_generic.put (last_type, i)
159                                                  i := i + 1                                                  i := i + 1
160                                          end                                          end
161                                            if l_covariant_flags /= Void then
162                                                    l_gen_type ?= l_type
163                                                    check is_gen_type_a: l_gen_type /= Void  end
164                                                    l_gen_type.set_covariance_flags (l_covariant_flags)
165                                            end
166                                          if l_has_error then                                          if l_has_error then
167                                                  check failure_enabled: is_failure_enabled end                                                  check failure_enabled: is_failure_enabled end
168                                                  last_type := Void                                                  last_type := Void

Legend:
Removed from v.69686  
changed lines
  Added in v.69687

  ViewVC Help
Powered by ViewVC 1.1.23