# HG changeset patch # User Christian Humer # Date 1429044975 -7200 # Node ID 4514065de564a1a1ad3e388c3a108c25f4dffc29 # Parent 71509cb61f17e30193c3ab7d60e6cb2481e5d7cf Remove dsl processor dependency from nodeinfo.processor project. diff -r 71509cb61f17 -r 4514065de564 graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeProcessor.java --- a/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeProcessor.java Tue Apr 14 19:56:01 2015 +0200 +++ b/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeProcessor.java Tue Apr 14 22:56:15 2015 +0200 @@ -22,7 +22,6 @@ */ package com.oracle.graal.nodeinfo.processor; -import static com.oracle.truffle.dsl.processor.java.ElementUtils.*; import static java.util.Collections.*; import java.io.*; @@ -71,6 +70,21 @@ } } + private static List getElementHierarchy(Element e) { + List elements = new ArrayList<>(); + elements.add(e); + + Element enclosing = e.getEnclosingElement(); + while (enclosing != null && enclosing.getKind() != ElementKind.PACKAGE) { + elements.add(enclosing); + enclosing = enclosing.getEnclosingElement(); + } + if (enclosing != null) { + elements.add(enclosing); + } + return elements; + } + /** * Bugs in an annotation processor can cause silent failure so try to report any exception * throws as errors. diff -r 71509cb61f17 -r 4514065de564 graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeVerifier.java --- a/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeVerifier.java Tue Apr 14 19:56:01 2015 +0200 +++ b/graal/com.oracle.graal.nodeinfo.processor/src/com/oracle/graal/nodeinfo/processor/GraphNodeVerifier.java Tue Apr 14 22:56:15 2015 +0200 @@ -22,7 +22,6 @@ */ package com.oracle.graal.nodeinfo.processor; -import static com.oracle.truffle.dsl.processor.java.ElementUtils.*; import static javax.lang.model.element.Modifier.*; import java.util.*; @@ -32,10 +31,6 @@ import javax.lang.model.type.*; import javax.lang.model.util.*; -import com.oracle.truffle.dsl.processor.java.*; -import com.oracle.truffle.dsl.processor.java.compiler.*; -import com.oracle.truffle.dsl.processor.java.compiler.Compiler; - /** * Verifies static constraints on nodes. */ @@ -54,6 +49,8 @@ private final TypeElement NodeInputList; private final TypeElement NodeSuccessorList; + private final TypeElement object; + // Checkstyle: resume public GraphNodeVerifier(GraphNodeProcessor processor) { @@ -68,6 +65,7 @@ this.Node = getTypeElement("com.oracle.graal.graph.Node"); this.NodeInputList = getTypeElement("com.oracle.graal.graph.NodeInputList"); this.NodeSuccessorList = getTypeElement("com.oracle.graal.graph.NodeSuccessorList"); + this.object = getTypeElement("java.lang.Object"); } /** @@ -91,10 +89,6 @@ return getTypeElement(name).asType(); } - public TypeMirror getType(Class cls) { - return ElementUtils.getType(getProcessingEnv(), cls); - } - public ProcessingEnvironment getProcessingEnv() { return env.getProcessingEnv(); } @@ -106,10 +100,9 @@ } private void scanFields(TypeElement node) { - Compiler compiler = CompilerFactory.getCompiler(node); TypeElement currentClazz = node; do { - for (VariableElement field : ElementFilter.fieldsIn(compiler.getEnclosedElementsInDeclarationOrder(currentClazz))) { + for (VariableElement field : ElementFilter.fieldsIn(currentClazz.getEnclosedElements())) { Set modifiers = field.getModifiers(); if (modifiers.contains(STATIC) || modifiers.contains(TRANSIENT)) { continue; @@ -117,7 +110,7 @@ List annotations = field.getAnnotationMirrors(); - boolean isNonOptionalInput = findAnnotationMirror(annotations, Input.asType()) != null; + boolean isNonOptionalInput = findAnnotationMirror(annotations, Input) != null; boolean isOptionalInput = findAnnotationMirror(annotations, OptionalInput) != null; boolean isSuccessor = findAnnotationMirror(annotations, Successor) != null; @@ -187,6 +180,30 @@ } while (!isObject(getSuperType(currentClazz).asType())); } + private AnnotationMirror findAnnotationMirror(List mirrors, TypeElement expectedAnnotationType) { + for (AnnotationMirror mirror : mirrors) { + if (sameType(mirror.getAnnotationType(), expectedAnnotationType.asType())) { + return mirror; + } + } + return null; + } + + private boolean isObject(TypeMirror type) { + return sameType(object.asType(), type); + } + + private boolean sameType(TypeMirror type1, TypeMirror type2) { + return env.getProcessingEnv().getTypeUtils().isSameType(type1, type2); + } + + private TypeElement getSuperType(TypeElement element) { + if (element.getSuperclass() != null) { + return (TypeElement) env.getProcessingEnv().getTypeUtils().asElement(element.getSuperclass()); + } + return null; + } + void verify(TypeElement node) { scanFields(node); diff -r 71509cb61f17 -r 4514065de564 mx/suite.py --- a/mx/suite.py Tue Apr 14 19:56:01 2015 +0200 +++ b/mx/suite.py Tue Apr 14 22:56:15 2015 +0200 @@ -465,7 +465,6 @@ "checkstyle" : "com.oracle.graal.graph", "dependencies" : [ "com.oracle.graal.nodeinfo", - "com.oracle.truffle.dsl.processor", ], "javaCompliance" : "1.8", "workingSets" : "Graal,Graph",