Store outer class in ProtoContainer instead of only its kind

This commit is contained in:
Alexander Udalov
2016-04-06 18:01:56 +03:00
parent 8ee278d02f
commit 1f3850da6e
5 changed files with 28 additions and 25 deletions
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.serialization.deserialization
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.SourceElement
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
@@ -33,7 +32,7 @@ sealed class ProtoContainer(
nameResolver: NameResolver,
typeTable: TypeTable,
source: SourceElement?,
val outerClassKind: ClassKind?
val outerClass: ProtoContainer.Class?
) : ProtoContainer(nameResolver, typeTable, source) {
val classId: ClassId = nameResolver.getClassId(classProto.fqName)
@@ -73,8 +73,9 @@ class DeserializedClassDescriptor(
private val constructors = c.storageManager.createLazyValue { computeConstructors() }
private val companionObjectDescriptor = c.storageManager.createNullableLazyValue { computeCompanionObjectDescriptor() }
internal val thisAsProtoContainer = ProtoContainer.Class(
classProto, c.nameResolver, c.typeTable, sourceElement, (containingDeclaration as? ClassDescriptor)?.kind
internal val thisAsProtoContainer: ProtoContainer.Class = ProtoContainer.Class(
classProto, c.nameResolver, c.typeTable, sourceElement,
(containingDeclaration as? DeserializedClassDescriptor)?.thisAsProtoContainer
)
private val annotations =