use of org.eclipse.n4js.ide.imports.ReferenceDescriptor in project n4js by eclipse.
the class ImportsAwareReferenceProposalCreator method lookupCrossReference.
/**
* Retrieves possible reference targets from scope, including erroneous solutions (e.g., not visible targets). This
* list is further filtered here. This is a general pattern: Do not change or modify scoping for special content
* assist requirements, instead filter here.
*
* @param filter
* by default an instance of {@link N4JSCandidateFilter} will be provided here.
*/
public void lookupCrossReference(EObject model, EReference reference, ContentAssistContext context, IIdeContentProposalAcceptor acceptor, Predicate<IEObjectDescription> filter) {
if (model == null) {
return;
}
Resource resource = model.eResource();
if (!(resource instanceof N4JSResource)) {
return;
}
N4JSResource resourceCasted = (N4JSResource) resource;
N4JSWorkspaceConfigSnapshot wc = workspaceAccess.getWorkspaceConfig(resourceCasted);
ReferenceDescriptor referenceDesc = new ReferenceDescriptor(context.getPrefix(), model, reference, context.getCurrentNode());
Predicate<String> conflictChecker = (proposalToCheck) -> conflictHelper.existsConflict(proposalToCheck, context);
referenceResolutionFinder.findResolutions(wc, referenceDesc, false, false, conflictChecker, filter, new ResolutionToContentProposalAcceptor(resourceCasted, context, acceptor));
}
Aggregations