o.e.dlt.ruby.core.tests: Move to Java 8.

Bump BREE, enable warnings, save actions and fix them.

Change-Id: I4dc4b17bf0e0da9a707ddfe29c895220e600c9bc
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/.classpath b/tests/org.eclipse.dltk.ruby.core.tests/.classpath
index ad32c83..eca7bdb 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/.classpath
+++ b/tests/org.eclipse.dltk.ruby.core.tests/.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/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.core.prefs
index fcb3439..0f905bd 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.core.prefs
@@ -10,9 +10,9 @@
 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.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -27,7 +27,7 @@
 org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
@@ -38,7 +38,7 @@
 org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
 org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
 org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-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
@@ -67,8 +67,8 @@
 org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
 org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+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
@@ -78,7 +78,7 @@
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
 org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
 org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
@@ -86,9 +86,9 @@
 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.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=warning
@@ -103,4 +103,4 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs
index 72e1da1..43df84b 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -34,13 +34,13 @@
 sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
 sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
 sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_type_arguments=false
-sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
 sp_cleanup.remove_trailing_whitespaces_all=true
 sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
 sp_cleanup.remove_unnecessary_casts=true
 sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_imports=true
 sp_cleanup.remove_unused_local_variables=false
 sp_cleanup.remove_unused_private_fields=true
 sp_cleanup.remove_unused_private_members=false
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.dltk.ruby.core.tests/META-INF/MANIFEST.MF
index 17b6e1e..fd24b27 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.dltk.ruby.core.tests/META-INF/MANIFEST.MF
@@ -16,4 +16,4 @@
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.dltk.ruby.core.tests,
  org.eclipse.dltk.ruby.core.tests.parser
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/AbstractRubyParserTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/AbstractRubyParserTests.java
index 4b00290..b112cd5 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/AbstractRubyParserTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/AbstractRubyParserTests.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.tests.parser;
 
@@ -27,9 +26,7 @@
 
 	public ModuleDeclaration processScript(String name) throws Exception {
 		ModuleDeclaration module = null;
-		InputStream input = null;
-		try {
-			input = Activator.openResource(name);
+		try (InputStream input = Activator.openResource(name);) {
 
 			InputStreamReader reader = new InputStreamReader(input);
 			BufferedReader br = new BufferedReader(reader);
@@ -46,10 +43,6 @@
 					new ModuleSource(name, buffer.toString()), null);
 			assertNotNull(module);
 			assertFalse(module.isEmpty());
-		} finally {
-			if (input != null) {
-				input.close();
-			}
 		}
 		return module;
 	}
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/jruby/ParserSuite.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/jruby/ParserSuite.java
index 6b523cc..7264e9e 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/jruby/ParserSuite.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/parser/jruby/ParserSuite.java
@@ -11,13 +11,11 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.nio.charset.StandardCharsets;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
 
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
 import org.eclipse.core.runtime.Assert;
 import org.eclipse.dltk.ast.declarations.ModuleDeclaration;
 import org.eclipse.dltk.compiler.env.ModuleSource;
