use of org.eclipse.xtext.linking.impl.LinkingDiagnosticProducer in project xtext-core by eclipse.
the class LazyLinker method doLinkModel.
@Override
protected void doLinkModel(final EObject model, IDiagnosticConsumer consumer) {
final Multimap<EStructuralFeature.Setting, INode> settingsToLink = ArrayListMultimap.create();
final LinkingDiagnosticProducer producer = new LinkingDiagnosticProducer(consumer);
cache.execWithoutCacheClear(model.eResource(), new IUnitOfWork.Void<Resource>() {
@Override
public void process(Resource state) throws Exception {
TreeIterator<EObject> iterator = getAllLinkableContents(model);
boolean clearAllReferencesRequired = isClearAllReferencesRequired(state);
while (iterator.hasNext()) {
EObject eObject = iterator.next();
if (clearAllReferencesRequired) {
clearReferences(eObject);
}
installProxies(eObject, producer, settingsToLink);
}
}
});
installQueuedLinks(settingsToLink);
}
Aggregations