使用Scala Compiler API提取scala源文件中定义的所有符号

时间:2015-05-20 10:26:16

标签: java scala scalac scala-compiler

我尝试使用Scala Compiler API从Java应用程序中提取scala源文件中定义的所有符号(但我最感兴趣的是类/对象)。

我能够使用scala.tools.nsc.Global.Run.compileSources编译源文件,但是如何提取那里定义的所有符号?

 import scala.tools.nsc.Global;     
 import scala.tools.nsc.Settings;
 import scala.reflect.internal.util.SourceFile;
 import scala.collection.immutable.Nil$;
 ...

 Global global = new Global(settings);
 SourceFile src = global.newSourceFile("object test {}", "<src>");
 Global.Run run = global.new Run();
 run.compileSources(Nil$.MODULE$.$colon$colon(src));

Run,CompilationUnit和Global都没有提供API来检索所有符号。

我是否尝试使用错误的方法解决问题? :)

0 个答案:

没有答案