Mercurial > hg > truffle
changeset 16765:89f635cbd85e
Truffle-DSL: fixed assertions on unspecified toString methods of the annotation processing API.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 11 Aug 2014 17:20:24 +0200 |
parents | f9fff060dc41 |
children | 90984ae0eaa8 |
files | graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/InsertBeforeTest.java graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/SpecializationData.java graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/AbstractParser.java |
diffstat | 4 files changed, 29 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/InsertBeforeTest.java Mon Aug 11 16:37:40 2014 +0200 +++ b/graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/InsertBeforeTest.java Mon Aug 11 17:20:24 2014 +0200 @@ -89,8 +89,8 @@ } @NodeChild("a") - @ExpectError({"Element int f3(int) at annotation @Specialization is erroneous: Specialization is not reachable. It is shadowed by f0(int).", - "Element int f1(int) at annotation @Specialization is erroneous: Specialization is not reachable. It is shadowed by f0(int)."}) + @ExpectError({"Method f3(int) at annotation @Specialization is erroneous: Specialization is not reachable. It is shadowed by f0(int).", + "Method f1(int) at annotation @Specialization is erroneous: Specialization is not reachable. It is shadowed by f0(int)."}) static class InsertBefore1T4 extends InsertBefore1Base { boolean g0(int a) { @@ -105,7 +105,7 @@ } @NodeChild("a") - @ExpectError({"Element int f3(int) at annotation @Specialization is erroneous: Specialization is not reachable. It is shadowed by f0(int)."}) + @ExpectError({"Method f3(int) at annotation @Specialization is erroneous: Specialization is not reachable. It is shadowed by f0(int)."}) static class InsertBefore1T5 extends InsertBefore1Base { boolean g0(int a) {
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Mon Aug 11 16:37:40 2014 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/ElementUtils.java Mon Aug 11 17:20:24 2014 +0200 @@ -63,6 +63,23 @@ return true; } + public static String createReferenceName(ExecutableElement method) { + StringBuilder b = new StringBuilder(); + + b.append(method.getSimpleName().toString()); + b.append("("); + + String sep = ""; + for (VariableElement parameter : method.getParameters()) { + b.append(sep); + b.append(ElementUtils.getSimpleName(parameter.asType())); + sep = ", "; + } + + b.append(")"); + return b.toString(); + } + public static VariableElement findVariableElement(DeclaredType type, String name) { List<? extends VariableElement> elements = ElementFilter.fieldsIn(type.asElement().getEnclosedElements()); for (VariableElement variableElement : elements) {
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/SpecializationData.java Mon Aug 11 16:37:40 2014 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/SpecializationData.java Mon Aug 11 17:20:24 2014 +0200 @@ -222,20 +222,10 @@ } public String createReferenceName() { - StringBuilder b = new StringBuilder(); - - b.append(getMethodName()); - b.append("("); - - String sep = ""; - for (Parameter parameter : getParameters()) { - b.append(sep); - b.append(ElementUtils.getSimpleName(parameter.getType())); - sep = ", "; + if (getMethod() == null) { + return "-"; } - - b.append(")"); - return b.toString(); + return ElementUtils.createReferenceName(getMethod()); } public NodeData getNode() {
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/AbstractParser.java Mon Aug 11 16:37:40 2014 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/parser/AbstractParser.java Mon Aug 11 17:20:24 2014 +0200 @@ -106,10 +106,14 @@ private static String wrapText(Element element, AnnotationMirror mirror, String text) { StringBuilder b = new StringBuilder(); if (element != null) { - b.append("Element " + element.toString()); + if (element.getKind() == ElementKind.METHOD) { + b.append("Method " + ElementUtils.createReferenceName((ExecutableElement) element)); + } else { + b.append("Element " + element.getSimpleName()); + } } if (mirror != null) { - b.append(" at annotation @" + ElementUtils.getSimpleName(mirror.getAnnotationType())); + b.append(" at annotation @" + ElementUtils.getSimpleName(mirror.getAnnotationType()).trim()); } if (b.length() > 0) {