Merge "releng: Update Orbit to the Oxygen build."
diff --git a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/hierarchy/HierarchyResolver.java b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/hierarchy/HierarchyResolver.java
index 8949928..a9fc782 100644
--- a/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/hierarchy/HierarchyResolver.java
+++ b/core/plugins/org.eclipse.dltk.core/model/org/eclipse/dltk/internal/core/hierarchy/HierarchyResolver.java
@@ -172,7 +172,7 @@
 			}
 
 			// Cache this type for further searches
-			String elementName = type.getElementName();
+			String elementName = type.getTypeQualifiedName(delimiter);
 			Set<IType> set = tmpCache.get(elementName);
 			if (set == null) {
 				set = new HashSet<>();
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/build.properties b/mylyn/features/org.eclipse.dltk.mylyn.sdk/build.properties
index 11dbe81..d2fa522 100644
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/build.properties
+++ b/mylyn/features/org.eclipse.dltk.mylyn.sdk/build.properties
@@ -7,21 +7,6 @@
 #
 
 ###############################################################################
-#/**
-# * <copyright>
-# *
-# * Copyright (c) 2005 IBM Corporation and others.
-# * All rights reserved.   This program and the accompanying materials
-# * are made available under the terms of the Eclipse Public License v1.0
-# * which accompanies this distribution, and is available at
-# * http://www.eclipse.org/legal/epl-v10.html
-# * 
-# 
-# *
-# * </copyright>
-# *
-# * $Id: build.properties,v 1.2 2008/05/26 11:58:53 asobolev Exp $ build.properties,v 1.1 2005/11/25 20:30:36 cdamus Exp $
-# */
 bin.includes = eclipse_update_120.jpg,\
                feature.properties,\
                feature.xml
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse.gif b/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse.gif
deleted file mode 100644
index bdc2912..0000000
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse.gif
+++ /dev/null
Binary files differ
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse.png b/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse.png
deleted file mode 100644
index 7397524..0000000
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse.png
+++ /dev/null
Binary files differ
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse32.gif b/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse32.png b/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse32.png
deleted file mode 100644
index 568fac1..0000000
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse48.gif b/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse48.gif
deleted file mode 100644
index 501ab99..0000000
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse48.gif
+++ /dev/null
Binary files differ
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse48.png b/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse48.png
deleted file mode 100644
index b60ab3c..0000000
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse48.png
+++ /dev/null
Binary files differ
diff --git a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse_lg.gif b/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse_lg.gif
deleted file mode 100644
index bf8b872..0000000
--- a/mylyn/features/org.eclipse.dltk.mylyn.sdk/eclipse_lg.gif
+++ /dev/null
Binary files differ
diff --git a/mylyn/plugins/org.eclipse.dltk.mylyn/.settings/org.eclipse.jdt.core.prefs b/mylyn/plugins/org.eclipse.dltk.mylyn/.settings/org.eclipse.jdt.core.prefs
index 33f8a10..eaf7707 100644
--- a/mylyn/plugins/org.eclipse.dltk.mylyn/.settings/org.eclipse.jdt.core.prefs
+++ b/mylyn/plugins/org.eclipse.dltk.mylyn/.settings/org.eclipse.jdt.core.prefs
@@ -7,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
 org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
 org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
@@ -17,6 +19,7 @@
 org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 org.eclipse.jdt.core.compiler.compliance=1.8
@@ -32,7 +35,7 @@
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -45,7 +48,7 @@
 org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
 org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
 org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
 org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
@@ -75,7 +78,7 @@
 org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
 org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
 org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
@@ -96,7 +99,7 @@
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
diff --git a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKEditingMonitor.java b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKEditingMonitor.java
index 824b844..b94bab4 100644
--- a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKEditingMonitor.java
+++ b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKEditingMonitor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2008 Tasktop Technologies and others.
+ * Copyright (c) 2004, 2017 Tasktop Technologies and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -102,7 +102,7 @@
 							super.handleNavigation(part, selectedElement, DLTKReferencesProvider.ID,
 									contributeToContext);
 							selectionResolved = true;
-						} else if (lastSelectedElement != null && lastSelectedElement.equals(lastResolvedElement)
+						} else if (lastSelectedElement.equals(lastResolvedElement)
 								&& !lastSelectedElement.equals(selectedElement)) {
 							super.handleNavigation(part, selectedElement, DLTKReferencesProvider.ID,
 									contributeToContext);
diff --git a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKStructureBridge.java b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKStructureBridge.java
index 9767e7e..9046526 100644
--- a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKStructureBridge.java
+++ b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKStructureBridge.java
@@ -8,14 +8,12 @@
  * Contributors:
  *     Tasktop Technologies - initial API and implementation
  *******************************************************************************/
-
 package org.eclipse.dltk.internal.mylyn;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import org.eclipse.core.internal.resources.Marker;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
@@ -41,12 +39,8 @@
 import org.eclipse.mylyn.context.core.AbstractContextStructureBridge;
 import org.eclipse.mylyn.context.core.ContextCore;
 import org.eclipse.mylyn.context.core.IInteractionElement;
-import org.eclipse.ui.internal.WorkingSet;
-import org.eclipse.ui.views.markers.internal.ConcreteMarker;
+import org.eclipse.ui.IWorkingSet;
 
-/**
- * @author Mik Kersten
- */
 public class DLTKStructureBridge extends AbstractContextStructureBridge {
 
 	public final static String CONTENT_TYPE = "DLTK"; //$NON-NLS-1$
@@ -146,40 +140,11 @@
 				if (adapter instanceof IModelElement) {
 					return ((IModelElement) adapter).getHandleIdentifier();
 				}
-//			} else if (isWtpClass(object)) {
-//				return getWtpElementHandle(object);
 			}
 		}
 		return null;
 	}
 
