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:
+2
-1
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -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
|
||||||
|
|
||||||
|
|||||||
+12
-5
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
+14
-10
@@ -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,
|
||||||
|
|||||||
+3
-1
@@ -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
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
@@ -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
|
||||||
|
|||||||
+3
-1
@@ -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
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user