2011-10-16 6 views
4

スカラーコンパイラのヘルプから、私は "-Xprint:MyPhase"というだけのことだと思っていたでしょうが、プラグインがその仕事をしているにもかかわらず、ログ出力を行っているとわかっていても、実行時にscalacからの出力私が見るのは「[MyPhaseの終わりの構文木]] ...」「ログにはlog( "...")を呼び出すだけのようなので、コードで何が間違っているのか想像できませんログ出力が生成されます。醜い回避策、私はまだやることができますのSystem.out.println()が、ログ()メソッドがある場合、私は実際に何かを行うに意味だと仮定することが持っているよりも...Scala Compiler Pluginのログ出力を取得するにはどうすればよいですか?

答えて

4

-Ylog:<phase>として、

scalac -Yを使用すると、すべての「プライベート」オプションが表示されます。

+0

ありがとうございました!私はBorachioを見ただけで、コンパイラプラグインでScalaコードを生成する方法を見つけたようです。私はここでそれを求める質問がありました:http://stackoverflow.com/questions/7625765/how-do-i-generate-new-source-code-in-text-form-in-a-scala-compiler-pluginケヴィン・ライトはそれが不可能だと答えた。あなたはとても親切で、それがどのように機能するか教えてください。 –

+0

ケビンは全く正しい - 彼は問題を解決する方法に取り組んでいるが、私は信じている。 Borachioはソースコードを生成して問題を "解決"し、コンパイラの別の呼び出しでコンパイルします。私はこれに関連する複雑さのほとんどをsbtプラグインの後ろに隠しました。 –

関連する問題