Xtext - получить перекрестную ссылку на ребенка

У меня есть грамматика, которая выглядит так:

A:
myField=[B]

B:
C | D | E

У меня есть функция, которая получает A (скажем, a) в качестве параметра, и я хочу получить доступ к C, например. Я сделал a.myField, который возвращает объект B (скажем, b). Чем я использовал EcoreUtil2.getAllContentsOfType(b,C) - но он возвращает пустой список.

Возможно, причина в том, что B на самом деле не анализируется снова, а имеет перекрестные ссылки. Если да, есть ли какая-нибудь функция, которая позволяет мне получить доступ к C/D/E в приведенном выше примере?

Спасибо.

Обновить

Очевидно, что b равно нулю, поэтому, конечно, getAllContentsOfType() возвращает пустой список. Как мне получить доступ к B (на который есть перекрестные ссылки из A)?

1 ответ

Решение

Пришлось проверить, что a.myField не равен нулю.

Другие вопросы по тегам