2016-05-08 104 views
1

由於的Xtend代碼被編譯成Java,棧跟蹤包含生成的Java源的行號,而不是原來的Xtend源:顯示的Xtend源代碼行號在堆棧跟蹤

package test 

class Main 
{ 
    def static void main(String[] args) 
    { 
     method // line #7 
    } 

    def static method() 
    { 
     throw new RuntimeException // Line #12 
    } 
} 

堆棧跟蹤:

Exception in thread "main" java.lang.RuntimeException 
    at test.Main.method(Main.java:10) 
    at test.Main.main(Main.java:6) 

我的問題:是否有可能在棧跟蹤中顯示Xtend行號?

我這樣問,因爲先瀏覽Java代碼並找出相應的Xtend代碼(特別是沒有IDE),並不是很舒服。
此外(理論上)生成 Java代碼可能不會簽入SCM系統。

回答

1

不幸的是,沒有IDE,目前沒有辦法做到這一點。如果您使用Eclipse,則可以將堆棧跟蹤複製/粘貼到Java堆棧跟蹤控制檯(在控制檯視圖中打開CONSOL按鈕旁邊的下拉列表中),然後當您單擊堆棧跟蹤的任何部分時,它會將您帶到xtend源中的適當位置 - 無需從生成的java源手動回溯。