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) {