From b84260f39fcfb7328bdbd3b690559c89fd49a573 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Thu, 6 Oct 2016 21:32:22 +0300 Subject: [PATCH] Fixed multiple bugs in optimize imports for JS-target #KT-13689 Fixed --- .../kotlin/generators/tests/GenerateTests.kt | 11 +- .../idea/project/TargetPlatformDetector.java | 9 + .../ArrayAccessExpression.dependency.kt | 0 .../{ => common}/ArrayAccessExpression.kt | 0 .../ArrayAccessExpression.kt.after | 0 .../ClassMemberImported.dependency.kt | 0 .../{ => common}/ClassMemberImported.kt | 0 .../{ => common}/ClassMemberImported.kt.after | 0 .../ComponentFunction.dependency.kt | 0 .../{ => common}/ComponentFunction.kt | 0 .../{ => common}/ComponentFunction.kt.after | 0 .../{ => common}/CurrentPackage.dependency.kt | 0 .../{ => common}/CurrentPackage.kt | 0 .../{ => common}/CurrentPackage.kt.after | 0 .../DefaultObjectReference.dependency.kt | 0 .../{ => common}/DefaultObjectReference.kt | 0 .../DefaultObjectReference.kt.after | 0 .../{ => common}/Enums.dependency.kt | 0 .../optimizeImports/{ => common}/Enums.kt | 0 .../{ => common}/Enums.kt.after | 0 .../optimizeImports/{ => common}/Enums.kt.log | 0 .../{ => common}/InvokeFunction.dependency.kt | 0 .../{ => common}/InvokeFunction.kt | 0 .../{ => common}/InvokeFunction.kt.after | 0 .../IteratorFunction.dependency.kt | 0 .../{ => common}/IteratorFunction.kt | 0 .../{ => common}/IteratorFunction.kt.after | 0 .../{ => common}/KT11640.dependency.kt | 0 .../optimizeImports/{ => common}/KT11640.kt | 0 .../{ => common}/KT11640.kt.after | 0 .../{ => common}/KT11640.kt.log | 0 .../{ => common}/KT11640_1.dependency.kt | 0 .../optimizeImports/{ => common}/KT11640_1.kt | 0 .../{ => common}/KT11640_1.kt.after | 0 .../{ => common}/KT11640_1.kt.log | 0 .../{TypeAliasUsage.kt => common/KT13689.kt} | 0 .../KT13689.kt.after} | 0 .../optimizeImports/{ => common}/KT9875.kt | 0 .../{ => common}/KT9875.kt.after | 0 .../{ => common}/KT9875.kt.log | 0 .../{ => common}/KeywordNames.dependency.kt | 0 .../{ => common}/KeywordNames.kt | 0 .../{ => common}/KeywordNames.kt.after | 0 .../{ => common}/Kt2488EnumEntry.kt | 0 .../{ => common}/Kt2488EnumEntry.kt.after | 0 .../optimizeImports/{ => common}/Kt2709.kt | 0 .../{ => common}/Kt2709.kt.after | 0 .../MemberImports.dependency.kt | 0 .../MemberImports.kt | 0 .../MemberImports.kt.after | 0 .../{ => common}/MembersInScope.kt | 0 .../{ => common}/MembersInScope.kt.after | 0 .../NestedClassReferenceOutsideClassBody.kt | 0 ...tedClassReferenceOutsideClassBody.kt.after | 0 .../{ => common}/Overloads.dependency1.kt | 0 .../{ => common}/Overloads.dependency2.kt | 0 .../optimizeImports/{ => common}/Overloads.kt | 0 .../{ => common}/Overloads.kt.after | 0 .../{ => common}/Overloads.kt.log | 0 .../TwoConstructors.dependency1.kt | 0 .../TwoConstructors.dependency2.kt | 0 .../{ => common}/TwoConstructors.kt | 0 .../{ => common}/TwoConstructors.kt.after | 0 .../{ => common}/TwoConstructors.kt.log | 0 .../optimizeImports/common/TypeAliasUsage.kt | 5 + .../common/TypeAliasUsage.kt.after | 3 + .../{ => js}/DefaultJsImports.kt | 0 .../{ => js}/DefaultJsImports.kt.after | 0 .../{ => jvm}/AlreadyOptimized.kt | 0 .../{ => jvm}/AlreadyOptimized.kt.after | 0 .../{ => jvm}/CallableReference.kt | 0 .../{ => jvm}/CallableReference.kt.after | 0 .../{ => jvm}/CallableReference2.kt | 0 .../{ => jvm}/CallableReference2.kt.after | 0 .../ClassFromSameFileImportAddedBug.kt | 0 .../ClassFromSameFileImportAddedBug.kt.after | 0 .../{ => jvm}/DoNotTouchIfNoChanges.kt | 0 .../{ => jvm}/DoNotTouchIfNoChanges.kt.after | 0 .../{ => jvm}/DuplicatedImports.kt | 0 .../{ => jvm}/DuplicatedImports.kt.after | 0 .../{ => jvm}/FromCompanionObject.kt | 0 .../{ => jvm}/FromCompanionObject.kt.after | 0 .../{ => jvm}/FromCompanionObjectGeneric.kt | 0 .../FromCompanionObjectGeneric.kt.after | 0 .../FromCompanionObjectGeneric.kt.log | 0 .../{ => jvm}/JavaStaticField.dependency.java | 0 .../{ => jvm}/JavaStaticField.kt | 0 .../{ => jvm}/JavaStaticField.kt.after | 0 .../{ => jvm}/KDocReference.kt | 0 .../{ => jvm}/KDocReference.kt.after | 0 .../optimizeImports/{ => jvm}/KT10226.kt | 0 .../{ => jvm}/KT10226.kt.after | 0 .../optimizeImports/{ => jvm}/KT13766.kt | 0 .../{ => jvm}/KT13766.kt.after | 0 .../{ => jvm}/Kt1850FullQualified.kt | 0 .../{ => jvm}/Kt1850FullQualified.kt.after | 0 .../{ => jvm}/Kt1850InnerClass.kt | 0 .../{ => jvm}/Kt1850InnerClass.kt.after | 0 .../{ => jvm}/NestedClassInObject.kt | 0 .../{ => jvm}/NestedClassInObject.kt.after | 0 .../{ => jvm}/Operators.dependency.kt | 0 .../optimizeImports/{ => jvm}/Operators.kt | 0 .../{ => jvm}/Operators.kt.after | 0 .../PlusAndPlusAssign.dependency1.kt | 0 .../PlusAndPlusAssign.dependency2.kt | 0 .../{ => jvm}/PlusAndPlusAssign.kt | 0 .../{ => jvm}/PlusAndPlusAssign.kt.after | 0 .../{ => jvm}/PlusAndPlusAssign.kt.log | 0 .../{ => jvm}/RemoveImportsIfGeneral.kt | 0 .../{ => jvm}/RemoveImportsIfGeneral.kt.after | 0 .../{ => jvm}/RemoveImportsIfGeneralBefore.kt | 0 .../RemoveImportsIfGeneralBefore.kt.after | 0 .../{ => jvm}/SamConstructor.kt | 0 .../{ => jvm}/SamConstructor.kt.after | 0 .../{ => jvm}/StaticMethodFromSuper.kt | 0 .../{ => jvm}/StaticMethodFromSuper.kt.after | 0 .../{ => jvm}/ThisAndSuper.dependency.kt | 0 .../optimizeImports/{ => jvm}/ThisAndSuper.kt | 0 .../{ => jvm}/ThisAndSuper.kt.after | 0 .../optimizeImports/{ => jvm}/TrivialAlias.kt | 0 .../{ => jvm}/TrivialAlias.kt.after | 0 .../{ => jvm}/UnusedImports.kt | 0 .../{ => jvm}/UnusedImports.kt.after | 0 .../optimizeImports/{ => jvm}/WithAliases.kt | 0 .../{ => jvm}/WithAliases.kt.after | 0 .../allUnderImports/ClassNameConflict.kt | 0 .../ClassNameConflict.kt.after | 0 .../allUnderImports/ClassNameConflict2.kt | 0 .../ClassNameConflict2.kt.after | 0 .../ClassNameConflictWithCurrentPackage.kt | 0 ...assNameConflictWithCurrentPackage.kt.after | 0 .../ClassNameConflictWithCurrentPackage2.kt | 0 ...ssNameConflictWithCurrentPackage2.kt.after | 0 .../ClassNameConflictWithDefault.kt | 0 .../ClassNameConflictWithDefault.kt.after | 0 .../NameCountSetting.dependency.kt | 0 .../allUnderImports/NameCountSetting.kt | 0 .../allUnderImports/NameCountSetting.kt.after | 0 .../PackagesToUseStarImport.kt | 0 .../PackagesToUseStarImport.kt.after | 0 .../allUnderImports/Simple.dependency.kt | 0 .../{ => jvm}/allUnderImports/Simple.kt | 0 .../{ => jvm}/allUnderImports/Simple.kt.after | 0 .../jetbrains/kotlin/AbstractImportsTest.kt | 4 +- .../imports/AbstractOptimizeImportsTest.kt | 7 + .../JsOptimizeImportsTestGenerated.java | 181 +++++++++ .../JvmOptimizeImportsTestGenerated.java | 382 ++++++++++++++++++ .../imports/OptimizeImportsTestGenerated.java | 370 ----------------- 148 files changed, 599 insertions(+), 373 deletions(-) rename idea/testData/editor/optimizeImports/{ => common}/ArrayAccessExpression.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/ArrayAccessExpression.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/ArrayAccessExpression.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/ClassMemberImported.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/ClassMemberImported.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/ClassMemberImported.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/ComponentFunction.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/ComponentFunction.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/ComponentFunction.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/CurrentPackage.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/CurrentPackage.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/CurrentPackage.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/DefaultObjectReference.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/DefaultObjectReference.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/DefaultObjectReference.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/Enums.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/Enums.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/Enums.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/Enums.kt.log (100%) rename idea/testData/editor/optimizeImports/{ => common}/InvokeFunction.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/InvokeFunction.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/InvokeFunction.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/IteratorFunction.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/IteratorFunction.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/IteratorFunction.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640.kt.log (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640_1.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640_1.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640_1.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT11640_1.kt.log (100%) rename idea/testData/editor/optimizeImports/{TypeAliasUsage.kt => common/KT13689.kt} (100%) rename idea/testData/editor/optimizeImports/{TypeAliasUsage.kt.after => common/KT13689.kt.after} (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT9875.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT9875.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/KT9875.kt.log (100%) rename idea/testData/editor/optimizeImports/{ => common}/KeywordNames.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/KeywordNames.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/KeywordNames.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/Kt2488EnumEntry.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/Kt2488EnumEntry.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/Kt2709.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/Kt2709.kt.after (100%) rename idea/testData/editor/optimizeImports/{allUnderImports => common}/MemberImports.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{allUnderImports => common}/MemberImports.kt (100%) rename idea/testData/editor/optimizeImports/{allUnderImports => common}/MemberImports.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/MembersInScope.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/MembersInScope.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/NestedClassReferenceOutsideClassBody.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/NestedClassReferenceOutsideClassBody.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/Overloads.dependency1.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/Overloads.dependency2.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/Overloads.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/Overloads.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/Overloads.kt.log (100%) rename idea/testData/editor/optimizeImports/{ => common}/TwoConstructors.dependency1.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/TwoConstructors.dependency2.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/TwoConstructors.kt (100%) rename idea/testData/editor/optimizeImports/{ => common}/TwoConstructors.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => common}/TwoConstructors.kt.log (100%) create mode 100644 idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt create mode 100644 idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt.after rename idea/testData/editor/optimizeImports/{ => js}/DefaultJsImports.kt (100%) rename idea/testData/editor/optimizeImports/{ => js}/DefaultJsImports.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/AlreadyOptimized.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/AlreadyOptimized.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/CallableReference.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/CallableReference.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/CallableReference2.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/CallableReference2.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/ClassFromSameFileImportAddedBug.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/ClassFromSameFileImportAddedBug.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/DoNotTouchIfNoChanges.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/DoNotTouchIfNoChanges.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/DuplicatedImports.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/DuplicatedImports.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/FromCompanionObject.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/FromCompanionObject.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/FromCompanionObjectGeneric.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/FromCompanionObjectGeneric.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/FromCompanionObjectGeneric.kt.log (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/JavaStaticField.dependency.java (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/JavaStaticField.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/JavaStaticField.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/KDocReference.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/KDocReference.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/KT10226.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/KT10226.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/KT13766.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/KT13766.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/Kt1850FullQualified.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/Kt1850FullQualified.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/Kt1850InnerClass.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/Kt1850InnerClass.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/NestedClassInObject.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/NestedClassInObject.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/Operators.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/Operators.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/Operators.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/PlusAndPlusAssign.dependency1.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/PlusAndPlusAssign.dependency2.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/PlusAndPlusAssign.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/PlusAndPlusAssign.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/PlusAndPlusAssign.kt.log (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/RemoveImportsIfGeneral.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/RemoveImportsIfGeneral.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/RemoveImportsIfGeneralBefore.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/RemoveImportsIfGeneralBefore.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/SamConstructor.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/SamConstructor.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/StaticMethodFromSuper.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/StaticMethodFromSuper.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/ThisAndSuper.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/ThisAndSuper.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/ThisAndSuper.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/TrivialAlias.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/TrivialAlias.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/UnusedImports.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/UnusedImports.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/WithAliases.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/WithAliases.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflict.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflict.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflict2.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflict2.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflictWithCurrentPackage.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflictWithCurrentPackage2.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflictWithDefault.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/ClassNameConflictWithDefault.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/NameCountSetting.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/NameCountSetting.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/NameCountSetting.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/PackagesToUseStarImport.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/PackagesToUseStarImport.kt.after (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/Simple.dependency.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/Simple.kt (100%) rename idea/testData/editor/optimizeImports/{ => jvm}/allUnderImports/Simple.kt.after (100%) create mode 100644 idea/tests/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java create mode 100644 idea/tests/org/jetbrains/kotlin/idea/imports/JvmOptimizeImportsTestGenerated.java delete mode 100644 idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index 2803e9a1c35..6527475eab3 100755 --- a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -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) { model("decompiler/stubBuilder", extension = null, recursive = false) } - testClass() { - model("editor/optimizeImports", pattern = KT_WITHOUT_DOTS_IN_NAME) + testClass() { + model("editor/optimizeImports/jvm", pattern = KT_WITHOUT_DOTS_IN_NAME) + model("editor/optimizeImports/common", pattern = KT_WITHOUT_DOTS_IN_NAME) + } + testClass() { + model("editor/optimizeImports/js", pattern = KT_WITHOUT_DOTS_IN_NAME) + model("editor/optimizeImports/common", pattern = KT_WITHOUT_DOTS_IN_NAME) } testClass() { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java index 8ef2a66d3f9..70c45d9924e 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/project/TargetPlatformDetector.java @@ -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(); diff --git a/idea/testData/editor/optimizeImports/ArrayAccessExpression.dependency.kt b/idea/testData/editor/optimizeImports/common/ArrayAccessExpression.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ArrayAccessExpression.dependency.kt rename to idea/testData/editor/optimizeImports/common/ArrayAccessExpression.dependency.kt diff --git a/idea/testData/editor/optimizeImports/ArrayAccessExpression.kt b/idea/testData/editor/optimizeImports/common/ArrayAccessExpression.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ArrayAccessExpression.kt rename to idea/testData/editor/optimizeImports/common/ArrayAccessExpression.kt diff --git a/idea/testData/editor/optimizeImports/ArrayAccessExpression.kt.after b/idea/testData/editor/optimizeImports/common/ArrayAccessExpression.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/ArrayAccessExpression.kt.after rename to idea/testData/editor/optimizeImports/common/ArrayAccessExpression.kt.after diff --git a/idea/testData/editor/optimizeImports/ClassMemberImported.dependency.kt b/idea/testData/editor/optimizeImports/common/ClassMemberImported.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ClassMemberImported.dependency.kt rename to idea/testData/editor/optimizeImports/common/ClassMemberImported.dependency.kt diff --git a/idea/testData/editor/optimizeImports/ClassMemberImported.kt b/idea/testData/editor/optimizeImports/common/ClassMemberImported.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ClassMemberImported.kt rename to idea/testData/editor/optimizeImports/common/ClassMemberImported.kt diff --git a/idea/testData/editor/optimizeImports/ClassMemberImported.kt.after b/idea/testData/editor/optimizeImports/common/ClassMemberImported.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/ClassMemberImported.kt.after rename to idea/testData/editor/optimizeImports/common/ClassMemberImported.kt.after diff --git a/idea/testData/editor/optimizeImports/ComponentFunction.dependency.kt b/idea/testData/editor/optimizeImports/common/ComponentFunction.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ComponentFunction.dependency.kt rename to idea/testData/editor/optimizeImports/common/ComponentFunction.dependency.kt diff --git a/idea/testData/editor/optimizeImports/ComponentFunction.kt b/idea/testData/editor/optimizeImports/common/ComponentFunction.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ComponentFunction.kt rename to idea/testData/editor/optimizeImports/common/ComponentFunction.kt diff --git a/idea/testData/editor/optimizeImports/ComponentFunction.kt.after b/idea/testData/editor/optimizeImports/common/ComponentFunction.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/ComponentFunction.kt.after rename to idea/testData/editor/optimizeImports/common/ComponentFunction.kt.after diff --git a/idea/testData/editor/optimizeImports/CurrentPackage.dependency.kt b/idea/testData/editor/optimizeImports/common/CurrentPackage.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/CurrentPackage.dependency.kt rename to idea/testData/editor/optimizeImports/common/CurrentPackage.dependency.kt diff --git a/idea/testData/editor/optimizeImports/CurrentPackage.kt b/idea/testData/editor/optimizeImports/common/CurrentPackage.kt similarity index 100% rename from idea/testData/editor/optimizeImports/CurrentPackage.kt rename to idea/testData/editor/optimizeImports/common/CurrentPackage.kt diff --git a/idea/testData/editor/optimizeImports/CurrentPackage.kt.after b/idea/testData/editor/optimizeImports/common/CurrentPackage.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/CurrentPackage.kt.after rename to idea/testData/editor/optimizeImports/common/CurrentPackage.kt.after diff --git a/idea/testData/editor/optimizeImports/DefaultObjectReference.dependency.kt b/idea/testData/editor/optimizeImports/common/DefaultObjectReference.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DefaultObjectReference.dependency.kt rename to idea/testData/editor/optimizeImports/common/DefaultObjectReference.dependency.kt diff --git a/idea/testData/editor/optimizeImports/DefaultObjectReference.kt b/idea/testData/editor/optimizeImports/common/DefaultObjectReference.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DefaultObjectReference.kt rename to idea/testData/editor/optimizeImports/common/DefaultObjectReference.kt diff --git a/idea/testData/editor/optimizeImports/DefaultObjectReference.kt.after b/idea/testData/editor/optimizeImports/common/DefaultObjectReference.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/DefaultObjectReference.kt.after rename to idea/testData/editor/optimizeImports/common/DefaultObjectReference.kt.after diff --git a/idea/testData/editor/optimizeImports/Enums.dependency.kt b/idea/testData/editor/optimizeImports/common/Enums.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Enums.dependency.kt rename to idea/testData/editor/optimizeImports/common/Enums.dependency.kt diff --git a/idea/testData/editor/optimizeImports/Enums.kt b/idea/testData/editor/optimizeImports/common/Enums.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Enums.kt rename to idea/testData/editor/optimizeImports/common/Enums.kt diff --git a/idea/testData/editor/optimizeImports/Enums.kt.after b/idea/testData/editor/optimizeImports/common/Enums.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/Enums.kt.after rename to idea/testData/editor/optimizeImports/common/Enums.kt.after diff --git a/idea/testData/editor/optimizeImports/Enums.kt.log b/idea/testData/editor/optimizeImports/common/Enums.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/Enums.kt.log rename to idea/testData/editor/optimizeImports/common/Enums.kt.log diff --git a/idea/testData/editor/optimizeImports/InvokeFunction.dependency.kt b/idea/testData/editor/optimizeImports/common/InvokeFunction.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/InvokeFunction.dependency.kt rename to idea/testData/editor/optimizeImports/common/InvokeFunction.dependency.kt diff --git a/idea/testData/editor/optimizeImports/InvokeFunction.kt b/idea/testData/editor/optimizeImports/common/InvokeFunction.kt similarity index 100% rename from idea/testData/editor/optimizeImports/InvokeFunction.kt rename to idea/testData/editor/optimizeImports/common/InvokeFunction.kt diff --git a/idea/testData/editor/optimizeImports/InvokeFunction.kt.after b/idea/testData/editor/optimizeImports/common/InvokeFunction.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/InvokeFunction.kt.after rename to idea/testData/editor/optimizeImports/common/InvokeFunction.kt.after diff --git a/idea/testData/editor/optimizeImports/IteratorFunction.dependency.kt b/idea/testData/editor/optimizeImports/common/IteratorFunction.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/IteratorFunction.dependency.kt rename to idea/testData/editor/optimizeImports/common/IteratorFunction.dependency.kt diff --git a/idea/testData/editor/optimizeImports/IteratorFunction.kt b/idea/testData/editor/optimizeImports/common/IteratorFunction.kt similarity index 100% rename from idea/testData/editor/optimizeImports/IteratorFunction.kt rename to idea/testData/editor/optimizeImports/common/IteratorFunction.kt diff --git a/idea/testData/editor/optimizeImports/IteratorFunction.kt.after b/idea/testData/editor/optimizeImports/common/IteratorFunction.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/IteratorFunction.kt.after rename to idea/testData/editor/optimizeImports/common/IteratorFunction.kt.after diff --git a/idea/testData/editor/optimizeImports/KT11640.dependency.kt b/idea/testData/editor/optimizeImports/common/KT11640.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640.dependency.kt rename to idea/testData/editor/optimizeImports/common/KT11640.dependency.kt diff --git a/idea/testData/editor/optimizeImports/KT11640.kt b/idea/testData/editor/optimizeImports/common/KT11640.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640.kt rename to idea/testData/editor/optimizeImports/common/KT11640.kt diff --git a/idea/testData/editor/optimizeImports/KT11640.kt.after b/idea/testData/editor/optimizeImports/common/KT11640.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640.kt.after rename to idea/testData/editor/optimizeImports/common/KT11640.kt.after diff --git a/idea/testData/editor/optimizeImports/KT11640.kt.log b/idea/testData/editor/optimizeImports/common/KT11640.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640.kt.log rename to idea/testData/editor/optimizeImports/common/KT11640.kt.log diff --git a/idea/testData/editor/optimizeImports/KT11640_1.dependency.kt b/idea/testData/editor/optimizeImports/common/KT11640_1.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640_1.dependency.kt rename to idea/testData/editor/optimizeImports/common/KT11640_1.dependency.kt diff --git a/idea/testData/editor/optimizeImports/KT11640_1.kt b/idea/testData/editor/optimizeImports/common/KT11640_1.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640_1.kt rename to idea/testData/editor/optimizeImports/common/KT11640_1.kt diff --git a/idea/testData/editor/optimizeImports/KT11640_1.kt.after b/idea/testData/editor/optimizeImports/common/KT11640_1.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640_1.kt.after rename to idea/testData/editor/optimizeImports/common/KT11640_1.kt.after diff --git a/idea/testData/editor/optimizeImports/KT11640_1.kt.log b/idea/testData/editor/optimizeImports/common/KT11640_1.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/KT11640_1.kt.log rename to idea/testData/editor/optimizeImports/common/KT11640_1.kt.log diff --git a/idea/testData/editor/optimizeImports/TypeAliasUsage.kt b/idea/testData/editor/optimizeImports/common/KT13689.kt similarity index 100% rename from idea/testData/editor/optimizeImports/TypeAliasUsage.kt rename to idea/testData/editor/optimizeImports/common/KT13689.kt diff --git a/idea/testData/editor/optimizeImports/TypeAliasUsage.kt.after b/idea/testData/editor/optimizeImports/common/KT13689.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/TypeAliasUsage.kt.after rename to idea/testData/editor/optimizeImports/common/KT13689.kt.after diff --git a/idea/testData/editor/optimizeImports/KT9875.kt b/idea/testData/editor/optimizeImports/common/KT9875.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KT9875.kt rename to idea/testData/editor/optimizeImports/common/KT9875.kt diff --git a/idea/testData/editor/optimizeImports/KT9875.kt.after b/idea/testData/editor/optimizeImports/common/KT9875.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/KT9875.kt.after rename to idea/testData/editor/optimizeImports/common/KT9875.kt.after diff --git a/idea/testData/editor/optimizeImports/KT9875.kt.log b/idea/testData/editor/optimizeImports/common/KT9875.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/KT9875.kt.log rename to idea/testData/editor/optimizeImports/common/KT9875.kt.log diff --git a/idea/testData/editor/optimizeImports/KeywordNames.dependency.kt b/idea/testData/editor/optimizeImports/common/KeywordNames.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KeywordNames.dependency.kt rename to idea/testData/editor/optimizeImports/common/KeywordNames.dependency.kt diff --git a/idea/testData/editor/optimizeImports/KeywordNames.kt b/idea/testData/editor/optimizeImports/common/KeywordNames.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KeywordNames.kt rename to idea/testData/editor/optimizeImports/common/KeywordNames.kt diff --git a/idea/testData/editor/optimizeImports/KeywordNames.kt.after b/idea/testData/editor/optimizeImports/common/KeywordNames.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/KeywordNames.kt.after rename to idea/testData/editor/optimizeImports/common/KeywordNames.kt.after diff --git a/idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt b/idea/testData/editor/optimizeImports/common/Kt2488EnumEntry.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt rename to idea/testData/editor/optimizeImports/common/Kt2488EnumEntry.kt diff --git a/idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt.after b/idea/testData/editor/optimizeImports/common/Kt2488EnumEntry.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt.after rename to idea/testData/editor/optimizeImports/common/Kt2488EnumEntry.kt.after diff --git a/idea/testData/editor/optimizeImports/Kt2709.kt b/idea/testData/editor/optimizeImports/common/Kt2709.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2709.kt rename to idea/testData/editor/optimizeImports/common/Kt2709.kt diff --git a/idea/testData/editor/optimizeImports/Kt2709.kt.after b/idea/testData/editor/optimizeImports/common/Kt2709.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/Kt2709.kt.after rename to idea/testData/editor/optimizeImports/common/Kt2709.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/MemberImports.dependency.kt b/idea/testData/editor/optimizeImports/common/MemberImports.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/MemberImports.dependency.kt rename to idea/testData/editor/optimizeImports/common/MemberImports.dependency.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/MemberImports.kt b/idea/testData/editor/optimizeImports/common/MemberImports.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/MemberImports.kt rename to idea/testData/editor/optimizeImports/common/MemberImports.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/MemberImports.kt.after b/idea/testData/editor/optimizeImports/common/MemberImports.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/MemberImports.kt.after rename to idea/testData/editor/optimizeImports/common/MemberImports.kt.after diff --git a/idea/testData/editor/optimizeImports/MembersInScope.kt b/idea/testData/editor/optimizeImports/common/MembersInScope.kt similarity index 100% rename from idea/testData/editor/optimizeImports/MembersInScope.kt rename to idea/testData/editor/optimizeImports/common/MembersInScope.kt diff --git a/idea/testData/editor/optimizeImports/MembersInScope.kt.after b/idea/testData/editor/optimizeImports/common/MembersInScope.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/MembersInScope.kt.after rename to idea/testData/editor/optimizeImports/common/MembersInScope.kt.after diff --git a/idea/testData/editor/optimizeImports/NestedClassReferenceOutsideClassBody.kt b/idea/testData/editor/optimizeImports/common/NestedClassReferenceOutsideClassBody.kt similarity index 100% rename from idea/testData/editor/optimizeImports/NestedClassReferenceOutsideClassBody.kt rename to idea/testData/editor/optimizeImports/common/NestedClassReferenceOutsideClassBody.kt diff --git a/idea/testData/editor/optimizeImports/NestedClassReferenceOutsideClassBody.kt.after b/idea/testData/editor/optimizeImports/common/NestedClassReferenceOutsideClassBody.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/NestedClassReferenceOutsideClassBody.kt.after rename to idea/testData/editor/optimizeImports/common/NestedClassReferenceOutsideClassBody.kt.after diff --git a/idea/testData/editor/optimizeImports/Overloads.dependency1.kt b/idea/testData/editor/optimizeImports/common/Overloads.dependency1.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Overloads.dependency1.kt rename to idea/testData/editor/optimizeImports/common/Overloads.dependency1.kt diff --git a/idea/testData/editor/optimizeImports/Overloads.dependency2.kt b/idea/testData/editor/optimizeImports/common/Overloads.dependency2.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Overloads.dependency2.kt rename to idea/testData/editor/optimizeImports/common/Overloads.dependency2.kt diff --git a/idea/testData/editor/optimizeImports/Overloads.kt b/idea/testData/editor/optimizeImports/common/Overloads.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Overloads.kt rename to idea/testData/editor/optimizeImports/common/Overloads.kt diff --git a/idea/testData/editor/optimizeImports/Overloads.kt.after b/idea/testData/editor/optimizeImports/common/Overloads.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/Overloads.kt.after rename to idea/testData/editor/optimizeImports/common/Overloads.kt.after diff --git a/idea/testData/editor/optimizeImports/Overloads.kt.log b/idea/testData/editor/optimizeImports/common/Overloads.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/Overloads.kt.log rename to idea/testData/editor/optimizeImports/common/Overloads.kt.log diff --git a/idea/testData/editor/optimizeImports/TwoConstructors.dependency1.kt b/idea/testData/editor/optimizeImports/common/TwoConstructors.dependency1.kt similarity index 100% rename from idea/testData/editor/optimizeImports/TwoConstructors.dependency1.kt rename to idea/testData/editor/optimizeImports/common/TwoConstructors.dependency1.kt diff --git a/idea/testData/editor/optimizeImports/TwoConstructors.dependency2.kt b/idea/testData/editor/optimizeImports/common/TwoConstructors.dependency2.kt similarity index 100% rename from idea/testData/editor/optimizeImports/TwoConstructors.dependency2.kt rename to idea/testData/editor/optimizeImports/common/TwoConstructors.dependency2.kt diff --git a/idea/testData/editor/optimizeImports/TwoConstructors.kt b/idea/testData/editor/optimizeImports/common/TwoConstructors.kt similarity index 100% rename from idea/testData/editor/optimizeImports/TwoConstructors.kt rename to idea/testData/editor/optimizeImports/common/TwoConstructors.kt diff --git a/idea/testData/editor/optimizeImports/TwoConstructors.kt.after b/idea/testData/editor/optimizeImports/common/TwoConstructors.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/TwoConstructors.kt.after rename to idea/testData/editor/optimizeImports/common/TwoConstructors.kt.after diff --git a/idea/testData/editor/optimizeImports/TwoConstructors.kt.log b/idea/testData/editor/optimizeImports/common/TwoConstructors.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/TwoConstructors.kt.log rename to idea/testData/editor/optimizeImports/common/TwoConstructors.kt.log diff --git a/idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt b/idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt new file mode 100644 index 00000000000..23c3ef723c2 --- /dev/null +++ b/idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt @@ -0,0 +1,5 @@ +import kotlin.Any + +fun foo(): Any { + throw UnsupportedOperationException() +} \ No newline at end of file diff --git a/idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt.after b/idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt.after new file mode 100644 index 00000000000..27c7029047d --- /dev/null +++ b/idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt.after @@ -0,0 +1,3 @@ +fun foo(): Any { + throw UnsupportedOperationException() +} \ No newline at end of file diff --git a/idea/testData/editor/optimizeImports/DefaultJsImports.kt b/idea/testData/editor/optimizeImports/js/DefaultJsImports.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DefaultJsImports.kt rename to idea/testData/editor/optimizeImports/js/DefaultJsImports.kt diff --git a/idea/testData/editor/optimizeImports/DefaultJsImports.kt.after b/idea/testData/editor/optimizeImports/js/DefaultJsImports.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/DefaultJsImports.kt.after rename to idea/testData/editor/optimizeImports/js/DefaultJsImports.kt.after diff --git a/idea/testData/editor/optimizeImports/AlreadyOptimized.kt b/idea/testData/editor/optimizeImports/jvm/AlreadyOptimized.kt similarity index 100% rename from idea/testData/editor/optimizeImports/AlreadyOptimized.kt rename to idea/testData/editor/optimizeImports/jvm/AlreadyOptimized.kt diff --git a/idea/testData/editor/optimizeImports/AlreadyOptimized.kt.after b/idea/testData/editor/optimizeImports/jvm/AlreadyOptimized.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/AlreadyOptimized.kt.after rename to idea/testData/editor/optimizeImports/jvm/AlreadyOptimized.kt.after diff --git a/idea/testData/editor/optimizeImports/CallableReference.kt b/idea/testData/editor/optimizeImports/jvm/CallableReference.kt similarity index 100% rename from idea/testData/editor/optimizeImports/CallableReference.kt rename to idea/testData/editor/optimizeImports/jvm/CallableReference.kt diff --git a/idea/testData/editor/optimizeImports/CallableReference.kt.after b/idea/testData/editor/optimizeImports/jvm/CallableReference.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/CallableReference.kt.after rename to idea/testData/editor/optimizeImports/jvm/CallableReference.kt.after diff --git a/idea/testData/editor/optimizeImports/CallableReference2.kt b/idea/testData/editor/optimizeImports/jvm/CallableReference2.kt similarity index 100% rename from idea/testData/editor/optimizeImports/CallableReference2.kt rename to idea/testData/editor/optimizeImports/jvm/CallableReference2.kt diff --git a/idea/testData/editor/optimizeImports/CallableReference2.kt.after b/idea/testData/editor/optimizeImports/jvm/CallableReference2.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/CallableReference2.kt.after rename to idea/testData/editor/optimizeImports/jvm/CallableReference2.kt.after diff --git a/idea/testData/editor/optimizeImports/ClassFromSameFileImportAddedBug.kt b/idea/testData/editor/optimizeImports/jvm/ClassFromSameFileImportAddedBug.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ClassFromSameFileImportAddedBug.kt rename to idea/testData/editor/optimizeImports/jvm/ClassFromSameFileImportAddedBug.kt diff --git a/idea/testData/editor/optimizeImports/ClassFromSameFileImportAddedBug.kt.after b/idea/testData/editor/optimizeImports/jvm/ClassFromSameFileImportAddedBug.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/ClassFromSameFileImportAddedBug.kt.after rename to idea/testData/editor/optimizeImports/jvm/ClassFromSameFileImportAddedBug.kt.after diff --git a/idea/testData/editor/optimizeImports/DoNotTouchIfNoChanges.kt b/idea/testData/editor/optimizeImports/jvm/DoNotTouchIfNoChanges.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DoNotTouchIfNoChanges.kt rename to idea/testData/editor/optimizeImports/jvm/DoNotTouchIfNoChanges.kt diff --git a/idea/testData/editor/optimizeImports/DoNotTouchIfNoChanges.kt.after b/idea/testData/editor/optimizeImports/jvm/DoNotTouchIfNoChanges.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/DoNotTouchIfNoChanges.kt.after rename to idea/testData/editor/optimizeImports/jvm/DoNotTouchIfNoChanges.kt.after diff --git a/idea/testData/editor/optimizeImports/DuplicatedImports.kt b/idea/testData/editor/optimizeImports/jvm/DuplicatedImports.kt similarity index 100% rename from idea/testData/editor/optimizeImports/DuplicatedImports.kt rename to idea/testData/editor/optimizeImports/jvm/DuplicatedImports.kt diff --git a/idea/testData/editor/optimizeImports/DuplicatedImports.kt.after b/idea/testData/editor/optimizeImports/jvm/DuplicatedImports.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/DuplicatedImports.kt.after rename to idea/testData/editor/optimizeImports/jvm/DuplicatedImports.kt.after diff --git a/idea/testData/editor/optimizeImports/FromCompanionObject.kt b/idea/testData/editor/optimizeImports/jvm/FromCompanionObject.kt similarity index 100% rename from idea/testData/editor/optimizeImports/FromCompanionObject.kt rename to idea/testData/editor/optimizeImports/jvm/FromCompanionObject.kt diff --git a/idea/testData/editor/optimizeImports/FromCompanionObject.kt.after b/idea/testData/editor/optimizeImports/jvm/FromCompanionObject.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/FromCompanionObject.kt.after rename to idea/testData/editor/optimizeImports/jvm/FromCompanionObject.kt.after diff --git a/idea/testData/editor/optimizeImports/FromCompanionObjectGeneric.kt b/idea/testData/editor/optimizeImports/jvm/FromCompanionObjectGeneric.kt similarity index 100% rename from idea/testData/editor/optimizeImports/FromCompanionObjectGeneric.kt rename to idea/testData/editor/optimizeImports/jvm/FromCompanionObjectGeneric.kt diff --git a/idea/testData/editor/optimizeImports/FromCompanionObjectGeneric.kt.after b/idea/testData/editor/optimizeImports/jvm/FromCompanionObjectGeneric.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/FromCompanionObjectGeneric.kt.after rename to idea/testData/editor/optimizeImports/jvm/FromCompanionObjectGeneric.kt.after diff --git a/idea/testData/editor/optimizeImports/FromCompanionObjectGeneric.kt.log b/idea/testData/editor/optimizeImports/jvm/FromCompanionObjectGeneric.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/FromCompanionObjectGeneric.kt.log rename to idea/testData/editor/optimizeImports/jvm/FromCompanionObjectGeneric.kt.log diff --git a/idea/testData/editor/optimizeImports/JavaStaticField.dependency.java b/idea/testData/editor/optimizeImports/jvm/JavaStaticField.dependency.java similarity index 100% rename from idea/testData/editor/optimizeImports/JavaStaticField.dependency.java rename to idea/testData/editor/optimizeImports/jvm/JavaStaticField.dependency.java diff --git a/idea/testData/editor/optimizeImports/JavaStaticField.kt b/idea/testData/editor/optimizeImports/jvm/JavaStaticField.kt similarity index 100% rename from idea/testData/editor/optimizeImports/JavaStaticField.kt rename to idea/testData/editor/optimizeImports/jvm/JavaStaticField.kt diff --git a/idea/testData/editor/optimizeImports/JavaStaticField.kt.after b/idea/testData/editor/optimizeImports/jvm/JavaStaticField.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/JavaStaticField.kt.after rename to idea/testData/editor/optimizeImports/jvm/JavaStaticField.kt.after diff --git a/idea/testData/editor/optimizeImports/KDocReference.kt b/idea/testData/editor/optimizeImports/jvm/KDocReference.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KDocReference.kt rename to idea/testData/editor/optimizeImports/jvm/KDocReference.kt diff --git a/idea/testData/editor/optimizeImports/KDocReference.kt.after b/idea/testData/editor/optimizeImports/jvm/KDocReference.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/KDocReference.kt.after rename to idea/testData/editor/optimizeImports/jvm/KDocReference.kt.after diff --git a/idea/testData/editor/optimizeImports/KT10226.kt b/idea/testData/editor/optimizeImports/jvm/KT10226.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KT10226.kt rename to idea/testData/editor/optimizeImports/jvm/KT10226.kt diff --git a/idea/testData/editor/optimizeImports/KT10226.kt.after b/idea/testData/editor/optimizeImports/jvm/KT10226.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/KT10226.kt.after rename to idea/testData/editor/optimizeImports/jvm/KT10226.kt.after diff --git a/idea/testData/editor/optimizeImports/KT13766.kt b/idea/testData/editor/optimizeImports/jvm/KT13766.kt similarity index 100% rename from idea/testData/editor/optimizeImports/KT13766.kt rename to idea/testData/editor/optimizeImports/jvm/KT13766.kt diff --git a/idea/testData/editor/optimizeImports/KT13766.kt.after b/idea/testData/editor/optimizeImports/jvm/KT13766.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/KT13766.kt.after rename to idea/testData/editor/optimizeImports/jvm/KT13766.kt.after diff --git a/idea/testData/editor/optimizeImports/Kt1850FullQualified.kt b/idea/testData/editor/optimizeImports/jvm/Kt1850FullQualified.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850FullQualified.kt rename to idea/testData/editor/optimizeImports/jvm/Kt1850FullQualified.kt diff --git a/idea/testData/editor/optimizeImports/Kt1850FullQualified.kt.after b/idea/testData/editor/optimizeImports/jvm/Kt1850FullQualified.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850FullQualified.kt.after rename to idea/testData/editor/optimizeImports/jvm/Kt1850FullQualified.kt.after diff --git a/idea/testData/editor/optimizeImports/Kt1850InnerClass.kt b/idea/testData/editor/optimizeImports/jvm/Kt1850InnerClass.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850InnerClass.kt rename to idea/testData/editor/optimizeImports/jvm/Kt1850InnerClass.kt diff --git a/idea/testData/editor/optimizeImports/Kt1850InnerClass.kt.after b/idea/testData/editor/optimizeImports/jvm/Kt1850InnerClass.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/Kt1850InnerClass.kt.after rename to idea/testData/editor/optimizeImports/jvm/Kt1850InnerClass.kt.after diff --git a/idea/testData/editor/optimizeImports/NestedClassInObject.kt b/idea/testData/editor/optimizeImports/jvm/NestedClassInObject.kt similarity index 100% rename from idea/testData/editor/optimizeImports/NestedClassInObject.kt rename to idea/testData/editor/optimizeImports/jvm/NestedClassInObject.kt diff --git a/idea/testData/editor/optimizeImports/NestedClassInObject.kt.after b/idea/testData/editor/optimizeImports/jvm/NestedClassInObject.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/NestedClassInObject.kt.after rename to idea/testData/editor/optimizeImports/jvm/NestedClassInObject.kt.after diff --git a/idea/testData/editor/optimizeImports/Operators.dependency.kt b/idea/testData/editor/optimizeImports/jvm/Operators.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Operators.dependency.kt rename to idea/testData/editor/optimizeImports/jvm/Operators.dependency.kt diff --git a/idea/testData/editor/optimizeImports/Operators.kt b/idea/testData/editor/optimizeImports/jvm/Operators.kt similarity index 100% rename from idea/testData/editor/optimizeImports/Operators.kt rename to idea/testData/editor/optimizeImports/jvm/Operators.kt diff --git a/idea/testData/editor/optimizeImports/Operators.kt.after b/idea/testData/editor/optimizeImports/jvm/Operators.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/Operators.kt.after rename to idea/testData/editor/optimizeImports/jvm/Operators.kt.after diff --git a/idea/testData/editor/optimizeImports/PlusAndPlusAssign.dependency1.kt b/idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.dependency1.kt similarity index 100% rename from idea/testData/editor/optimizeImports/PlusAndPlusAssign.dependency1.kt rename to idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.dependency1.kt diff --git a/idea/testData/editor/optimizeImports/PlusAndPlusAssign.dependency2.kt b/idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.dependency2.kt similarity index 100% rename from idea/testData/editor/optimizeImports/PlusAndPlusAssign.dependency2.kt rename to idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.dependency2.kt diff --git a/idea/testData/editor/optimizeImports/PlusAndPlusAssign.kt b/idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.kt similarity index 100% rename from idea/testData/editor/optimizeImports/PlusAndPlusAssign.kt rename to idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.kt diff --git a/idea/testData/editor/optimizeImports/PlusAndPlusAssign.kt.after b/idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/PlusAndPlusAssign.kt.after rename to idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.kt.after diff --git a/idea/testData/editor/optimizeImports/PlusAndPlusAssign.kt.log b/idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.kt.log similarity index 100% rename from idea/testData/editor/optimizeImports/PlusAndPlusAssign.kt.log rename to idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.kt.log diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt b/idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneral.kt similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt rename to idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneral.kt diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt.after b/idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneral.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt.after rename to idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneral.kt.after diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt b/idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneralBefore.kt similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt rename to idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneralBefore.kt diff --git a/idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt.after b/idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneralBefore.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt.after rename to idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneralBefore.kt.after diff --git a/idea/testData/editor/optimizeImports/SamConstructor.kt b/idea/testData/editor/optimizeImports/jvm/SamConstructor.kt similarity index 100% rename from idea/testData/editor/optimizeImports/SamConstructor.kt rename to idea/testData/editor/optimizeImports/jvm/SamConstructor.kt diff --git a/idea/testData/editor/optimizeImports/SamConstructor.kt.after b/idea/testData/editor/optimizeImports/jvm/SamConstructor.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/SamConstructor.kt.after rename to idea/testData/editor/optimizeImports/jvm/SamConstructor.kt.after diff --git a/idea/testData/editor/optimizeImports/StaticMethodFromSuper.kt b/idea/testData/editor/optimizeImports/jvm/StaticMethodFromSuper.kt similarity index 100% rename from idea/testData/editor/optimizeImports/StaticMethodFromSuper.kt rename to idea/testData/editor/optimizeImports/jvm/StaticMethodFromSuper.kt diff --git a/idea/testData/editor/optimizeImports/StaticMethodFromSuper.kt.after b/idea/testData/editor/optimizeImports/jvm/StaticMethodFromSuper.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/StaticMethodFromSuper.kt.after rename to idea/testData/editor/optimizeImports/jvm/StaticMethodFromSuper.kt.after diff --git a/idea/testData/editor/optimizeImports/ThisAndSuper.dependency.kt b/idea/testData/editor/optimizeImports/jvm/ThisAndSuper.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ThisAndSuper.dependency.kt rename to idea/testData/editor/optimizeImports/jvm/ThisAndSuper.dependency.kt diff --git a/idea/testData/editor/optimizeImports/ThisAndSuper.kt b/idea/testData/editor/optimizeImports/jvm/ThisAndSuper.kt similarity index 100% rename from idea/testData/editor/optimizeImports/ThisAndSuper.kt rename to idea/testData/editor/optimizeImports/jvm/ThisAndSuper.kt diff --git a/idea/testData/editor/optimizeImports/ThisAndSuper.kt.after b/idea/testData/editor/optimizeImports/jvm/ThisAndSuper.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/ThisAndSuper.kt.after rename to idea/testData/editor/optimizeImports/jvm/ThisAndSuper.kt.after diff --git a/idea/testData/editor/optimizeImports/TrivialAlias.kt b/idea/testData/editor/optimizeImports/jvm/TrivialAlias.kt similarity index 100% rename from idea/testData/editor/optimizeImports/TrivialAlias.kt rename to idea/testData/editor/optimizeImports/jvm/TrivialAlias.kt diff --git a/idea/testData/editor/optimizeImports/TrivialAlias.kt.after b/idea/testData/editor/optimizeImports/jvm/TrivialAlias.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/TrivialAlias.kt.after rename to idea/testData/editor/optimizeImports/jvm/TrivialAlias.kt.after diff --git a/idea/testData/editor/optimizeImports/UnusedImports.kt b/idea/testData/editor/optimizeImports/jvm/UnusedImports.kt similarity index 100% rename from idea/testData/editor/optimizeImports/UnusedImports.kt rename to idea/testData/editor/optimizeImports/jvm/UnusedImports.kt diff --git a/idea/testData/editor/optimizeImports/UnusedImports.kt.after b/idea/testData/editor/optimizeImports/jvm/UnusedImports.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/UnusedImports.kt.after rename to idea/testData/editor/optimizeImports/jvm/UnusedImports.kt.after diff --git a/idea/testData/editor/optimizeImports/WithAliases.kt b/idea/testData/editor/optimizeImports/jvm/WithAliases.kt similarity index 100% rename from idea/testData/editor/optimizeImports/WithAliases.kt rename to idea/testData/editor/optimizeImports/jvm/WithAliases.kt diff --git a/idea/testData/editor/optimizeImports/WithAliases.kt.after b/idea/testData/editor/optimizeImports/jvm/WithAliases.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/WithAliases.kt.after rename to idea/testData/editor/optimizeImports/jvm/WithAliases.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict2.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict2.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict2.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict2.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage2.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage2.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithDefault.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithDefault.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithDefault.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithDefault.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.dependency.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/NameCountSetting.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.dependency.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/NameCountSetting.dependency.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/NameCountSetting.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/NameCountSetting.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/NameCountSetting.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/NameCountSetting.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/PackagesToUseStarImport.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/PackagesToUseStarImport.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/PackagesToUseStarImport.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/PackagesToUseStarImport.kt.after diff --git a/idea/testData/editor/optimizeImports/allUnderImports/Simple.dependency.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/Simple.dependency.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/Simple.dependency.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/Simple.dependency.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt b/idea/testData/editor/optimizeImports/jvm/allUnderImports/Simple.kt similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/Simple.kt rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/Simple.kt diff --git a/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt.after b/idea/testData/editor/optimizeImports/jvm/allUnderImports/Simple.kt.after similarity index 100% rename from idea/testData/editor/optimizeImports/allUnderImports/Simple.kt.after rename to idea/testData/editor/optimizeImports/jvm/allUnderImports/Simple.kt.after diff --git a/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt b/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt index 49341c93361..9fb39f46783 100644 --- a/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt @@ -18,9 +18,11 @@ package org.jetbrains.kotlin import com.intellij.psi.codeStyle.CodeStyleSettingsManager import com.intellij.psi.codeStyle.PackageEntry +import com.intellij.testFramework.LightProjectDescriptor import junit.framework.TestCase import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase +import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.psi.KtFile @@ -30,7 +32,7 @@ import java.io.File abstract class AbstractImportsTest : KotlinLightCodeInsightFixtureTestCase() { override fun getTestDataPath() = KotlinTestUtils.getHomeDirectory() - override fun getProjectDescriptor() = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE + override fun getProjectDescriptor(): LightProjectDescriptor = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE protected fun doTest(testPath: String) { val settingManager = CodeStyleSettingsManager.getInstance() diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt b/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt index 1b0d726c993..90ffc0de807 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.idea.imports import org.jetbrains.kotlin.AbstractImportsTest +import org.jetbrains.kotlin.idea.test.KotlinStdJSProjectDescriptor import org.jetbrains.kotlin.psi.KtFile abstract class AbstractOptimizeImportsTest() : AbstractImportsTest() { @@ -34,3 +35,9 @@ abstract class AbstractOptimizeImportsTest() : AbstractImportsTest() { override val nameCountToUseStarImportDefault: Int get() = Integer.MAX_VALUE } + +abstract class AbstractJvmOptimizeImportsTest : AbstractOptimizeImportsTest() + +abstract class AbstractJsOptimizeImportsTest : AbstractOptimizeImportsTest() { + override fun getProjectDescriptor() = KotlinStdJSProjectDescriptor.instance +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java new file mode 100644 index 00000000000..b6dde8ee71c --- /dev/null +++ b/idea/tests/org/jetbrains/kotlin/idea/imports/JsOptimizeImportsTestGenerated.java @@ -0,0 +1,181 @@ +/* + * Copyright 2010-2016 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.imports; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@RunWith(JUnit3RunnerWithInners.class) +public class JsOptimizeImportsTestGenerated extends AbstractJsOptimizeImportsTest { + @TestMetadata("idea/testData/editor/optimizeImports/js") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Js extends AbstractJsOptimizeImportsTest { + public void testAllFilesPresentInJs() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports/js"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("DefaultJsImports.kt") + public void testDefaultJsImports() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/js/DefaultJsImports.kt"); + doTest(fileName); + } + } + + @TestMetadata("idea/testData/editor/optimizeImports/common") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Common extends AbstractJsOptimizeImportsTest { + public void testAllFilesPresentInCommon() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports/common"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("ArrayAccessExpression.kt") + public void testArrayAccessExpression() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/ArrayAccessExpression.kt"); + doTest(fileName); + } + + @TestMetadata("ClassMemberImported.kt") + public void testClassMemberImported() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/ClassMemberImported.kt"); + doTest(fileName); + } + + @TestMetadata("ComponentFunction.kt") + public void testComponentFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/ComponentFunction.kt"); + doTest(fileName); + } + + @TestMetadata("CurrentPackage.kt") + public void testCurrentPackage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/CurrentPackage.kt"); + doTest(fileName); + } + + @TestMetadata("DefaultObjectReference.kt") + public void testDefaultObjectReference() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/DefaultObjectReference.kt"); + doTest(fileName); + } + + @TestMetadata("Enums.kt") + public void testEnums() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Enums.kt"); + doTest(fileName); + } + + @TestMetadata("InvokeFunction.kt") + public void testInvokeFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/InvokeFunction.kt"); + doTest(fileName); + } + + @TestMetadata("IteratorFunction.kt") + public void testIteratorFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/IteratorFunction.kt"); + doTest(fileName); + } + + @TestMetadata("KT11640.kt") + public void testKT11640() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT11640.kt"); + doTest(fileName); + } + + @TestMetadata("KT11640_1.kt") + public void testKT11640_1() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT11640_1.kt"); + doTest(fileName); + } + + @TestMetadata("KT13689.kt") + public void testKT13689() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT13689.kt"); + doTest(fileName); + } + + @TestMetadata("KT9875.kt") + public void testKT9875() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT9875.kt"); + doTest(fileName); + } + + @TestMetadata("KeywordNames.kt") + public void testKeywordNames() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KeywordNames.kt"); + doTest(fileName); + } + + @TestMetadata("Kt2488EnumEntry.kt") + public void testKt2488EnumEntry() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Kt2488EnumEntry.kt"); + doTest(fileName); + } + + @TestMetadata("Kt2709.kt") + public void testKt2709() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Kt2709.kt"); + doTest(fileName); + } + + @TestMetadata("MemberImports.kt") + public void testMemberImports() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/MemberImports.kt"); + doTest(fileName); + } + + @TestMetadata("MembersInScope.kt") + public void testMembersInScope() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/MembersInScope.kt"); + doTest(fileName); + } + + @TestMetadata("NestedClassReferenceOutsideClassBody.kt") + public void testNestedClassReferenceOutsideClassBody() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/NestedClassReferenceOutsideClassBody.kt"); + doTest(fileName); + } + + @TestMetadata("Overloads.kt") + public void testOverloads() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Overloads.kt"); + doTest(fileName); + } + + @TestMetadata("TwoConstructors.kt") + public void testTwoConstructors() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/TwoConstructors.kt"); + doTest(fileName); + } + + @TestMetadata("TypeAliasUsage.kt") + public void testTypeAliasUsage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt"); + doTest(fileName); + } + } +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/JvmOptimizeImportsTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/imports/JvmOptimizeImportsTestGenerated.java new file mode 100644 index 00000000000..0fc633c0ce5 --- /dev/null +++ b/idea/tests/org/jetbrains/kotlin/idea/imports/JvmOptimizeImportsTestGenerated.java @@ -0,0 +1,382 @@ +/* + * Copyright 2010-2016 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.imports; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; +import org.jetbrains.kotlin.test.KotlinTestUtils; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.runner.RunWith; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@RunWith(JUnit3RunnerWithInners.class) +public class JvmOptimizeImportsTestGenerated extends AbstractJvmOptimizeImportsTest { + @TestMetadata("idea/testData/editor/optimizeImports/jvm") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Jvm extends AbstractJvmOptimizeImportsTest { + public void testAllFilesPresentInJvm() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports/jvm"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("AlreadyOptimized.kt") + public void testAlreadyOptimized() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/AlreadyOptimized.kt"); + doTest(fileName); + } + + @TestMetadata("CallableReference.kt") + public void testCallableReference() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/CallableReference.kt"); + doTest(fileName); + } + + @TestMetadata("CallableReference2.kt") + public void testCallableReference2() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/CallableReference2.kt"); + doTest(fileName); + } + + @TestMetadata("ClassFromSameFileImportAddedBug.kt") + public void testClassFromSameFileImportAddedBug() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/ClassFromSameFileImportAddedBug.kt"); + doTest(fileName); + } + + @TestMetadata("DoNotTouchIfNoChanges.kt") + public void testDoNotTouchIfNoChanges() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/DoNotTouchIfNoChanges.kt"); + doTest(fileName); + } + + @TestMetadata("DuplicatedImports.kt") + public void testDuplicatedImports() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/DuplicatedImports.kt"); + doTest(fileName); + } + + @TestMetadata("FromCompanionObject.kt") + public void testFromCompanionObject() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/FromCompanionObject.kt"); + doTest(fileName); + } + + @TestMetadata("FromCompanionObjectGeneric.kt") + public void testFromCompanionObjectGeneric() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/FromCompanionObjectGeneric.kt"); + doTest(fileName); + } + + @TestMetadata("JavaStaticField.kt") + public void testJavaStaticField() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/JavaStaticField.kt"); + doTest(fileName); + } + + @TestMetadata("KDocReference.kt") + public void testKDocReference() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/KDocReference.kt"); + doTest(fileName); + } + + @TestMetadata("KT10226.kt") + public void testKT10226() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/KT10226.kt"); + doTest(fileName); + } + + @TestMetadata("KT13766.kt") + public void testKT13766() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/KT13766.kt"); + doTest(fileName); + } + + @TestMetadata("Kt1850FullQualified.kt") + public void testKt1850FullQualified() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/Kt1850FullQualified.kt"); + doTest(fileName); + } + + @TestMetadata("Kt1850InnerClass.kt") + public void testKt1850InnerClass() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/Kt1850InnerClass.kt"); + doTest(fileName); + } + + @TestMetadata("NestedClassInObject.kt") + public void testNestedClassInObject() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/NestedClassInObject.kt"); + doTest(fileName); + } + + @TestMetadata("Operators.kt") + public void testOperators() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/Operators.kt"); + doTest(fileName); + } + + @TestMetadata("PlusAndPlusAssign.kt") + public void testPlusAndPlusAssign() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/PlusAndPlusAssign.kt"); + doTest(fileName); + } + + @TestMetadata("RemoveImportsIfGeneral.kt") + public void testRemoveImportsIfGeneral() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneral.kt"); + doTest(fileName); + } + + @TestMetadata("RemoveImportsIfGeneralBefore.kt") + public void testRemoveImportsIfGeneralBefore() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/RemoveImportsIfGeneralBefore.kt"); + doTest(fileName); + } + + @TestMetadata("SamConstructor.kt") + public void testSamConstructor() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/SamConstructor.kt"); + doTest(fileName); + } + + @TestMetadata("StaticMethodFromSuper.kt") + public void testStaticMethodFromSuper() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/StaticMethodFromSuper.kt"); + doTest(fileName); + } + + @TestMetadata("ThisAndSuper.kt") + public void testThisAndSuper() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/ThisAndSuper.kt"); + doTest(fileName); + } + + @TestMetadata("TrivialAlias.kt") + public void testTrivialAlias() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/TrivialAlias.kt"); + doTest(fileName); + } + + @TestMetadata("UnusedImports.kt") + public void testUnusedImports() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/UnusedImports.kt"); + doTest(fileName); + } + + @TestMetadata("WithAliases.kt") + public void testWithAliases() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/WithAliases.kt"); + doTest(fileName); + } + + @TestMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class AllUnderImports extends AbstractJvmOptimizeImportsTest { + public void testAllFilesPresentInAllUnderImports() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports/jvm/allUnderImports"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("ClassNameConflict.kt") + public void testClassNameConflict() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict.kt"); + doTest(fileName); + } + + @TestMetadata("ClassNameConflict2.kt") + public void testClassNameConflict2() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflict2.kt"); + doTest(fileName); + } + + @TestMetadata("ClassNameConflictWithCurrentPackage.kt") + public void testClassNameConflictWithCurrentPackage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage.kt"); + doTest(fileName); + } + + @TestMetadata("ClassNameConflictWithCurrentPackage2.kt") + public void testClassNameConflictWithCurrentPackage2() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithCurrentPackage2.kt"); + doTest(fileName); + } + + @TestMetadata("ClassNameConflictWithDefault.kt") + public void testClassNameConflictWithDefault() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/ClassNameConflictWithDefault.kt"); + doTest(fileName); + } + + @TestMetadata("NameCountSetting.kt") + public void testNameCountSetting() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/NameCountSetting.kt"); + doTest(fileName); + } + + @TestMetadata("PackagesToUseStarImport.kt") + public void testPackagesToUseStarImport() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/PackagesToUseStarImport.kt"); + doTest(fileName); + } + + @TestMetadata("Simple.kt") + public void testSimple() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/jvm/allUnderImports/Simple.kt"); + doTest(fileName); + } + } + } + + @TestMetadata("idea/testData/editor/optimizeImports/common") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class Common extends AbstractJvmOptimizeImportsTest { + public void testAllFilesPresentInCommon() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports/common"), Pattern.compile("^([^.]+)\\.kt$"), true); + } + + @TestMetadata("ArrayAccessExpression.kt") + public void testArrayAccessExpression() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/ArrayAccessExpression.kt"); + doTest(fileName); + } + + @TestMetadata("ClassMemberImported.kt") + public void testClassMemberImported() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/ClassMemberImported.kt"); + doTest(fileName); + } + + @TestMetadata("ComponentFunction.kt") + public void testComponentFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/ComponentFunction.kt"); + doTest(fileName); + } + + @TestMetadata("CurrentPackage.kt") + public void testCurrentPackage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/CurrentPackage.kt"); + doTest(fileName); + } + + @TestMetadata("DefaultObjectReference.kt") + public void testDefaultObjectReference() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/DefaultObjectReference.kt"); + doTest(fileName); + } + + @TestMetadata("Enums.kt") + public void testEnums() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Enums.kt"); + doTest(fileName); + } + + @TestMetadata("InvokeFunction.kt") + public void testInvokeFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/InvokeFunction.kt"); + doTest(fileName); + } + + @TestMetadata("IteratorFunction.kt") + public void testIteratorFunction() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/IteratorFunction.kt"); + doTest(fileName); + } + + @TestMetadata("KT11640.kt") + public void testKT11640() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT11640.kt"); + doTest(fileName); + } + + @TestMetadata("KT11640_1.kt") + public void testKT11640_1() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT11640_1.kt"); + doTest(fileName); + } + + @TestMetadata("KT13689.kt") + public void testKT13689() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT13689.kt"); + doTest(fileName); + } + + @TestMetadata("KT9875.kt") + public void testKT9875() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KT9875.kt"); + doTest(fileName); + } + + @TestMetadata("KeywordNames.kt") + public void testKeywordNames() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/KeywordNames.kt"); + doTest(fileName); + } + + @TestMetadata("Kt2488EnumEntry.kt") + public void testKt2488EnumEntry() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Kt2488EnumEntry.kt"); + doTest(fileName); + } + + @TestMetadata("Kt2709.kt") + public void testKt2709() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Kt2709.kt"); + doTest(fileName); + } + + @TestMetadata("MemberImports.kt") + public void testMemberImports() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/MemberImports.kt"); + doTest(fileName); + } + + @TestMetadata("MembersInScope.kt") + public void testMembersInScope() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/MembersInScope.kt"); + doTest(fileName); + } + + @TestMetadata("NestedClassReferenceOutsideClassBody.kt") + public void testNestedClassReferenceOutsideClassBody() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/NestedClassReferenceOutsideClassBody.kt"); + doTest(fileName); + } + + @TestMetadata("Overloads.kt") + public void testOverloads() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/Overloads.kt"); + doTest(fileName); + } + + @TestMetadata("TwoConstructors.kt") + public void testTwoConstructors() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/TwoConstructors.kt"); + doTest(fileName); + } + + @TestMetadata("TypeAliasUsage.kt") + public void testTypeAliasUsage() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/common/TypeAliasUsage.kt"); + doTest(fileName); + } + } +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java deleted file mode 100644 index d7f6eb8c72e..00000000000 --- a/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java +++ /dev/null @@ -1,370 +0,0 @@ -/* - * Copyright 2010-2016 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.imports; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("idea/testData/editor/optimizeImports") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest { - public void testAllFilesPresentInOptimizeImports() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("AlreadyOptimized.kt") - public void testAlreadyOptimized() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/AlreadyOptimized.kt"); - doTest(fileName); - } - - @TestMetadata("ArrayAccessExpression.kt") - public void testArrayAccessExpression() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ArrayAccessExpression.kt"); - doTest(fileName); - } - - @TestMetadata("CallableReference.kt") - public void testCallableReference() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/CallableReference.kt"); - doTest(fileName); - } - - @TestMetadata("CallableReference2.kt") - public void testCallableReference2() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/CallableReference2.kt"); - doTest(fileName); - } - - @TestMetadata("ClassFromSameFileImportAddedBug.kt") - public void testClassFromSameFileImportAddedBug() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassFromSameFileImportAddedBug.kt"); - doTest(fileName); - } - - @TestMetadata("ClassMemberImported.kt") - public void testClassMemberImported() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassMemberImported.kt"); - doTest(fileName); - } - - @TestMetadata("ComponentFunction.kt") - public void testComponentFunction() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ComponentFunction.kt"); - doTest(fileName); - } - - @TestMetadata("CurrentPackage.kt") - public void testCurrentPackage() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/CurrentPackage.kt"); - doTest(fileName); - } - - @TestMetadata("DefaultJsImports.kt") - public void testDefaultJsImports() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DefaultJsImports.kt"); - doTest(fileName); - } - - @TestMetadata("DefaultObjectReference.kt") - public void testDefaultObjectReference() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DefaultObjectReference.kt"); - doTest(fileName); - } - - @TestMetadata("DoNotTouchIfNoChanges.kt") - public void testDoNotTouchIfNoChanges() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DoNotTouchIfNoChanges.kt"); - doTest(fileName); - } - - @TestMetadata("DuplicatedImports.kt") - public void testDuplicatedImports() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/DuplicatedImports.kt"); - doTest(fileName); - } - - @TestMetadata("Enums.kt") - public void testEnums() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Enums.kt"); - doTest(fileName); - } - - @TestMetadata("FromCompanionObject.kt") - public void testFromCompanionObject() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/FromCompanionObject.kt"); - doTest(fileName); - } - - @TestMetadata("FromCompanionObjectGeneric.kt") - public void testFromCompanionObjectGeneric() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/FromCompanionObjectGeneric.kt"); - doTest(fileName); - } - - @TestMetadata("InvokeFunction.kt") - public void testInvokeFunction() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/InvokeFunction.kt"); - doTest(fileName); - } - - @TestMetadata("IteratorFunction.kt") - public void testIteratorFunction() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/IteratorFunction.kt"); - doTest(fileName); - } - - @TestMetadata("JavaStaticField.kt") - public void testJavaStaticField() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/JavaStaticField.kt"); - doTest(fileName); - } - - @TestMetadata("KDocReference.kt") - public void testKDocReference() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KDocReference.kt"); - doTest(fileName); - } - - @TestMetadata("KT10226.kt") - public void testKT10226() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KT10226.kt"); - doTest(fileName); - } - - @TestMetadata("KT11640.kt") - public void testKT11640() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KT11640.kt"); - doTest(fileName); - } - - @TestMetadata("KT11640_1.kt") - public void testKT11640_1() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KT11640_1.kt"); - doTest(fileName); - } - - @TestMetadata("KT13766.kt") - public void testKT13766() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KT13766.kt"); - doTest(fileName); - } - - @TestMetadata("KT9875.kt") - public void testKT9875() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KT9875.kt"); - doTest(fileName); - } - - @TestMetadata("KeywordNames.kt") - public void testKeywordNames() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/KeywordNames.kt"); - doTest(fileName); - } - - @TestMetadata("Kt1850FullQualified.kt") - public void testKt1850FullQualified() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt1850FullQualified.kt"); - doTest(fileName); - } - - @TestMetadata("Kt1850InnerClass.kt") - public void testKt1850InnerClass() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt1850InnerClass.kt"); - doTest(fileName); - } - - @TestMetadata("Kt2488EnumEntry.kt") - public void testKt2488EnumEntry() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt2488EnumEntry.kt"); - doTest(fileName); - } - - @TestMetadata("Kt2709.kt") - public void testKt2709() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Kt2709.kt"); - doTest(fileName); - } - - @TestMetadata("MembersInScope.kt") - public void testMembersInScope() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/MembersInScope.kt"); - doTest(fileName); - } - - @TestMetadata("NestedClassInObject.kt") - public void testNestedClassInObject() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/NestedClassInObject.kt"); - doTest(fileName); - } - - @TestMetadata("NestedClassReferenceOutsideClassBody.kt") - public void testNestedClassReferenceOutsideClassBody() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/NestedClassReferenceOutsideClassBody.kt"); - doTest(fileName); - } - - @TestMetadata("Operators.kt") - public void testOperators() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Operators.kt"); - doTest(fileName); - } - - @TestMetadata("Overloads.kt") - public void testOverloads() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/Overloads.kt"); - doTest(fileName); - } - - @TestMetadata("PlusAndPlusAssign.kt") - public void testPlusAndPlusAssign() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/PlusAndPlusAssign.kt"); - doTest(fileName); - } - - @TestMetadata("RemoveImportsIfGeneral.kt") - public void testRemoveImportsIfGeneral() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/RemoveImportsIfGeneral.kt"); - doTest(fileName); - } - - @TestMetadata("RemoveImportsIfGeneralBefore.kt") - public void testRemoveImportsIfGeneralBefore() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/RemoveImportsIfGeneralBefore.kt"); - doTest(fileName); - } - - @TestMetadata("SamConstructor.kt") - public void testSamConstructor() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/SamConstructor.kt"); - doTest(fileName); - } - - @TestMetadata("StaticMethodFromSuper.kt") - public void testStaticMethodFromSuper() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/StaticMethodFromSuper.kt"); - doTest(fileName); - } - - @TestMetadata("ThisAndSuper.kt") - public void testThisAndSuper() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ThisAndSuper.kt"); - doTest(fileName); - } - - @TestMetadata("TrivialAlias.kt") - public void testTrivialAlias() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/TrivialAlias.kt"); - doTest(fileName); - } - - @TestMetadata("TwoConstructors.kt") - public void testTwoConstructors() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/TwoConstructors.kt"); - doTest(fileName); - } - - @TestMetadata("TypeAliasUsage.kt") - public void testTypeAliasUsage() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/TypeAliasUsage.kt"); - doTest(fileName); - } - - @TestMetadata("UnusedImports.kt") - public void testUnusedImports() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/UnusedImports.kt"); - doTest(fileName); - } - - @TestMetadata("WithAliases.kt") - public void testWithAliases() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/WithAliases.kt"); - doTest(fileName); - } - - @TestMetadata("idea/testData/editor/optimizeImports/allUnderImports") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class AllUnderImports extends AbstractOptimizeImportsTest { - public void testAllFilesPresentInAllUnderImports() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/editor/optimizeImports/allUnderImports"), Pattern.compile("^([^.]+)\\.kt$"), true); - } - - @TestMetadata("ClassNameConflict.kt") - public void testClassNameConflict() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt"); - doTest(fileName); - } - - @TestMetadata("ClassNameConflict2.kt") - public void testClassNameConflict2() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt"); - doTest(fileName); - } - - @TestMetadata("ClassNameConflictWithCurrentPackage.kt") - public void testClassNameConflictWithCurrentPackage() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt"); - doTest(fileName); - } - - @TestMetadata("ClassNameConflictWithCurrentPackage2.kt") - public void testClassNameConflictWithCurrentPackage2() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt"); - doTest(fileName); - } - - @TestMetadata("ClassNameConflictWithDefault.kt") - public void testClassNameConflictWithDefault() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt"); - doTest(fileName); - } - - @TestMetadata("MemberImports.kt") - public void testMemberImports() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/MemberImports.kt"); - doTest(fileName); - } - - @TestMetadata("NameCountSetting.kt") - public void testNameCountSetting() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt"); - doTest(fileName); - } - - @TestMetadata("PackagesToUseStarImport.kt") - public void testPackagesToUseStarImport() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt"); - doTest(fileName); - } - - @TestMetadata("Simple.kt") - public void testSimple() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/Simple.kt"); - doTest(fileName); - } - } -}