[FIR] ReturnTypeCalculatorWithJump: support WrappedIntegerOperator explicitly

^KTIJ-25761
This commit is contained in:
Dmitrii Gridin
2023-06-09 17:46:59 +02:00
committed by Space Team
parent d7c197b31e
commit ea9244bf48
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.contracts.runContractResolv
import org.jetbrains.kotlin.fir.scopes.FakeOverrideTypeCalculator
import org.jetbrains.kotlin.fir.scopes.fakeOverrideSubstitution
import org.jetbrains.kotlin.fir.delegatedWrapperData
import org.jetbrains.kotlin.fir.scopes.impl.originalForWrappedIntegerOperator
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
@@ -202,6 +203,14 @@ open class ReturnTypeCalculatorWithJump(
)
}
if (declaration is FirSimpleFunction) {
// Effectively this logic is redundant now, because all methods of Int have an explicit return type,
// so explicit call here just to be sure (probably some method from Int will have an implicit type)
declaration.originalForWrappedIntegerOperator?.let {
tryCalculateReturnTypeOrNull(it.fir)
}
}
resolvedToContractsIfNecessary(declaration)
val returnTypeRef = declaration.returnTypeRef