From 81a288b42cc48ed68ddf22fc5d8ea92094f524a2 Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Fri, 18 Sep 2015 20:15:56 +0300 Subject: [PATCH] Add LookupTracker to DeserializationComponents --- .../kotlin/load/kotlin/DeserializationComponentsForJava.kt | 6 ++++-- .../kotlin/load/kotlin/reflect/RuntimeModuleData.kt | 3 ++- .../kotlin/builtins/builtInsPackageFragmentProvider.kt | 2 ++ .../kotlin/serialization/deserialization/context.kt | 2 ++ .../textBuilder/DeserializerForClassfileDecompiler.kt | 3 ++- .../KotlinJavaScriptDeserializerForDecompiler.kt | 3 ++- .../js/kotlinJavascriptPackageFragmentProvider.kt | 2 ++ 7 files changed, 16 insertions(+), 5 deletions(-) diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializationComponentsForJava.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializationComponentsForJava.kt index 13e68ea0f8e..dee42e30bbe 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializationComponentsForJava.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializationComponentsForJava.kt @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.load.kotlin import org.jetbrains.kotlin.descriptors.ModuleDescriptor +import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider import org.jetbrains.kotlin.serialization.deserialization.ClassDescriptorFactory import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents @@ -32,7 +33,8 @@ public class DeserializationComponentsForJava( classDataFinder: JavaClassDataFinder, annotationAndConstantLoader: BinaryClassAnnotationAndConstantLoaderImpl, packageFragmentProvider: LazyJavaPackageFragmentProvider, - errorReporter: ErrorReporter + errorReporter: ErrorReporter, + lookupTracker: LookupTracker ) { val components: DeserializationComponents @@ -40,7 +42,7 @@ public class DeserializationComponentsForJava( val localClassResolver = LocalClassResolverImpl() components = DeserializationComponents( storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, localClassResolver, - errorReporter, JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY, JavaTypeCapabilitiesLoader, + errorReporter, lookupTracker, JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY, JavaTypeCapabilitiesLoader, additionalSupertypes = BuiltInClassesAreSerializableOnJvm(moduleDescriptor) ) localClassResolver.setDeserializationComponents(components) diff --git a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/RuntimeModuleData.kt b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/RuntimeModuleData.kt index 9f734a6401d..e1f8a4b25fe 100644 --- a/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/RuntimeModuleData.kt +++ b/core/descriptors.runtime/src/org/jetbrains/kotlin/load/kotlin/reflect/RuntimeModuleData.kt @@ -21,6 +21,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleParameters import org.jetbrains.kotlin.descriptors.SupertypeLoopChecker import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl +import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.load.java.components.* import org.jetbrains.kotlin.load.java.lazy.JavaResolverComponents import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider @@ -68,7 +69,7 @@ public class RuntimeModuleData private constructor(public val deserialization: D val binaryClassAnnotationAndConstantLoader = BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, reflectKotlinClassFinder, RuntimeErrorReporter) val deserializationComponentsForJava = DeserializationComponentsForJava( storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader, - lazyJavaPackageFragmentProvider, RuntimeErrorReporter + lazyJavaPackageFragmentProvider, RuntimeErrorReporter, LookupTracker.DO_NOTHING ) singleModuleClassResolver.resolver = javaDescriptorResolver deserializedDescriptorResolver.setComponents(deserializationComponentsForJava) diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/builtInsPackageFragmentProvider.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/builtInsPackageFragmentProvider.kt index 2640addaeaa..77e5f0c8cd9 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/builtInsPackageFragmentProvider.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/builtInsPackageFragmentProvider.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.builtins import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProviderImpl +import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.storage.StorageManager @@ -47,6 +48,7 @@ public fun createBuiltInPackageFragmentProvider( provider, localClassResolver, ErrorReporter.DO_NOTHING, + LookupTracker.DO_NOTHING, FlexibleTypeCapabilitiesDeserializer.ThrowException, classDescriptorFactory, additionalSupertypes = additionalSupertypes diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt index e6bc696ee66..8fafe95f25e 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/context.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.serialization.deserialization import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget +import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.resolve.constants.ConstantValue import org.jetbrains.kotlin.serialization.ProtoBuf @@ -32,6 +33,7 @@ class DeserializationComponents( val packageFragmentProvider: PackageFragmentProvider, val localClassResolver: LocalClassResolver, val errorReporter: ErrorReporter, + val lookupTracker: LookupTracker, val flexibleTypeCapabilitiesDeserializer: FlexibleTypeCapabilitiesDeserializer, val fictitiousClassDescriptorFactory: ClassDescriptorFactory, val typeCapabilitiesLoader: TypeCapabilitiesLoader = TypeCapabilitiesLoader.NONE, diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForClassfileDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForClassfileDecompiler.kt index 74c61a8ff40..60151d1914c 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForClassfileDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/DeserializerForClassfileDecompiler.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.decompiler.textBuilder import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.descriptors.DeclarationDescriptor +import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.load.kotlin.BinaryClassAnnotationAndConstantLoaderImpl import org.jetbrains.kotlin.load.kotlin.JavaFlexibleTypeCapabilitiesDeserializer import org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache @@ -56,7 +57,7 @@ public class DeserializerForClassfileDecompiler( override val deserializationComponents: DeserializationComponents = DeserializationComponents( storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), errorReporter, - JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY + LookupTracker.DO_NOTHING, JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY ) override fun resolveDeclarationsInFacade(facadeFqName: FqName): Collection { diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDeserializerForDecompiler.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDeserializerForDecompiler.kt index 9fbec916bef..7cb1551ec9b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDeserializerForDecompiler.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/textBuilder/KotlinJavaScriptDeserializerForDecompiler.kt @@ -20,6 +20,7 @@ import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.vfs.VirtualFile import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.idea.decompiler.navigation.JsMetaFileUtils +import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.js.resolve.JsPlatform import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName @@ -54,7 +55,7 @@ public class KotlinJavaScriptDeserializerForDecompiler( override val deserializationComponents = DeserializationComponents( storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), ErrorReporter.DO_NOTHING, - FlexibleTypeCapabilitiesDeserializer.Dynamic, ClassDescriptorFactory.EMPTY + LookupTracker.DO_NOTHING, FlexibleTypeCapabilitiesDeserializer.Dynamic, ClassDescriptorFactory.EMPTY ) override fun resolveDeclarationsInFacade(facadeFqName: FqName): Collection { diff --git a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt index 7651191a4e8..3791f67275f 100644 --- a/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt +++ b/js/js.serializer/src/org/jetbrains/kotlin/serialization/js/kotlinJavascriptPackageFragmentProvider.kt @@ -19,6 +19,7 @@ package org.jetbrains.kotlin.serialization.js import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProviderImpl +import org.jetbrains.kotlin.incremental.components.LookupTracker import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.storage.StorageManager @@ -45,6 +46,7 @@ public fun createKotlinJavascriptPackageFragmentProvider( provider, localClassResolver, ErrorReporter.DO_NOTHING, + LookupTracker.DO_NOTHING, FlexibleTypeCapabilitiesDeserializer.Dynamic, ClassDescriptorFactory.EMPTY )