[FIR2IR] Consider property init value from nested class, ^KT-52057 Fixed

This commit is contained in:
Ivan Kochurkin
2022-04-20 00:07:17 +03:00
parent 48c4d4cf21
commit 0ef043b074
11 changed files with 76 additions and 2 deletions
@@ -76,6 +76,12 @@ fun deserializeClassToSymbol(
containerSource,
symbol,
annotationDeserializer,
if (status.isCompanion) {
parentContext.constDeserializer
} else {
((containerSource as? KotlinJvmBinarySourceElement)?.binaryClass)?.let { FirConstDeserializer(session, it) }
?: parentContext.constDeserializer
},
status.isInner
) ?: FirDeserializationContext.createForClass(
classId,
@@ -203,9 +209,9 @@ fun deserializeClassToSymbol(
}
it.setSealedClassInheritors(inheritors)
}
it.valueClassRepresentation = computeValueClassRepresentation(it, session)
(it.annotations as MutableList<FirAnnotation>) +=
context.annotationDeserializer.loadClassAnnotations(classProto, context.nameResolver)
@@ -65,6 +65,7 @@ class FirDeserializationContext(
containerSource: DeserializedContainerSource? = this.containerSource,
outerClassSymbol: FirRegularClassSymbol? = this.outerClassSymbol,
annotationDeserializer: AbstractAnnotationDeserializer = this.annotationDeserializer,
constDeserializer: FirConstDeserializer = this.constDeserializer,
capturesTypeParameters: Boolean = true,
containingDeclarationSymbol: FirBasedSymbol<*>? = this.outerClassSymbol
): FirDeserializationContext = FirDeserializationContext(