You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently EIQ attempts to resolve all proxies, and ignore unresolvable ones (as wall as the spurious RESOLVE notifications). Problem: some initially unresolvable proxies may become resolvable later after all.
Candidate strategy:
if unresolvable, put on a "patience" list
If a RESOLVE notification is received, compare it against this list. If matched, continue the "comprehension" of the model as before.
Open question:
is this strategy feasible e.g. if the set of observed types/features of a non-wildcard engine is extended between the first encounter of the proxy object and the time of resolution?
Raison d'être: Xtext inserts some unresolvable proxies that will magically become resolvable later, and will be resolved with RESOLVE notfications. Lack of RESOLVE support results in "Duplicate deletion" exceptions.
unresolved != unresolvable. These proxies are unresolvable, which is something we were not prepared for so far. In fact, there does not seem to be any way to detect when these proxies become resolvable, except when they are actually resolved. So far, Xtext seems to be nice enough to proactively resolve them.
BIG PROBLEM: neither this resolve message, nor the corresponding "set" is reliable enough.
Culprit is org.eclipse.xtext.linking.lazy.LazyLinkingResource:\
try {\
source.eSetDeliver(false);\
source.eSet(crossRef, target);\
} finally {\
source.eSetDeliver(true);\
}\
```\
This is bad news.
I have filed a bug report with Xtext: \
https://bugs.eclipse.org/bugs/show_bug.cgi?id=387119
Let's hope for the best.
The text was updated successfully, but these errors were encountered:
| --- | --- |
| Bugzilla Link | 398782 |
| Status | NEW |
| Importance | P3 normal |
| Reported | Jan 22, 2013 11:44 EDT |
| Modified | Apr 19, 2016 05:24 EDT |
| Version | oldinquery |
| Depends on | 387119 |
| Reporter | Gabor Bergmann |
Description
Cloned from: 264: Implement a patient strategy for unresolveable proxy EObject
http://github.com/ujhelyiz/EMF-IncQuery/issues/issue/264
Currently EIQ attempts to resolve all proxies, and ignore unresolvable ones (as wall as the spurious RESOLVE notifications). Problem: some initially unresolvable proxies may become resolvable later after all.
Candidate strategy:
Open question:
Raison d'être: Xtext inserts some unresolvable proxies that will magically become resolvable later, and will be resolved with RESOLVE notfications. Lack of RESOLVE support results in "Duplicate deletion" exceptions.
unresolved != unresolvable. These proxies are unresolvable, which is something we were not prepared for so far. In fact, there does not seem to be any way to detect when these proxies become resolvable, except when they are actually resolved. So far, Xtext seems to be nice enough to proactively resolve them.
BIG PROBLEM: neither this resolve message, nor the corresponding "set" is reliable enough.
Culprit is org.eclipse.xtext.linking.lazy.LazyLinkingResource:\
The text was updated successfully, but these errors were encountered: