Fixed multiple bugs in optimize imports for JS-target

#KT-13689 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-10-06 21:32:22 +03:00
parent 45cd4f1e29
commit b84260f39f
148 changed files with 599 additions and 373 deletions
@@ -85,6 +85,8 @@ import org.jetbrains.kotlin.idea.folding.AbstractKotlinFoldingTest
import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyTest
import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyWithLibTest
import org.jetbrains.kotlin.idea.highlighter.*
import org.jetbrains.kotlin.idea.imports.AbstractJsOptimizeImportsTest
import org.jetbrains.kotlin.idea.imports.AbstractJvmOptimizeImportsTest
import org.jetbrains.kotlin.idea.imports.AbstractOptimizeImportsTest
import org.jetbrains.kotlin.idea.intentions.AbstractIntentionTest
import org.jetbrains.kotlin.idea.intentions.AbstractIntentionTest2
@@ -754,8 +756,13 @@ fun main(args: Array<String>) {
model("decompiler/stubBuilder", extension = null, recursive = false)
}
testClass<AbstractOptimizeImportsTest>() {
model("editor/optimizeImports", pattern = KT_WITHOUT_DOTS_IN_NAME)
testClass<AbstractJvmOptimizeImportsTest>() {
model("editor/optimizeImports/jvm", pattern = KT_WITHOUT_DOTS_IN_NAME)
model("editor/optimizeImports/common", pattern = KT_WITHOUT_DOTS_IN_NAME)
}
testClass<AbstractJsOptimizeImportsTest>() {
model("editor/optimizeImports/js", pattern = KT_WITHOUT_DOTS_IN_NAME)
model("editor/optimizeImports/common", pattern = KT_WITHOUT_DOTS_IN_NAME)
}
testClass<AbstractPositionManagerTest>() {
@@ -20,10 +20,13 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.js.resolve.JsPlatform;
import org.jetbrains.kotlin.psi.KtCodeFragment;
import org.jetbrains.kotlin.psi.KtFile;
import org.jetbrains.kotlin.psi.KtPsiFactoryKt;
import org.jetbrains.kotlin.resolve.TargetPlatform;
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform;
@@ -43,6 +46,12 @@ public class TargetPlatformDetector {
}
}
PsiElement context = KtPsiFactoryKt.getAnalysisContext(file);
if (context != null) {
PsiFile contextFile = context.getContainingFile();
return contextFile instanceof KtFile ? getPlatform((KtFile) contextFile) : JvmPlatform.INSTANCE;
}
VirtualFile virtualFile = file.getOriginalFile().getVirtualFile();
if (virtualFile == null) {
return getDefaultPlatform();
@@ -0,0 +1,5 @@
import kotlin.Any
fun foo(): Any {
throw UnsupportedOperationException()
}
@@ -0,0 +1,3 @@
fun foo(): Any {
throw UnsupportedOperationException()
}

Some files were not shown because too many files have changed in this diff Show More