From 83442db408ef67c68cdf4391ad557de132bc049a Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Thu, 28 Apr 2016 13:28:29 +0300 Subject: [PATCH] Do not duplicate list of default imports --- j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt b/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt index 19005e6e665..96e28d6921d 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ast/Imports.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.builtins.DefaultBuiltIns import org.jetbrains.kotlin.j2k.* import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.platform.JavaToKotlinClassMap +import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform class Import(val name: String) : Element() { override fun generateCode(builder: CodeBuilder) { @@ -78,17 +79,15 @@ private fun Converter.filterImport(name: String, ref: PsiJavaCodeReferenceElemen else if (target is KtLightClass) { if (isFacadeClassFromLibrary(target)) return null - if (isUnderDefaultImports(target)) return null + if (isImportedByDefault(target)) return null } return name } -val DEFAULT_IMPORTS = setOf("java.lang", - "kotlin", "kotlin.annotation", "kotlin.jvm", - "kotlin.collections", "kotlin.ranges", "kotlin.sequences", - "kotlin.text", "kotlin.io") +private val DEFAULT_IMPORTS_SET: Set = JvmPlatform.defaultModuleParameters.defaultImports + .filter { it.isAllUnder } + .map { it.fqnPart() } + .toSet() -fun isUnderDefaultImports(c: KtLightClass): Boolean { - return c.getFqName().parent().asString() in DEFAULT_IMPORTS -} +private fun isImportedByDefault(c: KtLightClass) = c.getFqName().parent() in DEFAULT_IMPORTS_SET