类org.eclipse.lsp4j.ReferenceParams源码实例Demo

下面列出了怎么用org.eclipse.lsp4j.ReferenceParams的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: eclipse.jdt.ls   文件: ReferencesHandlerTest.java
@Test
public void testReference(){
	URI uri = project.getFile("src/java/Foo2.java").getRawLocationURI();
	String fileURI = ResourceUtils.fixURI(uri);

	ReferenceParams param = new ReferenceParams();
	param.setPosition(new Position(5,16));
	param.setContext(new ReferenceContext(true));
	param.setTextDocument( new TextDocumentIdentifier(fileURI));
	List<Location> references =  handler.findReferences(param, monitor);
	assertNotNull("findReferences should not return null",references);
	assertEquals(1, references.size());
	Location l = references.get(0);
	String refereeUri = ResourceUtils.fixURI(project.getFile("src/java/Foo3.java").getRawLocationURI());
	assertEquals(refereeUri, l.getUri());
}
 
源代码2 项目: groovy-language-server   文件: GroovyServices.java
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
	URI uri = URI.create(params.getTextDocument().getUri());
	recompileIfContextChanged(uri);

	ReferenceProvider provider = new ReferenceProvider(astVisitor);
	return provider.provideReferences(params.getTextDocument(), params.getPosition());
}
 
源代码3 项目: lemminx   文件: XMLTextDocumentService.java
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
	return computeDOMAsync(params.getTextDocument(), (cancelChecker, xmlDocument) -> {
		return getXMLLanguageService().findReferences(xmlDocument, params.getPosition(), params.getContext(),
				cancelChecker);
	});
}
 
protected CompletableFuture<List<? extends Location>> getReferencesFor(CamelLanguageServer camelLanguageServer, Position position, String uri) {
	TextDocumentService textDocumentService = camelLanguageServer.getTextDocumentService();
	ReferenceParams params = new ReferenceParams();
	params.setPosition(position);
	params.setTextDocument(new TextDocumentIdentifier(uri));
	return textDocumentService.references(params);
}
 
源代码5 项目: n4js   文件: XLanguageServerImpl.java
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
	URI uri = getURI(params);
	return openFilesManager.runInOpenFileContext(uri, "references", (ofc, ci) -> {
		return references(ofc, params, ci);
	});
}
 
源代码6 项目: n4js   文件: XLanguageServerImpl.java
/**
 * Compute the references. Executed in read request.
 */
protected List<? extends Location> references(OpenFileContext ofc, ReferenceParams params,
		CancelIndicator cancelIndicator) {
	URI uri = ofc.getURI();
	DocumentSymbolService documentSymbolService = getService(uri, DocumentSymbolService.class);
	if ((documentSymbolService == null)) {
		return Collections.emptyList();
	}
	XtextResource res = ofc.getResource();
	XDocument doc = ofc.getDocument();
	return documentSymbolService.getReferences(doc, res, params, resourceAccess,
			openFilesManager.createLiveScopeIndex(), cancelIndicator);
}
 
源代码7 项目: corrosion   文件: ImplementationsSearchQuery.java
@Override public IStatus run(IProgressMonitor monitor) {
	startTime = System.currentTimeMillis();
	// Cancel last references future if needed.
	if (references != null) {
		references.cancel(true);
	}
	AbstractTextSearchResult textResult = (AbstractTextSearchResult) getSearchResult();
	textResult.removeAll();

	try {
		// Execute LSP "references" service
		ReferenceParams params = new ReferenceParams();
		params.setContext(new ReferenceContext(true));
		params.setTextDocument(new TextDocumentIdentifier(info.getFileUri().toString()));
		params.setPosition(position);
		info.getInitializedLanguageClient().thenCompose(languageServer -> ((RLSServerInterface) languageServer).implementations(params)).thenAccept(locs -> {
			// Loop for each LSP Location and convert it to Match search.
			for (Location loc : locs) {
				Match match = toMatch(loc);
				result.addMatch(match);
			}
		});
		return Status.OK_STATUS;
	} catch (Exception ex) {
		return new Status(IStatus.ERROR, LanguageServerPlugin.getDefault().getBundle().getSymbolicName(), ex.getMessage(), ex);
	}
}
 
源代码8 项目: eclipse.jdt.ls   文件: ReferencesHandlerTest.java
@Test
public void testEmpty(){
	ReferenceParams param = new ReferenceParams();
	param.setPosition(new Position(1, 1));
	param.setContext(new ReferenceContext(false));
	param.setTextDocument( new TextDocumentIdentifier("/foo/bar"));
	List<Location> references =  handler.findReferences(param, monitor);
	assertNotNull(references);
	assertTrue("references are not empty", references.isEmpty());
}
 