-//	/**
-//	 * TODO: remove after WTP 1.5.1 is generally available
-//	 */
-//	private String getWtpElementHandle(Object object) {
-//		Class<?> objectClass = object.getClass();
-//		try {
-//			Method getProjectMethod = objectClass.getMethod("getProject", new Class[0]); //$NON-NLS-1$
-//			Object javaProject = getProjectMethod.invoke(object, new Object[0]);
-//			if (javaProject instanceof IScriptProject) {
-//				return ((IModelElement) javaProject).getHandleIdentifier();
-//			}
-//		} catch (Exception e) {
-//			// ignore
-//			e.printStackTrace();
-//		}
-//		return null;
-//	}
-
-	private boolean isWtpClass(Object object) {
-		try {
-			return object != null && object.getClass().getSimpleName().equals("CompressedJavaProject"); //$NON-NLS-1$
-		} catch (Throwable t) {
-			// could have malformed name, see bug 165065
-			return false;
-		}
-	}
-
 	@Override
 	public String getLabel(Object object) {
 		if (object instanceof IModelElement) {
@@ -210,8 +175,7 @@
 		}
 
 		boolean accepts = object instanceof IModelElement || object instanceof ProjectFragmentContainer
-//				|| object instanceof ClassPathContainer.RequiredProjectWrapper || object instanceof JarEntryFile
-				|| object instanceof IProjectFragment || object instanceof WorkingSet || isWtpClass(object);
+				|| object instanceof IProjectFragment;
 
 		return accepts;
 	}
@@ -239,9 +203,9 @@
 					}
 				}
 			}
