Update hack for restore validity of builtins files
This commit is contained in:
+3
-10
@@ -28,6 +28,7 @@ import com.intellij.psi.FileViewProvider
|
|||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
import com.intellij.psi.impl.PsiManagerEx
|
import com.intellij.psi.impl.PsiManagerEx
|
||||||
import com.intellij.psi.impl.file.impl.FileManager
|
import com.intellij.psi.impl.file.impl.FileManager
|
||||||
|
import com.intellij.psi.impl.source.PsiFileImpl
|
||||||
import com.intellij.testFramework.LightProjectDescriptor
|
import com.intellij.testFramework.LightProjectDescriptor
|
||||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
|
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
|
||||||
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
||||||
@@ -57,16 +58,8 @@ public abstract class JetLightCodeInsightFixtureTestCase : LightCodeInsightFixtu
|
|||||||
KotlinInternalMode.enabled = kotlinInternalModeOriginalValue
|
KotlinInternalMode.enabled = kotlinInternalModeOriginalValue
|
||||||
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory())
|
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory())
|
||||||
|
|
||||||
val builtInsSources = getProject().getComponent<BuiltInsReferenceResolver>(javaClass<BuiltInsReferenceResolver>()).getBuiltInsSources()
|
unInvalidateBuiltins(getProject()) {
|
||||||
val fileManager = (PsiManager.getInstance(getProject()) as PsiManagerEx).getFileManager()
|
super.tearDown()
|
||||||
|
|
||||||
super.tearDown()
|
|
||||||
|
|
||||||
// Restore mapping between PsiFiles and VirtualFiles dropped in FileManager.cleanupForNextTest(),
|
|
||||||
// otherwise built-ins psi elements will become invalid in next test.
|
|
||||||
for (source in builtInsSources) {
|
|
||||||
val provider = source.getViewProvider()
|
|
||||||
fileManager.setViewProvider(provider.getVirtualFile(), provider)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+46
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2015 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.test
|
||||||
|
|
||||||
|
import com.intellij.ide.startup.impl.StartupManagerImpl
|
||||||
|
import com.intellij.openapi.startup.StartupManager
|
||||||
|
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess
|
||||||
|
import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase
|
||||||
|
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
||||||
|
import org.jetbrains.kotlin.test.JetTestUtils
|
||||||
|
|
||||||
|
public abstract class KotlinLightPlatformCodeInsightFixtureTestCase: LightPlatformCodeInsightFixtureTestCase() {
|
||||||
|
private var kotlinInternalModeOriginalValue: Boolean = false
|
||||||
|
|
||||||
|
override fun setUp() {
|
||||||
|
super.setUp()
|
||||||
|
(StartupManager.getInstance(getProject()) as StartupManagerImpl).runPostStartupActivities()
|
||||||
|
VfsRootAccess.allowRootAccess(JetTestUtils.getHomeDirectory())
|
||||||
|
|
||||||
|
kotlinInternalModeOriginalValue = KotlinInternalMode.enabled
|
||||||
|
KotlinInternalMode.enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun tearDown() {
|
||||||
|
KotlinInternalMode.enabled = kotlinInternalModeOriginalValue
|
||||||
|
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory())
|
||||||
|
|
||||||
|
unInvalidateBuiltins(getProject()) {
|
||||||
|
super.tearDown()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2015 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.test;
|
||||||
|
|
||||||
|
public interface RunnableWithException {
|
||||||
|
void run() throws Exception;
|
||||||
|
}
|
||||||
@@ -18,8 +18,10 @@ package org.jetbrains.kotlin.idea.test
|
|||||||
|
|
||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.roots.ModifiableRootModel
|
import com.intellij.openapi.roots.ModifiableRootModel
|
||||||
import com.intellij.openapi.roots.ModuleRootModificationUtil.updateModel
|
import com.intellij.openapi.roots.ModuleRootModificationUtil.updateModel
|
||||||
|
import com.intellij.psi.impl.source.PsiFileImpl
|
||||||
import com.intellij.testFramework.LightPlatformTestCase
|
import com.intellij.testFramework.LightPlatformTestCase
|
||||||
import com.intellij.testFramework.LightProjectDescriptor
|
import com.intellij.testFramework.LightProjectDescriptor
|
||||||
import com.intellij.util.Consumer
|
import com.intellij.util.Consumer
|
||||||
@@ -27,8 +29,7 @@ import org.jetbrains.kotlin.diagnostics.Severity
|
|||||||
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
|
import org.jetbrains.kotlin.diagnostics.rendering.DefaultErrorMessages
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult
|
import org.jetbrains.kotlin.idea.caches.resolve.analyzeFullyAndGetResult
|
||||||
import org.jetbrains.kotlin.idea.js.KotlinJavaScriptLibraryManager
|
import org.jetbrains.kotlin.idea.js.KotlinJavaScriptLibraryManager
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor
|
import org.jetbrains.kotlin.idea.references.BuiltInsReferenceResolver
|
||||||
import org.jetbrains.kotlin.idea.test.ProjectDescriptorWithStdlibSources
|
|
||||||
import org.jetbrains.kotlin.psi.JetFile
|
import org.jetbrains.kotlin.psi.JetFile
|
||||||
|
|
||||||
public enum class ModuleKind {
|
public enum class ModuleKind {
|
||||||
@@ -74,3 +75,20 @@ public fun JetFile.dumpTextWithErrors(): String {
|
|||||||
public fun closeAndDeleteProject(): Unit =
|
public fun closeAndDeleteProject(): Unit =
|
||||||
ApplicationManager.getApplication().runWriteAction() { LightPlatformTestCase.closeAndDeleteProject() }
|
ApplicationManager.getApplication().runWriteAction() { LightPlatformTestCase.closeAndDeleteProject() }
|
||||||
|
|
||||||
|
public fun unInvalidateBuiltins(project: Project, runnable: RunnableWithException) {
|
||||||
|
val builtInsSources = project.getComponent<org.jetbrains.kotlin.idea.references.BuiltInsReferenceResolver>(javaClass<BuiltInsReferenceResolver>()).getBuiltInsSources()
|
||||||
|
|
||||||
|
runnable.run()
|
||||||
|
|
||||||
|
// Base tearDown() invalidates builtins. Restore them with brute force.
|
||||||
|
for (source in builtInsSources) {
|
||||||
|
val psiFileImpl = source as PsiFileImpl
|
||||||
|
val field = javaClass<PsiFileImpl>().getDeclaredField("myInvalidated")!!
|
||||||
|
field.setAccessible(true)
|
||||||
|
field.set(psiFileImpl, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public fun unInvalidateBuiltins(project: Project, runnable: () -> Unit) {
|
||||||
|
unInvalidateBuiltins(project, RunnableWithException { runnable() })
|
||||||
|
}
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ package org.jetbrains.kotlin.idea;
|
|||||||
|
|
||||||
import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase;
|
import com.intellij.codeInsight.daemon.quickFix.LightQuickFixTestCase;
|
||||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
||||||
|
import org.jetbrains.kotlin.idea.test.RunnableWithException;
|
||||||
|
import org.jetbrains.kotlin.idea.test.TestPackage;
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils;
|
import org.jetbrains.kotlin.test.JetTestUtils;
|
||||||
|
|
||||||
abstract public class KotlinLightQuickFixTestCase extends LightQuickFixTestCase {
|
abstract public class KotlinLightQuickFixTestCase extends LightQuickFixTestCase {
|
||||||
@@ -30,6 +32,12 @@ abstract public class KotlinLightQuickFixTestCase extends LightQuickFixTestCase
|
|||||||
@Override
|
@Override
|
||||||
protected void tearDown() throws Exception {
|
protected void tearDown() throws Exception {
|
||||||
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory());
|
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory());
|
||||||
super.tearDown();
|
|
||||||
|
TestPackage.unInvalidateBuiltins(getProject(), new RunnableWithException() {
|
||||||
|
@Override
|
||||||
|
public void run() throws Exception {
|
||||||
|
KotlinLightQuickFixTestCase.super.tearDown();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,21 +69,6 @@ public abstract class AbstractQuickFixTest extends KotlinLightQuickFixTestCase {
|
|||||||
((StartupManagerImpl) StartupManager.getInstance(getProject())).runPostStartupActivities();
|
((StartupManagerImpl) StartupManager.getInstance(getProject())).runPostStartupActivities();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void tearDown() throws Exception {
|
|
||||||
Set<JetFile> builtInsSources = getProject().getComponent(BuiltInsReferenceResolver.class).getBuiltInsSources();
|
|
||||||
FileManager fileManager = ((PsiManagerEx) PsiManager.getInstance(getProject())).getFileManager();
|
|
||||||
|
|
||||||
super.tearDown();
|
|
||||||
|
|
||||||
// Restore mapping between PsiFiles and VirtualFiles dropped in FileManager.cleanupForNextTest(),
|
|
||||||
// otherwise built-ins psi elements will become invalid in next test.
|
|
||||||
for (JetFile source : builtInsSources) {
|
|
||||||
FileViewProvider provider = source.getViewProvider();
|
|
||||||
fileManager.setViewProvider(provider.getVirtualFile(), provider);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private static File findInspectionFile(@NotNull File startDir) {
|
private static File findInspectionFile(@NotNull File startDir) {
|
||||||
File currentDir = startDir;
|
File currentDir = startDir;
|
||||||
|
|||||||
@@ -18,29 +18,23 @@ package org.jetbrains.kotlin.idea.resolve;
|
|||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Ordering;
|
import com.google.common.collect.Ordering;
|
||||||
import com.intellij.ide.startup.impl.StartupManagerImpl;
|
import com.intellij.psi.PsiElement;
|
||||||
import com.intellij.openapi.startup.StartupManager;
|
import com.intellij.psi.PsiPolyVariantReference;
|
||||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
import com.intellij.psi.PsiReference;
|
||||||
import com.intellij.psi.*;
|
import com.intellij.psi.ResolveResult;
|
||||||
import com.intellij.psi.impl.PsiManagerEx;
|
|
||||||
import com.intellij.psi.impl.file.impl.FileManager;
|
|
||||||
import com.intellij.testFramework.LightProjectDescriptor;
|
import com.intellij.testFramework.LightProjectDescriptor;
|
||||||
import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.kotlin.idea.test.JetWithJdkAndRuntimeLightProjectDescriptor;
|
import org.jetbrains.kotlin.idea.test.JetWithJdkAndRuntimeLightProjectDescriptor;
|
||||||
import org.jetbrains.kotlin.idea.references.BuiltInsReferenceResolver;
|
import org.jetbrains.kotlin.idea.test.KotlinLightPlatformCodeInsightFixtureTestCase;
|
||||||
import org.jetbrains.kotlin.psi.JetFile;
|
|
||||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils;
|
import org.jetbrains.kotlin.test.InTextDirectivesUtils;
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils;
|
|
||||||
import org.jetbrains.kotlin.test.ReferenceUtils;
|
import org.jetbrains.kotlin.test.ReferenceUtils;
|
||||||
import org.jetbrains.kotlin.test.util.UtilPackage;
|
import org.jetbrains.kotlin.test.util.UtilPackage;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public abstract class AbstractReferenceResolveTest extends LightPlatformCodeInsightFixtureTestCase {
|
public abstract class AbstractReferenceResolveTest extends KotlinLightPlatformCodeInsightFixtureTestCase {
|
||||||
public static class ExpectedResolveData {
|
public static class ExpectedResolveData {
|
||||||
private final Boolean shouldBeUnresolved;
|
private final Boolean shouldBeUnresolved;
|
||||||
private final String referenceToString;
|
private final String referenceToString;
|
||||||
@@ -62,30 +56,6 @@ public abstract class AbstractReferenceResolveTest extends LightPlatformCodeInsi
|
|||||||
public static final String MULTIRESOLVE = "MULTIRESOLVE";
|
public static final String MULTIRESOLVE = "MULTIRESOLVE";
|
||||||
public static final String REF_EMPTY = "REF_EMPTY";
|
public static final String REF_EMPTY = "REF_EMPTY";
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void setUp() throws Exception {
|
|
||||||
super.setUp();
|
|
||||||
((StartupManagerImpl) StartupManager.getInstance(getProject())).runPostStartupActivities();
|
|
||||||
VfsRootAccess.allowRootAccess(JetTestUtils.getHomeDirectory());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void tearDown() throws Exception {
|
|
||||||
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory());
|
|
||||||
|
|
||||||
Set<JetFile> builtInsSources = getProject().getComponent(BuiltInsReferenceResolver.class).getBuiltInsSources();
|
|
||||||
FileManager fileManager = ((PsiManagerEx) PsiManager.getInstance(getProject())).getFileManager();
|
|
||||||
|
|
||||||
super.tearDown();
|
|
||||||
|
|
||||||
// Restore mapping between PsiFiles and VirtualFiles dropped in FileManager.cleanupForNextTest(),
|
|
||||||
// otherwise built-ins psi elements will become invalid in next test.
|
|
||||||
for (JetFile source : builtInsSources) {
|
|
||||||
FileViewProvider provider = source.getViewProvider();
|
|
||||||
fileManager.setViewProvider(provider.getVirtualFile(), provider);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void doTest(@NotNull String path) {
|
protected void doTest(@NotNull String path) {
|
||||||
assert path.endsWith(".kt") : path;
|
assert path.endsWith(".kt") : path;
|
||||||
UtilPackage.configureWithExtraFile(myFixture, path, ".Data");
|
UtilPackage.configureWithExtraFile(myFixture, path, ".Data");
|
||||||
|
|||||||
@@ -17,5 +17,6 @@
|
|||||||
<orderEntry type="module" module-name="light-classes" />
|
<orderEntry type="module" module-name="light-classes" />
|
||||||
<orderEntry type="module" module-name="idea-completion" scope="TEST" />
|
<orderEntry type="module" module-name="idea-completion" scope="TEST" />
|
||||||
<orderEntry type="library" name="kotlin-runtime" level="project" />
|
<orderEntry type="library" name="kotlin-runtime" level="project" />
|
||||||
|
<orderEntry type="module" module-name="idea-test-framework" scope="TEST" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
+5
-26
@@ -18,10 +18,6 @@ package org.jetbrains.kotlin.android;
|
|||||||
|
|
||||||
import com.android.SdkConstants;
|
import com.android.SdkConstants;
|
||||||
import com.android.ide.common.rendering.RenderSecurityManager;
|
import com.android.ide.common.rendering.RenderSecurityManager;
|
||||||
import com.intellij.analysis.AnalysisScope;
|
|
||||||
import com.intellij.codeInspection.InspectionManager;
|
|
||||||
import com.intellij.codeInspection.ex.GlobalInspectionToolWrapper;
|
|
||||||
import com.intellij.codeInspection.ex.InspectionManagerEx;
|
|
||||||
import com.intellij.facet.FacetManager;
|
import com.intellij.facet.FacetManager;
|
||||||
import com.intellij.facet.ModifiableFacetModel;
|
import com.intellij.facet.ModifiableFacetModel;
|
||||||
import com.intellij.ide.startup.impl.StartupManagerImpl;
|
import com.intellij.ide.startup.impl.StartupManagerImpl;
|
||||||
@@ -33,21 +29,15 @@ import com.intellij.openapi.roots.ModuleRootModificationUtil;
|
|||||||
import com.intellij.openapi.startup.StartupManager;
|
import com.intellij.openapi.startup.StartupManager;
|
||||||
import com.intellij.openapi.vfs.VirtualFile;
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
||||||
import com.intellij.psi.FileViewProvider;
|
|
||||||
import com.intellij.psi.PsiManager;
|
|
||||||
import com.intellij.psi.impl.PsiManagerEx;
|
|
||||||
import com.intellij.psi.impl.file.impl.FileManager;
|
|
||||||
import com.intellij.testFramework.InspectionTestUtil;
|
|
||||||
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
|
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
|
||||||
import com.intellij.testFramework.fixtures.*;
|
import com.intellij.testFramework.fixtures.IdeaProjectTestFixture;
|
||||||
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl;
|
import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory;
|
||||||
import com.intellij.testFramework.fixtures.impl.GlobalInspectionContextForTests;
|
import com.intellij.testFramework.fixtures.JavaTestFixtureFactory;
|
||||||
|
import com.intellij.testFramework.fixtures.TestFixtureBuilder;
|
||||||
import org.jetbrains.android.facet.AndroidFacet;
|
import org.jetbrains.android.facet.AndroidFacet;
|
||||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode;
|
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode;
|
||||||
import org.jetbrains.kotlin.idea.references.BuiltInsReferenceResolver;
|
|
||||||
import org.jetbrains.kotlin.psi.JetFile;
|
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils;
|
import org.jetbrains.kotlin.test.JetTestUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -55,7 +45,6 @@ import java.io.FileFilter;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings({"JUnitTestCaseWithNonTrivialConstructors"})
|
@SuppressWarnings({"JUnitTestCaseWithNonTrivialConstructors"})
|
||||||
@@ -220,8 +209,7 @@ public abstract class KotlinAndroidTestCase extends KotlinAndroidTestCaseBase {
|
|||||||
KotlinInternalMode.Instance.setEnabled(kotlinInternalModeOriginalValue);
|
KotlinInternalMode.Instance.setEnabled(kotlinInternalModeOriginalValue);
|
||||||
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory());
|
VfsRootAccess.disallowRootAccess(JetTestUtils.getHomeDirectory());
|
||||||
|
|
||||||
Set<JetFile> builtInsSources = getProject().getComponent(BuiltInsReferenceResolver.class).getBuiltInsSources();
|
super.tearDown();
|
||||||
FileManager fileManager = ((PsiManagerEx) PsiManager.getInstance(getProject())).getFileManager();
|
|
||||||
|
|
||||||
myModule = null;
|
myModule = null;
|
||||||
myAdditionalModules = null;
|
myAdditionalModules = null;
|
||||||
@@ -231,15 +219,6 @@ public abstract class KotlinAndroidTestCase extends KotlinAndroidTestCaseBase {
|
|||||||
if (RenderSecurityManager.RESTRICT_READS) {
|
if (RenderSecurityManager.RESTRICT_READS) {
|
||||||
RenderSecurityManager.sEnabled = true;
|
RenderSecurityManager.sEnabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
super.tearDown();
|
|
||||||
|
|
||||||
// Restore mapping between PsiFiles and VirtualFiles dropped in FileManager.cleanupForNextTest(),
|
|
||||||
// otherwise built-ins psi elements will become invalid in next test.
|
|
||||||
for (JetFile source : builtInsSources) {
|
|
||||||
FileViewProvider provider = source.getViewProvider();
|
|
||||||
fileManager.setViewProvider(provider.getVirtualFile(), provider);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public AndroidFacet addAndroidFacet(Module module, String sdkPath, String platformDir) {
|
public AndroidFacet addAndroidFacet(Module module, String sdkPath, String platformDir) {
|
||||||
|
|||||||
+15
-11
@@ -16,8 +16,6 @@
|
|||||||
package org.jetbrains.kotlin.android;
|
package org.jetbrains.kotlin.android;
|
||||||
|
|
||||||
import com.android.sdklib.IAndroidTarget;
|
import com.android.sdklib.IAndroidTarget;
|
||||||
import com.android.tools.idea.rendering.ResourceHelper;
|
|
||||||
import com.intellij.openapi.application.PathManager;
|
|
||||||
import com.intellij.openapi.module.Module;
|
import com.intellij.openapi.module.Module;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.openapi.projectRoots.ProjectJdkTable;
|
import com.intellij.openapi.projectRoots.ProjectJdkTable;
|
||||||
@@ -26,21 +24,17 @@ import com.intellij.openapi.projectRoots.SdkModificator;
|
|||||||
import com.intellij.openapi.roots.JavadocOrderRootType;
|
import com.intellij.openapi.roots.JavadocOrderRootType;
|
||||||
import com.intellij.openapi.roots.ModuleRootModificationUtil;
|
import com.intellij.openapi.roots.ModuleRootModificationUtil;
|
||||||
import com.intellij.openapi.roots.OrderRootType;
|
import com.intellij.openapi.roots.OrderRootType;
|
||||||
import com.intellij.openapi.util.Segment;
|
|
||||||
import com.intellij.openapi.util.TextRange;
|
|
||||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||||
import com.intellij.openapi.vfs.VirtualFile;
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||||
import com.intellij.psi.PsiElement;
|
|
||||||
import com.intellij.psi.PsiFile;
|
|
||||||
import com.intellij.psi.xml.XmlAttributeValue;
|
|
||||||
import com.intellij.testFramework.IdeaTestCase;
|
import com.intellij.testFramework.IdeaTestCase;
|
||||||
import com.intellij.testFramework.UsefulTestCase;
|
import com.intellij.testFramework.UsefulTestCase;
|
||||||
import com.intellij.testFramework.fixtures.CodeInsightTestFixture;
|
import com.intellij.testFramework.fixtures.CodeInsightTestFixture;
|
||||||
import org.jetbrains.android.dom.wrappers.LazyValueResourceElementWrapper;
|
import org.jetbrains.android.sdk.AndroidSdkAdditionalData;
|
||||||
import org.jetbrains.android.sdk.*;
|
import org.jetbrains.android.sdk.AndroidSdkData;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.android.sdk.AndroidSdkType;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.kotlin.idea.test.RunnableWithException;
|
||||||
|
import org.jetbrains.kotlin.idea.test.TestPackage;
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils;
|
import org.jetbrains.kotlin.test.JetTestUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -76,6 +70,16 @@ public abstract class KotlinAndroidTestCaseBase extends UsefulTestCase {
|
|||||||
return getTestDataPath() + "/sdk1.5";
|
return getTestDataPath() + "/sdk1.5";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void tearDown() throws Exception {
|
||||||
|
TestPackage.unInvalidateBuiltins(getProject(), new RunnableWithException() {
|
||||||
|
@Override
|
||||||
|
public void run() throws Exception {
|
||||||
|
KotlinAndroidTestCaseBase.super.tearDown();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public String getDefaultPlatformDir() {
|
public String getDefaultPlatformDir() {
|
||||||
return "android-1.5";
|
return "android-1.5";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user