Pass LookupTracker to deserialized scopes in JS KLIB compiler

Before this change, deserialized scopes were not tracking lookups properly,
because lookup tracker was not passed from compiler configuration correctly.
Because of that, lookups from dependencies were not tracked,
so multi-module IC was not working (chages were passed between modules,
but affected source files were not invalidated).
This commit is contained in:
Alexey Tsvetkov
2020-02-27 12:50:52 +03:00
parent 98f561bbed
commit 1c38466a22
12 changed files with 57 additions and 26 deletions
@@ -324,7 +324,8 @@ private fun getModuleDescriptorByLibrary(
LanguageVersionSettingsImpl.DEFAULT, LanguageVersionSettingsImpl.DEFAULT,
LockBasedStorageManager.NO_LOCKS, LockBasedStorageManager.NO_LOCKS,
null, null,
packageAccessHandler = null // TODO: This is a speed optimization used by Native. Don't bother for now. packageAccessHandler = null, // TODO: This is a speed optimization used by Native. Don't bother for now.
lookupTracker = LookupTracker.DO_NOTHING
) )
val dependencies = current.manifestProperties.propertyList(KLIB_PROPERTY_DEPENDS, escapeInQuotes = true).mapNotNull { val dependencies = current.manifestProperties.propertyList(KLIB_PROPERTY_DEPENDS, escapeInQuotes = true).mapNotNull {
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
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.descriptors.konan.DeserializedKlibModuleOrigin import org.jetbrains.kotlin.descriptors.konan.DeserializedKlibModuleOrigin
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.konan.util.KlibMetadataFactories import org.jetbrains.kotlin.konan.util.KlibMetadataFactories
import org.jetbrains.kotlin.library.* import org.jetbrains.kotlin.library.*
import org.jetbrains.kotlin.library.impl.BuiltInsPlatform import org.jetbrains.kotlin.library.impl.BuiltInsPlatform
@@ -214,7 +215,8 @@ private class KlibMetadataDependencyContainer(
storageManager = LockBasedStorageManager("KlibMetadataPackageFragmentProvider"), storageManager = LockBasedStorageManager("KlibMetadataPackageFragmentProvider"),
moduleDescriptor = libraryModuleDescriptor, moduleDescriptor = libraryModuleDescriptor,
configuration = CompilerDeserializationConfiguration(languageVersionSettings), configuration = CompilerDeserializationConfiguration(languageVersionSettings),
compositePackageFragmentAddend = null compositePackageFragmentAddend = null,
lookupTracker = LookupTracker.DO_NOTHING
).also { ).also {
libraryModuleDescriptor.initialize(it) libraryModuleDescriptor.initialize(it)
} }
@@ -25,7 +25,8 @@ object TopDownAnalyzerFacadeForJSIR : AbstractTopDownAnalyzerFacadeForJS() {
incrementalData.compiledPackageParts.values.map { it.metadata }, incrementalData.compiledPackageParts.values.map { it.metadata },
moduleContext.storageManager, moduleContext.storageManager,
moduleContext.module, moduleContext.module,
CompilerDeserializationConfiguration(languageVersionSettings) CompilerDeserializationConfiguration(languageVersionSettings),
lookupTracker
) )
} }
} }
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.config.*
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
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.ir.backend.js.lower.serialization.ir.* import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.*
import org.jetbrains.kotlin.ir.backend.js.lower.serialization.metadata.KlibMetadataIncrementalSerializer import org.jetbrains.kotlin.ir.backend.js.lower.serialization.metadata.KlibMetadataIncrementalSerializer
import org.jetbrains.kotlin.ir.declarations.IrModuleFragment import org.jetbrains.kotlin.ir.declarations.IrModuleFragment
@@ -316,7 +317,8 @@ fun getModuleDescriptorByLibrary(current: KotlinLibrary, mapping: Map<String, Mo
LanguageVersionSettingsImpl.DEFAULT, LanguageVersionSettingsImpl.DEFAULT,
LockBasedStorageManager.NO_LOCKS, LockBasedStorageManager.NO_LOCKS,
null, null,
packageAccessHandler = null // TODO: This is a speed optimization used by Native. Don't bother for now. packageAccessHandler = null, // TODO: This is a speed optimization used by Native. Don't bother for now.
lookupTracker = LookupTracker.DO_NOTHING
) )
// if (isBuiltIns) runtimeModule = md // if (isBuiltIns) runtimeModule = md
@@ -397,12 +399,14 @@ private class ModulesStructure(
fun getModuleDescriptor(current: KotlinLibrary): ModuleDescriptorImpl = descriptors.getOrPut(current) { fun getModuleDescriptor(current: KotlinLibrary): ModuleDescriptorImpl = descriptors.getOrPut(current) {
val isBuiltIns = current.unresolvedDependencies.isEmpty() val isBuiltIns = current.unresolvedDependencies.isEmpty()
val lookupTracker = compilerConfiguration[CommonConfigurationKeys.LOOKUP_TRACKER] ?: LookupTracker.DO_NOTHING
val md = JsFactories.DefaultDeserializedDescriptorFactory.createDescriptorOptionalBuiltIns( val md = JsFactories.DefaultDeserializedDescriptorFactory.createDescriptorOptionalBuiltIns(
current, current,
languageVersionSettings, languageVersionSettings,
storageManager, storageManager,
runtimeModule?.builtIns, runtimeModule?.builtIns,
packageAccessHandler = null // TODO: This is a speed optimization used by Native. Don't bother for now. packageAccessHandler = null, // TODO: This is a speed optimization used by Native. Don't bother for now.
lookupTracker = lookupTracker
) )
if (isBuiltIns) runtimeModule = md if (isBuiltIns) runtimeModule = md
@@ -7,6 +7,7 @@ import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.deserialization.PlatformDependentTypeTransformer import org.jetbrains.kotlin.descriptors.deserialization.PlatformDependentTypeTransformer
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.descriptors.konan.KlibModuleDescriptorFactory import org.jetbrains.kotlin.descriptors.konan.KlibModuleDescriptorFactory
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.KotlinLibrary
import org.jetbrains.kotlin.library.metadata.PackageAccessHandler import org.jetbrains.kotlin.library.metadata.PackageAccessHandler
import org.jetbrains.kotlin.serialization.deserialization.DeserializationConfiguration import org.jetbrains.kotlin.serialization.deserialization.DeserializationConfiguration
@@ -31,7 +32,8 @@ interface KlibMetadataModuleDescriptorFactory {
languageVersionSettings, languageVersionSettings,
storageManager, storageManager,
builtIns, builtIns,
packageAccessHandler packageAccessHandler,
LookupTracker.DO_NOTHING
) )
fun createDescriptorAndNewBuiltIns( fun createDescriptorAndNewBuiltIns(
@@ -39,14 +41,17 @@ interface KlibMetadataModuleDescriptorFactory {
languageVersionSettings: LanguageVersionSettings, languageVersionSettings: LanguageVersionSettings,
storageManager: StorageManager, storageManager: StorageManager,
packageAccessHandler: PackageAccessHandler? packageAccessHandler: PackageAccessHandler?
) = createDescriptorOptionalBuiltIns(library, languageVersionSettings, storageManager, null, packageAccessHandler) ) = createDescriptorOptionalBuiltIns(
library, languageVersionSettings, storageManager, null, packageAccessHandler, LookupTracker.DO_NOTHING
)
fun createDescriptorOptionalBuiltIns( fun createDescriptorOptionalBuiltIns(
library: KotlinLibrary, library: KotlinLibrary,
languageVersionSettings: LanguageVersionSettings, languageVersionSettings: LanguageVersionSettings,
storageManager: StorageManager, storageManager: StorageManager,
builtIns: KotlinBuiltIns?, builtIns: KotlinBuiltIns?,
packageAccessHandler: PackageAccessHandler? packageAccessHandler: PackageAccessHandler?,
lookupTracker: LookupTracker
): ModuleDescriptorImpl ): ModuleDescriptorImpl
fun createPackageFragmentProvider( fun createPackageFragmentProvider(
@@ -56,13 +61,15 @@ interface KlibMetadataModuleDescriptorFactory {
storageManager: StorageManager, storageManager: StorageManager,
moduleDescriptor: ModuleDescriptor, moduleDescriptor: ModuleDescriptor,
configuration: DeserializationConfiguration, configuration: DeserializationConfiguration,
compositePackageFragmentAddend: PackageFragmentProvider? compositePackageFragmentAddend: PackageFragmentProvider?,
lookupTracker: LookupTracker
): PackageFragmentProvider ): PackageFragmentProvider
fun createCachedPackageFragmentProvider( fun createCachedPackageFragmentProvider(
byteArrays: List<ByteArray>, byteArrays: List<ByteArray>,
storageManager: StorageManager, storageManager: StorageManager,
moduleDescriptor: ModuleDescriptor, moduleDescriptor: ModuleDescriptor,
configuration: DeserializationConfiguration configuration: DeserializationConfiguration,
lookupTracker: LookupTracker
): PackageFragmentProvider ): PackageFragmentProvider
} }
@@ -46,7 +46,8 @@ class KlibMetadataModuleDescriptorFactoryImpl(
languageVersionSettings: LanguageVersionSettings, languageVersionSettings: LanguageVersionSettings,
storageManager: StorageManager, storageManager: StorageManager,
builtIns: KotlinBuiltIns?, builtIns: KotlinBuiltIns?,
packageAccessHandler: PackageAccessHandler? packageAccessHandler: PackageAccessHandler?,
lookupTracker: LookupTracker
): ModuleDescriptorImpl { ): ModuleDescriptorImpl {
val libraryProto = parseModuleHeader(library.moduleHeaderData) val libraryProto = parseModuleHeader(library.moduleHeaderData)
@@ -73,7 +74,8 @@ class KlibMetadataModuleDescriptorFactoryImpl(
storageManager, storageManager,
moduleDescriptor, moduleDescriptor,
deserializationConfiguration, deserializationConfiguration,
compositePackageFragmentAddend compositePackageFragmentAddend,
lookupTracker
) )
moduleDescriptor.initialize(provider) moduleDescriptor.initialize(provider)
@@ -85,16 +87,16 @@ class KlibMetadataModuleDescriptorFactoryImpl(
byteArrays: List<ByteArray>, byteArrays: List<ByteArray>,
storageManager: StorageManager, storageManager: StorageManager,
moduleDescriptor: ModuleDescriptor, moduleDescriptor: ModuleDescriptor,
configuration: DeserializationConfiguration configuration: DeserializationConfiguration,
lookupTracker: LookupTracker
): PackageFragmentProvider { ): PackageFragmentProvider {
val deserializedPackageFragments = packageFragmentsFactory.createCachedPackageFragments( val deserializedPackageFragments = packageFragmentsFactory.createCachedPackageFragments(
byteArrays, moduleDescriptor, storageManager byteArrays, moduleDescriptor, storageManager
) )
val provider = PackageFragmentProviderImpl(deserializedPackageFragments) val provider = PackageFragmentProviderImpl(deserializedPackageFragments)
return initializePackageFragmentProvider(provider, deserializedPackageFragments, storageManager, return initializePackageFragmentProvider(provider, deserializedPackageFragments, storageManager,
moduleDescriptor, configuration, null) moduleDescriptor, configuration, null, lookupTracker)
} }
override fun createPackageFragmentProvider( override fun createPackageFragmentProvider(
@@ -104,7 +106,8 @@ class KlibMetadataModuleDescriptorFactoryImpl(
storageManager: StorageManager, storageManager: StorageManager,
moduleDescriptor: ModuleDescriptor, moduleDescriptor: ModuleDescriptor,
configuration: DeserializationConfiguration, configuration: DeserializationConfiguration,
compositePackageFragmentAddend: PackageFragmentProvider? compositePackageFragmentAddend: PackageFragmentProvider?,
lookupTracker: LookupTracker
): PackageFragmentProvider { ): PackageFragmentProvider {
val deserializedPackageFragments = packageFragmentsFactory.createDeserializedPackageFragments( val deserializedPackageFragments = packageFragmentsFactory.createDeserializedPackageFragments(
@@ -118,7 +121,7 @@ class KlibMetadataModuleDescriptorFactoryImpl(
val provider = PackageFragmentProviderImpl(deserializedPackageFragments + syntheticPackageFragments) val provider = PackageFragmentProviderImpl(deserializedPackageFragments + syntheticPackageFragments)
return initializePackageFragmentProvider(provider, deserializedPackageFragments, storageManager, return initializePackageFragmentProvider(provider, deserializedPackageFragments, storageManager,
moduleDescriptor, configuration, compositePackageFragmentAddend) moduleDescriptor, configuration, compositePackageFragmentAddend, lookupTracker)
} }
fun initializePackageFragmentProvider( fun initializePackageFragmentProvider(
@@ -127,7 +130,8 @@ class KlibMetadataModuleDescriptorFactoryImpl(
storageManager: StorageManager, storageManager: StorageManager,
moduleDescriptor: ModuleDescriptor, moduleDescriptor: ModuleDescriptor,
configuration: DeserializationConfiguration, configuration: DeserializationConfiguration,
compositePackageFragmentAddend: PackageFragmentProvider? compositePackageFragmentAddend: PackageFragmentProvider?,
lookupTracker: LookupTracker
): PackageFragmentProvider { ): PackageFragmentProvider {
val notFoundClasses = NotFoundClasses(storageManager, moduleDescriptor) val notFoundClasses = NotFoundClasses(storageManager, moduleDescriptor)
@@ -147,7 +151,7 @@ class KlibMetadataModuleDescriptorFactoryImpl(
provider, provider,
LocalClassifierTypeSettings.Default, LocalClassifierTypeSettings.Default,
ErrorReporter.DO_NOTHING, ErrorReporter.DO_NOTHING,
LookupTracker.DO_NOTHING, lookupTracker,
flexibleTypeDeserializer, flexibleTypeDeserializer,
emptyList(), emptyList(),
notFoundClasses, notFoundClasses,
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
import org.jetbrains.kotlin.idea.klib.AbstractKlibLibraryInfo import org.jetbrains.kotlin.idea.klib.AbstractKlibLibraryInfo
import org.jetbrains.kotlin.idea.klib.createKlibPackageFragmentProvider import org.jetbrains.kotlin.idea.klib.createKlibPackageFragmentProvider
import org.jetbrains.kotlin.idea.klib.isKlibLibraryRootForPlatform import org.jetbrains.kotlin.idea.klib.isKlibLibraryRootForPlatform
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.konan.util.KlibMetadataFactories import org.jetbrains.kotlin.konan.util.KlibMetadataFactories
import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer import org.jetbrains.kotlin.library.metadata.NullFlexibleTypeDeserializer
import org.jetbrains.kotlin.platform.CommonPlatforms import org.jetbrains.kotlin.platform.CommonPlatforms
@@ -84,7 +85,8 @@ class CommonPlatformKindResolution : IdePlatformKindResolution {
storageManager = storageManager, storageManager = storageManager,
metadataModuleDescriptorFactory = metadataModuleDescriptorFactory, metadataModuleDescriptorFactory = metadataModuleDescriptorFactory,
languageVersionSettings = languageVersionSettings, languageVersionSettings = languageVersionSettings,
moduleDescriptor = moduleDescriptor moduleDescriptor = moduleDescriptor,
lookupTracker = LookupTracker.DO_NOTHING
) )
} }
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.frontend.di.configureStandardResolveComponents
import org.jetbrains.kotlin.frontend.java.di.configureJavaSpecificComponents import org.jetbrains.kotlin.frontend.java.di.configureJavaSpecificComponents
import org.jetbrains.kotlin.frontend.java.di.initializeJavaSpecificComponents import org.jetbrains.kotlin.frontend.java.di.initializeJavaSpecificComponents
import org.jetbrains.kotlin.idea.project.IdeaEnvironment import org.jetbrains.kotlin.idea.project.IdeaEnvironment
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolver import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolver
import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolverImpl import org.jetbrains.kotlin.load.java.lazy.ModuleClassResolverImpl
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
@@ -27,6 +27,7 @@ import org.jetbrains.kotlin.idea.framework.JSLibraryKind
import org.jetbrains.kotlin.idea.klib.AbstractKlibLibraryInfo import org.jetbrains.kotlin.idea.klib.AbstractKlibLibraryInfo
import org.jetbrains.kotlin.idea.klib.createKlibPackageFragmentProvider import org.jetbrains.kotlin.idea.klib.createKlibPackageFragmentProvider
import org.jetbrains.kotlin.idea.klib.isKlibLibraryRootForPlatform import org.jetbrains.kotlin.idea.klib.isKlibLibraryRootForPlatform
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.konan.util.KlibMetadataFactories import org.jetbrains.kotlin.konan.util.KlibMetadataFactories
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.impl.JsIdePlatformKind import org.jetbrains.kotlin.platform.impl.JsIdePlatformKind
@@ -90,7 +91,8 @@ class JsPlatformKindResolution : IdePlatformKindResolution {
storageManager = storageManager, storageManager = storageManager,
metadataModuleDescriptorFactory = metadataModuleDescriptorFactory, metadataModuleDescriptorFactory = metadataModuleDescriptorFactory,
languageVersionSettings = languageVersionSettings, languageVersionSettings = languageVersionSettings,
moduleDescriptor = moduleDescriptor moduleDescriptor = moduleDescriptor,
lookupTracker = LookupTracker.DO_NOTHING
) )
} }
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.library.* import org.jetbrains.kotlin.library.*
import org.jetbrains.kotlin.library.impl.BuiltInsPlatform import org.jetbrains.kotlin.library.impl.BuiltInsPlatform
import org.jetbrains.kotlin.platform.TargetPlatform import org.jetbrains.kotlin.platform.TargetPlatform
@@ -106,7 +107,8 @@ fun KotlinLibrary.createKlibPackageFragmentProvider(
storageManager: StorageManager, storageManager: StorageManager,
metadataModuleDescriptorFactory: KlibMetadataModuleDescriptorFactory, metadataModuleDescriptorFactory: KlibMetadataModuleDescriptorFactory,
languageVersionSettings: LanguageVersionSettings, languageVersionSettings: LanguageVersionSettings,
moduleDescriptor: ModuleDescriptor moduleDescriptor: ModuleDescriptor,
lookupTracker: LookupTracker
): PackageFragmentProvider? { ): PackageFragmentProvider? {
if (!getCompatibilityInfo().isCompatible) return null if (!getCompatibilityInfo().isCompatible) return null
@@ -119,6 +121,7 @@ fun KotlinLibrary.createKlibPackageFragmentProvider(
storageManager = storageManager, storageManager = storageManager,
moduleDescriptor = moduleDescriptor, moduleDescriptor = moduleDescriptor,
configuration = CompilerDeserializationConfiguration(languageVersionSettings), configuration = CompilerDeserializationConfiguration(languageVersionSettings),
compositePackageFragmentAddend = null compositePackageFragmentAddend = null,
lookupTracker = lookupTracker
) )
} }
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.idea.caches.project.lazyClosure
import org.jetbrains.kotlin.idea.caches.resolve.BuiltInsCacheKey import org.jetbrains.kotlin.idea.caches.resolve.BuiltInsCacheKey
import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider import org.jetbrains.kotlin.idea.compiler.IDELanguageSettingsProvider
import org.jetbrains.kotlin.idea.klib.* import org.jetbrains.kotlin.idea.klib.*
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME
import org.jetbrains.kotlin.konan.util.KlibMetadataFactories import org.jetbrains.kotlin.konan.util.KlibMetadataFactories
import org.jetbrains.kotlin.library.isInterop import org.jetbrains.kotlin.library.isInterop
@@ -67,7 +68,8 @@ class NativePlatformKindResolution : IdePlatformKindResolution {
storageManager = storageManager, storageManager = storageManager,
metadataModuleDescriptorFactory = metadataFactories.DefaultDeserializedDescriptorFactory, metadataModuleDescriptorFactory = metadataFactories.DefaultDeserializedDescriptorFactory,
languageVersionSettings = languageVersionSettings, languageVersionSettings = languageVersionSettings,
moduleDescriptor = moduleDescriptor moduleDescriptor = moduleDescriptor,
lookupTracker = LookupTracker.DO_NOTHING
) )
} }
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.descriptors.commonizer.BuiltInsProvider
import org.jetbrains.kotlin.descriptors.commonizer.ModulesProvider import org.jetbrains.kotlin.descriptors.commonizer.ModulesProvider
import org.jetbrains.kotlin.descriptors.commonizer.utils.NativeFactories import org.jetbrains.kotlin.descriptors.commonizer.utils.NativeFactories
import org.jetbrains.kotlin.descriptors.commonizer.utils.createKotlinNativeForwardDeclarationsModule import org.jetbrains.kotlin.descriptors.commonizer.utils.createKotlinNativeForwardDeclarationsModule
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME import org.jetbrains.kotlin.konan.library.KONAN_STDLIB_NAME
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -42,7 +43,8 @@ internal class NativeDistributionModulesProvider(
languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT, languageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
storageManager = storageManager, storageManager = storageManager,
builtIns = builtIns, builtIns = builtIns,
packageAccessHandler = null packageAccessHandler = null,
lookupTracker = LookupTracker.DO_NOTHING
) )
name to module name to module