Package com.sun.source.util

Examples of com.sun.source.util.Trees


                sawError[0] = true;
            }
        };
        JavacTask task = (JavacTask)javac.getTask(null, null, dl, null, null,
                                                  compilationUnits);
        Trees trees = Trees.instance(task);
        Iterable<? extends Tree> toplevels = task.parse();
        if (!sawError[0])
            error("No parse error detected");
        sawError[0] = false;
        new Scanner().scan(toplevels, trees);
View Full Code Here


@SupportedAnnotationTypes("*")
public class TestGetTree extends AbstractProcessor {
    public boolean process(Set<? extends TypeElement> annotations,
                           RoundEnvironment roundEnvironment)
    {
        final Trees trees = Trees.instance(processingEnv);
        for (TypeElement e : typesIn(roundEnvironment.getRootElements())) {
            ClassTree node = trees.getTree(e);
            System.out.println(node.toString());
        }
        return true;
    }
View Full Code Here

    }

    public boolean process(Set<? extends TypeElement> annotations,
                           RoundEnvironment roundEnvironment)
    {
        final Trees trees = Trees.instance(processingEnv);
        final Messager log = processingEnv.getMessager();
        final Elements elements = processingEnv.getElementUtils();
        class Scan extends ElementScanner7<Void,Void> {
            @Override
            public Void visitExecutable(ExecutableElement e, Void p) {
                Object debug = e; // info for exception handler
                try {
                    TestMe info = e.getAnnotation(TestMe.class);
                    if (info == null)
                        return null;

                    Tree.Kind kind = info.value();
                    MethodTree node = trees.getTree(e);
                    debug = node;
                    Tree testNode;
                    switch (kind) {
                    case UNBOUNDED_WILDCARD:
                    case EXTENDS_WILDCARD:
View Full Code Here

        JavacTaskImpl ct = (JavacTaskImpl) tool.getTask(null, null, null,
            Arrays.asList("-bootclasspath", bootPath, "-Xjcov"), null, Arrays.asList(new MyFileObject(code)));
        CompilationUnitTree cut = ct.parse().iterator().next();
        ClassTree clazz = (ClassTree) cut.getTypeDecls().get(0);
        Trees t = Trees.instance(ct);

        long pos = t.getSourcePositions().getStartPosition(cut, clazz);
        if (pos != code.indexOf(code.trim()))
            throw new IllegalStateException("Unexpected position=" + pos);
    }
View Full Code Here

        }
        JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
        List<JavaFileObject> compilationUnits =
                Collections.<JavaFileObject>singletonList(new MyFileObject());
        JavacTask task = (JavacTask)javac.getTask(null, null, null, null, null, compilationUnits);
        Trees trees = Trees.instance(task);
        CompilationUnitTree toplevel = task.parse().iterator().next();
        ClassTree classTree = (ClassTree)toplevel.getTypeDecls().get(0);
        List<? extends Tree> annotations = classTree.getModifiers().getAnnotations();
        Tree tree1 = annotations.get(0);
        Tree tree2 = annotations.get(1);
        long pos = trees.getSourcePositions().getStartPosition(toplevel, tree1);
        if (pos != 0)
            throw new AssertionError(String.format("Start pos for %s is incorrect (%s)!",
                                                   tree1, pos));
        pos = trees.getSourcePositions().getEndPosition(toplevel, tree1);
        if (pos != 23)
            throw new AssertionError(String.format("End pos for %s is incorrect (%s)!",
                                                   tree1, pos));
        pos = trees.getSourcePositions().getStartPosition(toplevel, tree2);
        if (pos != 24)
            throw new AssertionError(String.format("Start pos for %s is incorrect (%s)!",
                                                   tree2, pos));
        pos = trees.getSourcePositions().getEndPosition(toplevel, tree2);
        if (pos != 35)
            throw new AssertionError(String.format("End pos for %s is incorrect (%s)!",
                                                   tree2, pos));
    }
View Full Code Here

        JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
        List<JavaFileObject> compilationUnits =
                Collections.<JavaFileObject>singletonList(new MyFileObject());
        JavacTask task = (JavacTask)javac.getTask(null, null, null, null, null,
                                                  compilationUnits);
        Trees trees = Trees.instance(task);
        CompilationUnitTree toplevel = task.parse().iterator().next();
        Tree tree = ((ClassTree)toplevel.getTypeDecls().get(0)).getMembers().get(0);
        long pos = trees.getSourcePositions().getStartPosition(toplevel, tree);
        if (pos != 13)
            throw new AssertionError(String.format("Start pos for %s is incorrect (%s)!",
                                                   tree, pos));
        pos = trees.getSourcePositions().getEndPosition(toplevel, tree);
        if (pos != 23)
            throw new AssertionError(String.format("End pos for %s is incorrect (%s)!",
                                                   tree, pos));
    }
View Full Code Here

            this.task = task;
        }

        public void started(TaskEvent e) {
            System.err.println("Started: " + e);
            Trees t = Trees.instance(task);
        }
View Full Code Here

            System.err.println("Started: " + e);
            Trees t = Trees.instance(task);
        }
        public void finished(TaskEvent e) {
            System.err.println("Finished: " + e);
            Trees t = Trees.instance(task);
        }
View Full Code Here

                    source.substring(pos, Math.min(source.length(), pos + 10)));
        }

        @Override public Void visitCompilationUnit(CompilationUnitTree tree, JavacTask task) {
            cu = tree;
            Trees trees = Trees.instance(task);
            sourcePositions = trees.getSourcePositions();
            try {
                source = String.valueOf(tree.getSourceFile().getCharContent(true));
            } catch (IOException e) {
                throw new Error(e);
            }
View Full Code Here

        try {
            javaSource.runUserActionTask(new Task<CompilationController>() {
                @Override
                public void run(CompilationController compilationController) throws Exception {
                    compilationController.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED);
                    Trees trees = compilationController.getTrees();
                    CompilationUnitTree compilationUnitTree = compilationController.getCompilationUnit();
                    List<? extends Tree> typeDecls = compilationUnitTree.getTypeDecls();
                    for (Tree tree: typeDecls) {
                        Element element = trees.getElement(trees.getPath(compilationUnitTree, tree));
                        if (element != null && element.getKind() == ElementKind.CLASS && element.getSimpleName().contentEquals(fo2open[0].getName())) {
                            List<? extends ExecutableElement> methodElements = ElementFilter.methodsIn(element.getEnclosedElements());
                            for (Element child: methodElements) {
                                if (cancelToken.isCanceled()) {
                                    return;
                                }

                                if (child.getSimpleName().contentEquals(specificTestcase.getTestMethodName())) {
                                    long pos = trees.getSourcePositions().getStartPosition(compilationUnitTree, trees.getTree(child));
                                    line[0] = compilationUnitTree.getLineMap().getLineNumber(pos);
                                    break;
                                }
                            }
                            break;
View Full Code Here

TOP

Related Classes of com.sun.source.util.Trees

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.