[FIR] ReturnTypeCalculatorWithJump: support WrappedIntegerOperator explicitly
^KTIJ-25761
This commit is contained in:
committed by
Space Team
parent
d7c197b31e
commit
ea9244bf48
+9
@@ -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.FakeOverrideTypeCalculator
|
||||||
import org.jetbrains.kotlin.fir.scopes.fakeOverrideSubstitution
|
import org.jetbrains.kotlin.fir.scopes.fakeOverrideSubstitution
|
||||||
import org.jetbrains.kotlin.fir.delegatedWrapperData
|
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.FirCallableSymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
|
||||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
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)
|
resolvedToContractsIfNecessary(declaration)
|
||||||
|
|
||||||
val returnTypeRef = declaration.returnTypeRef
|
val returnTypeRef = declaration.returnTypeRef
|
||||||
|
|||||||
Reference in New Issue
Block a user