# HG changeset patch # User Christian Humer # Date 1409132159 -7200 # Node ID cbe585ebce985c5a3ec59e1fc00dd63d49b3662a # Parent c5db657d93c1bf096d121326b35f2efe4ad37387 Truffle-DSL: fixed generic type earsure for types in the type system. diff -r c5db657d93c1 -r cbe585ebce98 graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java --- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Wed Aug 27 11:35:59 2014 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Wed Aug 27 11:35:59 2014 +0200 @@ -34,7 +34,6 @@ import com.oracle.truffle.dsl.processor.*; import com.oracle.truffle.dsl.processor.java.model.*; import com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror.DeclaredCodeTypeMirror; -import com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror.WildcardTypeMirror; /** * THIS IS NOT PUBLIC API. @@ -217,7 +216,7 @@ } public static boolean isSubtype(TypeMirror type1, TypeMirror type2) { - if (type1 instanceof CodeTypeMirror && type2 instanceof CodeTypeMirror) { + if (type1 instanceof CodeTypeMirror || type2 instanceof CodeTypeMirror) { throw new UnsupportedOperationException(); } return ProcessorContext.getInstance().getEnvironment().getTypeUtils().isSubtype(type1, type2); @@ -1046,11 +1045,7 @@ } int typeParameters = element.getTypeParameters().size(); if (typeParameters > 0 && declaredType.getTypeArguments().size() != typeParameters) { - List genericTypes = new ArrayList<>(); - for (int i = 0; i < typeParameters; i++) { - genericTypes.add(new WildcardTypeMirror(null, null)); - } - return new DeclaredCodeTypeMirror(element, genericTypes); + return ProcessorContext.getInstance().getEnvironment().getTypeUtils().erasure(type); } return type; }