Xtext - 获取 cross-referenced child
Xtext - Get cross-referenced child
我的语法如下:
A:
myField=[B]
B:
C | D | E
我有一个获取 A(比方说 a)作为参数的函数,例如,我想访问 C。
我做了 a.myField 那 returns a B object (比方说 b)。比我用的
EcoreUtil2.getAllContentsOfType(b,C) - 但它 returns 是一个空列表。
可能是因为B并没有真正被再次解析,而是cross-referenced。如果是这样,是否有任何功能允许我在上面的示例中访问 C/D/E?
谢谢。
更新
显然 b 为空,因此 getAllContentsOfType() returns 当然是一个空列表。我如何访问 B(从 A 访问 cross-referenced)?
必须检查 a.myField 是否为空。
我的语法如下:
A:
myField=[B]
B:
C | D | E
我有一个获取 A(比方说 a)作为参数的函数,例如,我想访问 C。 我做了 a.myField 那 returns a B object (比方说 b)。比我用的 EcoreUtil2.getAllContentsOfType(b,C) - 但它 returns 是一个空列表。
可能是因为B并没有真正被再次解析,而是cross-referenced。如果是这样,是否有任何功能允许我在上面的示例中访问 C/D/E?
谢谢。
更新
显然 b 为空,因此 getAllContentsOfType() returns 当然是一个空列表。我如何访问 B(从 A 访问 cross-referenced)?
必须检查 a.myField 是否为空。