diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/typesystem/TypeSystemParser.java @ 11557:e08a9328ce92

Truffle-DSL: allow multiple implicit casts with the same source type.
author Andreas Woess <andreas.woess@jku.at>
date Mon, 09 Sep 2013 22:33:57 +0200
parents 2fb276f5e3e9
children 5a0c694ef735
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/typesystem/TypeSystemParser.java	Mon Sep 09 19:29:52 2013 +0200
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/typesystem/TypeSystemParser.java	Mon Sep 09 22:33:57 2013 +0200
@@ -108,7 +108,6 @@
             cast.getTargetType().addTypeCast(cast);
         }
 
-        verifyImplicitCasts(typeSystem);
         verifyGenericTypeChecksAndCasts(typeSystem);
         verifyMethodSignatures(typeSystem);
         verifyNamesUnique(typeSystem);
@@ -116,24 +115,6 @@
         return typeSystem;
     }
 
-    private static void verifyImplicitCasts(TypeSystemData typeSystem) {
-        Set<TypeData> types = new HashSet<>();
-        Set<TypeData> duplicateSourceTypes = new HashSet<>();
-        for (ImplicitCastData cast : typeSystem.getImplicitCasts()) {
-            if (types.contains(cast.getSourceType())) {
-                duplicateSourceTypes.add(cast.getSourceType());
-            }
-            types.add(cast.getSourceType());
-        }
-        for (TypeData duplicateType : duplicateSourceTypes) {
-            for (ImplicitCastData cast : typeSystem.getImplicitCasts()) {
-                if (cast.getSourceType().equals(duplicateType)) {
-                    cast.addError("Duplicate cast source type %s.", Utils.getSimpleName(duplicateType.getPrimitiveType()), ImplicitCast.class.getSimpleName());
-                }
-            }
-        }
-    }
-
     private static void verifyGenericTypeChecksAndCasts(TypeSystemData typeSystem) {
         for (TypeData type : typeSystem.getTypes()) {
             if (!type.getTypeChecks().isEmpty()) {