# HG changeset patch # User Andreas Woess # Date 1378758837 -7200 # Node ID e08a9328ce92a9139fa73d02637f1c0054e2da0f # Parent 7ce149d349c91d7849c7cc47c1f8b43170c0e8bf Truffle-DSL: allow multiple implicit casts with the same source type. diff -r 7ce149d349c9 -r e08a9328ce92 graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/typesystem/TypeSystemParser.java --- 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 types = new HashSet<>(); - Set 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()) {