正如我几天前在官方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);`
答案 0 :(得分:0)
我建议您研究com.sun.tools.javac.main.JavaCompiler如何解析符号。我认为它在#enterTrees(列表)
中您也可能对项目http://bitbucket.org/amelentev/juast/和projectlombok.org
感兴趣