how to get ast tree from elements in eclipse ecj like JavacTrees.getTree(element) in javac?

73 views Asked by At

I write a custom annotation Processor, I hope get ast tree in process method in eclipse ecj compiler:

private JavacProcessingEnvironment env;
private BaseProcessingEnvImpl eclipseEnv;

@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
    
    if (!annotations.isEmpty()) {

        Set<? extends Element> elementsAnno = roundEnv.getElementsAnnotatedWith(xxxxAnnoClass.class);

        if (env != null) {  // javac
            Context context = env.getContext();
            Trees trees = Trees.instance(env);
            elementsAnno.forEach(e -> {
                JCTree tree = ((JavacTrees) trees).getTree(e);
            });
            new TreeTranslator().translate(tree);

        }else {         // eclipse ecj
            // how to write the code equivalent of javac 


        }
    }
}
0

There are 0 answers