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();