diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/ExecutableTypeData.java @ 20952:833e088ee7d3

Truffle-DSL: fixed invalid execute delegation
author Christian Humer <christian.humer@gmail.com>
date Tue, 14 Apr 2015 19:41:36 +0200
parents 476374f3fe9a
children 05a2b72c071f
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/ExecutableTypeData.java	Tue Apr 14 19:23:33 2015 +0200
+++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/ExecutableTypeData.java	Tue Apr 14 19:41:36 2015 +0200
@@ -194,13 +194,8 @@
             if (i < node.getChildExecutions().size()) {
                 List<TypeMirror> genericTypes = node.getGenericTypes(node.getChildExecutions().get(i));
 
-                boolean typeFound = false;
-                for (TypeMirror generic : genericTypes) {
-                    if (isSubtypeBoxed(context, generic, delegateToParameter)) {
-                        typeFound = true;
-                    }
-                }
-                if (!typeFound) {
+                TypeMirror genericType = ElementUtils.getCommonSuperType(context, genericTypes);
+                if (!isSubtypeBoxed(context, genericType, delegateToParameter)) {
                     return false;
                 }
             }