/[eiffelstudio]/branches/CAT_mono/Src/Eiffel/eiffel/AST/parser_override/type_a.e
ViewVC logotype

Diff of /branches/CAT_mono/Src/Eiffel/eiffel/AST/parser_override/type_a.e

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

revision 69702 by martins, Thu Jul 26 20:19:04 2007 UTC revision 69703 by juliant, Thu Jul 26 22:37:19 2007 UTC
# Line 545  feature {COMPILER_EXPORTER} -- Access Line 545  feature {COMPILER_EXPORTER} -- Access
545                                  l_cat_result := Result                                  l_cat_result := Result
546    
547                                          -- Conformance check for monomorphic types                                          -- Conformance check for monomorphic types
548                                  if l_cat_result and then other.is_monomorph then                                  if l_cat_result and then other.is_monomorph and then not is_none then
549                                          if other.is_formal then                                          if other.is_formal then
550                                                  check is_formal end                                                  check is_formal end
551                                                          -- monomorphic generics only conform to itself                                                          -- monomorphic generics only conform to itself
# Line 555  feature {COMPILER_EXPORTER} -- Access Line 555  feature {COMPILER_EXPORTER} -- Access
555                                                  l_cat_result := has_associated_class and then other.has_associated_class and then associated_class.class_id = other.associated_class.class_id                                                  l_cat_result := has_associated_class and then other.has_associated_class and then associated_class.class_id = other.associated_class.class_id
556                                          end                                          end
557                                  end                                  end
558                                  if not l_cat_result then                                  if l_cat_result xor Result then
559                                          conformance_check.cat_result := False                                          conformance_check.cat_result := False
560                                  end                                  end
561    
562                                          -- If result is not the same (in any of the checks, even recursively for generics)                                          -- If result is not the same (in any of the checks, even recursively for generics)
563                                          -- and it's the first level (i.e. the base class for a generic)                                          -- and it's the first level (i.e. the base class for a generic)
564                                          -- then we emit a warning                                          -- then we emit a warning
565                                  if conformance_check.level = 1 and then (conformance_check.cat_result xor Result) then                                  if conformance_check.level = 1 and then not conformance_check.cat_result then
566                                          create l_pcat                                          create l_pcat
567                                          l_pcat.set_class (system.current_class)                                          l_pcat.set_class (system.current_class)
568                                          l_pcat.set_source_type (Current)                                          l_pcat.set_source_type (Current)

Legend:
Removed from v.69702  
changed lines
  Added in v.69703

  ViewVC Help
Powered by ViewVC 1.1.23