-		} else if (object instanceof WorkingSet) {
+		} else if (object instanceof IWorkingSet) {
 			try {
-				WorkingSet workingSet = (WorkingSet) object;
+				IWorkingSet workingSet = (IWorkingSet) object;
 				IAdaptable[] elements = workingSet.getElements();
 				for (IAdaptable adaptable : elements) {
 					IInteractionElement interactionElement = ContextCore.getContextManager()
@@ -267,10 +231,8 @@
 	@Override
 	public String getHandleForOffsetInObject(Object object, int offset) {
 		IMarker marker;
-		if (object instanceof ConcreteMarker) {
-			marker = ((ConcreteMarker) object).getMarker();
-		} else if (object instanceof Marker) {
-			marker = (Marker) object;
+		if (object instanceof IMarker) {
+			marker = (IMarker) object;
 		} else {
 			return null;
 		}
@@ -289,11 +251,8 @@
 			}
 			if (compilationUnit != null) {
 				// first try to resolve the character start, then the line number if not present
-				int charStart = 0;
-				Object attribute = marker.getAttribute(IMarker.CHAR_START, 0);
-				if (attribute instanceof Integer) {
-					charStart = ((Integer) attribute).intValue();
-				}
+				int attribute = marker.getAttribute(IMarker.CHAR_START, 0);
+				int charStart = ((Integer) attribute).intValue();
 				IModelElement javaElement = null;
 				if (charStart != -1) {
 					javaElement = compilationUnit.getElementAt(charStart);
@@ -304,18 +263,11 @@
 						lineNumber = ((Integer) lineNumberAttribute).intValue();
 					}
 					if (lineNumber != -1) {
-						// could do finer granularity by uncommenting what's below, see bug 132092
-//						Document document = new Document(compilationUnit.getSource());
-//						IRegion region = document.getLineInformation(lineNumber);
-//						javaElement = compilationUnit.getElementAt(region.getOffset());
 						javaElement = compilationUnit;
 					}
 				}
 
 				if (javaElement != null) {
-//					if (javaElement instanceof IImportDeclaration) {
-//						javaElement = javaElement.getParent().getParent();
-//					}
 					return javaElement.getHandleIdentifier();
 				} else {
 					return null;
@@ -354,16 +306,11 @@
 				return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_INFINITE, null);
 			case IModelElement.SCRIPT_FOLDER:
 			case IModelElement.SOURCE_MODULE:
-//			case IModelElement.CLASS_FILE:
 				return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
 			case IModelElement.PACKAGE_DECLARATION:
-//			case IModelElement.IMPORT_DECLARATION:
-//			case IModelElement.IMPORT_CONTAINER:
 			case IModelElement.TYPE:
-//			case IModelElement.INITIALIZER:
 			case IModelElement.METHOD:
 			case IModelElement.FIELD:
-//			case IModelElement.LOCAL_VARIABLE:
 				ISourceModule cu = (ISourceModule) element.getAncestor(IModelElement.SCRIPT_MODEL);
 				if (cu != null) {
 					return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
diff --git a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKUiBridgePlugin.java b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKUiBridgePlugin.java
index 14259bd..9d09747 100644
--- a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKUiBridgePlugin.java
+++ b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/DLTKUiBridgePlugin.java
@@ -15,7 +15,6 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.dltk.core.DLTKCore;
-import org.eclipse.dltk.internal.mylyn.editor.ActiveFoldingListener;
 import org.eclipse.dltk.internal.ui.editor.ScriptEditor;
 import org.eclipse.dltk.ui.DLTKUIPlugin;
 import org.eclipse.dltk.ui.PreferenceConstants;
@@ -178,7 +177,6 @@
 					if (part != null && part instanceof ScriptEditor) {
 						ScriptEditor editor = (ScriptEditor) part;
 						editorTracker.registerEditor(editor);
-						ActiveFoldingListener.resetProjection(editor);
 					}
 				}
 			}
diff --git a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/actions/FocusBrowsingPerspectiveAction.java b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/actions/FocusBrowsingPerspectiveAction.java
index 0e01db7..6b16339 100644
--- a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/actions/FocusBrowsingPerspectiveAction.java
+++ b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/actions/FocusBrowsingPerspectiveAction.java
@@ -16,7 +16,6 @@
 import java.util.List;
 
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.dltk.internal.mylyn.DLTKUiBridgePlugin;
 import org.eclipse.jface.viewers.ISelectionProvider;
@@ -102,8 +101,4 @@
 		return null;
 	}
 
-	public void propertyChange(PropertyChangeEvent event) {
-		// TODO Auto-generated method stub
-	}
-
 }
diff --git a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/ActiveFoldingListener.java b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/ActiveFoldingListener.java
index a6b85dc..87bab66 100644
--- a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/ActiveFoldingListener.java
+++ b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/ActiveFoldingListener.java
@@ -88,10 +88,6 @@
 		DLTKUiBridgePlugin.getDefault().getPluginPreferences().removePropertyChangeListener(PREFERENCE_LISTENER);
 	}
 
