我有一个位置
|java+class:///smallsql/database/CommandDrop|(114,115,<3,68>,<8,5>)
我想转换为
|project://SmallSQL/src/smallsql/database/CommandDrop.java|(114,115,<3,68>,<8,5>)
。
我想通过使用toString
来执行此操作,然后操作所得的String
,然后应用toLocation
。但是,这是失败的,因为toString
将将<
变成<
,并且对于>
类似。现在,toLocation
将其视为畸形的URI。有人知道吗?
如果要操纵位置的路径,保持其余的路径相同,请这样做:
myLoc.path = myManipulation(myLoc.path);
其中 myManipulation
是一个函数。
但对我来说,似乎您只想将逻辑位置解析为物理位置:
import IO;
myLoc = resolveLocation(myLoc);
请注意,项目的M3模型必须在使用analysis::m3::Registry::registerProject
之前已注册,否则分辨率将无法使用。
您还可以通过在M3型号的declarations
表中查找所需的路径。