Skip to content

Commit cd5f68f

Browse files
committed
Add exclusions to JS platform default imports
1 parent d0b7dc8 commit cd5f68f

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

compiler/frontend/src/org/jetbrains/kotlin/resolve/TargetPlatform.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.resolve
1919
import org.jetbrains.kotlin.container.StorageComponentContainer
2020
import org.jetbrains.kotlin.container.composeContainer
2121
import org.jetbrains.kotlin.container.useInstance
22+
import org.jetbrains.kotlin.name.FqName
2223
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
2324
import org.jetbrains.kotlin.resolve.calls.checkers.*
2425
import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator
@@ -34,6 +35,7 @@ abstract class TargetPlatform(val platformName: String) {
3435

3536
abstract val platformConfigurator: PlatformConfigurator
3637
abstract val defaultImports: List<ImportPath>
38+
open val excludedImports: List<FqName> get() = emptyList()
3739

3840
abstract val multiTargetPlatform: MultiTargetPlatform
3941

compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/DefaultImportProvider.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,6 @@ class DefaultImportProvider(
6363
.mapNotNull { it.expandedType.constructor.declarationDescriptor?.fqNameSafe }
6464
.filter { nonKotlinDefaultImportedPackages.any(it::isChildOf) }
6565

66-
nonKotlinAliasedTypeFqNames
66+
nonKotlinAliasedTypeFqNames + targetPlatform.excludedImports
6767
}
6868
}

js/js.frontend/src/org/jetbrains/kotlin/js/resolve/JsPlatform.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.js.resolve
1818

1919
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
2020
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
21+
import org.jetbrains.kotlin.name.FqName
2122
import org.jetbrains.kotlin.resolve.ImportPath
2223
import org.jetbrains.kotlin.resolve.MultiTargetPlatform
2324
import org.jetbrains.kotlin.resolve.PlatformConfigurator
@@ -32,4 +33,6 @@ object JsPlatform : TargetPlatform("JS") {
3233
get() = DefaultBuiltIns.Instance
3334

3435
override val multiTargetPlatform = MultiTargetPlatform.Specific(platformName)
36+
37+
override val excludedImports: List<FqName> = listOf("Promise", "Date", "Console", "Math", "RegExp", "RegExpMatch", "Json", "json").map { FqName("kotlin.js.$it") }
3538
}

0 commit comments

Comments
 (0)