源代码9 项目: vscode-as3mxml   文件: ActionScriptServices.java
/**
 * Finds all references of the definition referenced at the current position
 * in a text document. Does not necessarily get called where a definition is
 * defined, but may be at one of the references.
 */
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params)
{
    return CompletableFutures.computeAsync(compilerWorkspace.getExecutorService(), cancelToken ->
    {
        cancelToken.checkCanceled();

        //make sure that the latest changes have been passed to
        //workspace.fileChanged() before proceeding
        if(realTimeProblemsChecker != null)
        {
            realTimeProblemsChecker.updateNow();
        }

        compilerWorkspace.startBuilding();
        try
        {
            ReferencesProvider provider = new ReferencesProvider(workspaceFolderManager, fileTracker);
            return provider.references(params, cancelToken);
        }
        finally
        {
            compilerWorkspace.doneBuilding();
        }
    });
}
 
源代码10 项目: xtext-core   文件: LanguageServerImpl.java
/**
 * Compute the references. Executed in read request.
 * @since 2.20
 */
protected List<? extends Location> references(ReferenceParams params, CancelIndicator cancelIndicator) {
	URI uri = getURI(params);
	DocumentSymbolService documentSymbolService = getService(uri, DocumentSymbolService.class);
	if (documentSymbolService == null) {
		return Collections.emptyList();
	}
	return workspaceManager.doRead(uri, (document, resource) -> documentSymbolService.getReferences(document,
			resource, params, resourceAccess, workspaceManager.getIndex(), cancelIndicator));
}
 
源代码11 项目: xtext-core   文件: DocumentSymbolService.java
public List<? extends Location> getReferences(Document document, XtextResource resource, ReferenceParams params,
		IReferenceFinder.IResourceAccess resourceAccess, IResourceDescriptions indexData,
		CancelIndicator cancelIndicator) {
	int offset = document.getOffSet(params.getPosition());
	List<? extends Location> definitions = Collections.emptyList();
	if (params.getContext().isIncludeDeclaration()) {
		definitions = getDefinitions(resource, offset, resourceAccess, cancelIndicator);
	}
	List<? extends Location> references = getReferences(resource, offset, resourceAccess, indexData,
			cancelIndicator);
	List<Location> result = new ArrayList<>();
	result.addAll(definitions);
	result.addAll(references);
	return result;
}
 
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
	LOGGER.info("references: {}", params.getTextDocument());
	return new ReferencesProcessor(this, openedDocuments.get(params.getTextDocument().getUri())).getReferences(params.getPosition());
}
 
源代码13 项目: netbeans   文件: TextDocumentServiceImpl.java
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams arg0) {
    throw new UnsupportedOperationException("Not supported yet.");
}
 
源代码14 项目: syndesis   文件: TeiidDdlTextDocumentService.java
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
    return CompletableFuture.completedFuture(Collections.emptyList());
}
 
源代码15 项目: eclipse.jdt.ls   文件: JDTLanguageServer.java
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
	logInfo(">> document/references");
	ReferencesHandler handler = new ReferencesHandler(this.preferenceManager);
	return computeAsync((monitor) -> handler.findReferences(params, monitor));
}
 
源代码16 项目: eclipse.jdt.ls   文件: ReferencesHandler.java
public List<Location> findReferences(ReferenceParams param, IProgressMonitor monitor) {

		final List<Location> locations = new ArrayList<>();
		try {
			IJavaElement elementToSearch = JDTUtils.findElementAtSelection(JDTUtils.resolveTypeRoot(param.getTextDocument().getUri()), param.getPosition().getLine(), param.getPosition().getCharacter(), this.preferenceManager, monitor);

			if (elementToSearch == null) {
				return locations;
			}

			boolean includeClassFiles = preferenceManager.isClientSupportsClassFileContent();
			SearchEngine engine = new SearchEngine();
			SearchPattern pattern = SearchPattern.createPattern(elementToSearch, IJavaSearchConstants.REFERENCES);

			engine.search(pattern, new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }, createSearchScope(), new SearchRequestor() {

				@Override
				public void acceptSearchMatch(SearchMatch match) throws CoreException {
					Object o = match.getElement();
					if (o instanceof IJavaElement) {
						IJavaElement element = (IJavaElement) o;
						ICompilationUnit compilationUnit = (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT);
						Location location = null;
						if (compilationUnit != null) {
							location = JDTUtils.toLocation(compilationUnit, match.getOffset(), match.getLength());
						} else if (includeClassFiles) {
							IClassFile cf = (IClassFile) element.getAncestor(IJavaElement.CLASS_FILE);
							if (cf != null && cf.getSourceRange() != null) {
								location = JDTUtils.toLocation(cf, match.getOffset(), match.getLength());
							}
						}
						if (location != null) {
							locations.add(location);
						}
					}
				}
			}, monitor);

		} catch (CoreException e) {
			JavaLanguageServerPlugin.logException("Find references failure ", e);
		}
		return locations;
	}
 
源代码17 项目: xtext-core   文件: LanguageServerImpl.java
@Override
public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
	return requestManager.runRead(cancelIndicator -> references(params, cancelIndicator));
}
 
源代码18 项目: lsp4j   文件: TextDocumentService.java
/**
 * The references request is sent from the client to the server to resolve
 * project-wide references for the symbol denoted by the given text document
 * position.
 * 
 * Registration Options: TextDocumentRegistrationOptions
 */
@JsonRequest
default CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
	throw new UnsupportedOperationException();
}
 
 类所在包
 类方法
 同包方法