# HG changeset patch # User Christian Humer # Date 1360575652 -3600 # Node ID c17ee8823d729699a11a51fb00dbc03ec887bdb6 # Parent 388848bbe03d0456297d400e8f4f74d0df651674 Fixed bug in method parsing error messages. diff -r 388848bbe03d -r c17ee8823d72 graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java --- 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 typeMirrors = new ArrayList<>(); + Set typeMirrors = new LinkedHashSet<>(); for (ExecutableTypeData typeData : nodeData.getExecutableTypes()) { typeMirrors.add(typeData.getType().getPrimitiveType()); diff -r 388848bbe03d -r c17ee8823d72 graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethodParser.java --- 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 createTypeDefinitions(ParameterSpec returnType, List parameters) { + protected List createTypeDefinitions(ParameterSpec returnType, List parameters) { List typeDefs = new ArrayList<>(); - TypeMirror[] types = returnType.getAllowedTypes(); List 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; }