动态加载Scala编译器插件

时间:2013-01-18 07:22:54

标签: scala scala-2.10 scala-compiler

根据this post为了创建Scala编译器插件,需要将插件编译到jar中,然后将jar的引用指定为命令行参数,或者将jar放在{ {1}}

我需要在运行时使用scala编译器API(scala.tools.nsc)调用编译器。 在调用编译器之前,是否有可能在运行时动态编译器插件?

1 个答案:

答案 0 :(得分:2)

我不完全确定你在运行时加载它是什么意思,但我假设你打算在运行时调用编译器然后用它提供它。

在这种情况下,是的,这是可能的。您可以从alacs测试套件中查看RunPlugin.scala作为示例。该项目不再具有实际功能,但它提供了用于其他检查的编译器插件,这些插件也通过涉及上述类的测试套件进行测试,以便使用选定的插件进行运行时编译。