public SignatureHelpRequestor(ICompilationUnit aUnit, int offset) { this.unit = aUnit; response = new CompletionResponse(); response.setOffset(offset); setRequireExtendedContext(true); }
public static void delete(CompletionResponse response) { if (response != null) { COMPLETIONS.remove(response.getId()); } }
public List<CompletionItem> getCompletionItems() { response.setProposals(proposals); CompletionResponses.store(response); List<CompletionItem> completionItems = new ArrayList<>(proposals.size()); for (int i = 0; i < proposals.size(); i++) { completionItems.add(toCompletionItem(proposals.get(i), i)); } return completionItems; }
long requestId = Long.parseLong(data.get(DATA_FIELD_REQUEST_ID)); CompletionResponse completionResponse = CompletionResponses.get(requestId); if (completionResponse == null || completionResponse.getProposals().size() <= proposalId) { throw new IllegalStateException("Invalid completion proposal"); completionResponse.getContext(), completionResponse.getOffset(), this.manager.getClientPreferences()); proposalProvider.updateReplacement(completionResponse.getProposals().get(proposalId), param, '\0'); if (monitor.isCanceled()) { param.setData(null);
@Override public void acceptContext(CompletionContext context) { super.acceptContext(context); response.setContext(context); this.descriptionProvider = new CompletionProposalDescriptionProvider(context); }
private void acceptPotentialMethodDeclaration(CompletionProposal proposal) { try { IJavaElement enclosingElement = null; if (response.getContext().isExtended()) { enclosingElement = response.getContext().getEnclosingElement(); } else if (unit != null) { // kept for backward compatibility: CU is not reconciled at this moment, information is missing (bug 70005) enclosingElement = unit.getElementAt(proposal.getCompletionLocation() + 1); } if (enclosingElement == null) { return; } IType type = (IType) enclosingElement.getAncestor(IJavaElement.TYPE); if (type != null) { String prefix = String.valueOf(proposal.getName()); int completionStart = proposal.getReplaceStart(); int completionEnd = proposal.getReplaceEnd(); int relevance = proposal.getRelevance() + 6; GetterSetterCompletionProposal.evaluateProposals(type, prefix, completionStart, completionEnd - completionStart, relevance, proposals); } } catch (CoreException e) { JavaLanguageServerPlugin.logException("Accept potential method declaration failed for completion ", e); } }
@Override public void acceptContext(CompletionContext context) { super.acceptContext(context); this.context = context; response.setContext(context); this.descriptionProvider = new CompletionProposalDescriptionProvider(context); }
public CompletionProposalRequestor(ICompilationUnit aUnit, int offset) { this.unit = aUnit; response = new CompletionResponse(); response.setOffset(offset); fIsTestCodeExcluded = !isTestSource(unit.getJavaProject(), unit); setRequireExtendedContext(true); }
public static void store(CompletionResponse response) { if (response != null) { COMPLETIONS.put(response.getId(), response); } }
public SignatureHelp getSignatureHelp(IProgressMonitor monitor) { SignatureHelp signatureHelp = new SignatureHelp(); response.setProposals(proposals); CompletionResponses.store(response); List<SignatureInformation> infos = new ArrayList<>(); for (int i = 0; i < proposals.size(); i++) { if (!monitor.isCanceled()) { infos.add(this.toSignatureInformation(proposals.get(i))); } else { return signatureHelp; } } infos.sort((SignatureInformation a, SignatureInformation b) -> a.getParameters().size() - b.getParameters().size()); signatureHelp.getSignatures().addAll(infos); return signatureHelp; }
public CompletionItem toCompletionItem(CompletionProposal proposal, int index) { final CompletionItem $ = new CompletionItem(); $.setKind(mapKind(proposal.getKind())); Map<String, String> data = new HashMap<>(); // append data field so that resolve request can use it. data.put(CompletionResolveHandler.DATA_FIELD_URI, JDTUtils.toURI(unit)); data.put(CompletionResolveHandler.DATA_FIELD_REQUEST_ID,String.valueOf(response.getId())); data.put(CompletionResolveHandler.DATA_FIELD_PROPOSAL_ID,String.valueOf(index)); $.setData(data); this.descriptionProvider.updateDescription(proposal, $); $.setSortText(SortTextHelper.computeSortText(proposal)); return $; }