将物理位置解析为逻辑位置

Resolve a physical location to a logical location

我已经找到了将逻辑位置转换为物理位置的 resolveLocation() 函数。是否也存在将物理位置转换为逻辑位置的功能?

在这种情况下,带有例如“|project://...”的位置将解析为“|java+class:///...”。 然后我就可以在 readFileLines() 函数中使用它了。

您可以使用 .declarations 字段在 m3 模型中查找双向映射:

data M3(
    rel[loc name, loc src] declarations ...

从逻辑上查找物理:

mymodel.declarations[logicalURI]

反向查找需要您先反转关系

mymodel.decls<src, name>[physicalURI]

顺便说一句,如果您的 m3 模型是 "registered",则 readFile 函数将为您进行解析,并且只适用于任何 URi。默认情况下,注册是 createM3FromEclipseProject 函数的副作用。