diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/JetCodeStyleSettings.java b/idea/src/org/jetbrains/kotlin/idea/formatter/JetCodeStyleSettings.java index d23cda0deec..3d19dbb5ca3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/JetCodeStyleSettings.java +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/JetCodeStyleSettings.java @@ -42,7 +42,7 @@ public class JetCodeStyleSettings extends CustomCodeStyleSettings { public boolean LBRACE_ON_NEXT_LINE = false; - public boolean PREFER_ALL_UNDER_IMPORTS = !ApplicationManager.getApplication().isUnitTestMode(); + public int NAME_COUNT_TO_USE_STAR_IMPORT = ApplicationManager.getApplication().isUnitTestMode() ? Integer.MAX_VALUE : 5; public boolean IMPORT_PACKAGES = true; public static JetCodeStyleSettings getInstance(Project project) { diff --git a/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt b/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt index d1fb29ff2c0..008641735d0 100644 --- a/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt +++ b/idea/src/org/jetbrains/kotlin/idea/imports/KotlinImportOptimizer.kt @@ -68,76 +68,66 @@ public class KotlinImportOptimizer() : ImportOptimizer { val descriptorsToImport = detectDescriptorsToImport() val importsToGenerate = HashSet() - if (codeStyleSettings.PREFER_ALL_UNDER_IMPORTS) { - val packageNames = HashMap() // package name to symbols to import count - fun incUseCount(packageName: FqName): Int { - val count = packageNames.getOrPut(packageName, { 0 }) + 1 - packageNames.put(packageName, count) - return count + val descriptorsByPackages = HashMap>() + for (descriptor in descriptorsToImport) { + val fqName = descriptor.importableFqNameSafe + val parentFqName = fqName.parent() + if (descriptor is PackageViewDescriptor || parentFqName.isRoot()) { + importsToGenerate.add(ImportPath(fqName, false)) } - - fun decUseCount(packageName: FqName): Int { - val count = packageNames[packageName]!! - 1 - if (count > 0) { - packageNames[packageName] = count - } - else { - packageNames.remove(packageName) - } - return count - } - - val classNames = HashSet() - - val builder = StringBuilder() - builder.append("package ").append(IdeDescriptorRenderers.SOURCE_CODE.renderFqName(currentPackageName)).append("\n") - - for (descriptor in descriptorsToImport) { - val fqName = descriptor.importableFqNameSafe - val parentFqName = fqName.parent() - if (descriptor is PackageViewDescriptor || parentFqName.isRoot()) { - importsToGenerate.add(ImportPath(fqName, false)) - } - else { - val useCount = incUseCount(parentFqName) - - if (descriptor is ClassDescriptor) { - classNames.add(fqName) - } - - if (parentFqName == currentPackageName) continue // in current package - if (importInsertHelper.isImportedWithDefault(ImportPath(fqName, false), file)) continue - - if (useCount == 1) { - builder.append("import ").append(IdeDescriptorRenderers.SOURCE_CODE.renderFqName(parentFqName)).append(".*\n") - importsToGenerate.add(ImportPath(parentFqName, true)) - } - } - } - - // now check that all classes are really imported - val fileWithImports = JetPsiFactory(file).createAnalyzableFile("Dummy.kt", builder.toString(), file) - val scope = fileWithImports.getResolutionFacade().getFileTopLevelScope(fileWithImports) - for (fqName in classNames) { - if (scope.getClassifier(fqName.shortName())?.importableFqNameSafe != fqName) { - // add explicit import if failed to import with * (or from current package) - importsToGenerate.add(ImportPath(fqName, false)) - - val packageName = fqName.parent() - if (decUseCount(packageName) == 0) { // all under import is not really needed - importsToGenerate.remove(ImportPath(packageName, true)) - } - } + else { + descriptorsByPackages.getOrPut(parentFqName, { ArrayList() }).add(descriptor) } } - else { - for (descriptor in descriptorsToImport) { - val fqName = descriptor.importableFqNameSafe - if (descriptor !is PackageViewDescriptor && fqName.parent() == currentPackageName) continue // in current package - val importPath = ImportPath(fqName, false) - if (importInsertHelper.isImportedWithDefault(importPath, file)) continue - importsToGenerate.add(importPath) + + val builder = StringBuilder() + builder.append("package ").append(IdeDescriptorRenderers.SOURCE_CODE.renderFqName(currentPackageName)).append("\n") + + val classNamesToCheck = HashSet() + + for ((packageName, descriptors) in descriptorsByPackages) { + val fqNames = descriptors.map { it.importableFqNameSafe }.toSet() + val explicitImports = packageName != currentPackageName && fqNames.size() < codeStyleSettings.NAME_COUNT_TO_USE_STAR_IMPORT + if (explicitImports) { + for (fqName in fqNames) { + if (!importInsertHelper.isImportedWithDefault(ImportPath(fqName, false), file)) { + importsToGenerate.add(ImportPath(fqName, false)) + } + } + } + else { + for (descriptor in descriptors) { + if (descriptor is ClassDescriptor) { + classNamesToCheck.add(descriptor.importableFqNameSafe) + } + } + + if (packageName == currentPackageName) continue + if (fqNames.all { fqName -> importInsertHelper.isImportedWithDefault(ImportPath(fqName, false), file) }) continue + + builder.append("import ").append(IdeDescriptorRenderers.SOURCE_CODE.renderFqName(packageName)).append(".*\n") + importsToGenerate.add(ImportPath(packageName, true)) + } + } + + // now check that all classes are really imported + val fileWithImports = JetPsiFactory(file).createAnalyzableFile("Dummy.kt", builder.toString(), file) + val scope = fileWithImports.getResolutionFacade().getFileTopLevelScope(fileWithImports) + for (fqName in classNamesToCheck) { + if (scope.getClassifier(fqName.shortName())?.importableFqNameSafe != fqName) { + // add explicit import if failed to import with * (or from current package) + importsToGenerate.add(ImportPath(fqName, false)) + + val packageName = fqName.parent() + + val descriptors = descriptorsByPackages[packageName] + descriptors.removeAll(descriptors.filter { it.importableFqNameSafe == fqName }) + descriptorsByPackages[packageName] = descriptors + + if (descriptors.isEmpty()) { // star import is not really needed + importsToGenerate.remove(ImportPath(packageName, true)) + } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt b/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt index b5aa72ea6b1..09ecf1b17a5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt +++ b/idea/src/org/jetbrains/kotlin/idea/util/ImportInsertHelperImpl.kt @@ -152,7 +152,7 @@ public class ImportInsertHelperImpl(private val project: Project) : ImportInsert private val file: JetFile ) { private val resolutionFacade = file.getResolutionFacade() - private val preferAllUnderImports = JetCodeStyleSettings.getInstance(project).PREFER_ALL_UNDER_IMPORTS + private val nameCountToUseStarImport = JetCodeStyleSettings.getInstance(project).NAME_COUNT_TO_USE_STAR_IMPORT fun importDescriptor(descriptor: DeclarationDescriptor): ImportDescriptorResult { val target = descriptor.getImportableDescriptor() @@ -188,8 +188,13 @@ public class ImportInsertHelperImpl(private val project: Project) : ImportInsert val fqName = target.importableFqNameSafe val packageFqName = fqName.parent() + val importsFromPackage = imports.count { + val path = it.getImportPath() + path != null && !path.isAllUnder() && !path.hasAlias() && path.fqnPart().parent() == packageFqName + } + val allUnderImportPath = ImportPath(packageFqName, true) - val tryAllUnderImport = preferAllUnderImports + val tryAllUnderImport = importsFromPackage + 1 >= nameCountToUseStarImport && !packageFqName.isRoot() && !imports.any { it.getImportPath() == allUnderImportPath } && when (target) { diff --git a/idea/testData/addImport/NameCountForStarNotReached.kt b/idea/testData/addImport/NameCountForStarNotReached.kt new file mode 100644 index 00000000000..39d4068cd40 --- /dev/null +++ b/idea/testData/addImport/NameCountForStarNotReached.kt @@ -0,0 +1,5 @@ +// IMPORT: java.util.Date +// NAME_COUNT_TO_USE_STAR_IMPORT: 3 +package p + +import java.util.HashMap diff --git a/idea/testData/addImport/NameCountForStarNotReached.kt.after b/idea/testData/addImport/NameCountForStarNotReached.kt.after new file mode 100644 index 00000000000..5ffd2e5ba4e --- /dev/null +++ b/idea/testData/addImport/NameCountForStarNotReached.kt.after @@ -0,0 +1,6 @@ +// IMPORT: java.util.Date +// NAME_COUNT_TO_USE_STAR_IMPORT: 3 +package p + +import java.util.Date +import java.util.HashMap diff --git a/idea/testData/addImport/NameCountForStarReached.kt b/idea/testData/addImport/NameCountForStarReached.kt new file mode 100644 index 00000000000..44d2c47b23f --- /dev/null +++ b/idea/testData/addImport/NameCountForStarReached.kt @@ -0,0 +1,6 @@ +// IMPORT: java.util.Date +// NAME_COUNT_TO_USE_STAR_IMPORT: 3 +package p + +import java.util.HashMap +import java.util.ArrayList diff --git a/idea/testData/addImport/NameCountForStarReached.kt.after b/idea/testData/addImport/NameCountForStarReached.kt.after new file mode 100644 index 00000000000..3b1892c3837 --- /dev/null +++ b/idea/testData/addImport/NameCountForStarReached.kt.after @@ -0,0 +1,5 @@ +// IMPORT: java.util.Date +// NAME_COUNT_TO_USE_STAR_IMPORT: 3 +package p + +import java.util.* diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt index 925f3fbe30b..fdbdfe948af 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.util.HashMap diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt.after index d4b6c0073b1..5be0c6670db 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt.after +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict.kt.after @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.sql.Date diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt index 6023b62cf58..40729843d44 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.util.HashMap diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt.after index c902ff15f4d..2927a5d2222 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt.after +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflict2.kt.after @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.sql.* diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt index 9ef8ef1a8be..1b52ba549a5 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.util.ArrayList diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after index 97664b69f7d..48466e4791f 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage.kt.after @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.util.* diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt index 82871894459..1342bae9ab1 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.util.HashSet diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after index f2bb1888c0a..c9fe1114d1d 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithCurrentPackage2.kt.after @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.util.* diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt index 605383c3175..c747c3caee8 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.sql.Array diff --git a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt.after index e4818ef1c5d..77d3e5568ca 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt.after +++ b/idea/testData/editor/optimizeImports/allUnderImports/ClassNameConflictWithDefault.kt.after @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.sql.* diff --git a/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.dependency.kt b/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.dependency.kt new file mode 100644 index 00000000000..88eba818d5b --- /dev/null +++ b/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.dependency.kt @@ -0,0 +1,4 @@ +package dependency + +fun String.extFun() {} +fun String.extFun(p: Int) {} \ No newline at end of file diff --git a/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt b/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt new file mode 100644 index 00000000000..259f611685d --- /dev/null +++ b/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt @@ -0,0 +1,14 @@ +// NAME_COUNT_TO_USE_STAR_IMPORT: 2 +package ppp + +import java.util.HashMap +import java.util.ArrayList +import java.io.File +import java.io.PrintStream +import dependency.* + +fun foo(c: C) { + val v = HashMap>() + "".extFun() + "".extFun(1) +} diff --git a/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt.after new file mode 100644 index 00000000000..84c48331b68 --- /dev/null +++ b/idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt.after @@ -0,0 +1,12 @@ +// NAME_COUNT_TO_USE_STAR_IMPORT: 2 +package ppp + +import dependency.extFun +import java.io.File +import java.util.* + +fun foo(c: C) { + val v = HashMap>() + "".extFun() + "".extFun(1) +} diff --git a/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt b/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt index bce8af5a6d0..2ea30eb9722 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt +++ b/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.util.HashMap diff --git a/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt.after b/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt.after index 97f3d7c9bfc..4c7767ae330 100644 --- a/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt.after +++ b/idea/testData/editor/optimizeImports/allUnderImports/Simple.kt.after @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package ppp import java.io.* diff --git a/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt b/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt index 0ee7c09c966..f08cd8f9bec 100644 --- a/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt +++ b/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package foo fun foo(p: bar.Class1): bar.Class2 { } diff --git a/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt.after b/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt.after index 361ebfc9de9..7c2287971ae 100644 --- a/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt.after +++ b/idea/testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt.after @@ -1,4 +1,4 @@ -// ALL_UNDER_IMPORTS: true +// NAME_COUNT_TO_USE_STAR_IMPORT: 1 package foo import bar.* diff --git a/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt b/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt index 7b0a4e745e2..130b540c0aa 100644 --- a/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/AbstractImportsTest.kt @@ -36,7 +36,7 @@ public abstract class AbstractImportsTest : JetLightCodeInsightFixtureTestCase() val codeInsightSettings = CodeInsightSettings.getInstance() val codeStyleSettings = JetCodeStyleSettings.getInstance(getProject()) val optimizeImportsBefore = codeInsightSettings.OPTIMIZE_IMPORTS_ON_THE_FLY - val preferAllUnderBefore = codeStyleSettings.PREFER_ALL_UNDER_IMPORTS + val nameCountToUseStarBefore = codeStyleSettings.NAME_COUNT_TO_USE_STAR_IMPORT try { val fixture = myFixture @@ -54,7 +54,7 @@ public abstract class AbstractImportsTest : JetLightCodeInsightFixtureTestCase() val file = fixture.getFile() as JetFile codeInsightSettings.OPTIMIZE_IMPORTS_ON_THE_FLY = InTextDirectivesUtils.getPrefixedBoolean(file.getText(), "// OPTIMIZE_IMPORTS:") ?: false - codeStyleSettings.PREFER_ALL_UNDER_IMPORTS = InTextDirectivesUtils.getPrefixedBoolean(file.getText(), "// ALL_UNDER_IMPORTS:") ?: preferAllUnderImportsDefault + codeStyleSettings.NAME_COUNT_TO_USE_STAR_IMPORT = InTextDirectivesUtils.getPrefixedInt(file.getText(), "// NAME_COUNT_TO_USE_STAR_IMPORT:") ?: nameCountToUseStarImportDefault CommandProcessor.getInstance().executeCommand(getProject(), { ApplicationManager.getApplication()!!.runWriteAction { @@ -66,12 +66,12 @@ public abstract class AbstractImportsTest : JetLightCodeInsightFixtureTestCase() } finally { codeInsightSettings.OPTIMIZE_IMPORTS_ON_THE_FLY = optimizeImportsBefore - codeStyleSettings.PREFER_ALL_UNDER_IMPORTS = preferAllUnderBefore + codeStyleSettings.NAME_COUNT_TO_USE_STAR_IMPORT = nameCountToUseStarBefore } } protected abstract fun doTest(file: JetFile) - protected open val preferAllUnderImportsDefault: Boolean - get() = true + protected open val nameCountToUseStarImportDefault: Int + get() = 1 } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/addImport/AddImportTestGenerated.java b/idea/tests/org/jetbrains/kotlin/addImport/AddImportTestGenerated.java index d5f74dbd229..3c6e85d619f 100644 --- a/idea/tests/org/jetbrains/kotlin/addImport/AddImportTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/addImport/AddImportTestGenerated.java @@ -186,6 +186,18 @@ public class AddImportTestGenerated extends AbstractAddImportTest { doTest(fileName); } + @TestMetadata("NameCountForStarNotReached.kt") + public void testNameCountForStarNotReached() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/addImport/NameCountForStarNotReached.kt"); + doTest(fileName); + } + + @TestMetadata("NameCountForStarReached.kt") + public void testNameCountForStarReached() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/addImport/NameCountForStarReached.kt"); + doTest(fileName); + } + @TestMetadata("NoConflictingNameForInaccessibleClass1.kt") public void testNoConflictingNameForInaccessibleClass1() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/addImport/NoConflictingNameForInaccessibleClass1.kt"); diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt b/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt index 4db2bb50ed2..1bf64c48a4d 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/imports/AbstractOptimizeImportsTest.kt @@ -29,6 +29,6 @@ public abstract class AbstractOptimizeImportsTest() : AbstractImportsTest() { KotlinImportOptimizer().processFile(file).run() } - override val preferAllUnderImportsDefault: Boolean - get() = false + override val nameCountToUseStarImportDefault: Int + get() = Integer.MAX_VALUE } diff --git a/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java index 2bce88cb437..227c5bc2eda 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/imports/OptimizeImportsTestGenerated.java @@ -219,6 +219,12 @@ public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest { doTest(fileName); } + @TestMetadata("NameCountSetting.kt") + public void testNameCountSetting() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/NameCountSetting.kt"); + doTest(fileName); + } + @TestMetadata("Simple.kt") public void testSimple() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/allUnderImports/Simple.kt"); diff --git a/idea/tests/org/jetbrains/kotlin/shortenRefs/AbstractShortenRefsTest.kt b/idea/tests/org/jetbrains/kotlin/shortenRefs/AbstractShortenRefsTest.kt index 93224ef00d4..560c5add695 100644 --- a/idea/tests/org/jetbrains/kotlin/shortenRefs/AbstractShortenRefsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/shortenRefs/AbstractShortenRefsTest.kt @@ -29,6 +29,6 @@ public abstract class AbstractShortenRefsTest : AbstractImportsTest() { selectionModel.removeSelection() } - override val preferAllUnderImportsDefault: Boolean - get() = false + override val nameCountToUseStarImportDefault: Int + get() = Integer.MAX_VALUE }