Move o.e.dltk.ruby.core to Java 1.6.

* Bump BREE.
* Fix new warnings.
* Remove useless Eclipse-LazyStart.

Change-Id: Id3f0d9008756ffb8f79442dbf60d60f213930254
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/plugins/org.eclipse.dltk.ruby.core/.classpath b/plugins/org.eclipse.dltk.ruby.core/.classpath
index 4c13d62..76982f8 100644
--- a/plugins/org.eclipse.dltk.ruby.core/.classpath
+++ b/plugins/org.eclipse.dltk.ruby.core/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="jruby"/>
diff --git a/plugins/org.eclipse.dltk.ruby.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.dltk.ruby.core/.settings/org.eclipse.jdt.core.prefs
index 0e73ac4..8717e6c 100644
--- a/plugins/org.eclipse.dltk.ruby.core/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.dltk.ruby.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,15 +1,14 @@
-#Thu Oct 21 16:34:15 CEST 2010
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.6
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
@@ -88,9 +87,12 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
 org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
diff --git a/plugins/org.eclipse.dltk.ruby.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.dltk.ruby.core/META-INF/MANIFEST.MF
index e622bd9..36d6f98 100644
--- a/plugins/org.eclipse.dltk.ruby.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.dltk.ruby.core/META-INF/MANIFEST.MF
@@ -9,7 +9,6 @@
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.dltk.core;bundle-version="0.0.0",
  org.eclipse.debug.core
-Eclipse-LazyStart: true
 Export-Package: org.eclipse.dltk.ruby.ast;
   uses:="org.eclipse.dltk.ast.expressions,
    org.eclipse.dltk.ast,
@@ -75,5 +74,5 @@
    org.eclipse.dltk.ast.declarations,
    org.eclipse.dltk.core,
    org.eclipse.dltk.ruby.typeinference.internal"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/RubyLanguageToolkit.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/RubyLanguageToolkit.java
index 5a1dbd8..577cb3d 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/RubyLanguageToolkit.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/RubyLanguageToolkit.java
@@ -21,6 +21,7 @@
 		return false;
 	}
 
+	@Override
 	public String getNatureId() {
 		return RubyNature.NATURE_ID;
 	}
@@ -29,10 +30,12 @@
 		return sToolkit;
 	}
 
+	@Override
 	public String getLanguageName() {
 		return "Ruby"; //$NON-NLS-1$
 	}
 
+	@Override
 	public String getLanguageContentType() {
 		return "org.eclipse.dltk.rubyContentType"; //$NON-NLS-1$
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/FakeField.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/FakeField.java
index 704b93b..d78085c 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/FakeField.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/FakeField.java
@@ -57,10 +57,12 @@
 		return hasFlags ? flags : super.getFlags();
 	}
 
+	@Override
 	public int getLength() {
 		return length;
 	}
 
+	@Override
 	public int getOffset() {
 		return offset;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/IElementKind.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/IElementKind.java
index a339a06..e4a72e7 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/IElementKind.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/IElementKind.java
@@ -23,6 +23,7 @@
 		
 		public static final int ID = FIRST_NON_VARIABLE_ID + 0;
 
+		@Override
 		public int getId() {
 			return ID;
 		}
@@ -33,6 +34,7 @@
 		
 		public static final int ID = FIRST_NON_VARIABLE_ID + 1;
 
+		@Override
 		public int getId() {
 			return ID;
 		}
@@ -43,6 +45,7 @@
 		
 		public static final int ID = FIRST_NON_VARIABLE_ID + 2;
 
+		@Override
 		public int getId() {
 			return ID;
 		}
@@ -61,6 +64,7 @@
 		
 		public static final int ID = FIRST_NON_VARIABLE_ID + 3;
 
+		@Override
 		public int getId() {
 			return ID;
 		}
@@ -72,6 +76,7 @@
 		
 		public static final int ID = FIRST_NON_VARIABLE_ID + 4;
 
+		@Override
 		public int getId() {
 			return ID;
 		}
@@ -82,6 +87,7 @@
 		
 		public static final int ID = FIRST_NON_VARIABLE_ID + 5;
 
+		@Override
 		public int getId() {
 			return ID;
 		}
@@ -93,6 +99,7 @@
 		
 		public static final int ID = FIRST_NON_VARIABLE_ID + 6;
 
+		@Override
 		public int getId() {
 			return ID;
 		}
@@ -111,6 +118,7 @@
 			return kind;
 		}
 
+		@Override
 		public int getId() {
 			return kind.getId();
 		}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/MethodArgument.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/MethodArgument.java
index ed282a7..00a4c5e 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/MethodArgument.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/MethodArgument.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.core.model;
 
@@ -22,10 +21,12 @@
 		this.kind = kind;
 	}
 
+	@Override
 	public MethodArgumentKind getKind() {
 		return kind;
 	}
 
+	@Override
 	public String getName() {
 		return name;
 	}			
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/Model.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/Model.java
index 3318762..e3067a9 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/Model.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/Model.java
@@ -41,6 +41,7 @@
 		this.project = project;
 	}
 
+	@Override
 	public ModuleDeclaration getASTNode(ISourceModule sourceModule,
 			ASTCaching caching) {
 		ModuleDeclaration result = null;
@@ -83,6 +84,7 @@
 		}
 	}
 
