diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java index ceabcd5a33d..f50084a18db 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.jvm.compiler; +import com.intellij.openapi.Disposable; +import com.intellij.openapi.util.Disposer; import junit.framework.Assert; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.ConfigurationKind; @@ -46,23 +48,29 @@ public abstract class AbstractLoadCompiledKotlinTest extends TestCaseWithTmpdir } private void doTest(@NotNull String ktFileName, boolean includeAccessors) throws Exception { - File ktFile = new File(ktFileName); - File txtFile = new File(ktFileName.replaceFirst("\\.kt$", ".txt")); - AnalyzeExhaust exhaust = compileKotlinToDirAndGetAnalyzeExhaust(ktFile, tmpdir, getTestRootDisposable(), - ConfigurationKind.JDK_ONLY); + Disposable tmpDisposable = Disposer.newDisposable(); + try { + File ktFile = new File(ktFileName); + File txtFile = new File(ktFileName.replaceFirst("\\.kt$", ".txt")); + AnalyzeExhaust exhaust = compileKotlinToDirAndGetAnalyzeExhaust(ktFile, tmpdir, tmpDisposable, + ConfigurationKind.JDK_ONLY); - NamespaceDescriptor namespaceFromSource = exhaust.getBindingContext().get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, - TEST_PACKAGE_FQNAME); - assert namespaceFromSource != null; - Assert.assertEquals("test", namespaceFromSource.getName().asString()); + NamespaceDescriptor namespaceFromSource = exhaust.getBindingContext().get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, + TEST_PACKAGE_FQNAME); + assert namespaceFromSource != null; + Assert.assertEquals("test", namespaceFromSource.getName().asString()); - NamespaceDescriptor namespaceFromClass = LoadDescriptorUtil.loadTestNamespaceAndBindingContextFromJavaRoot( - tmpdir, getTestRootDisposable(), ConfigurationKind.JDK_ONLY).first; + NamespaceDescriptor namespaceFromClass = LoadDescriptorUtil.loadTestNamespaceAndBindingContextFromJavaRoot( + tmpdir, getTestRootDisposable(), ConfigurationKind.JDK_ONLY).first; - validateAndCompareNamespaces(namespaceFromSource, namespaceFromClass, - NamespaceComparator.DONT_INCLUDE_METHODS_OF_OBJECT - .checkPrimaryConstructors(true) - .checkPropertyAccessors(includeAccessors), - txtFile); + validateAndCompareNamespaces(namespaceFromSource, namespaceFromClass, + NamespaceComparator.DONT_INCLUDE_METHODS_OF_OBJECT + .checkPrimaryConstructors(true) + .checkPropertyAccessors(includeAccessors), + txtFile); + } + finally { + Disposer.dispose(tmpDisposable); + } } } diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java index 4f3f51842ad..e77e36788f4 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java @@ -17,6 +17,8 @@ package org.jetbrains.jet.jvm.compiler; import com.google.common.base.Predicates; +import com.intellij.openapi.Disposable; +import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; import com.intellij.psi.PsiFile; @@ -64,10 +66,16 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir { File javaFile = new File(javaFileName); File ktFile = new File(javaFile.getPath().replaceFirst("\\.java$", ".kt")); File txtFile = new File(javaFile.getPath().replaceFirst("\\.java$", ".txt")); - NamespaceDescriptor kotlinNamespace = analyzeKotlinAndLoadTestNamespace(ktFile, myTestRootDisposable, ConfigurationKind.JDK_AND_ANNOTATIONS); - Pair javaNamespaceAndContext = compileJavaAndLoadTestNamespaceAndBindingContextFromBinary( - Arrays.asList(javaFile), tmpdir, myTestRootDisposable, ConfigurationKind.JDK_AND_ANNOTATIONS); - checkLoadedNamespaces(txtFile, kotlinNamespace, javaNamespaceAndContext.first, javaNamespaceAndContext.second); + Disposable tmpDisposable = Disposer.newDisposable(); + try { + NamespaceDescriptor kotlinNamespace = analyzeKotlinAndLoadTestNamespace(ktFile, tmpDisposable, ConfigurationKind.JDK_AND_ANNOTATIONS); + Pair javaNamespaceAndContext = compileJavaAndLoadTestNamespaceAndBindingContextFromBinary( + Arrays.asList(javaFile), tmpdir, myTestRootDisposable, ConfigurationKind.JDK_AND_ANNOTATIONS); + checkLoadedNamespaces(txtFile, kotlinNamespace, javaNamespaceAndContext.first, javaNamespaceAndContext.second); + } + finally { + Disposer.dispose(tmpDisposable); + } } protected void doTestCompiledJava(@NotNull String javaFileName) throws Exception {