@@ -25,6 +23,9 @@
 import org.eclipse.dltk.ruby.core.RubyNature;
 import org.eclipse.dltk.ruby.core.tests.Activator;
 
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
 public class ParserSuite extends TestSuite {
 
 	public ParserSuite(String testsDirectory) {
@@ -54,7 +55,7 @@
 
 				@Override
 				protected void runTest() throws Throwable {
-					Map<Character, Integer> map = new HashMap<Character, Integer>();
+					Map<Character, Integer> map = new HashMap<>();
 					String input = loadInput(cleanPath + ".rb", map);
 					String output = loadOutput(cleanPath + ".exp", map);
 
@@ -77,12 +78,12 @@
 	}
 
 	public static String loadContent(String path) throws IOException {
-		InputStream stream = Activator.openResource(path);
-		int length = stream.available();
-		byte[] data = new byte[length];
-		stream.read(data);
-		stream.close();
-		return new String(data, "utf-8");
+		try (InputStream stream = Activator.openResource(path)) {
+			int length = stream.available();
+			byte[] data = new byte[length];
+			stream.read(data);
+			return new String(data, StandardCharsets.UTF_8);
+		}
 	}
 
 	private String loadInput(String path, Map<Character, Integer> map) throws IOException {
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/rewriter/RewriterTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/rewriter/RewriterTests.java
index c8fc4b7..ce31680 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/rewriter/RewriterTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/rewriter/RewriterTests.java
@@ -5,7 +5,6 @@
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
-
  *******************************************************************************/
 package org.eclipse.dltk.ruby.core.tests.rewriter;
 
@@ -347,7 +346,7 @@
 	}
 
 	//TODO
-	public void testChangeNumericLiteral() throws IOException {
+	public void testChangeNumericLiteral() {
 		String content = "var = 123";
 		ModuleDeclaration ast = ASTUtils.getAST(content.toCharArray());
 		//modify ast
@@ -448,9 +447,7 @@
 
 	private String loadContent(String path) throws IOException {
 		StringBuffer buffer = new StringBuffer();
-		InputStream input = null;
-		try {
-			input = Activator.openResource(path);
+		try (InputStream input = Activator.openResource(path);) {
 			InputStreamReader reader = new InputStreamReader(input);
 
 			char[] cbuf = new char[1024 * 16];
@@ -459,11 +456,6 @@
 				buffer.append(cbuf, 0, read);
 			}
 		}
-		finally {
-			if (input != null) {
-				input.close();
-			}
-		}
 		String content = buffer.toString();
 		return content;
 	}
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinModelManipulationTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinModelManipulationTests.java
index cd475c1..3940e5e 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinModelManipulationTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinModelManipulationTests.java
@@ -18,7 +18,6 @@
 import org.eclipse.dltk.core.ISourceModule;
 import org.eclipse.dltk.core.mixin.IMixinElement;
 import org.eclipse.dltk.core.mixin.MixinModel;
-import org.eclipse.dltk.core.search.IDLTKSearchConstants;
 import org.eclipse.dltk.core.tests.model.AbstractDLTKSearchTests;
 import org.eclipse.dltk.ruby.core.RubyLanguageToolkit;
 import org.eclipse.dltk.ruby.core.tests.Activator;
@@ -33,8 +32,7 @@
  * @author fourdman
  * 
  */
-public class MixinModelManipulationTests extends AbstractDLTKSearchTests
-		implements IDLTKSearchConstants {
+public class MixinModelManipulationTests extends AbstractDLTKSearchTests {
 	private static final String PROJECT_NAME = "mixins";
 
 	public MixinModelManipulationTests(String name) {
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinProjectIsolationTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinProjectIsolationTests.java
index e007a68..a889f70 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinProjectIsolationTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinProjectIsolationTests.java
@@ -25,15 +25,13 @@
 import org.eclipse.dltk.core.IScriptProject;
 import org.eclipse.dltk.core.ModelException;
 import org.eclipse.dltk.core.mixin.IMixinElement;
-import org.eclipse.dltk.core.search.IDLTKSearchConstants;
 import org.eclipse.dltk.core.tests.model.AbstractDLTKSearchTests;
 import org.eclipse.dltk.internal.core.BuildpathEntry;
 import org.eclipse.dltk.ruby.core.tests.Activator;
 import org.eclipse.dltk.ruby.internal.parser.mixin.RubyMixin;
 import org.eclipse.dltk.ruby.internal.parser.mixin.RubyMixinModel;
 
-public class MixinProjectIsolationTests extends AbstractDLTKSearchTests
-		implements IDLTKSearchConstants {
+public class MixinProjectIsolationTests extends AbstractDLTKSearchTests {
 
 	private static final String PROJECT1_NAME = "mixins1";
 	private static final String PROJECT2_NAME = "mixins2";
@@ -131,7 +129,7 @@
 
 	private void removeBuildpathEntry(final IScriptProject project,
 			final IBuildpathEntry entry) throws ModelException {
-		final List<IBuildpathEntry> cp = new ArrayList<IBuildpathEntry>();
+		final List<IBuildpathEntry> cp = new ArrayList<>();
 		cp.addAll(Arrays.asList(project.getRawBuildpath()));
 		assertTrue(cp.remove(entry));
 		IBuildpathEntry[] newCP = cp
@@ -148,7 +146,7 @@
 		IMixinElement[] children = element.getChildren();
 		assertNotNull(children);
 		assertEquals(childrenNames.length, children.length);
-		final Set<String> names = new HashSet<String>();
+		final Set<String> names = new HashSet<>();
 		for (int i = 0; i < children.length; ++i) {
 			names.add(children[i].getLastKeySegment());
 		}
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinTestsSuite.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinTestsSuite.java
index f325ba3..92f9b2d 100755
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinTestsSuite.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/mixin/MixinTestsSuite.java
@@ -48,7 +48,7 @@
 
 		@Override
 		protected void runTest() throws Throwable {
-			final Collection<IAssertion> assertions = new ArrayList<IAssertion>();
+			final Collection<IAssertion> assertions = new ArrayList<>();
 			CharSequence content = loadContent(path);
 			String[] lines = TextUtils.splitLines(content);
 			for (int i = 0; i < lines.length; i++) {
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/text/completion/RubyCompletionTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/text/completion/RubyCompletionTests.java
index a0a2188..1ddd724 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/text/completion/RubyCompletionTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/text/completion/RubyCompletionTests.java
@@ -770,7 +770,7 @@
 		cu.codeComplete(cursorLocation, requestor);
 		String completionResults = requestor.getResults();
 
-		Vector<String> methods = new Vector<String>();
+		Vector<String> methods = new Vector<>();
 		int lastElementsOccurance = 0;
 		while ((lastElementsOccurance = completionResults.indexOf("element:",
 				lastElementsOccurance)) > -1) {
@@ -781,7 +781,7 @@
 					lastElementsOccurance));
 		}
 
-		Vector<String> relevances = new Vector<String>();
+		Vector<String> relevances = new Vector<>();
 		int lastRelevanceOccurance = 0;
 		while (lastRelevanceOccurance > -1) {
 			lastRelevanceOccurance = completionResults.indexOf("relevance:",
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typehierarchy/TypeHierarchyTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typehierarchy/TypeHierarchyTests.java
index d76c993..f01ceef 100755
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typehierarchy/TypeHierarchyTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typehierarchy/TypeHierarchyTests.java
@@ -11,12 +11,11 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.dltk.core.IType;
 import org.eclipse.dltk.core.ITypeHierarchy;
-import org.eclipse.dltk.core.search.IDLTKSearchConstants;
 import org.eclipse.dltk.core.tests.model.AbstractDLTKSearchTests;
 import org.eclipse.dltk.ruby.core.tests.Activator;
 
 
-public class TypeHierarchyTests extends AbstractDLTKSearchTests implements IDLTKSearchConstants {
+public class TypeHierarchyTests extends AbstractDLTKSearchTests {
 	private static final String PROJECT = "typehierarchy";
 
 	public TypeHierarchyTests(String name) {
@@ -41,22 +40,22 @@
 		deleteProject(PROJECT);
 		super.tearDownSuite();
 	}
-	
+
 	private void up() throws Exception {
 		if (SCRIPT_PROJECT == null) {
 			SCRIPT_PROJECT = setUpScriptProject(PROJECT);
 		}
 	}
-	
+
 	public void _testBuildHierarcy001() throws Exception {
 		up();
 		IType type = getSourceModule(PROJECT, "src", "src1.rb").getType("BB");
 //		search(type, DECLARATIONS, getSearchScope(PROJECT));
-//		assertSearchResults("src/p3/X.tcl p3/Z$T2", resultCollector);	
+//		assertSearchResults("src/p3/X.tcl p3/Z$T2", resultCollector);
 		ITypeHierarchy hierarchy = type.newTypeHierarchy(new NullProgressMonitor());
 		assertNotNull(hierarchy);
 		IType[] types = hierarchy.getSuperclass(type);
 		assertNotNull(types);
-		
+
 	}
 }
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/AbstractTypeInferencingTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/AbstractTypeInferencingTests.java
index 3b44821..6cd0c95 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/AbstractTypeInferencingTests.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/AbstractTypeInferencingTests.java
@@ -83,23 +83,17 @@
 
 	protected String loadContent(String path) throws IOException {
 		StringBuffer buffer = new StringBuffer();
-		InputStream input = null;
-		try {
-			input = Activator.openResource(path);
+		try (InputStream input = Activator.openResource(path);) {
 			InputStreamReader reader = new InputStreamReader(input);
 			BufferedReader br = new BufferedReader(reader);
 			char[] data = new char[100*1024]; // tests shouldnt be more that 100 kb
 			int size = br.read(data);
 			buffer.append(data, 0, size);
-		} finally {
-			if (input != null) {
-				input.close();
-			}
 		}
 		String content = buffer.toString();
 		return content;
 	}
-	
+
 	protected CompletionResult contextComplete(ISourceModule cu, int cursorLocation) throws ModelException {
 		CompletionTestsRequestor2 requestor = new CompletionTestsRequestor2(true, false, false, false);
 		cu.codeComplete(cursorLocation, requestor, this.wcOwner, COMPLETE_TIMEOUT);
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/TypeInferenceSuite.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/TypeInferenceSuite.java
index 6801abe..d80a67f 100644
--- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/TypeInferenceSuite.java
+++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/typeinference/TypeInferenceSuite.java
@@ -86,7 +86,7 @@
 			final String folder = (pos >= 0 ? x.substring(pos + 1) : x);
 			addTest(new TestCase(name) {
 
-				private Collection<IAssertion> assertions = new ArrayList<IAssertion>();
+				private Collection<IAssertion> assertions = new ArrayList<>();
 
 				@Override
 				public void setUp() {
@@ -246,7 +246,7 @@
 										.getModelKey());
 							} else if (type instanceof AmbiguousType) {
 								AmbiguousType ambiType = (AmbiguousType) type;
-								Set<String> modelKeySet = new HashSet<String>();
+								Set<String> modelKeySet = new HashSet<>();
 								IEvaluatedType[] possibleTypes = ambiType
 										.getPossibleTypes();
 								for (int cnt = 0, max = possibleTypes.length; cnt < max; cnt++) {
@@ -273,19 +273,13 @@
 
 	private String loadContent(String path) throws IOException {
 		StringBuffer buffer = new StringBuffer();
-		InputStream input = null;
-		try {
-			input = Activator.openResource(path);
+		try (InputStream input = Activator.openResource(path);) {
 			InputStreamReader reader = new InputStreamReader(input);
 			BufferedReader br = new BufferedReader(reader);
 			char[] data = new char[100 * 1024]; // tests shouldnt be more that
 			// 100 kb
 			int size = br.read(data);
 			buffer.append(data, 0, size);
-		} finally {
-			if (input != null) {
-				input.close();
-			}
 		}
 		String content = buffer.toString();
 		return content;