4
從scala編譯器的幫助,我會認爲「-Xprint:MyPhase」會做到這一點,但儘管插件是它的工作,並且我知道它使日誌輸出,我仍然看不到運行時從scalac傳來的任何輸出。我看到的只是「[[MyPhase末尾的語法樹]] ...」由於日誌記錄似乎只涉及調用log(「...」),所以我無法想象在代碼中我會做什麼錯誤產生日誌輸出。作爲一個醜陋的變通我仍然可以做的System.out.println(),但如果有一個log()方法,比我必須假設它實際上意味着做點什麼 ...如何獲取Scala編譯器插件的日誌輸出?
謝謝!我只是看着Borachio,而且你似乎已經找到了一種在編譯器插件中生成Scala代碼的方法。我有一個問題要求在這裏:http://stackoverflow.com/questions/7625765/how-do-i-generate-new-source-code-in-text-form-in-a-scala-compiler-plugin凱文賴特回答說這是不可能的。你會如此善良,並告訴我們它是如何工作的? –
凱文是完全正確的 - 儘管他正在努力解決問題,我相信。 Borachio通過生成源代碼「解決」了這個問題,然後在編譯器的單獨調用中編譯源代碼。我已經隱藏了大部分涉及此背景的複雜插件。 –