如何检查XFeatureCall是否实际引用了某些内容

时间:2013-08-16 07:52:41

标签: xtext eclipse-emf emf xtend xbase

当我扫描的时候,我想检查一下该类型的元素 XFeatureCall可以解决。

具体例子:

val x = 2
val y = x + z

我知道

val y = <XFeatureCall> + <XFeatureCall>

但只有XFeatureCall“z”应该为true(当应用我正在搜索的尚未找到的谓词时)。

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

fc表示XFeatureCall

fc.feature instanceof JvmVoid && !fc.explicitOperationCall

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

注意: 我使用从根AST元素

获得的TreeIterator

如果有必要,我会检查XbaseCompiler是如何做到的,但我不愿意:)

1 个答案:

答案 0 :(得分:1)

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