如何从AST中找到指令的行号(源文件)。
示例:
以下代码
24每个void foo(){
25> System.out.println(“hi”);
26> }
与print语句对应的ast是
METHOD_CALL
.
.
System
out
println
ARGUMENT_LIST
EXPR
" hi "
我想从生成的树中检索“System”的行号。 “系统”的答案应为25(源代码中的行号)。
答案 0 :(得分:1)
如果Tree
令牌的System
实际上是CommonTree
,那么您可以使用CommonTree.getToken()
方法获取Token
Token.getLine()
1}}。然后,您可以致电{{3}}获取行号。