From 465ed9973f615d121d18073f6a41588db3d9f825 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Wed, 22 Jul 2015 18:08:11 +0300 Subject: [PATCH] Minor. Make DeserializedType subclass of AbstractLazyType --- .../deserialization/DeserializedType.kt | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/DeserializedType.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/DeserializedType.kt index 97ccf95f120..bfe68c4b4f5 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/DeserializedType.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/DeserializedType.kt @@ -29,36 +29,29 @@ import org.jetbrains.kotlin.utils.toReadOnlyList class DeserializedType( c: DeserializationContext, private val typeProto: ProtoBuf.Type -) : AbstractJetType(), LazyType { +) : AbstractLazyType(c.storageManager), LazyType { private val typeDeserializer = c.typeDeserializer - private val constructor = c.storageManager.createLazyValue { - typeDeserializer.typeConstructor(typeProto) - } + override fun computeTypeConstructor() = typeDeserializer.typeConstructor(typeProto) - private val arguments = c.storageManager.createLazyValue { + override fun computeArguments() = typeProto.getArgumentList().mapIndexed { index, proto -> typeDeserializer.typeArgument(getConstructor().getParameters().getOrNull(index), proto) }.toReadOnlyList() - } - private val memberScope = c.storageManager.createLazyValue { + override fun computeMemberScope() = if (isError()) { ErrorUtils.createErrorScope(getConstructor().toString()) } else { getTypeMemberScope(getConstructor(), getArguments()) } - } private val annotations = DeserializedAnnotations(c.storageManager) { c.components.annotationAndConstantLoader.loadTypeAnnotations(typeProto, c.nameResolver) } - override fun getConstructor(): TypeConstructor = constructor() - - override fun getArguments(): List = arguments() override fun isMarkedNullable(): Boolean = typeProto.getNullable() @@ -71,8 +64,6 @@ class DeserializedType( } } - override fun getMemberScope(): JetScope = memberScope() - override fun isError(): Boolean { val descriptor = getConstructor().getDeclarationDescriptor() return descriptor != null && ErrorUtils.isError(descriptor)