2

この投稿によると、Scala コンパイラ プラグインを作成するには、プラグインを jar にコンパイルしてから、jar への参照をコマンド ライン引数として指定するか、jar を配置する必要があります。$SCALA_HOME/misc/scala-devel/plugins.

scala コンパイラ API (scala.tools.nsc) を使用して、実行時にコンパイラを呼び出す必要があります。コンパイラを呼び出す前に、実行時に動的にコンパイラ プラグインを使用することは可能ですか?

4

1 に答える 1

2

実行時にロードすることの意味は完全にはわかりませんが、実行時にコンパイラーを呼び出して、そのプラグインを提供するつもりだと思います。

その場合、はい、これは可能です。例として、alacsテストスイートのRunPlugin.scalaを見ることができます。プロジェクトはもう実際にはアクティブではありませんが、追加のチェック用のコンパイラプラグインを提供しました。これは、選択したプラグインを使用したランタイムコンパイル用の上記のクラスを含むテストスイートでもテストされます。

于 2013-01-18T07:28:58.477 に答える