diff options
2 files changed, 18 insertions, 6 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContentAssistant.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContentAssistant.java index bf28a143967..64327e34045 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContentAssistant.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContentAssistant.java @@ -1971,8 +1971,11 @@ public class ContentAssistant implements IContentAssistant, IContentAssistantExt SafeRunner.run(new ExceptionLoggingSafeRunnable(COMPLETION_ERROR_MESSAGE_KEY) { @Override public void run() throws Exception { - result.addAll(Arrays.asList( ((ISubjectControlContentAssistProcessor) p) - .computeCompletionProposals(contentAssistSubjectControl, offset))); + ICompletionProposal[] proposals= ((ISubjectControlContentAssistProcessor) p) + .computeCompletionProposals(contentAssistSubjectControl, offset); + if (proposals != null) { + result.addAll(Arrays.asList(proposals)); + } fLastErrorMessage= p.getErrorMessage(); } }); @@ -2037,7 +2040,10 @@ public class ContentAssistant implements IContentAssistant, IContentAssistantExt @Override public void run() throws Exception { processors.forEach(p -> { - result.addAll(Arrays.asList(p.computeContextInformation(viewer, offset))); + IContextInformation[] contextInformation= p.computeContextInformation(viewer, offset); + if (contextInformation != null) { + result.addAll(Arrays.asList(contextInformation)); + } fLastErrorMessage= p.getErrorMessage(); }); } @@ -2071,8 +2077,11 @@ public class ContentAssistant implements IContentAssistant, IContentAssistantExt SafeRunner.run(new ExceptionLoggingSafeRunnable(CONTEXT_ERROR_MESSAGE_KEY) { @Override public void run() throws Exception { - result.addAll(Arrays.asList( ((ISubjectControlContentAssistProcessor) p) - .computeContextInformation(contentAssistSubjectControl, offset))); + IContextInformation[] contextInformation= ((ISubjectControlContentAssistProcessor) p) + .computeContextInformation(contentAssistSubjectControl, offset); + if (contextInformation != null) { + result.addAll(Arrays.asList(contextInformation)); + } fLastErrorMessage= p.getErrorMessage(); } }); diff --git a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java index 06ca42db162..b270e15da3b 100644 --- a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java +++ b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java @@ -58,7 +58,10 @@ public class CompositeContentAssistProcessor implements IContentAssistProcessor public IContextInformation[] computeContextInformation(ITextViewer viewer, int offset) { List<IContextInformation> res = new ArrayList<>(); for (IContentAssistProcessor processor : this.fContentAssistProcessors) { - res.addAll(Arrays.asList(processor.computeContextInformation(viewer, offset))); + IContextInformation[] contextInformation = processor.computeContextInformation(viewer, offset); + if (contextInformation != null) { + res.addAll(Arrays.asList(contextInformation)); + } } return res.toArray(new IContextInformation[res.size()]); } |