我已经找到了resolveLocation()函数,可以将逻辑位置转换为物理位置。是否还存在将物理位置转换为逻辑位置的功能?
在那种情况下,具有例如“ | project:// ...”的位置将在“ | java + class:/// ...”中解析。然后,我将可以在readFileLines()函数中使用它。
您可以使用.declarations
字段在m3模型中的两个方向上查找映射:
data M3(
rel[loc name, loc src] declarations ...
要从逻辑上查找物理:
mymodel.declarations[logicalURI]
反向查找需要您首先反转关系
mymodel.decls<src, name>[physicalURI]
顺便说一下,如果您的m3模型已“注册”,则readFile函数将为您解决问题,并且可以在任何URi上使用。默认情况下,注册是createM3FromEclipseProject函数的副作用。