-	public static void resetProjection(IEditorPart javaEditor) {
-		// XXX 3.2 ignore for 3.2, leave for 3.1?
-	}
-
 	public void updateFolding() {
 		if (!enabled || !ContextCore.getContextManager().isContextActive()) {
 			if (editor instanceof ScriptEditor) {
diff --git a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/FocusedDLTKAllProposalComputer.java b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/FocusedDLTKAllProposalComputer.java
index 29a23da..e944f93 100644
--- a/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/FocusedDLTKAllProposalComputer.java
+++ b/mylyn/plugins/org.eclipse.dltk.mylyn/src/org/eclipse/dltk/internal/mylyn/editor/FocusedDLTKAllProposalComputer.java
@@ -91,45 +91,7 @@
 
 	@Override
 	protected ScriptCompletionProposalCollector createCollector(ScriptContentAssistInvocationContext context) {
-		ScriptCompletionProposalCollector collector = null;
-		// FIXME super.createCollector(context);
-		if (collector == null) {
-			return null;
-		}
-//		collector.setIgnored(CompletionProposal.ANNOTATION_ATTRIBUTE_REF, false);
-//		collector.setIgnored(CompletionProposal.ANONYMOUS_CLASS_DECLARATION, false);
-		try {
-			collector.setIgnored(ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION, false);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		collector.setIgnored(CompletionProposal.FIELD_REF, false);
-		try {
-			collector.setIgnored(FIELD_REF_WITH_CASTED_RECEIVER, false);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		collector.setIgnored(CompletionProposal.KEYWORD, false);
-		collector.setIgnored(CompletionProposal.LABEL_REF, false);
-		collector.setIgnored(CompletionProposal.LOCAL_VARIABLE_REF, false);
-		collector.setIgnored(CompletionProposal.METHOD_DECLARATION, false);
-		collector.setIgnored(CompletionProposal.METHOD_NAME_REFERENCE, false);
-		collector.setIgnored(CompletionProposal.METHOD_REF, false);
-		try {
-			collector.setIgnored(CONSTRUCTOR_INVOCATION, false);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			collector.setIgnored(METHOD_REF_WITH_CASTED_RECEIVER, false);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		collector.setIgnored(CompletionProposal.PACKAGE_REF, false);
-		collector.setIgnored(CompletionProposal.POTENTIAL_METHOD_DECLARATION, false);
-		collector.setIgnored(CompletionProposal.VARIABLE_DECLARATION, false);
-		collector.setIgnored(CompletionProposal.TYPE_REF, false);
-		return collector;
+		return null;
 	}
 
 	@Override
@@ -149,27 +111,6 @@
 	// renamed, since guessMethodContextInformationPosition(ContentAssistInvocationContext) is final
 	protected final int guessMethodContextInformationPosition2(ContentAssistInvocationContext context) {
 		final int contextPosition = context.getInvocationOffset();
-
-//		IDocument document = context.getDocument();
-//		ScriptHeuristicScanner scanner = new ScriptHeuristicScanner(document);
-//		int bound = Math.max(-1, contextPosition - 200);
-//
-//		// try the innermost scope of parentheses that looks like a method call
-//		int pos = contextPosition - 1;
-//		do {
-//			int paren = scanner.findOpeningPeer(pos, bound, '(', ')');
-//			if (paren == ScriptHeuristicScanner.NOT_FOUND) {
-//				break;
-//			}
-//			int token = scanner.previousToken(paren - 1, bound);
-//			// next token must be a method name (identifier) or the closing angle of a
-//			// constructor call of a parameterized type.
-//			if (token == Symbols.TokenIDENT || token == Symbols.TokenGREATERTHAN) {
-//				return paren + 1;
-//			}
-//			pos = paren - 1;
-//		} while (true);
-
 		return contextPosition;
 	}