Add LookupTracker to DeserializationComponents

This commit is contained in:
Zalim Bashorov
2015-09-18 20:15:56 +03:00
parent f1638bf6fd
commit 81a288b42c
7 changed files with 16 additions and 5 deletions
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.load.kotlin package org.jetbrains.kotlin.load.kotlin
import org.jetbrains.kotlin.descriptors.ModuleDescriptor 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.load.java.lazy.LazyJavaPackageFragmentProvider
import org.jetbrains.kotlin.serialization.deserialization.ClassDescriptorFactory import org.jetbrains.kotlin.serialization.deserialization.ClassDescriptorFactory
import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents import org.jetbrains.kotlin.serialization.deserialization.DeserializationComponents
@@ -32,7 +33,8 @@ public class DeserializationComponentsForJava(
classDataFinder: JavaClassDataFinder, classDataFinder: JavaClassDataFinder,
annotationAndConstantLoader: BinaryClassAnnotationAndConstantLoaderImpl, annotationAndConstantLoader: BinaryClassAnnotationAndConstantLoaderImpl,
packageFragmentProvider: LazyJavaPackageFragmentProvider, packageFragmentProvider: LazyJavaPackageFragmentProvider,
errorReporter: ErrorReporter errorReporter: ErrorReporter,
lookupTracker: LookupTracker
) { ) {
val components: DeserializationComponents val components: DeserializationComponents
@@ -40,7 +42,7 @@ public class DeserializationComponentsForJava(
val localClassResolver = LocalClassResolverImpl() val localClassResolver = LocalClassResolverImpl()
components = DeserializationComponents( components = DeserializationComponents(
storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, localClassResolver, storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, localClassResolver,
errorReporter, JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY, JavaTypeCapabilitiesLoader, errorReporter, lookupTracker, JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY, JavaTypeCapabilitiesLoader,
additionalSupertypes = BuiltInClassesAreSerializableOnJvm(moduleDescriptor) additionalSupertypes = BuiltInClassesAreSerializableOnJvm(moduleDescriptor)
) )
localClassResolver.setDeserializationComponents(components) localClassResolver.setDeserializationComponents(components)
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.ModuleParameters 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.load.java.components.* import org.jetbrains.kotlin.load.java.components.*
import org.jetbrains.kotlin.load.java.lazy.JavaResolverComponents import org.jetbrains.kotlin.load.java.lazy.JavaResolverComponents
import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider 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 binaryClassAnnotationAndConstantLoader = BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, reflectKotlinClassFinder, RuntimeErrorReporter)
val deserializationComponentsForJava = DeserializationComponentsForJava( val deserializationComponentsForJava = DeserializationComponentsForJava(
storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader, storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader,
lazyJavaPackageFragmentProvider, RuntimeErrorReporter lazyJavaPackageFragmentProvider, RuntimeErrorReporter, LookupTracker.DO_NOTHING
) )
singleModuleClassResolver.resolver = javaDescriptorResolver singleModuleClassResolver.resolver = javaDescriptorResolver
deserializedDescriptorResolver.setComponents(deserializationComponentsForJava) deserializedDescriptorResolver.setComponents(deserializationComponentsForJava)
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.builtins
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.PackageFragmentProviderImpl import org.jetbrains.kotlin.descriptors.PackageFragmentProviderImpl
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.serialization.deserialization.*
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -47,6 +48,7 @@ public fun createBuiltInPackageFragmentProvider(
provider, provider,
localClassResolver, localClassResolver,
ErrorReporter.DO_NOTHING, ErrorReporter.DO_NOTHING,
LookupTracker.DO_NOTHING,
FlexibleTypeCapabilitiesDeserializer.ThrowException, FlexibleTypeCapabilitiesDeserializer.ThrowException,
classDescriptorFactory, classDescriptorFactory,
additionalSupertypes = additionalSupertypes additionalSupertypes = additionalSupertypes
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.serialization.deserialization
import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.resolve.constants.ConstantValue import org.jetbrains.kotlin.resolve.constants.ConstantValue
import org.jetbrains.kotlin.serialization.ProtoBuf import org.jetbrains.kotlin.serialization.ProtoBuf
@@ -32,6 +33,7 @@ class DeserializationComponents(
val packageFragmentProvider: PackageFragmentProvider, val packageFragmentProvider: PackageFragmentProvider,
val localClassResolver: LocalClassResolver, val localClassResolver: LocalClassResolver,
val errorReporter: ErrorReporter, val errorReporter: ErrorReporter,
val lookupTracker: LookupTracker,
val flexibleTypeCapabilitiesDeserializer: FlexibleTypeCapabilitiesDeserializer, val flexibleTypeCapabilitiesDeserializer: FlexibleTypeCapabilitiesDeserializer,
val fictitiousClassDescriptorFactory: ClassDescriptorFactory, val fictitiousClassDescriptorFactory: ClassDescriptorFactory,
val typeCapabilitiesLoader: TypeCapabilitiesLoader = TypeCapabilitiesLoader.NONE, val typeCapabilitiesLoader: TypeCapabilitiesLoader = TypeCapabilitiesLoader.NONE,
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.idea.decompiler.textBuilder
import com.intellij.openapi.diagnostic.Logger import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor 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.BinaryClassAnnotationAndConstantLoaderImpl
import org.jetbrains.kotlin.load.kotlin.JavaFlexibleTypeCapabilitiesDeserializer import org.jetbrains.kotlin.load.kotlin.JavaFlexibleTypeCapabilitiesDeserializer
import org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache import org.jetbrains.kotlin.load.kotlin.KotlinBinaryClassCache
@@ -56,7 +57,7 @@ public class DeserializerForClassfileDecompiler(
override val deserializationComponents: DeserializationComponents = DeserializationComponents( override val deserializationComponents: DeserializationComponents = DeserializationComponents(
storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider,
ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), errorReporter, ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), errorReporter,
JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY LookupTracker.DO_NOTHING, JavaFlexibleTypeCapabilitiesDeserializer, ClassDescriptorFactory.EMPTY
) )
override fun resolveDeclarationsInFacade(facadeFqName: FqName): Collection<DeclarationDescriptor> { override fun resolveDeclarationsInFacade(facadeFqName: FqName): Collection<DeclarationDescriptor> {
@@ -20,6 +20,7 @@ import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import org.jetbrains.kotlin.idea.decompiler.navigation.JsMetaFileUtils 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.js.resolve.JsPlatform
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
@@ -54,7 +55,7 @@ public class KotlinJavaScriptDeserializerForDecompiler(
override val deserializationComponents = DeserializationComponents( override val deserializationComponents = DeserializationComponents(
storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider, storageManager, moduleDescriptor, classDataFinder, annotationAndConstantLoader, packageFragmentProvider,
ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), ErrorReporter.DO_NOTHING, ResolveEverythingToKotlinAnyLocalClassResolver(targetPlatform.builtIns), ErrorReporter.DO_NOTHING,
FlexibleTypeCapabilitiesDeserializer.Dynamic, ClassDescriptorFactory.EMPTY LookupTracker.DO_NOTHING, FlexibleTypeCapabilitiesDeserializer.Dynamic, ClassDescriptorFactory.EMPTY
) )
override fun resolveDeclarationsInFacade(facadeFqName: FqName): Collection<DeclarationDescriptor> { override fun resolveDeclarationsInFacade(facadeFqName: FqName): Collection<DeclarationDescriptor> {
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.serialization.js
import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.descriptors.PackageFragmentProvider import org.jetbrains.kotlin.descriptors.PackageFragmentProvider
import org.jetbrains.kotlin.descriptors.PackageFragmentProviderImpl import org.jetbrains.kotlin.descriptors.PackageFragmentProviderImpl
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.serialization.deserialization.* import org.jetbrains.kotlin.serialization.deserialization.*
import org.jetbrains.kotlin.storage.StorageManager import org.jetbrains.kotlin.storage.StorageManager
@@ -45,6 +46,7 @@ public fun createKotlinJavascriptPackageFragmentProvider(
provider, provider,
localClassResolver, localClassResolver,
ErrorReporter.DO_NOTHING, ErrorReporter.DO_NOTHING,
LookupTracker.DO_NOTHING,
FlexibleTypeCapabilitiesDeserializer.Dynamic, FlexibleTypeCapabilitiesDeserializer.Dynamic,
ClassDescriptorFactory.EMPTY ClassDescriptorFactory.EMPTY
) )