Inter grammar communication issue [message #906711] |
Sun, 02 September 2012 09:47 |
attila Mising name Messages: 45 Registered: April 2010 |
Member |
|
|
Hello ,
i'm splitting a larger grammar and i'm facing the following issue.
Highlighting the concept, the grammar deals with some master-detail "source" definitions and some master-detail "target" definitions which use the sources.
I'd like to move the "source" and "target" related stuff in different grammars.
The first grammar contains something like this:
Source1:
name=ID
elements+=Element1;
Source2:
name=ID
elements+=Element2;
Element1:
name=ID;
Element2:
name=ID;
I use these "sources" in a "target" so initially i had the following construct:
Source:
Source1 | Source2;
Element:
Element1 | Element2;
Target:
name=ID source=[Source]
features+=TargetElement;
TargetElement:
name=ID source=[Element];
Now, when i reach a certain size in the second grammar, the impl/xxx.ecore gives "unresolved proxy exception" for the "Source" / "Element" constructs
For smaller size works as expected.
I use classSplitting = true in the mwe2 file
The initial grammars were built on xtext 1, i just upgraded to xtext 2.3.1
Any ideas about this ?
Thank you
[Updated on: Sun, 02 September 2012 11:11] Report message to a moderator
|
|
|
|
Re: Inter grammar communication issue [message #907488 is a reply to message #907009] |
Tue, 04 September 2012 05:21 |
attila Mising name Messages: 45 Registered: April 2010 |
Member |
|
|
Thank you Sven, but the point of the message [ maybe shadowed by the details] was that after the second grammar grows over a certain size the Source/Element constructs are not visible due to " contains an unresolved proxy error " in the target ecore.
The weird part is that if i use Source1/Element1 [ the assigned calls ] in the second grammar it works
so: there are two grammars
g1 declares the sources, g2 declares the targets
everything works fine using the sources in targets
if g2 > certain_size the second ecore throws " contains an unresolved proxy error " for each of the unassigned calls from g1 used [i.e. Source /Element ]
However in this situation if i use in g2 the assigned calls [ any of the Source(n)/Element(n) instead of the Source/Element] it works
Luckily g2 could be further split into g2-1, g2-2 so i'm not blocked, but i still can't figure out the reason.
[Updated on: Tue, 04 September 2012 06:30] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.04813 seconds