UAST tests no longer leave a disposed application around

This commit is contained in:
Dmitry Jemerov
2017-02-15 12:56:00 +01:00
parent 5d65e6bc9b
commit 95bfe8668d
2 changed files with 4 additions and 1 deletions
@@ -136,7 +136,7 @@ public abstract class KtUsefulTestCase extends TestCase {
application = null;
}
protected void resetApplicationToNull() {
public static void resetApplicationToNull() {
try {
Field ourApplicationField = ApplicationManager.class.getDeclaredField("ourApplication");
ourApplicationField.setAccessible(true);
@@ -2,6 +2,7 @@ package org.jetbrains.uast.test.kotlin
import com.intellij.mock.MockProject
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.extensions.Extensions
import com.intellij.openapi.util.Disposer
import com.intellij.openapi.vfs.VirtualFile
@@ -21,6 +22,7 @@ import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.addKotlinSourceRoot
import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM
import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.uast.UastLanguagePlugin
import org.jetbrains.uast.evaluation.UEvaluatorExtension
@@ -135,6 +137,7 @@ abstract class AbstractKotlinUastTest : AbstractUastTest() {
override fun dispose() {
Disposer.dispose(parentDisposable)
KtUsefulTestCase.resetApplicationToNull()
}
}
}