2010-10-29 7 views
1

Comme je l'ai posté sur le forum de support officiel de Java il y a quelques jours, je veux savoir si les symboles JCTree peuvent être résolus à partir du code propre avec l'implémentation originale de javac.Javac AST Symbole Résolution pour JavacTask.parse()

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

JCMethodInvocation object1 = (JCMethodInvocation) objectRef.ref; 

Resolve détermination = 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);` 

Répondre

0

Je vous recommande d'étudier comment com.sun.tools.javac.main.JavaCompiler résout les symboles. Je pense qu'il est à l'intérieur #enterTrees (Liste)

Aussi, vous pouvez être intéressé par les projets http://bitbucket.org/amelentev/juast/ et projectlombok.org

+0

merci, je vais les vérifier bientôt –