src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java

Print this page

        

*** 797,809 **** log = Log.instance(context); // Writer for -XprintRounds and -XprintProcessorInfo data PrintWriter xout = context.get(Log.outKey); TaskListener taskListener = context.get(TaskListener.class); - - AnnotationCollector collector = new AnnotationCollector(); - JavaCompiler compiler = JavaCompiler.instance(context); compiler.todo.clear(); // free the compiler's resources int round = 0; --- 797,806 ----
*** 1218,1266 **** } return false; } - private static class AnnotationCollector extends TreeScanner { - List<JCTree> path = List.nil(); - static final boolean verbose = false; - List<JCAnnotation> annotations = List.nil(); - - public List<JCAnnotation> findAnnotations(List<? extends JCTree> nodes) { - annotations = List.nil(); - scan(nodes); - List<JCAnnotation> found = annotations; - annotations = List.nil(); - return found.reverse(); - } - - public void scan(JCTree node) { - if (node == null) - return; - Symbol sym = TreeInfo.symbolFor(node); - if (sym != null) - path = path.prepend(node); - super.scan(node); - if (sym != null) - path = path.tail; - } - - public void visitAnnotation(JCAnnotation node) { - annotations = annotations.prepend(node); - if (verbose) { - StringBuilder sb = new StringBuilder(); - for (JCTree tree : path.reverse()) { - System.err.print(sb); - System.err.println(TreeInfo.symbolFor(tree)); - sb.append(" "); - } - System.err.print(sb); - System.err.println(node); - } - } - } - private static <T extends JCTree> List<T> cleanTrees(List<T> nodes) { for (T node : nodes) treeCleaner.scan(node); return nodes; } --- 1215,1224 ----