2016-08-15 1 views
1

J'ai une grammaire qui ressemble à:Xtext - Être enfant par référence croisée

A: 
myField=[B] 

B: 
C | D | E 

J'ai une fonction qui obtient un (disons a) en tant que paramètre et je veux accéder à C, par exemple. J'ai fait a.myField qui retourne un objet B (disons b). Que j'ai utilisé EcoreUtil2.getAllContentsOfType (b, C) - mais il retourne une liste vide. Peut-être que la raison en est que B n'est pas encore analysé, mais qu'il y a des références croisées. Si oui, y a-t-il une fonction qui me permet d'accéder à C/D/E dans l'exemple ci-dessus?

Merci.

Mise à jour

Apparemment b est nul, donc bien sûr getAllContentsOfType() retourne une liste vide. Comment accéder à B (qui est référencé à partir de A)?

+1

@RadLexus - Correction. –

Répondre

0

J'ai dû vérifier qu'un champ a.my n'est pas nul.