0

当我扫描 ast 时,我想检查是否可以解析 XFeatureCall 类型的元素。

具体例子:

val x = 2
val y = x + z

我知道

val y = <XFeatureCall> + <XFeatureCall>

但只有 XFeatureCall "z" 应该是真的(当应用我正在搜索的尚未找到的谓词时)。

到目前为止,我还没有找到一个模式。除了每个不可解析的变量都满足以下条件:

fc 表示 XFeatureCall

fc.feature instanceof JvmVoid && !fc.explicitOperationCall

然而,这还不够好。因为它还看到“System.out.println”

注意:我使用从根 AST 元素获得的 TreeIterator

如有必要,我将检查 XbaseCompiler 是如何做到的,但我不喜欢 :)

4

1 回答 1

1

正确的检查将是 fc.feature.eIsProxy 以检查该功能是否未解析。'它也看到 System.out.println' 是什么意思?

于 2013-08-16T08:30:07.497 回答