Skip to content

Commit

Permalink
Intellisense not work on close source jar
Browse files Browse the repository at this point in the history
Signed-off-by: Snjezana Peco <snjezana.peco@redhat.com>
  • Loading branch information
snjeza committed Dec 25, 2019
1 parent e9c903b commit d2d43bc
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import org.eclipse.jdt.core.CompletionProposal;
import org.eclipse.jdt.core.Flags;
import org.eclipse.jdt.core.Signature;
import org.eclipse.jdt.internal.codeassist.CompletionEngine;
import org.eclipse.jdt.internal.corext.template.java.SignatureUtil;
import org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin;
import org.eclipse.jdt.ls.core.internal.handlers.CompletionResolveHandler;
Expand Down Expand Up @@ -137,7 +138,14 @@ private StringBuilder appendUnboundedParameterList(StringBuilder buffer, Complet
// TODO remove once https://bugs.eclipse.org/bugs/show_bug.cgi?id=85293
// gets fixed.
char[] signature= SignatureUtil.fix83600(methodProposal.getSignature());
char[][] parameterNames= methodProposal.findParameterNames(null);
char[][] parameterNames;
try {
parameterNames = methodProposal.findParameterNames(null);
} catch (Exception e) {
JavaLanguageServerPlugin.logException(e.getMessage(), e);
parameterNames = CompletionEngine.createDefaultParameterNames(Signature.getParameterCount(signature));
methodProposal.setParameterNames(parameterNames);
}
char[][] parameterTypes= Signature.getParameterTypes(signature);

for (int i= 0; i < parameterTypes.length; i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.eclipse.jdt.core.dom.IBinding;
import org.eclipse.jdt.core.dom.ITypeBinding;
import org.eclipse.jdt.core.dom.rewrite.ImportRewrite;
import org.eclipse.jdt.internal.codeassist.CompletionEngine;
import org.eclipse.jdt.internal.corext.dom.IASTSharedValues;
import org.eclipse.jdt.internal.corext.template.java.SignatureUtil;
import org.eclipse.jdt.ls.core.internal.ChangeUtil;
Expand Down Expand Up @@ -443,7 +444,15 @@ private void appendMethodNameReplacement(StringBuilder buffer, CompletionProposa
}

private void appendGuessingCompletion(StringBuilder buffer, CompletionProposal proposal) {
char[][] parameterNames= proposal.findParameterNames(null);
char[][] parameterNames;
try {
parameterNames = proposal.findParameterNames(null);
} catch (Exception e) {
JavaLanguageServerPlugin.logException(e.getMessage(), e);
char[] signature = SignatureUtil.fix83600(proposal.getSignature());
parameterNames = CompletionEngine.createDefaultParameterNames(Signature.getParameterCount(signature));
proposal.setParameterNames(parameterNames);
}

int count= parameterNames.length;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,13 @@ public List<CompletionItem> getCompletionItems() {
CompletionProposalReplacementProvider proposalProvider = new CompletionProposalReplacementProvider(unit, getContext(), response.getOffset(), preferenceManager.getClientPreferences());
for (int i = 0; i < limit; i++) {
CompletionProposal proposal = proposals.get(i);
CompletionItem item = toCompletionItem(proposal, i);
proposalProvider.updateReplacement(proposal, item, '\0');
completionItems.add(item);
try {
CompletionItem item = toCompletionItem(proposal, i);
proposalProvider.updateReplacement(proposal, item, '\0');
completionItems.add(item);
} catch (Exception e) {
JavaLanguageServerPlugin.logException(e.getMessage(), e);
}
}
return completionItems;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
import org.eclipse.jdt.internal.corext.util.JdtFlags;
import org.eclipse.jdt.internal.corext.util.MethodOverrideTester;
import org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache;
import org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin;
import org.eclipse.jdt.ls.core.internal.hover.JavaElementLabels;

/**
Expand Down Expand Up @@ -590,7 +591,14 @@ public static String getHTMLContent(IJavaElement element, boolean useAttachedJav
if (sourceJavadoc == null || sourceJavadoc.length() == 0 || sourceJavadoc.trim().equals("{@inheritDoc}")) { //$NON-NLS-1$
if (useAttachedJavadoc) {
if (element.getOpenable().getBuffer() == null) { // only if no source available
return element.getAttachedJavadoc(null);
String attachedJavadoc;
try {
attachedJavadoc = element.getAttachedJavadoc(null);
} catch (Exception e) {
JavaLanguageServerPlugin.logException(e.getMessage(), e);
return null;
}
return attachedJavadoc;
}
IMember member = null;
if (element instanceof ILocalVariable) {
Expand Down

0 comments on commit d2d43bc

Please sign in to comment.