2017-07-25 4 views
1

J'ai le, par exemple un minimum suivant:XText: CrossReference ne trouve pas de référence

grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals 

generate myDsl "http://www.xtext.org/example/mydsl/MyDsl" 

Model: 
    (classes += Class)+ 
; 

Class: 
    'class' id=ID ('extends' extendclass = [Class])? '{' 
'}' 
; 

Et le modèle suivant ....

class A{} 
class B extends A{ 

} 

Toutefois, cela ne fonctionne pas et dit « Couldn » t résoudre la référence à la classe «A» ». Quelqu'un sait pourquoi?

+0

Est-ce lié à Java? – JFPicard

+0

Je pense, puisque Xtend + Xtext est utilisé pour les projets Java ... – Franz

+0

pouvez-vous élaborer ce que vous faites exactement? comment appelez-vous le sérialiseur? comment créez-vous la ressource/ressourceset? –

Répondre

2

Le problème est que votre attribut id de Class n'est pas reconnu pour nommer, il suffit de changer id pour name:

Model: 
    (classes += Class)+ 
; 


Class: 
    'class' name=ID ('extends' extendclass = [Class | ID])? '{' 
'}'