diff options
author | Christian Dietrich | 2018-08-10 16:34:48 +0000 |
---|---|---|
committer | Andrey Loskutov | 2018-08-11 20:26:50 +0000 |
commit | 03eaf378e3ebbb6a7c9c4776319201f80acc6f05 (patch) | |
tree | b1f01545dc8d877d64557f4c7a440da86ebae2b1 /org.eclipse.jface.text | |
parent | 6c6aae6bed242e6de3183a4a53c8851573c91b74 (diff) | |
download | eclipse.platform.text-03eaf378e3ebbb6a7c9c4776319201f80acc6f05.tar.gz eclipse.platform.text-03eaf378e3ebbb6a7c9c4776319201f80acc6f05.tar.xz eclipse.platform.text-03eaf378e3ebbb6a7c9c4776319201f80acc6f05.zip |
Bug 537719 - Proper treatment of null as a return value from proposal andI20180814-0910I20180814-0900I20180813-2000I20180812-2000
context information providers
Change-Id: Icade86ba7a772b2d3ee5ff09ed23c35e5677af74
Signed-off-by: Christian Dietrich <christian.dietrich@itemis.de>
Diffstat (limited to 'org.eclipse.jface.text')
-rw-r--r-- | org.eclipse.jface.text/src/org/eclipse/jface/text/contentassist/ContentAssistant.java | 19 |
1 files changed, 14 insertions, 5 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(); } }); |