diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DeserializedType.kt b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DeserializedType.kt index 2d65cd66754..46329cba965 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DeserializedType.kt +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/DeserializedType.kt @@ -29,13 +29,13 @@ class DeserializedType( ) : AbstractJetType(), LazyType { private val typeDeserializer = c.typeDeserializer - private val constructor = c.components.storageManager.createLazyValue { + private val constructor = c.storageManager.createLazyValue { typeDeserializer.typeConstructor(typeProto) } private val arguments = typeDeserializer.typeArguments(typeProto.getArgumentList()) - private val memberScope = c.components.storageManager.createLazyValue { + private val memberScope = c.storageManager.createLazyValue { computeMemberScope() } diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/MemberDeserializer.kt b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/MemberDeserializer.kt index 05dacefd855..8eb1adc32b0 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/MemberDeserializer.kt +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/MemberDeserializer.kt @@ -112,7 +112,7 @@ public class MemberDeserializer(private val c: DeserializationContext) { if (Flags.HAS_CONSTANT.get(flags)) { property.setCompileTimeInitializer( - c.components.storageManager.createNullableLazyValue { + c.storageManager.createNullableLazyValue { val container = c.containingDeclaration.asClassOrPackage() c.components.constantLoader.loadPropertyConstant(container, proto, c.nameResolver, AnnotatedCallableKind.PROPERTY) } @@ -164,7 +164,7 @@ public class MemberDeserializer(private val c: DeserializationContext) { if (!Flags.HAS_ANNOTATIONS.get(flags)) { return Annotations.EMPTY } - return DeserializedAnnotations(c.components.storageManager) { + return DeserializedAnnotations(c.storageManager) { c.components.annotationLoader.loadCallableAnnotations( c.containingDeclaration.asClassOrPackage(), proto, c.nameResolver, kind ) @@ -196,7 +196,7 @@ public class MemberDeserializer(private val c: DeserializationContext) { if (!Flags.HAS_ANNOTATIONS.get(valueParameter.getFlags())) { return Annotations.EMPTY } - return DeserializedAnnotations(c.components.storageManager) { + return DeserializedAnnotations(c.storageManager) { c.components.annotationLoader.loadValueParameterAnnotations(classOrPackage, callable, c.nameResolver, kind, valueParameter) } } diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.kt b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.kt index af38c810d08..1dc9f8b5186 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.kt +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.kt @@ -31,11 +31,11 @@ public class TypeDeserializer( private val typeParameterProtos: List, private val debugName: String ) { - private val classDescriptors: (Int) -> ClassDescriptor? = c.components.storageManager.createMemoizedFunctionWithNullableValues { + private val classDescriptors: (Int) -> ClassDescriptor? = c.storageManager.createMemoizedFunctionWithNullableValues { fqNameIndex -> computeClassDescriptor(fqNameIndex) } - private val typeParameterDescriptors = c.components.storageManager.createLazyValue { + private val typeParameterDescriptors = c.storageManager.createLazyValue { if (typeParameterProtos.isEmpty()) { mapOf() } diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/context/context.kt b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/context/context.kt index 65330b6b3f8..0812cb7d7ab 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/context/context.kt +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/context/context.kt @@ -53,6 +53,8 @@ public class DeserializationContext( val memberDeserializer = MemberDeserializer(this) + val storageManager: StorageManager get() = components.storageManager + fun childContext( descriptor: DeclarationDescriptor, typeParameterProtos: List, diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.kt b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.kt index 5852a6a09a5..403fc637f0c 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.kt +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.kt @@ -43,7 +43,7 @@ public class DeserializedClassDescriptor( private val classProto: ProtoBuf.Class, nameResolver: NameResolver ) : ClassDescriptor, AbstractClassDescriptor( - outerContext.components.storageManager, + outerContext.storageManager, nameResolver.getClassId(classProto.getFqName()).getRelativeClassName().shortName() ) { private val modality = serialization.modality(Flags.MODALITY.get(classProto.getFlags())) @@ -62,14 +62,14 @@ public class DeserializedClassDescriptor( private val enumEntries = EnumEntryClassDescriptors() private val containingDeclaration = outerContext.containingDeclaration - private val primaryConstructor = c.components.storageManager.createNullableLazyValue { computePrimaryConstructor() } - private val classObjectDescriptor = c.components.storageManager.createNullableLazyValue { computeClassObjectDescriptor() } + private val primaryConstructor = c.storageManager.createNullableLazyValue { computePrimaryConstructor() } + private val classObjectDescriptor = c.storageManager.createNullableLazyValue { computeClassObjectDescriptor() } private val annotations = if (!Flags.HAS_ANNOTATIONS.get(classProto.getFlags())) { Annotations.EMPTY } - else DeserializedAnnotations(c.components.storageManager) { + else DeserializedAnnotations(c.storageManager) { c.components.annotationLoader.loadClassAnnotations(this, classProto) } @@ -170,7 +170,7 @@ public class DeserializedClassDescriptor( private inner class DeserializedClassMemberScope : DeserializedMemberScope(c, classProto.getMemberList()) { private val classDescriptor: DeserializedClassDescriptor get() = this@DeserializedClassDescriptor - private val allDescriptors = c.components.storageManager.createLazyValue { + private val allDescriptors = c.storageManager.createLazyValue { computeDescriptors(DescriptorKindFilter.ALL, JetScope.ALL_NAME_FILTER) } @@ -241,7 +241,7 @@ public class DeserializedClassDescriptor( private inner class NestedClassDescriptors { private val nestedClassNames = nestedClassNames() - val findNestedClass = c.components.storageManager.createMemoizedFunctionWithNullableValues { + val findNestedClass = c.storageManager.createMemoizedFunctionWithNullableValues { name -> if (name in nestedClassNames) { c.components.deserializeClass(classId.createNestedClassId(name)) @@ -279,17 +279,17 @@ public class DeserializedClassDescriptor( return result } - val findEnumEntry = c.components.storageManager.createMemoizedFunctionWithNullableValues { + val findEnumEntry = c.storageManager.createMemoizedFunctionWithNullableValues { name -> if (name in enumEntryNames) { EnumEntrySyntheticClassDescriptor.create( - c.components.storageManager, this@DeserializedClassDescriptor, name, enumMemberNames, SourceElement.NO_SOURCE + c.storageManager, this@DeserializedClassDescriptor, name, enumMemberNames, SourceElement.NO_SOURCE ) } else null } - private val enumMemberNames = c.components.storageManager.createLazyValue { computeEnumMemberNames() } + private val enumMemberNames = c.storageManager.createLazyValue { computeEnumMemberNames() } private fun computeEnumMemberNames(): Collection { // NOTE: order of enum entry members should be irrelevant diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.kt b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.kt index 740a5a3402f..2ba6e287e46 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.kt +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedMemberScope.kt @@ -45,11 +45,11 @@ public abstract class DeserializedMemberScope protected( } private val membersProtos = - c.components.storageManager.createLazyValue { groupByKey(filteredMemberProtos(membersList)) } + c.storageManager.createLazyValue { groupByKey(filteredMemberProtos(membersList)) } private val functions = - c.components.storageManager.createMemoizedFunction> { computeFunctions(it) } + c.storageManager.createMemoizedFunction> { computeFunctions(it) } private val properties = - c.components.storageManager.createMemoizedFunction> { computeProperties(it) } + c.storageManager.createMemoizedFunction> { computeProperties(it) } protected open fun filteredMemberProtos(allMemberProtos: Collection): Collection = allMemberProtos diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedPackageMemberScope.kt b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedPackageMemberScope.kt index 2274abd6052..c9749cc91ee 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedPackageMemberScope.kt +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedPackageMemberScope.kt @@ -36,7 +36,7 @@ public open class DeserializedPackageMemberScope( ) : DeserializedMemberScope(components.createContext(packageDescriptor, nameResolver), proto.getMemberList()) { private val packageFqName = packageDescriptor.fqName - private val classNames = c.components.storageManager.createLazyValue(classNames) + private val classNames = c.storageManager.createLazyValue(classNames) override fun getDescriptors(kindFilter: DescriptorKindFilter, nameFilter: (Name) -> Boolean) = computeDescriptors(kindFilter, nameFilter) diff --git a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedTypeParameterDescriptor.java b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedTypeParameterDescriptor.java index e1484a29a40..c9ed2c57423 100644 --- a/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedTypeParameterDescriptor.java +++ b/core/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedTypeParameterDescriptor.java @@ -35,7 +35,7 @@ public class DeserializedTypeParameterDescriptor extends AbstractLazyTypeParamet private final TypeDeserializer typeDeserializer; public DeserializedTypeParameterDescriptor(@NotNull DeserializationContext c, @NotNull ProtoBuf.TypeParameter proto, int index) { - super(c.getComponents().getStorageManager(), + super(c.getStorageManager(), c.getContainingDeclaration(), c.getNameResolver().getName(proto.getName()), SerializationPackage.variance(proto.getVariance()),