我正在尝试使用 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。
我是否试图用错误的方式解决问题?:)