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

问题描述 投票:2回答:1

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

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

rascal
1个回答
1
投票

您可以使用.declarations字段在m3模型中的两个方向上查找映射:

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

要从逻辑上查找物理:

mymodel.declarations[logicalURI]

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

mymodel.decls<src, name>[physicalURI]

顺便说一下,如果您的m3模型已“注册”,则readFile函数将为您解决问题,并且可以在任何URi上使用。默认情况下,注册是createM3FromEclipseProject函数的副作用。

© www.soinside.com 2019 - 2024. All rights reserved.