2016-05-08 2 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 Stack Trace Console (раскрывающийся список рядом с кнопкой открытия консоли в представлении консоли), а затем, когда вы нажмете на любую часть stacktrace, вы попадете в нужное место в источнике xtend - нет необходимости вручную возвращать его из сгенерированного источника java.