方法位置的偏移量

时间:2016-12-30 11:07:19

标签: rascal

我有一个位置 |project://SmallSQL/src/smallsql/database/SQLParser.java|(10257,10257,<305,60>,<371,5>)

但是,因为行final class SQLParser {似乎在第39行,所以偏移量为38,这意味着行305实际上是指第343行(以及371到309)。我想看到这个偏移量反映在该位置。这有可能,如果是的话,怎么样?如果没有,我怎么能自己计算偏移?

此外,起始行也可以位于其他位置,例如,在课程之前存在doc时。例如,在|project://SmallSQL/src/smallsql/database/ExpressionFunctionBitLen.java|(302,302,<11,25>,<13,2>)

附录:我使用的位置是通过转换构建的,即|java+class:///smallqsl/database/SQLParser|(10257,10257,<305,60>,<371,5>)已转换为 |project://SmallSQL/src/smallsql/database/SQLParser.java|(10257,10257,<305,60>,<371,5>)

1 个答案:

答案 0 :(得分:0)

如果您使用IO模块中的resolveLocation,则会相应地自动更改偏移量。

您也可以通过直接在M3 @ declarations表中查找正确的位置来自行解决问题。

resolvedLoc = myM3Model@declarations[myLogicalLocation];