xtext - Which entity does a cross-reference refer? -
if have following input
test = 3; //first test = test + 3; //second
parsed grammar looks (for example)
declaration: name=id "=" declarationcontent ; declarationcontent: number=int ("+" declarationcontent)? | reference=[declaration] ("+" declarationcontent)? ;
to declaration reference refer (looking @ second declaration in example)? or in other words reference "test"
(second declaration) refer first declaration ("test = 3;")
or directly ("test = test+ 3")
, therefor cycle in hierarchy.
greeting krzmbrzl
xtext link cross reference [declaration]
first elemenent identified given id
. in example hello + 3
, cross reference behind hello
resolved declaration hello
in line 1. if have more 1 element same (qualified) name within same scope (container of visibility) xtext throw exception. should
- implement own scopeprovider (use generated stub in
your.dsl.scoping.yourdslscopeprovider
) resolve problem or use composed check automatically validate names.
fragment = validation.javavalidatorfragment auto-inject { composedcheck = "org.eclipse.xtext.validation.namesareuniquevalidator" }
Comments
Post a Comment