我尝试使用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来检索所有符号。
我是否尝试使用错误的方法解决问题? :)