2016-08-15 81 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是否爲空。