我有一个位置 |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>)
.
如果您使用 IO 模块中的resolveLocation
,偏移量将相应地自动更改。
您也可以通过直接在M3@declarations表中查找正确的位置来自己进行分辨率。
resolvedLoc = myM3Model@declarations[myLogicalLocation];