+	@Override
 	public IElement[] findChildren(IElementCriteria criteria, String name,
 			IProgressMonitor pm) {
 		if (criteria == IElementCriteria.CLASS_OR_MIXIN) {
@@ -91,10 +93,12 @@
 		return null;
 	}
 
+	@Override
 	public IElement getAncestor(IElementCriteria criteria) {
 		return null;
 	}
 
+	@Override
 	public IElementKind getElementKind() {
 		return IElementKind.MODEL;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/RubyTypeCalculator.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/RubyTypeCalculator.java
index 54c2ee6..9a7806e 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/RubyTypeCalculator.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/core/model/internal/RubyTypeCalculator.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.core.model.internal;
 
@@ -38,15 +37,18 @@
 	private ICalculatedType createFixnum() {
 		final ICalculatedType type = new ICalculatedType() {
 
+			@Override
 			public IElement[] findChildren(IElementCriteria criteria, String name, IProgressMonitor pm) {
 				if (criteria == IElementCriteria.ByKind.METHOD) {
 					final IElement typeParent = this;
 					IElement ceil = new IMethod() {
 
+						@Override
 						public IElement[] findChildren(IElementCriteria criteria, String name, IProgressMonitor pm) {
 							return IElement.EMPTY_ARRAY;
 						}
 
+						@Override
 						public IElement getAncestor(IElementCriteria criteria) {
 							if (criteria == IElementCriteria.ByKind.MODEL)
 								return model;
@@ -56,10 +58,12 @@
 							return null;
 						}
 
+						@Override
 						public IElementKind getElementKind() {
 							return IElementKind.METHOD;
 						}
 
+						@Override
 						public String getName() {
 							return "ceil"; //$NON-NLS-1$
 						}
@@ -70,12 +74,14 @@
 				return IElement.EMPTY_ARRAY;
 			}
 
+			@Override
 			public IElement getAncestor(IElementCriteria criteria) {
 				if (criteria == IElementCriteria.ByKind.MODEL)
 					return model;
 				return null;
 			}
 
+			@Override
 			public IElementKind getElementKind() {
 				return IElementKind.CLASS;
 			}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallHierarchyFactory.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallHierarchyFactory.java
index 167b23b..005f0f1 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallHierarchyFactory.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallHierarchyFactory.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.internal.callhierarchy;
 
@@ -18,11 +17,13 @@
 
 public class RubyCallHierarchyFactory implements ICallHierarchyFactory {
 
+	@Override
 	public ICalleeProcessor createCalleeProcessor(IMethod method,
 			IProgressMonitor monitor, IDLTKSearchScope scope) {
 		return new RubyCalleeProcessor( method, monitor, scope );
 	}
 
+	@Override
 	public ICallProcessor createCallProcessor() {
 		return new RubyCallProcessor();
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallProcessor.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallProcessor.java
index 3fbfb74..d6df533 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallProcessor.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCallProcessor.java
@@ -30,6 +30,7 @@
 
 	private SearchEngine searchEngine = new SearchEngine();
 
+	@Override
 	public Map<SimpleReference, IModelElement> process(final IModelElement parent, IModelElement element,
 			IDLTKSearchScope scope, IProgressMonitor monitor) {
 		final Map<SimpleReference, IModelElement> elements = new HashMap<SimpleReference, IModelElement>();
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCalleeProcessor.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCalleeProcessor.java
index 1f4e400..1dce32b 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCalleeProcessor.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/callhierarchy/RubyCalleeProcessor.java
@@ -69,6 +69,7 @@
 
 	}
 
+	@Override
 	public Map<SimpleReference, IMethod[]> doOperation() {
 		CaleeSourceElementRequestor requestor = new CaleeSourceElementRequestor();
 		ISourceElementParser parser = null;
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/ProjectTypeComparator.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/ProjectTypeComparator.java
index 8eeedf9..64d3afb 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/ProjectTypeComparator.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/ProjectTypeComparator.java
@@ -36,6 +36,7 @@
 		this.module = module;
 	}
 
+	@Override
 	public int compare(IType type1, IType type2) {
 		if (type1.getParent() instanceof ISourceModule
 				&& type2.getParent() instanceof ISourceModule) {
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyAssistParser.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyAssistParser.java
index a9e3f80..b0e5cef 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyAssistParser.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyAssistParser.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.internal.core.codeassist;
 
@@ -21,14 +20,17 @@
 
 	protected ASTNode assistNodeParent = null;
 
+	@Override
 	public ASTNode getAssistNodeParent() {
 		return assistNodeParent;
 	}
 
+	@Override
 	public void setSource(ModuleDeclaration unit) {
 		this.module = unit;
 	}
 
+	@Override
 	public ModuleDeclaration parse(IModuleSource sourceUnit) {
 		ModuleDeclaration module = null;
 		module = SourceParserUtil
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyCompletionEngine.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyCompletionEngine.java
index ad65d86..dad4ea2 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyCompletionEngine.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubyCompletionEngine.java
@@ -187,6 +187,7 @@
 		return content.substring(position, original);
 	}
 
+	@Override
 	public void complete(IModuleSource module, int position, int i) {
 		this.currentModule = (ISourceModule) module;
 		this.mixinModel = RubyMixinModel.getInstance(currentModule
@@ -463,6 +464,7 @@
 			return false;
 		}
 
+		@Override
 		public void acceptResult(IRubyMixinElement element) {
 			if (element instanceof RubyMixinMethod) {
 				final RubyMixinMethod method = (RubyMixinMethod) element;
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionEngine.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionEngine.java
index 3da874e..c07295a 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionEngine.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionEngine.java
@@ -107,6 +107,7 @@
 
 	private RubyMixinModel mixinModel;
 
+	@Override
 	public IModelElement[] select(IModuleSource sourceUnit,
 			int selectionSourceStart, int selectionSourceEnd) {
 		sourceModule = (ISourceModule) sourceUnit.getModelElement();
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java
index e956bbf..ee2799a 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/codeassist/RubySelectionParser.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.internal.core.codeassist;
 
@@ -16,9 +15,11 @@
 
 public class RubySelectionParser extends RubyAssistParser {
 
+	@Override
 	public void handleNotInElement(ASTNode node, int position) {
 	}
 
+	@Override
 	public void parseBlockStatements(ASTNode node, ASTNode inNode, int position) {
 		// /**
 		// * This is possible function completion.
@@ -160,6 +161,7 @@
 		// }
 	}
 
+	@Override
 	public ModuleDeclaration getModule() {
 		return module;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/search/RubyMatchLocatorParser.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/search/RubyMatchLocatorParser.java
index e38ba2f..582b511 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/search/RubyMatchLocatorParser.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/core/search/RubyMatchLocatorParser.java
@@ -121,6 +121,7 @@
 	protected class RubyMatchVisitor extends MatchVisitor implements
 			IRubyASTVisitor {
 
+		@Override
 		public void visitTypeName(ASTNode node) {
 			// empty
 		}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParser.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParser.java
index f317e95..c3e0c45 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParser.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParser.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.internal.parser;
 
@@ -80,6 +79,7 @@
 			this.original = original;
 		}
 
+		@Override
 		public void reportProblem(IProblem problem) {
 			if (original != null)
 				original.reportProblem(problem);
@@ -106,6 +106,7 @@
 		return new RubyASTBuildVisitor(module, content);
 	}
 
+	@Override
 	public ModuleDeclaration parse(IModuleSource input,
 			IProblemReporter reporter) {
 		try {
@@ -159,6 +160,7 @@
 						node2 = parser.parse(fileName, new StringReader(
 								content2), new AbstractProblemReporter() {
 
+							@Override
 							public void reportProblem(IProblem problem) {
 								if (DLTKCore.DEBUG) {
 									System.out
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParserFactory.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParserFactory.java
index 913fae7..7ba299a 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParserFactory.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/JRubySourceParserFactory.java
@@ -8,9 +8,7 @@
  */
 public class JRubySourceParserFactory implements ISourceParserFactory {
 
-	/*
-	 * @see org.eclipse.dltk.ast.parser.ISourceParserFactory#createSourceParser()
-	 */
+	@Override
 	public ISourceParser createSourceParser() {
 		return new JRubySourceParser();
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/ExactMixinSearchPattern.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/ExactMixinSearchPattern.java
index 773f3fa..3f89b6a 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/ExactMixinSearchPattern.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/ExactMixinSearchPattern.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2016 xored software, Inc.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -22,10 +22,12 @@
 		this.key = key;
 	}
 
+	@Override
 	public boolean evaluate(String lastSegment) {
 		return key.equals(lastSegment);
 	}
 
+	@Override
 	public String getKey() {
 		return key;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixMixinSearchPattern.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixMixinSearchPattern.java
index aa1ca96..0796aaf 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixMixinSearchPattern.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixMixinSearchPattern.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2016 xored software, Inc.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -22,10 +22,12 @@
 		this.prefix = prefix;
 	}
 
+	@Override
 	public final boolean evaluate(String lastSegment) {
 		return lastSegment.startsWith(prefix);
 	}
 
+	@Override
 	public String getKey() {
 		return prefix;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixNoCaseMixinSearchPattern.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixNoCaseMixinSearchPattern.java
index 04481fb..4239468 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixNoCaseMixinSearchPattern.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/PrefixNoCaseMixinSearchPattern.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 xored software, Inc.
+ * Copyright (c) 2008, 2016 xored software, Inc.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -21,6 +21,7 @@
 		chars = key.toLowerCase().toCharArray();
 	}
 
+	@Override
 	public boolean evaluate(String lastSegment) {
 		final int length = chars.length;
 		if (lastSegment.length() < length) {
@@ -34,6 +35,7 @@
 		return true;
 	}
 
+	@Override
 	public String getKey() {
 		return key;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixin.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixin.java
index ff94784..42002d3 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixin.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixin.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.internal.parser.mixin;
 
@@ -25,6 +24,7 @@
 
 	private IMixinRequestor requestor;
 
+	@Override
 	public void parserSourceModule(boolean signature, ISourceModule module) {
 		try {
 			ModuleDeclaration moduleDeclaration = SourceParserUtil
@@ -37,6 +37,7 @@
 		}
 	}
 
+	@Override
 	public void setRequirestor(IMixinRequestor requestor) {
 		this.requestor = requestor;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinAlias.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinAlias.java
index 50d1ba7..f976fb7 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinAlias.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinAlias.java
@@ -46,6 +46,7 @@
 		return model.createRubyElement(getOldKey());
 	}
 
+	@Override
 	public String getKey() {
 		return element.getKey();
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinClass.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinClass.java
index 6265771..b28a0d4 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinClass.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinClass.java
@@ -36,6 +36,7 @@
 		this.module = module;
 	}
 
+	@Override
 	public String getKey() {
 		return key;
 	}
@@ -297,6 +298,7 @@
 		this.findMethods(pattern, new IMixinSearchRequestor() {
 			final Set<String> names = new HashSet<String>();
 
+			@Override
 			public void acceptResult(IRubyMixinElement element) {
 				if (element instanceof RubyMixinMethod) {
 					RubyMixinMethod method = (RubyMixinMethod) element;
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinMethod.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinMethod.java
index 867e830..f6d2307 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinMethod.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinMethod.java
@@ -42,6 +42,7 @@
 		this.sourceMethods = sourceMethods;
 	}
 
+	@Override
 	public String getKey() {
 		return key;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinModel.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinModel.java
index b29736f..28b46f8 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinModel.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinModel.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.internal.parser.mixin;
 
@@ -125,9 +124,7 @@
 		return null;
 	}
 
-	/*
-	 * @see org.eclipse.dltk.core.IShutdownListener#shutdown()
-	 */
+	@Override
 	public void shutdown() {
 		model.stop();
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinVariable.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinVariable.java
index fcf6cb3..6326a58 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinVariable.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/mixin/RubyMixinVariable.java
@@ -25,6 +25,7 @@
 		this.key = key;
 	}
 
+	@Override
 	public String getKey() {
 		return key;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/visitors/RubySourceElementRequestor.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/visitors/RubySourceElementRequestor.java
index 0e2597a..49461f6 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/visitors/RubySourceElementRequestor.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parser/visitors/RubySourceElementRequestor.java
@@ -237,6 +237,7 @@
 		}
 	}
 
+	@Override
 	public void visitTypeName(ASTNode node) {
 		// empty
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyNullWarnings.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyNullWarnings.java
index 92108ed..83fdd48 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyNullWarnings.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyNullWarnings.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.internal.parsers.jruby;
 
@@ -14,6 +13,7 @@
 
 public class DLTKRubyNullWarnings extends NullWarnings implements IDLTKRubyWarnings {
 
+	@Override
 	public void error(ISourcePosition position, String message) {}
 
 	
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyWarnings.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyWarnings.java
index 469b6d4..2863395 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyWarnings.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/DLTKRubyWarnings.java
@@ -18,6 +18,7 @@
 		this.problemReporter = problemReporter;
 	}
 
+	@Override
 	public void warn(ISourcePosition position, String message) {
 		DefaultProblem problem = new DefaultProblem(position.getFile(),
 				message, IProblem.Unclassified, new String[0],
@@ -26,10 +27,12 @@
 		problemReporter.reportProblem(problem);
 	}
 
+	@Override
 	public boolean isVerbose() {
 		return false;
 	}
 
+	@Override
 	public void warning(ISourcePosition position, String message) {
 		if (isVerbose()) {
 			DefaultProblem problem = new DefaultProblem(position.getFile(),
@@ -40,6 +43,7 @@
 		}
 	}
 
+	@Override
 	public void error(ISourcePosition position, String message) {
 		DefaultProblem problem = new DefaultProblem(position.getFile(),
 				message, IProblem.Unclassified, new String[0],
@@ -48,10 +52,12 @@
 		problemReporter.reportProblem(problem);
 	}
 
+	@Override
 	public void warn(String message) {
 		warn(new SourcePosition(), message);
 	}
 
+	@Override
 	public void warning(String message) {
 		warning(new SourcePosition(), message);
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/RubyASTBuildVisitor.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/RubyASTBuildVisitor.java
index d4745b4..425989d 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/RubyASTBuildVisitor.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/internal/parsers/jruby/RubyASTBuildVisitor.java
@@ -235,6 +235,7 @@
 			list = new ArrayList<ASTNode>();
 		}
 
+		@Override
 		public void add(ASTNode s) {
 			list.add(s);
 		}
@@ -261,6 +262,7 @@
 			this.list = list;
 		}
 
+		@Override
 		public void add(ASTNode s) {
 			list.addArgument(s, 0);
 		}
@@ -278,6 +280,7 @@
 			this.module = module;
 		}
 
+		@Override
 		public void add(ASTNode statement) {
 			module.getStatements().add(statement);
 		}
@@ -300,6 +303,7 @@
 			visibility = Modifiers.AccPublic;
 		}
 
+		@Override
 		public void add(ASTNode statement) {
 			type.getStatements().add(statement);
 		}
@@ -334,6 +338,7 @@
 			this.method = method;
 		}
 
+		@Override
 		public void add(ASTNode statement) {
 			method.getStatements().add(statement);
 		}
@@ -352,6 +357,7 @@
 			this.block = block;
 		}
 
+		@Override
 		public void add(ASTNode statement) {
 			block.getStatements().add(statement);
 		}
@@ -500,6 +506,7 @@
 		states.push(new TopLevelState(this.module));
 	}
 
+	@Override
 	public Instruction visitAliasNode(AliasNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		final int start = pos.getStartOffset();
@@ -513,6 +520,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitAndNode(AndNode iVisited) { // done
 		ASTNode left = collectSingleNodeSafe(iVisited.getFirstNode());
 		ASTNode right = collectSingleNodeSafe(iVisited.getSecondNode());
@@ -523,6 +531,7 @@
 	}
 
 	// should never get here
+	@Override
 	public Instruction visitArgsNode(ArgsNode iVisited) {
 		if (iVisited.getOptArgs() != null) {
 			iVisited.getOptArgs().accept(this);
@@ -531,6 +540,7 @@
 	}
 
 	// should never get here
+	@Override
 	public Instruction visitArgsCatNode(ArgsCatNode iVisited) {
 		if (iVisited.getFirstNode() != null) {
 			iVisited.getFirstNode().accept(this);
@@ -554,6 +564,7 @@
 		return coll.getList();
 	}
 
+	@Override
 	public Instruction visitArrayNode(ArrayNode iVisited) { // done
 		List<ASTNode> exprs = processListNode(iVisited);
 
@@ -567,6 +578,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitBackRefNode(BackRefNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		VariableReference ref = new VariableReference(pos.getStartOffset(), pos
@@ -575,6 +587,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitBeginNode(BeginNode iVisited) { // done
 		ASTNode body = collectSingleNodeSafe(iVisited.getBodyNode());
 		ISourcePosition pos = iVisited.getPosition();
@@ -585,10 +598,12 @@
 	}
 
 	// should never get here
+	@Override
 	public Instruction visitBlockArgNode(BlockArgNode iVisited) {
 		return null;
 	}
 
+	@Override
 	public Instruction visitBlockNode(BlockNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		Block block = new Block(pos.getStartOffset(), pos.getEndOffset());
@@ -602,6 +617,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitBlockPassNode(BlockPassNode iVisited) {
 		// ASTNode args = collectSingleNodeSafe(iVisited.getArgsNode());
 		ASTNode body = collectSingleNodeSafe(iVisited.getBodyNode());
@@ -613,6 +629,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitBreakNode(BreakNode iVisited) { // done
 		ASTNode value = collectSingleNodeSafe(iVisited.getValueNode());
 		ISourcePosition pos = iVisited.getPosition();
@@ -622,6 +639,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitConstDeclNode(ConstDeclNode iVisited) {
 		Node pathNode = iVisited.getConstNode();
 		ASTNode pathResult = null;
@@ -646,18 +664,21 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitClassVarAsgnNode(ClassVarAsgnNode iVisited) {
 		processVariableAssignment(iVisited, iVisited.getName(),
 				RubyVariableKind.CLASS, iVisited.getValueNode());
 		return null;
 	}
 
+	@Override
 	public Instruction visitClassVarDeclNode(ClassVarDeclNode iVisited) {
 		processVariableAssignment(iVisited, iVisited.getName(),
 				RubyVariableKind.CLASS, iVisited.getValueNode());
 		return null;
 	}
 
+	@Override
 	public Instruction visitClassVarNode(ClassVarNode iVisited) {
 		processVariableReference(iVisited, iVisited.getName(),
 				RubyVariableKind.CLASS);
@@ -778,6 +799,7 @@
 	/**
 	 * @fixme iteration not correctly defined
 	 */
+	@Override
 	public Instruction visitCallNode(CallNode iVisited) {
 		String methodName = iVisited.getName();
 		CollectingState collector = new CollectingState();
@@ -863,6 +885,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitCaseNode(CaseNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		RubyCaseStatement statement = new RubyCaseStatement(pos
@@ -941,6 +964,7 @@
 				.getEndLine(), start, end);
 	}
 
+	@Override
 	public Instruction visitClassNode(ClassNode iVisited) {
 		Node cpathNode = iVisited.getCPath();
 		Node superClassNode = iVisited.getSuperNode();
@@ -992,6 +1016,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitColon2Node(Colon2Node iVisited) {
 
 		CollectingState collector = new CollectingState();
@@ -1025,6 +1050,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitColon3Node(Colon3Node iVisited) {
 		ISourcePosition position = iVisited.getPosition();
 		RubyColonExpression colon = new RubyColonExpression(iVisited.getName(),
@@ -1035,6 +1061,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitConstNode(ConstNode iVisited) {
 		String name = iVisited.getName();
 		ISourcePosition pos = iVisited.getPosition();
@@ -1045,6 +1072,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitDAsgnNode(DAsgnNode iVisited) {
 		ISourcePosition pos = iVisited.getPosition();
 		ASTNode valueNode = this.collectSingleNodeSafe(iVisited.getValueNode(),
@@ -1057,6 +1085,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitDRegxNode(DRegexpNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		List<ASTNode> list = processListNode(iVisited);
@@ -1067,6 +1096,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitDStrNode(DStrNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		List<ASTNode> list = processListNode(iVisited);
@@ -1080,6 +1110,7 @@
 	/**
 	 * @see NodeVisitor#visitDSymbolNode(DSymbolNode)
 	 */
+	@Override
 	public Instruction visitDSymbolNode(DSymbolNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		List<ASTNode> list = processListNode(iVisited);
@@ -1090,6 +1121,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitDVarNode(DVarNode iVisited) { // done (?)
 		String name = iVisited.getName();
 		ISourcePosition pos = iVisited.getPosition();
@@ -1099,6 +1131,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitDXStrNode(DXStrNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		List<ASTNode> list = processListNode(iVisited);
@@ -1109,6 +1142,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitDefinedNode(DefinedNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		ASTNode value = collectSingleNodeSafe(iVisited.getExpressionNode());
@@ -1244,6 +1278,7 @@
 	}
 
 	// method
+	@Override
 	public Instruction visitDefnNode(DefnNode iVisited) {
 		// Collection comments = iVisited.getComments();
 		// System.out.println(comments);
@@ -1311,6 +1346,7 @@
 	}
 
 	// singleton method
+	@Override
 	public Instruction visitDefsNode(DefsNode iVisited) {
 		ASTNode receiverExpression = null;
 		Node receiverNode = iVisited.getReceiverNode();
@@ -1368,6 +1404,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitDotNode(DotNode iVisited) { // done
 		ASTNode begin = collectSingleNodeSafe(iVisited.getBeginNode());
 		ASTNode end = collectSingleNodeSafe(iVisited.getEndNode());
@@ -1378,6 +1415,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitEnsureNode(EnsureNode iVisited) { // done
 		ASTNode body = collectSingleNodeSafe(iVisited.getBodyNode());
 		ASTNode ensure = collectSingleNodeSafe(iVisited.getEnsureNode());
@@ -1388,6 +1426,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitEvStrNode(EvStrNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		ASTNode body = collectSingleNodeSafe(iVisited.getBody());
@@ -1397,6 +1436,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitFCallNode(FCallNode iVisited) {
 
 		String methodName = iVisited.getName();
@@ -1483,6 +1523,7 @@
 		}
 	}
 
+	@Override
 	public Instruction visitFalseNode(FalseNode iVisited) { // done
 		ISourcePosition position = iVisited.getPosition();
 		states.peek().add(
@@ -1491,11 +1532,13 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitFlipNode(FlipNode iVisited) {
 
 		return null;
 	}
 
+	@Override
 	public Instruction visitForNode(ForNode iVisited) { // done
 		ASTNode varNode = collectSingleNodeSafe(iVisited.getVarNode());
 		ASTNode listSt = collectSingleNodeSafe(iVisited.getIterNode());
@@ -1515,18 +1558,21 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitGlobalAsgnNode(GlobalAsgnNode iVisited) {
 		processVariableAssignment(iVisited, iVisited.getName(),
 				RubyVariableKind.GLOBAL, iVisited.getValueNode());
 		return null;
 	}
 
+	@Override
 	public Instruction visitGlobalVarNode(GlobalVarNode iVisited) {
 		processVariableReference(iVisited, iVisited.getName(),
 				RubyVariableKind.GLOBAL);
 		return null;
 	}
 
+	@Override
 	public Instruction visitHashNode(HashNode iVisited) { // done
 		ListNode listNode = iVisited.getListNode();
 		List<ASTNode> exprs = processListNode(listNode);
@@ -1564,18 +1610,21 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitInstAsgnNode(InstAsgnNode iVisited) {
 		processVariableAssignment(iVisited, iVisited.getName(),
 				RubyVariableKind.INSTANCE, iVisited.getValueNode());
 		return null;
 	}
 
+	@Override
 	public Instruction visitInstVarNode(InstVarNode iVisited) {
 		processVariableReference(iVisited, iVisited.getName(),
 				RubyVariableKind.INSTANCE);
 		return null;
 	}
 
+	@Override
 	public Instruction visitIfNode(IfNode iVisited) { // done
 		ASTNode condition = collectSingleNodeSafe(iVisited.getCondition());
 		ASTNode thenPart = collectSingleNodeSafe(iVisited.getThenBody());
@@ -1587,6 +1636,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitIterNode(IterNode iVisited) { // done
 		ASTNode bodyNode = collectSingleNodeSafe(iVisited.getBodyNode());
 		ASTNode varNode = collectSingleNodeSafe(iVisited.getVarNode());
@@ -1598,6 +1648,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitLocalAsgnNode(LocalAsgnNode iVisited) {
 		processVariableAssignment(iVisited, iVisited.getName(),
 				RubyVariableKind.LOCAL, iVisited.getValueNode());
@@ -1616,6 +1667,7 @@
 		states.peek().add(assgn);
 	}
 
+	@Override
 	public Instruction visitLocalVarNode(LocalVarNode iVisited) {
 		processVariableReference(iVisited, iVisited.getName(),
 				RubyVariableKind.LOCAL);
@@ -1641,6 +1693,7 @@
 		target.setEnd(pos.getEndOffset());
 	}
 
+	@Override
 	public Instruction visitMultipleAsgnNode(MultipleAsgnNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		RubyMultipleAssignmentStatement s = new RubyMultipleAssignmentStatement(
@@ -1697,6 +1750,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitMatch2Node(Match2Node iVisited) {// done
 		ISourcePosition pos = iVisited.getPosition();
 		ASTNode receiverNode = collectSingleNodeSafe(iVisited.getReceiverNode());
@@ -1707,6 +1761,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitMatch3Node(Match3Node iVisited) {// done
 		ISourcePosition pos = iVisited.getPosition();
 		ASTNode receiverNode = collectSingleNodeSafe(iVisited.getReceiverNode());
@@ -1717,6 +1772,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitMatchNode(MatchNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		ASTNode regexp = collectSingleNodeSafe(iVisited.getRegexpNode());
@@ -1726,6 +1782,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitModuleNode(ModuleNode iVisited) {
 		String name = ""; //$NON-NLS-1$
 		Node cpathNode = iVisited.getCPath();
@@ -1771,11 +1828,13 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitNewlineNode(NewlineNode iVisited) { // done
 		iVisited.getNextNode().accept(this);
 		return null;
 	}
 
+	@Override
 	public Instruction visitNextNode(NextNode iVisited) { // done
 		ISourcePosition position = iVisited.getPosition();
 		RubyCallArgumentsList args = new RubyCallArgumentsList();
@@ -1790,6 +1849,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitNilNode(NilNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		states.peek().add(
@@ -1797,6 +1857,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitNotNode(NotNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		ASTNode expr = collectSingleNodeSafe(iVisited.getConditionNode());
@@ -1806,6 +1867,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitNthRefNode(NthRefNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		states.peek().add(
@@ -1816,32 +1878,38 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitOpElementAsgnNode(OpElementAsgnNode iVisited) {
 
 		return null;
 	}
 
+	@Override
 	public Instruction visitOpAsgnNode(OpAsgnNode iVisited) {
 
 		return null;
 	}
 
+	@Override
 	public Instruction visitOpAsgnAndNode(OpAsgnAndNode iVisited) {
 
 		return null;
 	}
 
+	@Override
 	public Instruction visitOpAsgnOrNode(OpAsgnOrNode iVisited) {
 
 		return null;
 	}
 
+	@Override
 	public Instruction visitOptNNode(OptNNode iVisited) {
 		// System.out.println("DLTKASTBuildVisitor.visitOptNNode()");
 		iVisited.getBodyNode().accept(this);
 		return null;
 	}
 
+	@Override
 	public Instruction visitOrNode(OrNode iVisited) { // done
 		ASTNode leftSt = collectSingleNodeSafe(iVisited.getFirstNode());
 		ASTNode rightSt = collectSingleNodeSafe(iVisited.getSecondNode());
@@ -1852,11 +1920,13 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitPostExeNode(PostExeNode iVisited) {
 
 		return null;
 	}
 
+	@Override
 	public Instruction visitRedoNode(RedoNode iVisited) {
 		ISourcePosition position = iVisited.getPosition();
 		states.peek().add(
@@ -1865,6 +1935,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitRescueBodyNode(RescueBodyNode iVisited) { // done
 		ASTNode bodyNode = collectSingleNodeSafe(iVisited.getBodyNode());
 		ASTNode exceptionNodes = collectSingleNodeSafe(iVisited
@@ -1887,6 +1958,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitRescueNode(RescueNode iVisited) { // done
 		ASTNode bodyNode = collectSingleNodeSafe(iVisited.getBodyNode());
 		ASTNode elseNode = collectSingleNodeSafe(iVisited.getElseNode());
@@ -1905,6 +1977,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitRetryNode(RetryNode iVisited) { // done
 		ISourcePosition position = iVisited.getPosition();
 		states.peek().add(
@@ -1913,6 +1986,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitReturnNode(ReturnNode iVisited) {
 		ISourcePosition position = iVisited.getPosition();
 		ASTNode value = null;
@@ -1928,6 +2002,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitSClassNode(SClassNode iVisited) {
 		String name = ""; //$NON-NLS-1$
 		Node receiver = iVisited.getReceiverNode();
@@ -1973,6 +2048,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitSelfNode(SelfNode iVisited) {
 		ISourcePosition position = fixNamePosition(iVisited.getPosition());
 		states.peek().add(
@@ -1981,6 +2057,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitSplatNode(SplatNode iVisited) {
 		Iterator<Node> iterator = iVisited.childNodes().iterator();
 		while (iterator.hasNext()) {
@@ -1990,6 +2067,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitStrNode(StrNode iVisited) {
 		String value = iVisited.getValue().toString();
 		ISourcePosition position = iVisited.getPosition();
@@ -2037,6 +2115,7 @@
 		return false;
 	}
 
+	@Override
 	public Instruction visitSValueNode(SValueNode iVisited) {
 		Iterator<Node> iterator = iVisited.childNodes().iterator();
 		while (iterator.hasNext()) {
@@ -2081,6 +2160,7 @@
 		return argList;
 	}
 
+	@Override
 	public Instruction visitSuperNode(SuperNode iVisited) { // done
 		Node argsNode = iVisited.getArgsNode();
 		CallArgumentsList callArguments = processCallArguments(argsNode);
@@ -2098,6 +2178,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitToAryNode(ToAryNode iVisited) {
 		Iterator<Node> iterator = iVisited.childNodes().iterator();
 		while (iterator.hasNext()) {
@@ -2106,6 +2187,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitTrueNode(TrueNode iVisited) { // done
 		ISourcePosition position = iVisited.getPosition();
 		states.peek().add(
@@ -2114,6 +2196,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitUndefNode(UndefNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		RubyUndefStatement s = new RubyUndefStatement(pos.getStartOffset(), pos
@@ -2122,6 +2205,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitUntilNode(UntilNode iVisited) { // done
 		ASTNode condition = collectSingleNodeSafe(iVisited.getConditionNode());
 		ASTNode body = collectSingleNodeSafe(iVisited.getBodyNode());
@@ -2133,11 +2217,13 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitVAliasNode(VAliasNode iVisited) {
 
 		return null;
 	}
 
+	@Override
 	public Instruction visitVCallNode(VCallNode iVisited) {
 		String methodName = iVisited.getName();
 
@@ -2165,6 +2251,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitWhenNode(WhenNode iVisited) { // done
 		ISourcePosition position = iVisited.getPosition();
 		RubyWhenStatement statement = new RubyWhenStatement(position
@@ -2187,6 +2274,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitWhileNode(WhileNode iVisited) { // done
 		ASTNode condition = collectSingleNodeSafe(iVisited.getConditionNode());
 		ASTNode body = collectSingleNodeSafe(iVisited.getBodyNode());
@@ -2198,6 +2286,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitXStrNode(XStrNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		String value = iVisited.getValue().toString();
@@ -2207,6 +2296,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitYieldNode(YieldNode iVisited) {
 		ISourcePosition position = iVisited.getPosition();
 		RubyCallArgumentsList args = new RubyCallArgumentsList();
@@ -2221,6 +2311,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitZArrayNode(ZArrayNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		RubyArrayExpression arr = new RubyArrayExpression();
@@ -2230,6 +2321,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitZSuperNode(ZSuperNode iVisited) { // done
 
 		CallArgumentsList callArguments = new CallArgumentsList(); // no
@@ -2251,6 +2343,7 @@
 	/**
 	 * @see NodeVisitor#visitBignumNode(BignumNode)
 	 */
+	@Override
 	public Instruction visitBignumNode(BignumNode iVisited) {// done
 		ISourcePosition pos = iVisited.getPosition();
 		BigInteger value = iVisited.getValue();
@@ -2263,6 +2356,7 @@
 	/**
 	 * @see NodeVisitor#visitFixnumNode(FixnumNode)
 	 */
+	@Override
 	public Instruction visitFixnumNode(FixnumNode iVisited) {
 		ISourcePosition pos = iVisited.getPosition();
 		NumericLiteral node = new NumericLiteral(pos.getStartOffset(), pos
@@ -2274,6 +2368,7 @@
 	/**
 	 * @see NodeVisitor#visitFloatNode(FloatNode)
 	 */
+	@Override
 	public Instruction visitFloatNode(FloatNode iVisited) { // done
 		ISourcePosition pos = iVisited.getPosition();
 		double value = iVisited.getValue();
@@ -2286,6 +2381,7 @@
 	/**
 	 * @see NodeVisitor#visitRegexpNode(RegexpNode)
 	 */
+	@Override
 	public Instruction visitRegexpNode(RegexpNode iVisited) { // done
 		Pattern pattern = iVisited.getPattern();
 		ISourcePosition position = iVisited.getPosition();
@@ -2300,6 +2396,7 @@
 	/**
 	 * @see NodeVisitor#visitSymbolNode(SymbolNode)
 	 */
+	@Override
 	public Instruction visitSymbolNode(SymbolNode iVisited) { // done
 		final String symName = iVisited.getName();
 		final ISourcePosition position = iVisited.getPosition();
@@ -2318,11 +2415,13 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitArgsPushNode(ArgsPushNode arg0) {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
+	@Override
 	public Instruction visitAttrAssignNode(AttrAssignNode arg0) { // done
 		ASTNode receiver = collectSingleNodeSafe(arg0.getReceiverNode());
 		CallArgumentsList list = processCallArguments(arg0.getArgsNode());
@@ -2337,6 +2436,7 @@
 		return null;
 	}
 
+	@Override
 	public Instruction visitRootNode(RootNode arg0) { // done
 		Node bodyNode = arg0.getBodyNode();
 		if (bodyNode instanceof BlockNode) {
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/BuiltinMethods.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/BuiltinMethods.java
index feadec4..124dff7 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/BuiltinMethods.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/BuiltinMethods.java
@@ -34,18 +34,22 @@
 			new RubyClassType("FalseClass")}); //$NON-NLS-1$
 
 	private static final class NewMethod implements IntrinsicMethod {
+		@Override
 		public boolean dependsOnArguments() {
 			return false;
 		}
 
+		@Override
 		public boolean dependsOnReceiver() {
 			return true;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType() {
 			return null;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType(IEvaluatedType receiver, IEvaluatedType[] arguments) {
 			if (receiver instanceof RubyClassType) {
 				RubyClassType rubyClassType = (RubyClassType) receiver;
@@ -70,36 +74,44 @@
 
 	private static final class ClassMethod implements IntrinsicMethod {
 
+		@Override
 		public boolean dependsOnArguments() {
 			return false;
 		}
 
+		@Override
 		public boolean dependsOnReceiver() {
 			return true;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType() {
 			return classType;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType(IEvaluatedType receiver, IEvaluatedType[] arguments) {
 			return RubyTypeInferencingUtils.getAmbiguousMetaType(receiver);
 		}
 	}
 
 	private static final class ReceiverTypeReturningMethod implements IntrinsicMethod {
+		@Override
 		public boolean dependsOnArguments() {
 			return false;
 		}
 
+		@Override
 		public boolean dependsOnReceiver() {
 			return true;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType() {
 			return null;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType(IEvaluatedType receiver, IEvaluatedType[] arguments) {
 			return receiver;
 		}
@@ -125,18 +137,22 @@
 			this.returnType = returnType;
 		}
 
+		@Override
 		public boolean dependsOnArguments() {
 			return false;
 		}
 
+		@Override
 		public boolean dependsOnReceiver() {
 			return false;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType() {
 			return returnType;
 		}
 
+		@Override
 		public IEvaluatedType getReturnType(IEvaluatedType receiver, IEvaluatedType[] arguments) {
 			return getReturnType();
 		}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/DefaultRubyEvaluatorFactory.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/DefaultRubyEvaluatorFactory.java
index d41b08e..72b5604 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/DefaultRubyEvaluatorFactory.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/DefaultRubyEvaluatorFactory.java
@@ -1,11 +1,10 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2016 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
  *
- 
  *******************************************************************************/
 package org.eclipse.dltk.ruby.typeinference;
 
@@ -124,6 +123,7 @@
 		return null;
 	}
 
+	@Override
 	public GoalEvaluator createEvaluator(IGoal goal) {
 		if (goal instanceof FieldPositionVerificationGoal)
 			return new FieldParentKeyVerificator(goal);
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/MethodContext.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/MethodContext.java
index 44ffe57..946071f 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/MethodContext.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/MethodContext.java
@@ -38,6 +38,7 @@
 		}
 	}
 
+	@Override
 	public IEvaluatedType getArgumentType(String name) {
 		for (int i = 0; i < argNames.length; i++) {
 			String argName = argNames[i];
@@ -50,6 +51,7 @@
 		return null;
 	}
 
+	@Override
 	public IEvaluatedType getInstanceType() {
 		return instanceType;
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyClassType.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyClassType.java
index d5cc70a..84fc2c9 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyClassType.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyClassType.java
@@ -20,6 +20,7 @@
 		this.modelKey = modelKey;
 	}
 
+	@Override
 	public boolean subtypeOf(IEvaluatedType type) {
 		return false; //TODO
 	}
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyEvaluatorFactory.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyEvaluatorFactory.java
index f4a2f86..27f1eb4 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyEvaluatorFactory.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyEvaluatorFactory.java
@@ -58,12 +58,14 @@
 		}
 		f = factories.toArray(new FactoryInfo[factories.size()]);
 		Arrays.sort(f, new Comparator<FactoryInfo>() {
+			@Override
 			public int compare(FactoryInfo f1, FactoryInfo f2) {
 				return f2.priority - f1.priority; 
 			}
 		});
 	}
 
+	@Override
 	public GoalEvaluator createEvaluator(IGoal goal) {
 		if (f == null)
 			return null;
diff --git a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyTypeInferencer.java b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyTypeInferencer.java
index 1e548b3..9200d49 100644
--- a/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyTypeInferencer.java
+++ b/plugins/org.eclipse.dltk.ruby.core/src/org/eclipse/dltk/ruby/typeinference/RubyTypeInferencer.java
@@ -28,10 +28,12 @@
 			this.timeLimit = timeLimit;
 		}
 
+		@Override
 		public void init() {
 			this.timeStart = System.currentTimeMillis();
 		}
 
+		@Override
 		public boolean prune(IGoal goal, EvaluatorStatistics stat) {
 			long currentTime = System.currentTimeMillis();
 			if (timeLimit != -1 && currentTime - timeStart > timeLimit)