changeset 7753:c17ee8823d72

Fixed bug in method parsing error messages.
author Christian Humer <christian.humer@gmail.com>
date Mon, 11 Feb 2013 10:40:52 +0100
parents 388848bbe03d
children 3cec97eb3b5f
files graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethodParser.java
diffstat 2 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java	Fri Feb 08 16:23:11 2013 +0100
+++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java	Mon Feb 11 10:40:52 2013 +0100
@@ -66,7 +66,7 @@
     }
 
     private static TypeMirror[] nodeTypeMirrors(NodeData nodeData) {
-        List<TypeMirror> typeMirrors = new ArrayList<>();
+        Set<TypeMirror> typeMirrors = new LinkedHashSet<>();
 
         for (ExecutableTypeData typeData : nodeData.getExecutableTypes()) {
             typeMirrors.add(typeData.getType().getPrimitiveType());
--- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethodParser.java	Fri Feb 08 16:23:11 2013 +0100
+++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethodParser.java	Mon Feb 11 10:40:52 2013 +0100
@@ -233,10 +233,9 @@
         return new ActualParameter(specification, resolvedType);
     }
 
-    protected static List<TypeDef> createTypeDefinitions(ParameterSpec returnType, List<? extends ParameterSpec> parameters) {
+    protected List<TypeDef> createTypeDefinitions(ParameterSpec returnType, List<? extends ParameterSpec> parameters) {
         List<TypeDef> typeDefs = new ArrayList<>();
 
-        TypeMirror[] types = returnType.getAllowedTypes();
         List<ParameterSpec> allParams = new ArrayList<>();
         allParams.add(returnType);
         allParams.addAll(parameters);
@@ -244,10 +243,11 @@
         int defIndex = 0;
         for (ParameterSpec spec : allParams) {
             TypeMirror[] allowedTypes = spec.getAllowedTypes();
+            TypeMirror[] types = spec.getAllowedTypes();
             if (types != null && allowedTypes.length > 1) {
                 TypeDef foundDef = null;
                 for (TypeDef def : typeDefs) {
-                    if (Arrays.equals(spec.getAllowedTypes(), def.getTypes())) {
+                    if (Arrays.equals(allowedTypes, def.getTypes())) {
                         foundDef = def;
                         break;
                     }