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 22507ae8c18..063555e61c0 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 @@ -643,6 +643,9 @@ open class FirBodyResolveTransformer(val session: FirSession, val implicitTypeOn override fun transformNamedFunction(namedFunction: FirNamedFunction, data: Any?): CompositeTransformResult { if (namedFunction.returnTypeRef !is FirImplicitTypeRef && implicitTypeOnly) return namedFunction.compose() + if (namedFunction.returnTypeRef is FirImplicitTypeRef) { + namedFunction.transformReturnTypeRef(StoreType, FirComputingImplicitTypeRef) + } val receiverTypeRef = namedFunction.receiverTypeRef fun transform(): CompositeTransformResult { @@ -887,12 +890,12 @@ private object StoreNameReference : FirTransformer() { } } -internal object StoreType : FirTransformer() { - override fun transformElement(element: E, data: FirResolvedTypeRef): CompositeTransformResult { +internal object StoreType : FirTransformer() { + override fun transformElement(element: E, data: FirTypeRef): CompositeTransformResult { return element.compose() } - override fun transformTypeRef(typeRef: FirTypeRef, data: FirResolvedTypeRef): CompositeTransformResult { + override fun transformTypeRef(typeRef: FirTypeRef, data: FirTypeRef): CompositeTransformResult { return data.compose() } }