/** * Return the resource description for a URI. * * @param uri * The URI * @return The resource description, or null if there is none. */ public IResourceDescription getResourceDescription(URI uri) { return delegate.getResourceDescription(uri); }
@Override public IResourceDescription getResourceDescription(URI normalizedURI) { if (filter.apply(normalizedURI)) { return delegate.getResourceDescription(normalizedURI); } return null; }
protected IScope createLazyResourceScope(IScope parent, final URI uri, final IResourceDescriptions descriptions, EClass type, final Predicate<IEObjectDescription> filter, boolean ignoreCase) { IResourceDescription description = descriptions.getResourceDescription(uri); return SelectableBasedScope.createScope(parent, description, filter, type, ignoreCase); }
@Override protected Map<URI, IResourceDescription> doGetUriToDescription() { Map<URI, IResourceDescription> result = Maps.newLinkedHashMap(); for(URI uri: state.getContents()) { IResourceDescription description = getDescriptions().getResourceDescription(uri); if (description != null) result.put(uri, description); } return result; }
@Override public IResourceDescription getResourceDescription(URI uri) { if (state.contains(uri)) return getDescriptions().getResourceDescription(uri); return null; }
@Override public IResourceDescription getResourceDescription(URI uri) { IResourceDescription result = localDescriptions.getResourceDescription(uri); if (result == null && !isExistingOrRenamedResourceURI(uri)) result = globalDescriptions.getResourceDescription(uri); return result; }
@Override protected boolean hasDescription(URI uri) { boolean result = localDescriptions.hasDescription(uri); if (!result) { if (isExistingOrRenamedResourceURI(uri)) { result = false; } else { result = globalDescriptions.getResourceDescription(uri) != null; } } return result; }
public IResourceDescription getResourceDescription(URI uri) { IResourceDescription result = delegate.getResourceDescription(uri); if (result == null) { Resource resource = EcoreUtil2.getResource(context, uri.toString()); if (resource != null) { IResourceServiceProvider serviceProvider = serviceProviderRegistry.getResourceServiceProvider(uri); if (serviceProvider==null) throw new IllegalStateException("No "+IResourceServiceProvider.class.getSimpleName()+" found in registry for uri "+uri); final Manager resourceDescriptionManager = serviceProvider.getResourceDescriptionManager(); if (resourceDescriptionManager == null) throw new IllegalStateException("No "+IResourceDescription.Manager.class.getName()+" provided by service provider for URI "+uri); result = resourceDescriptionManager.getResourceDescription(resource); } } return result; }
public void markEditorClean(IDirtyStateEditorSupportClient client) { if (this.currentClient == null || this.currentClient != client) throw new IllegalStateException("Was configured with another client or not configured at all."); //$NON-NLS-1$ dirtyStateManager.discardDirtyState(delegatingClientAwareResource); isDirty = false; IResourceDescription cleanDescription = resourceDescriptions.getResourceDescription(delegatingClientAwareResource.getURI()); if (cleanDescription != null) dirtyResource.copyState(cleanDescription); }
protected IEObjectDescription getDescription(final URI objectURI) { final IResourceDescription resourceDescription = this.getIndexData().getResourceDescription(objectURI.trimFragment()); if ((resourceDescription == null)) { return null; } final Function1<IEObjectDescription, Boolean> _function = (IEObjectDescription it) -> { URI _eObjectURI = it.getEObjectURI(); return Boolean.valueOf(Objects.equal(_eObjectURI, objectURI)); }; return IterableExtensions.<IEObjectDescription>findFirst(resourceDescription.getExportedObjects(), _function); }
@Override protected void initiallyProcessResource(XtextResource resource) { IResourceDescription description = resourceDesriptions.getResourceDescription(resource.getURI()); if (description != null) { copyState(description); } else { super.initiallyProcessResource(resource); } }
public void findReferences(Iterable<URI> targetURIs, final Iterable<URI> sourceResourceURIs, ILocalResourceAccess localResourceAccess, IAcceptor<IReferenceDescription> referenceAcceptor, IProgressMonitor monitor) { SubMonitor subMonitor = SubMonitor.convert(monitor, 2); if (!isEmpty(targetURIs) && !isEmpty(sourceResourceURIs)) { if (localResourceAccess != null) { Iterable<URI> localTargetURIs = filter(targetURIs, new Predicate<URI>() { public boolean apply(URI input) { return contains(sourceResourceURIs, input.trimFragment()); } }); findLocalReferences(localTargetURIs, localResourceAccess, referenceAcceptor, subMonitor.newChild(1)); } Set<URI> targetURIsAsSet = newLinkedHashSet(targetURIs); subMonitor.setWorkRemaining(targetURIsAsSet.size()); for (URI sourceResourceURI : sourceResourceURIs) { IResourceDescription resourceDescription = indexData.getResourceDescription(sourceResourceURI); if (resourceDescription != null) findReferences(targetURIsAsSet, resourceDescription, referenceAcceptor, subMonitor.newChild(1), localResourceAccess); } } }
private List<IContainer> getVisibleContainers(final EObject o) { List<IContainer> _xblockexpression = null; { final IResourceDescriptions index = this.rdp.getResourceDescriptions(o.eResource()); final IResourceDescription rd = index.getResourceDescription(o.eResource().getURI()); _xblockexpression = this.cm.getVisibleContainers(rd, index); } return _xblockexpression; }
protected void doScheduleInitialValidation(XtextDocument document) { URI uri = document.getResourceURI(); if (uri == null) return; IResourceDescription description = resourceDescriptions.getResourceDescription(uri); if (description == null) { // resource was just created - build is likely to be running in background return; } Set<URI> outgoingReferences = descriptionUtils.collectOutgoingReferences(description); for(URI outgoing: outgoingReferences) { if (isDirty(outgoing)) { document.checkAndUpdateAnnotations(); return; } } }
protected IScope createLazyResourceScope(Resource resource, IScope parent, final URI uri, final IResourceDescriptions descriptions, EClass type, final Predicate<IEObjectDescription> filter, boolean ignoreCase) { IResourceDescription description = null; try { description = descriptions.getResourceDescription(uri); } catch (IllegalStateException ex) { Resource res = EcoreUtil2.getResource(resource, uri.toString()); if (res != null) { // fallback for ZEN resource description in case of shorten url IResourceServiceProvider serviceProvider = serviceProviderRegistry.getResourceServiceProvider(uri, ZEN_CONTENT_TYPE); if (serviceProvider != null) { Manager descriptionManager = serviceProvider.getResourceDescriptionManager(); if (descriptionManager != null) { description = descriptionManager.getResourceDescription(res); } } } if (description == null) { throw ex; } } return SelectableBasedScope.createScope(parent, description, filter, type, ignoreCase); }
private Set<org.fuin.dsl.ddd.domainDrivenDesignDsl.Exception> getAllExceptions(final EObject obj) { final Set<org.fuin.dsl.ddd.domainDrivenDesignDsl.Exception> list = new HashSet<org.fuin.dsl.ddd.domainDrivenDesignDsl.Exception>(); final Resource resource = obj.eResource(); final IResourceDescriptions resourceDescriptions = this.resourceDescriptionsProvider.getResourceDescriptions(resource); final IResourceDescription resourceDescription = resourceDescriptions.getResourceDescription(resource.getURI()); final List<IContainer> containers = this.containerManager.getVisibleContainers(resourceDescription, resourceDescriptions); for (final IContainer container : containers) { Iterable<IEObjectDescription> _exportedObjects = container.getExportedObjects(); for (final IEObjectDescription descr : _exportedObjects) { { final EObject eObjectOrProxy = descr.getEObjectOrProxy(); if ((eObjectOrProxy instanceof org.fuin.dsl.ddd.domainDrivenDesignDsl.Exception)) { EObject _resolve = EcoreUtil.resolve(eObjectOrProxy, obj); final org.fuin.dsl.ddd.domainDrivenDesignDsl.Exception ex = ((org.fuin.dsl.ddd.domainDrivenDesignDsl.Exception) _resolve); list.add(ex); } } } } return list; }
private void addReference(IReferenceDescription referenceDescription, boolean isUpdateViewer) { URI containerEObjectURI = referenceDescription.getContainerEObjectURI(); final URI eObjectURI = (containerEObjectURI == null) ? referenceDescription.getSourceEObjectUri() : containerEObjectURI; IResourceDescription resourceDescription = resourceDescriptions.getResourceDescription(eObjectURI .trimFragment()); if (resourceDescription != null) { ReferenceSearchViewTreeNode resourceNode = resourceNode(resourceDescription, isUpdateViewer); ReferenceSearchViewTreeNode referenceNode = null; for (IEObjectDescription eObjectDescription : resourceDescription.getExportedObjects()) { if (eObjectDescription.getEObjectURI().equals(eObjectURI)) { referenceNode = new ReferenceSearchViewTreeNode(resourceNode, referenceDescription, eObjectDescription); break; } } if (referenceNode == null && resourceNode != null) new ReferenceSearchViewTreeNode(resourceNode, referenceDescription, referenceDescription); } }
protected boolean isReparseRequired(XtextResource resource, IResourceDescription.Event event) { IResourceDescription.Manager resourceDescriptionManager = resource.getResourceServiceProvider().getResourceDescriptionManager(); IResourceDescription description = resourceDescriptionManager.getResourceDescription(resource); if (resourceDescriptionManager.isAffected(event.getDeltas(), description, resourceDescriptions)) { return true; } if (!isDirty() && !dirtyStateManager.hasContent(resource.getURI())) { IResourceDescription originalDescription = resourceDescriptions.getResourceDescription(resource.getURI()); if (originalDescription != null && descriptionUtils != null) { Set<URI> outgoingReferences = descriptionUtils.collectOutgoingReferences(originalDescription); for(IResourceDescription.Delta delta: event.getDeltas()) { if (delta.haveEObjectDescriptionsChanged() && outgoingReferences.contains(delta.getUri())) return true; } } } return false; }
/** * @since 1.7 */ public Set<IEObjectDescription> findShadowingClasses(Pattern pattern, QualifiedName fullyQualifiedName, EClass sourceType) { resourceDescriptions.setContext(pattern.eContainer()); Iterable<IEObjectDescription> shadowingPatternDescriptions = null; final URI uri = pattern.eResource().getURI(); if (projectHelper.isStandaloneFileURI(pattern, uri)) { // If pattern is not in a source folder, duplicate analysis is only meaningful inside the file shadowingPatternDescriptions = resourceDescriptions.getLocalDescriptions().getResourceDescription(uri) .getExportedObjects(sourceType, fullyQualifiedName, true); // Visibility can be ignored in case of local descriptions return processDuplicateCandidates(pattern, false, shadowingPatternDescriptions); } else { // Otherwise collect all visible duplicates shadowingPatternDescriptions = resourceDescriptions .getExportedObjects(sourceType, fullyQualifiedName, true); return processDuplicateCandidates(pattern, true, shadowingPatternDescriptions); } }
@Override public AbstractScope get() { IJvmTypeProvider typeProvider = typeScopeProvider.getTypeProvider(resource.getResourceSet()); AbstractTypeScope typeScope = typeScopeProvider.createTypeScope(typeProvider, null); IResourceDescriptions descriptions = resourceDescriptionsProvider.getResourceDescriptions(context.eResource().getResourceSet()); IResourceDescription resourceDescription = descriptions.getResourceDescription(resource.getURI()); if (resourceDescription != null) { typeScope = new LocalResourceFilteringTypeScope(typeScope, resourceDescription); } RecordingTypeScope recordingTypeScope = new RecordingTypeScope(typeScope, getImportedNamesSet(resource), getQualifiedNameConverter()); AbstractScope rootTypeScope = getRootTypeScope(xtendFile, recordingTypeScope); AbstractScope importScope = getImportScope(xtendFile.getImportSection(), rootTypeScope, recordingTypeScope); AbstractScope localTypes = getResourceTypeScope(xtendFile.eResource(), xtendFile.getPackage(), importScope); AbstractScope primitiveAware = new PrimitiveAwareScope(localTypes, typeScope); AbstractScope caching = new CachingTypeScope(primitiveAware); return caching; } });