From aa5f0fded557ff1fb23aef129c2326977da6fc8a Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Thu, 18 Apr 2019 18:14:16 +0300 Subject: [PATCH] FIR resolve: provide proper type for super reference --- .../fir/resolve/transformers/FirBodyResolveTransformer.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt index ca19c897b87..edc4a7c34c3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirBodyResolveTransformer.kt @@ -238,8 +238,10 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn } is FirSuperReference -> { qualifiedAccessExpression.resultType = - FirErrorTypeRefImpl(session, qualifiedAccessExpression.psi, "Unsupported: super type") //TODO - + callee.superTypeRef as? FirResolvedTypeRef ?: + implicitReceiverStack.filterIsInstance().lastOrNull() + ?.boundSymbol?.fir?.superTypeRefs?.firstOrNull() + ?: FirErrorTypeRefImpl(session, qualifiedAccessExpression.psi, "No super type") } is FirResolvedCallableReference -> { if (qualifiedAccessExpression.typeRef !is FirResolvedTypeRef) {