# HG changeset patch # User Christian Humer # Date 1429216732 -7200 # Node ID fdf55f1ffc590c77408c4594195b1d719cdc42a6 # Parent ef2825da2e438cc1b6ce7faa5766be85a01c3fbf Truffle-DSL: fixed name conflicts for synthetic polymorphic execute methods. diff -r ef2825da2e43 -r fdf55f1ffc59 graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/ExecutableTypeData.java --- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/ExecutableTypeData.java Thu Apr 16 17:30:43 2015 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/ExecutableTypeData.java Thu Apr 16 22:38:52 2015 +0200 @@ -89,7 +89,11 @@ evaluatedParameters.add(parameter); } this.frameParameter = foundFrameParameter; - this.uniqueName = "execute" + (ElementUtils.isObject(getReturnType()) ? "" : ElementUtils.getTypeId(getReturnType())); + this.uniqueName = createName(this); + } + + public static String createName(ExecutableTypeData type) { + return "execute" + (ElementUtils.isObject(type.getReturnType()) ? "" : ElementUtils.getTypeId(type.getReturnType())); } public void addDelegatedFrom(ExecutableTypeData child) { diff -r ef2825da2e43 -r fdf55f1ffc59 graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/NodeParser.java --- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/NodeParser.java Thu Apr 16 17:30:43 2015 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/NodeParser.java Thu Apr 16 22:38:52 2015 +0200 @@ -195,6 +195,9 @@ } ExecutableTypeData polymorphicType = new ExecutableTypeData(node, polymorphic.getReturnType().getType(), "execute", frame, dynamicTypes); + String genericName = ExecutableTypeData.createName(polymorphicType) + "_"; + polymorphicType.setUniqueName(genericName); + for (ExecutableTypeData type : node.getExecutableTypes()) { if (polymorphicType.sameSignature(type)) { polymorphicSignatureFound = true;