From 1ff5da5f4134ec163d4b4116d349a0161e05747f Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 16 Oct 2020 17:13:51 +0300 Subject: [PATCH] [FIR] Add forgotten fake override type calculation --- .../kotlin/fir/resolve/transformers/ReturnTypeCalculator.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/ReturnTypeCalculator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/ReturnTypeCalculator.kt index c64f181ee01..11d1b219126 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/ReturnTypeCalculator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/ReturnTypeCalculator.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic import org.jetbrains.kotlin.fir.render +import org.jetbrains.kotlin.fir.scopes.FakeOverrideTypeCalculator import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef @@ -20,6 +21,9 @@ class ReturnTypeCalculatorForFullBodyResolve : ReturnTypeCalculator { override fun tryCalculateReturnType(declaration: FirTypedDeclaration): FirResolvedTypeRef { val returnTypeRef = declaration.returnTypeRef if (returnTypeRef is FirResolvedTypeRef) return returnTypeRef + if (declaration.origin.fromSupertypes) { + return FakeOverrideTypeCalculator.Forced.computeReturnType(declaration) + } return buildErrorTypeRef { diagnostic = ConeSimpleDiagnostic(