Javac AST符号解析为JavacTask.parse()

时间:2010-10-29 00:08:52

标签: java javac symbols abstract-syntax-tree

正如我几天前在官方Java支持论坛上发布的那样,我想知道,如果可以使用原始javac实现从自己的代码中解析JCTree符号。

http://forums.oracle.com/forums/thread.jspa?threadID=1774807&tstart=0

JCMethodInvocation object1 = (JCMethodInvocation) objectRef.ref;

Resolve resolve = Resolve.instance(javacTaskImpl.getContext());

ListBuffer<Type> argtypeListBuffer = new ListBuffer<Type>();
AttrContext attrContext = new AttrContext();
Env<AttrContext> env = new Env<AttrContext>((JCTree) objectRef.ref, attrContext);

System.out.println(type);
System.out.println(type.tsym);

resolve.resolveInternalMethod(object1.pos(), env, type, name, argtypeListBuffer.toList(), null);`

1 个答案:

答案 0 :(得分:0)

我建议您研究com.sun.tools.javac.main.JavaCompiler如何解析符号。我认为它在#enterTrees(列表)

您也可能对项目http://bitbucket.org/amelentev/juast/和projectlombok.org

感兴趣