Drop ModuleParameters, inline defaultImports everywhere

This commit is contained in:
Alexander Udalov
2016-10-11 10:47:14 +03:00
parent d335aea682
commit 2f616bdd33
13 changed files with 66 additions and 87 deletions
@@ -17,8 +17,6 @@
package org.jetbrains.kotlin.resolve.jvm.platform package org.jetbrains.kotlin.resolve.jvm.platform
import org.jetbrains.kotlin.builtins.DefaultBuiltIns import org.jetbrains.kotlin.builtins.DefaultBuiltIns
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.ImportPath import org.jetbrains.kotlin.resolve.ImportPath
import org.jetbrains.kotlin.resolve.PlatformConfigurator import org.jetbrains.kotlin.resolve.PlatformConfigurator
@@ -28,34 +26,31 @@ import org.jetbrains.kotlin.resolve.scopes.MemberScope
import java.util.* import java.util.*
object JvmPlatform : TargetPlatform("JVM") { object JvmPlatform : TargetPlatform("JVM") {
override val defaultModuleParameters = object : ModuleParameters { override val defaultImports: List<ImportPath>
override val defaultImports: List<ImportPath> get() = ArrayList<ImportPath>().apply {
get() = DEFAULT_IMPORTS_FOR_JVM add(ImportPath("java.lang.*"))
} add(ImportPath("kotlin.*"))
add(ImportPath("kotlin.annotation.*"))
add(ImportPath("kotlin.jvm.*"))
add(ImportPath("kotlin.collections.*"))
add(ImportPath("kotlin.coroutines.*"))
add(ImportPath("kotlin.ranges.*"))
add(ImportPath("kotlin.sequences.*"))
add(ImportPath("kotlin.text.*"))
add(ImportPath("kotlin.io.*"))
fun addAllClassifiersFromScope(scope: MemberScope) {
for (descriptor in scope.getContributedDescriptors(DescriptorKindFilter.CLASSIFIERS, MemberScope.ALL_NAME_FILTER)) {
add(ImportPath(DescriptorUtils.getFqNameSafe(descriptor), false))
}
}
val builtIns = DefaultBuiltIns.Instance
for (builtinPackageFragment in builtIns.builtInsPackageFragments) {
addAllClassifiersFromScope(builtinPackageFragment.getMemberScope())
}
}
override val platformConfigurator: PlatformConfigurator = JvmPlatformConfigurator override val platformConfigurator: PlatformConfigurator = JvmPlatformConfigurator
} }
private val DEFAULT_IMPORTS_FOR_JVM: List<ImportPath> = ArrayList<ImportPath>().apply {
add(ImportPath("java.lang.*"))
add(ImportPath("kotlin.*"))
add(ImportPath("kotlin.annotation.*"))
add(ImportPath("kotlin.jvm.*"))
add(ImportPath("kotlin.collections.*"))
add(ImportPath("kotlin.coroutines.*"))
add(ImportPath("kotlin.ranges.*"))
add(ImportPath("kotlin.sequences.*"))
add(ImportPath("kotlin.text.*"))
add(ImportPath("kotlin.io.*"))
fun addAllClassifiersFromScope(scope: MemberScope) {
for (descriptor in scope.getContributedDescriptors(DescriptorKindFilter.CLASSIFIERS, MemberScope.ALL_NAME_FILTER)) {
add(ImportPath(DescriptorUtils.getFqNameSafe(descriptor), false))
}
}
val builtIns = DefaultBuiltIns.Instance
for (builtinPackageFragment in builtIns.builtInsPackageFragments) {
addAllClassifiersFromScope(builtinPackageFragment.getMemberScope())
}
}
@@ -19,10 +19,10 @@ package org.jetbrains.kotlin.context
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.ImportPath
import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.TargetPlatform
import org.jetbrains.kotlin.resolve.createModule import org.jetbrains.kotlin.resolve.createModule
import org.jetbrains.kotlin.storage.ExceptionTracker import org.jetbrains.kotlin.storage.ExceptionTracker
@@ -100,11 +100,11 @@ fun ProjectContext.withModule(module: ModuleDescriptor): ModuleContext = ModuleC
fun ContextForNewModule( fun ContextForNewModule(
project: Project, project: Project,
moduleName: Name, moduleName: Name,
parameters: ModuleParameters, defaultImports: List<ImportPath>,
builtIns: KotlinBuiltIns builtIns: KotlinBuiltIns
): MutableModuleContext { ): MutableModuleContext {
val projectContext = ProjectContext(project) val projectContext = ProjectContext(project)
val module = ModuleDescriptorImpl(moduleName, projectContext.storageManager, parameters, builtIns) val module = ModuleDescriptorImpl(moduleName, projectContext.storageManager, defaultImports, builtIns)
return MutableModuleContextImpl(module, projectContext) return MutableModuleContextImpl(module, projectContext)
} }
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.container.StorageComponentContainer
import org.jetbrains.kotlin.container.composeContainer import org.jetbrains.kotlin.container.composeContainer
import org.jetbrains.kotlin.container.useInstance import org.jetbrains.kotlin.container.useInstance
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
@@ -33,18 +32,14 @@ import org.jetbrains.kotlin.resolve.scopes.SyntheticScopes
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
import org.jetbrains.kotlin.types.DynamicTypesSettings import org.jetbrains.kotlin.types.DynamicTypesSettings
abstract class TargetPlatform( abstract class TargetPlatform(val platformName: String) {
val platformName: String override fun toString() = platformName
) {
override fun toString(): String {
return platformName
}
abstract val platformConfigurator: PlatformConfigurator abstract val platformConfigurator: PlatformConfigurator
abstract val defaultModuleParameters: ModuleParameters abstract val defaultImports: List<ImportPath>
object Default : TargetPlatform("Default") { object Default : TargetPlatform("Default") {
override val defaultModuleParameters = ModuleParameters.Empty override val defaultImports = emptyList<ImportPath>()
override val platformConfigurator = override val platformConfigurator =
object : PlatformConfigurator(DynamicTypesSettings(), listOf(), listOf(), listOf(), listOf(), listOf(), object : PlatformConfigurator(DynamicTypesSettings(), listOf(), listOf(), listOf(), listOf(), listOf(),
IdentifierChecker.DEFAULT, OverloadFilter.DEFAULT, PlatformToKotlinClassMap.EMPTY) { IdentifierChecker.DEFAULT, OverloadFilter.DEFAULT, PlatformToKotlinClassMap.EMPTY) {
@@ -115,7 +110,7 @@ fun TargetPlatform.createModule(
storageManager: StorageManager, storageManager: StorageManager,
builtIns: KotlinBuiltIns, builtIns: KotlinBuiltIns,
capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap() capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap()
) = ModuleDescriptorImpl(name, storageManager, defaultModuleParameters, builtIns, capabilities) ) = ModuleDescriptorImpl(name, storageManager, defaultImports, builtIns, capabilities)
fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit) fun createContainer(id: String, platform: TargetPlatform, init: StorageComponentContainer.() -> Unit)
@@ -961,9 +961,7 @@ public class KotlinTestUtils {
@NotNull @NotNull
public static ModuleDescriptorImpl createEmptyModule(@NotNull String name, @NotNull TargetPlatform platform, KotlinBuiltIns builtIns) { public static ModuleDescriptorImpl createEmptyModule(@NotNull String name, @NotNull TargetPlatform platform, KotlinBuiltIns builtIns) {
return new ModuleDescriptorImpl( return new ModuleDescriptorImpl(Name.special(name), LockBasedStorageManager.NO_LOCKS, platform.getDefaultImports(), builtIns);
Name.special(name), LockBasedStorageManager.NO_LOCKS, platform.getDefaultModuleParameters(), builtIns
);
} }
@NotNull @NotNull
@@ -28,7 +28,6 @@ import org.jetbrains.kotlin.builtins.functions.BuiltInFictitiousFunctionClassFac
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
import org.jetbrains.kotlin.descriptors.ModuleParameters;
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor; import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor;
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider; import org.jetbrains.kotlin.descriptors.PackageFragmentProvider;
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl; import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl;
@@ -38,6 +37,7 @@ import org.jetbrains.kotlin.renderer.DescriptorRenderer;
import org.jetbrains.kotlin.renderer.DescriptorRendererModifier; import org.jetbrains.kotlin.renderer.DescriptorRendererModifier;
import org.jetbrains.kotlin.renderer.DescriptorRendererOptions; import org.jetbrains.kotlin.renderer.DescriptorRendererOptions;
import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy; import org.jetbrains.kotlin.renderer.OverrideRenderingPolicy;
import org.jetbrains.kotlin.resolve.ImportPath;
import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtilsKt; import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtilsKt;
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor; import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor;
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider; import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider;
@@ -51,6 +51,7 @@ import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -109,7 +110,7 @@ public class LoadBuiltinsTest extends KotlinTestWithEnvironment {
private static PackageFragmentProvider createBuiltInsPackageFragmentProvider() { private static PackageFragmentProvider createBuiltInsPackageFragmentProvider() {
LockBasedStorageManager storageManager = new LockBasedStorageManager(); LockBasedStorageManager storageManager = new LockBasedStorageManager();
ModuleDescriptorImpl builtInsModule = new ModuleDescriptorImpl( ModuleDescriptorImpl builtInsModule = new ModuleDescriptorImpl(
KotlinBuiltIns.BUILTINS_MODULE_NAME, storageManager, ModuleParameters.Empty.INSTANCE, DefaultBuiltIns.getInstance() KotlinBuiltIns.BUILTINS_MODULE_NAME, storageManager, Collections.<ImportPath>emptyList(), DefaultBuiltIns.getInstance()
); );
PackageFragmentProvider packageFragmentProvider = createBuiltInPackageFragmentProvider( PackageFragmentProvider packageFragmentProvider = createBuiltInPackageFragmentProvider(
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.load.kotlin.reflect
import org.jetbrains.kotlin.builtins.ReflectionTypes import org.jetbrains.kotlin.builtins.ReflectionTypes
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.descriptors.SupertypeLoopChecker import org.jetbrains.kotlin.descriptors.SupertypeLoopChecker
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.incremental.components.LookupTracker
@@ -46,9 +45,7 @@ class RuntimeModuleData private constructor(val deserialization: Deserialization
fun create(classLoader: ClassLoader): RuntimeModuleData { fun create(classLoader: ClassLoader): RuntimeModuleData {
val storageManager = LockBasedStorageManager() val storageManager = LockBasedStorageManager()
val builtIns = JvmBuiltIns(storageManager) val builtIns = JvmBuiltIns(storageManager)
val module = ModuleDescriptorImpl( val module = ModuleDescriptorImpl(Name.special("<runtime module for $classLoader>"), storageManager, emptyList(), builtIns)
Name.special("<runtime module for $classLoader>"), storageManager, ModuleParameters.Empty, builtIns
)
val reflectKotlinClassFinder = ReflectKotlinClassFinder(classLoader) val reflectKotlinClassFinder = ReflectKotlinClassFinder(classLoader)
val deserializedDescriptorResolver = DeserializedDescriptorResolver(RuntimeErrorReporter) val deserializedDescriptorResolver = DeserializedDescriptorResolver(RuntimeErrorReporter)
@@ -30,6 +30,7 @@ import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.name.FqNameUnsafe; import org.jetbrains.kotlin.name.FqNameUnsafe;
import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.name.Name;
import org.jetbrains.kotlin.resolve.DescriptorUtils; import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.ImportPath;
import org.jetbrains.kotlin.resolve.scopes.MemberScope; import org.jetbrains.kotlin.resolve.scopes.MemberScope;
import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider; import org.jetbrains.kotlin.serialization.deserialization.AdditionalClassPartsProvider;
import org.jetbrains.kotlin.serialization.deserialization.PlatformDependentDeclarationFilter; import org.jetbrains.kotlin.serialization.deserialization.PlatformDependentDeclarationFilter;
@@ -81,9 +82,7 @@ public abstract class KotlinBuiltIns {
protected KotlinBuiltIns(@NotNull StorageManager storageManager) { protected KotlinBuiltIns(@NotNull StorageManager storageManager) {
this.storageManager = storageManager; this.storageManager = storageManager;
builtInsModule = new ModuleDescriptorImpl( builtInsModule = new ModuleDescriptorImpl(BUILTINS_MODULE_NAME, storageManager, Collections.<ImportPath>emptyList(), this);
BUILTINS_MODULE_NAME, storageManager, ModuleParameters.Empty.INSTANCE, this
);
PackageFragmentProvider packageFragmentProvider = BuiltInsPackageFragmentProviderKt.createBuiltInPackageFragmentProvider( PackageFragmentProvider packageFragmentProvider = BuiltInsPackageFragmentProviderKt.createBuiltInPackageFragmentProvider(
storageManager, builtInsModule, BUILT_INS_PACKAGE_FQ_NAMES, storageManager, builtInsModule, BUILT_INS_PACKAGE_FQ_NAMES,
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.ImportPath import org.jetbrains.kotlin.resolve.ImportPath
import org.jetbrains.kotlin.types.TypeSubstitutor import org.jetbrains.kotlin.types.TypeSubstitutor
interface ModuleDescriptor : DeclarationDescriptor, ModuleParameters { interface ModuleDescriptor : DeclarationDescriptor {
override fun getContainingDeclaration(): DeclarationDescriptor? = null override fun getContainingDeclaration(): DeclarationDescriptor? = null
val builtIns: KotlinBuiltIns val builtIns: KotlinBuiltIns
@@ -41,17 +41,11 @@ interface ModuleDescriptor : DeclarationDescriptor, ModuleParameters {
fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean): Collection<FqName> fun getSubPackagesOf(fqName: FqName, nameFilter: (Name) -> Boolean): Collection<FqName>
val defaultImports: List<ImportPath>
val effectivelyExcludedImports: List<FqName>
fun <T> getCapability(capability: Capability<T>): T? fun <T> getCapability(capability: Capability<T>): T?
class Capability<T>(val name: String) class Capability<T>(val name: String)
val effectivelyExcludedImports: List<FqName>
}
interface ModuleParameters {
val defaultImports: List<ImportPath>
object Empty : ModuleParameters {
override val defaultImports: List<ImportPath> = emptyList()
}
} }
@@ -17,12 +17,16 @@
package org.jetbrains.kotlin.descriptors.impl package org.jetbrains.kotlin.descriptors.impl
import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor
import org.jetbrains.kotlin.descriptors.TypeAliasDescriptor
import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.annotations.Annotations
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.name.isChildOf import org.jetbrains.kotlin.name.isChildOf
import org.jetbrains.kotlin.name.isSubpackageOf import org.jetbrains.kotlin.name.isSubpackageOf
import org.jetbrains.kotlin.resolve.ImportPath
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -34,10 +38,10 @@ import java.lang.IllegalArgumentException
class ModuleDescriptorImpl @JvmOverloads constructor( class ModuleDescriptorImpl @JvmOverloads constructor(
moduleName: Name, moduleName: Name,
private val storageManager: StorageManager, private val storageManager: StorageManager,
private val moduleParameters: ModuleParameters, override val defaultImports: List<ImportPath>,
override val builtIns: KotlinBuiltIns, override val builtIns: KotlinBuiltIns,
private val capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap() private val capabilities: Map<ModuleDescriptor.Capability<*>, Any?> = emptyMap()
) : DeclarationDescriptorImpl(Annotations.EMPTY, moduleName), ModuleDescriptor, ModuleParameters by moduleParameters { ) : DeclarationDescriptorImpl(Annotations.EMPTY, moduleName), ModuleDescriptor {
init { init {
if (!moduleName.isSpecial) { if (!moduleName.isSpecial) {
throw IllegalArgumentException("Module name must be special: $moduleName") throw IllegalArgumentException("Module name must be special: $moduleName")
@@ -237,7 +237,7 @@ public class SourceNavigationHelper {
@NotNull Project project @NotNull Project project
) { ) {
MutableModuleContext newModuleContext = ContextKt.ContextForNewModule( MutableModuleContext newModuleContext = ContextKt.ContextForNewModule(
project, Name.special("<library module>"), JvmPlatform.INSTANCE.getDefaultModuleParameters(), DefaultBuiltIns.getInstance() project, Name.special("<library module>"), JvmPlatform.INSTANCE.getDefaultImports(), DefaultBuiltIns.getInstance()
); );
newModuleContext.setDependencies(newModuleContext.getModule(), newModuleContext.getModule().getBuiltIns().getBuiltInsModule()); newModuleContext.setDependencies(newModuleContext.getModule(), newModuleContext.getModule().getBuiltIns().getBuiltInsModule());
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.idea.decompiler.textBuilder
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
@@ -61,7 +60,7 @@ abstract class DeserializerForDecompilerBase(
protected fun createDummyPackageFragment(fqName: FqName): MutablePackageFragmentDescriptor = protected fun createDummyPackageFragment(fqName: FqName): MutablePackageFragmentDescriptor =
MutablePackageFragmentDescriptor(moduleDescriptor, fqName) MutablePackageFragmentDescriptor(moduleDescriptor, fqName)
private fun createDummyModule(name: String) = ModuleDescriptorImpl(Name.special("<$name>"), storageManager, ModuleParameters.Empty, builtIns) private fun createDummyModule(name: String) = ModuleDescriptorImpl(Name.special("<$name>"), storageManager, emptyList(), builtIns)
init { init {
moduleDescriptor.initialize(packageFragmentProvider) moduleDescriptor.initialize(packageFragmentProvider)
@@ -156,7 +156,7 @@ private fun convertNonStaticImport(fqName: FqName, isOnDemand: Boolean, target:
private fun renderImportName(fqName: FqName, isOnDemand: Boolean) private fun renderImportName(fqName: FqName, isOnDemand: Boolean)
= if (isOnDemand) fqName.render() + ".*" else fqName.render() = if (isOnDemand) fqName.render() + ".*" else fqName.render()
private val DEFAULT_IMPORTS_SET: Set<FqName> = JvmPlatform.defaultModuleParameters.defaultImports private val DEFAULT_IMPORTS_SET: Set<FqName> = JvmPlatform.defaultImports
.filter { it.isAllUnder } .filter { it.isAllUnder }
.map { it.fqnPart() } .map { it.fqnPart() }
.toSet() .toSet()
@@ -19,27 +19,24 @@ package org.jetbrains.kotlin.js.resolve
import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableList
import org.jetbrains.kotlin.builtins.DefaultBuiltIns import org.jetbrains.kotlin.builtins.DefaultBuiltIns
import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.ModuleParameters
import org.jetbrains.kotlin.resolve.ImportPath import org.jetbrains.kotlin.resolve.ImportPath
import org.jetbrains.kotlin.resolve.PlatformConfigurator import org.jetbrains.kotlin.resolve.PlatformConfigurator
import org.jetbrains.kotlin.resolve.TargetPlatform import org.jetbrains.kotlin.resolve.TargetPlatform
object JsPlatform : TargetPlatform("JS") { object JsPlatform : TargetPlatform("JS") {
override val defaultModuleParameters = object : ModuleParameters { override val defaultImports: List<ImportPath> = ImmutableList.of(
override val defaultImports: List<ImportPath> = ImmutableList.of( ImportPath("java.lang.*"),
ImportPath("java.lang.*"), ImportPath("kotlin.*"),
ImportPath("kotlin.*"), ImportPath("kotlin.annotation.*"),
ImportPath("kotlin.annotation.*"), ImportPath("kotlin.collections.*"),
ImportPath("kotlin.collections.*"), ImportPath("kotlin.ranges.*"),
ImportPath("kotlin.ranges.*"), ImportPath("kotlin.sequences.*"),
ImportPath("kotlin.sequences.*"), ImportPath("kotlin.text.*"),
ImportPath("kotlin.text.*"), ImportPath("kotlin.js.*")
ImportPath("kotlin.js.*") )
)
}
override val platformConfigurator: PlatformConfigurator = JsPlatformConfigurator override val platformConfigurator: PlatformConfigurator = JsPlatformConfigurator
val builtIns: KotlinBuiltIns val builtIns: KotlinBuiltIns
get() = DefaultBuiltIns.Instance get() = DefaultBuiltIns.Instance
} }