Bug 538656 - Make JDT CompletionProcessors not require UI Thread
- fix TemplateEngine.complete() calls to use new API
Change-Id: Ife2e26180a420fc393333cd78d990af01af52980
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
index 90f9548..c4bfc07 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ToggleBreakpointAdapter.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -1617,7 +1617,7 @@
IRegion line = document.getLineInformation(textSelection.getStartLine() + 1);
Point selectedRange = viewer.getSelectedRange();
viewer.setSelectedRange(selectedRange.x, 0);
- statementEngine.complete(viewer, line.getOffset(), cunit);
+ statementEngine.complete(viewer, selectedRange, line.getOffset(), cunit);
viewer.setSelectedRange(selectedRange.x, selectedRange.y);
TemplateProposal[] templateProposals = statementEngine.getResults();
for (TemplateProposal templateProposal : templateProposals) {
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java
index 4cf51b9..e52fcd3 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/contentassist/JavaDebugContentAssistProcessor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2016 IBM Corporation and others.
+ * Copyright (c) 2005, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -35,6 +35,7 @@
import org.eclipse.jface.text.contentassist.IContextInformation;
import org.eclipse.jface.text.contentassist.IContextInformationValidator;
import org.eclipse.jface.text.templates.TemplateContextType;
+import org.eclipse.swt.graphics.Point;
/**
* Completion processor for the Java debugger. This completion processor
@@ -168,13 +169,15 @@
if (fJavaEngine != null) {
fJavaEngine.reset();
- fJavaEngine.complete(viewer, documentOffset, null);
+ Point selectionAsPoint = new Point(selection.getOffset(), selection.getLength());
+ fJavaEngine.complete(viewer, selectionAsPoint, documentOffset, null);
total.addAll(Arrays.asList(fJavaEngine.getResults()));
}
if (fStatementEngine != null) {
fStatementEngine.reset();
- fStatementEngine.complete(viewer, documentOffset, null);
+ Point selectionAsPoint = new Point(selection.getOffset(), selection.getLength());
+ fStatementEngine.complete(viewer, selectionAsPoint, documentOffset, null);
total.addAll(Arrays.asList(fStatementEngine.getResults()));
}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
index 1d38876..91440e4 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/snippeteditor/JavaSnippetCompletionProcessor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2016 IBM Corporation and others.
+ * Copyright (c) 2000, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -126,7 +126,7 @@
if (fTemplateEngine != null) {
fTemplateEngine.reset();
- fTemplateEngine.complete(viewer, position, null);
+ fTemplateEngine.complete(viewer, viewer.getSelectedRange(), position, null);
TemplateProposal[] templateResults= fTemplateEngine.getResults();