ReferenceParams clone(ReferenceParams referenceParams) { if (referenceParams == null) { return null; } ReferenceContext context = referenceParams.getContext(); Position position = referenceParams.getPosition(); TextDocumentIdentifier textDocument = referenceParams.getTextDocument(); ReferenceParams cloned = new ReferenceParams(); cloned.setContext(clone(context)); cloned.setPosition(clone(position)); cloned.setTextDocument(clone(textDocument)); return cloned; }
@Override @Pure public String toString() { ToStringBuilder b = new ToStringBuilder(this); b.add("context", this.context); b.add("textDocument", getTextDocument()); b.add("uri", getUri()); b.add("position", getPosition()); return b.toString(); }
public ReferenceParamsDto(org.eclipse.lsp4j.ReferenceParams o) { if (o.getContext() == null) { setContext((org.eclipse.lsp4j.ReferenceContext)null); } else { org.eclipse.lsp4j.ReferenceContext contextVal = new ReferenceContextDto(o.getContext()); setContext((org.eclipse.lsp4j.ReferenceContext)contextVal); } if (o.getPosition() == null) { setPosition((org.eclipse.lsp4j.Position)null); } else { org.eclipse.lsp4j.Position positionVal = new PositionDto(o.getPosition()); setPosition((org.eclipse.lsp4j.Position)positionVal); } if (o.getUri() == null) { setUri((java.lang.String)null); } else { java.lang.String uriVal = (java.lang.String)makeDto(o.getUri());; setUri((java.lang.String)uriVal); } if (o.getTextDocument() == null) { setTextDocument((org.eclipse.lsp4j.TextDocumentIdentifier)null); } else { org.eclipse.lsp4j.TextDocumentIdentifier textDocumentVal = new TextDocumentIdentifierDto(o.getTextDocument()); setTextDocument((org.eclipse.lsp4j.TextDocumentIdentifier)textDocumentVal); } }
@Override public Set<Location> findReferences(ReferenceParams params) { URI paramsUri = Uris.resolveToRoot(workspaceRoot, params.getTextDocument().getUri()); Set<SymbolInformation> symbols = indexer.getFileSymbols().get(paramsUri); if (symbols == null) { .map(symbol -> symbol.getLocation()) .filter(loc -> Ranges.isValid(loc.getRange()) && Ranges.contains(loc.getRange(), params.getPosition())) .map(loc -> new ReferenceLocation(loc, false)) .collect(Collectors.toList()); .filter(loc -> paramsUri.toString().equals(loc.getUri()) && Ranges.isValid(loc.getRange()) && Ranges.contains(loc.getRange(), params.getPosition()) && indexer.gotoReferenced(loc).isPresent()) .map(loc -> new ReferenceLocation(loc, true)) if (params.getContext().isIncludeDeclaration()) { foundReferences.add(referredLocation); } else {
IJavaElement elementToSearch = JDTUtils.findElementAtSelection(JDTUtils.resolveTypeRoot(param.getTextDocument().getUri()), param.getPosition().getLine(), param.getPosition().getCharacter(), this.preferenceManager, monitor);
private List<LocationDto> references(ReferenceParams referenceParams) { String wsPath = referenceParams.getTextDocument().getUri();
@Test public void testReferences() throws InterruptedException, ExecutionException { ReferenceParams params = new ReferenceParams(new ReferenceContext(false)); params.setPosition(new Position(5, 5)); params.setTextDocument(new TextDocumentIdentifier("uri")); params.setUri("uri"); CompletableFuture<List<? extends Location>> response = service.references(params); assertThat(response.get().stream().collect(Collectors.toSet()), is(expectedReferences)); }
public List<? extends Location> getReferences(final Document document, final XtextResource resource, final ReferenceParams params, final IReferenceFinder.IResourceAccess resourceAccess, final IResourceDescriptions indexData, final CancelIndicator cancelIndicator) { final int offset = document.getOffSet(params.getPosition()); List<? extends Location> _xifexpression = null; boolean _isIncludeDeclaration = params.getContext().isIncludeDeclaration(); if (_isIncludeDeclaration) { _xifexpression = this.getDefinitions(resource, offset, resourceAccess, cancelIndicator); } else { _xifexpression = CollectionLiterals.emptyList(); } final List<? extends Location> definitions = _xifexpression; final List<? extends Location> references = this.getReferences(resource, offset, resourceAccess, indexData, cancelIndicator); final Iterable<Location> result = Iterables.<Location>concat(definitions, references); return IterableExtensions.<Location>toList(result); }
private static ReferenceParams createReferenceParams(URI uri, int line, int col, boolean includeDeclaration) { ReferenceParams referenceParams = new ReferenceParams(new ReferenceContext(includeDeclaration)); referenceParams.setTextDocument(new TextDocumentIdentifier(uri.toString())); referenceParams.setPosition(new Position(line, col)); return referenceParams; }
@Override public CompletableFuture<List<? extends Location>> start(ExtendedLanguageServer element) { ReferenceParams clonedReferenceParams = lsParamsCloner.clone(referenceParams); URI uri = languageServerPathTransformer.toFsURI(element.getId(), wsPath); clonedReferenceParams.getTextDocument().setUri(uri.toString()); return element.getTextDocumentService().references(clonedReferenceParams); }
@Override @Pure public String toString() { ToStringBuilder b = new ToStringBuilder(this); b.add("context", this.context); b.add("textDocument", getTextDocument()); b.add("uri", getUri()); b.add("position", getPosition()); return b.toString(); }
@Override public CompletableFuture<List<? extends Location>> references(ReferenceParams params) { return CompletableFuture.supplyAsync(() -> { String fileUri = params.getTextDocument().getUri(); LSDocument document = new LSDocument(fileUri); Path refFilePath = document.getPath();
@Override public CompletableFuture<List<? extends Location>> references(final ReferenceParams params) { final Function1<CancelIndicator, List<? extends Location>> _function = (CancelIndicator cancelIndicator) -> { final URI uri = this._uriExtensions.toUri(params.getTextDocument().getUri()); final IResourceServiceProvider resourceServiceProvider = this.languagesRegistry.getResourceServiceProvider(uri); DocumentSymbolService _get = null; if (resourceServiceProvider!=null) { _get=resourceServiceProvider.<DocumentSymbolService>get(DocumentSymbolService.class); } final DocumentSymbolService documentSymbolService = _get; if ((documentSymbolService == null)) { return CollectionLiterals.<Location>emptyList(); } final Function2<Document, XtextResource, List<? extends Location>> _function_1 = (Document document, XtextResource resource) -> { return documentSymbolService.getReferences(document, resource, params, this.resourceAccess, this.workspaceManager.getIndex(), cancelIndicator); }; return this.workspaceManager.<List<? extends Location>>doRead(uri, _function_1); }; return this.requestManager.<List<? extends Location>>runRead(_function); }