diff --git a/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt b/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt index 037cb14f138..2cecf270ccd 100644 --- a/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt @@ -170,6 +170,7 @@ public class KotlinImportOptimizer() : ImportOptimizer { val descriptors = descriptorsByPackages[packageName] val fqNames = descriptors.map { it.importableFqNameSafe }.toSet() val explicitImports = fqNames.size() < codeStyleSettings.NAME_COUNT_TO_USE_STAR_IMPORT + && packageName.asString() !in codeStyleSettings.PACKAGES_TO_USE_STAR_IMPORTS if (explicitImports) { for (fqName in fqNames) { if (!isImportedByDefault(fqName)) { diff --git a/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt b/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt new file mode 100644 index 00000000000..d5161526cbb --- /dev/null +++ b/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt @@ -0,0 +1,11 @@ +// PACKAGE_TO_USE_STAR_IMPORTS: java +// PACKAGE_TO_USE_STAR_IMPORTS: java.io +// PACKAGES_TO_USE_STAR_IMPORTS: java.util.concurrent + +import java.util.concurrent.atomic.AtomicBoolean +import java.io.File +import java.util.ArrayList + +val v1: File +val v2: AtomicBoolean +val v3: ArrayList diff --git a/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt.after new file mode 100644 index 00000000000..7624b1e1908 --- /dev/null +++ b/idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt.after @@ -0,0 +1,11 @@ +// PACKAGE_TO_USE_STAR_IMPORTS: java +// PACKAGE_TO_USE_STAR_IMPORTS: java.io +// PACKAGES_TO_USE_STAR_IMPORTS: java.util.concurrent + +import java.io.* +import java.util.ArrayList +import java.util.concurrent.atomic.* + +val v1: File +val v2: AtomicBoolean +val v3: ArrayList diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java index 64265504cc6..c1095c58203 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java @@ -253,6 +253,12 @@ public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest { doTest(fileName); } + @TestMetadata("PackagesToUseStarImport.kt") + public void testPackagesToUseStarImport() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/PackagesToUseStarImport.kt"); + doTest(fileName); + } + @TestMetadata("Simple.kt") public void testSimple() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/Simple.kt");