2016-08-15 40 views
1

我有一个语法看起来像:的Xtext - 获取交叉引用的孩子

A: 
myField=[B] 

B: 
C | D | E 

我有获取一个函数(比方说,一个)作为参数,我想访问C为例。 我做了一个返回B对象的a.myField(比方说b)。比我用 EcoreUtil2.getAllContentsOfType(b,C) - 但它返回一个空列表。

也许原因是B不是再次被真正解析,而是被交叉引用。如果是这样,在上面的例子中是否有任何函数允许我访问C/D/E?

谢谢。

更新

显然,b为null,所以当然getAllContentsOfType()的返回一个空列表。我如何访问B(与A交叉引用)?

+1

@RadLexus - 修正。 –

回答

0

必须检查a.myField是否为空。