From 3f587822730a294b286a5cd71c9e37d526ff5929 Mon Sep 17 00:00:00 2001 From: Ivan Kylchik Date: Wed, 7 Jun 2023 12:20:12 +0200 Subject: [PATCH] [FIR] Drop `makeNullable` parameter from `typeFromSymbol` function We always pass `false` argument to this function. --- .../kotlin/fir/resolve/ResolveUtils.kt | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt index b9371a338cf..a84a25f459d 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt @@ -303,14 +303,14 @@ fun BodyResolveComponents.typeFromCallee(access: FirElement, calleeReference: Fi diagnostic = ConeStubDiagnostic(calleeReference.diagnostic) } is FirNamedReferenceWithCandidate -> { - typeFromSymbol(calleeReference.candidateSymbol, false) + typeFromSymbol(calleeReference.candidateSymbol) } is FirPropertyWithExplicitBackingFieldResolvedNamedReference -> { val symbol = calleeReference.getNarrowedDownSymbol(session) - typeFromSymbol(symbol, false) + typeFromSymbol(symbol) } is FirResolvedNamedReference -> { - typeFromSymbol(calleeReference.resolvedSymbol, false) + typeFromSymbol(calleeReference.resolvedSymbol) } is FirThisReference -> { val labelName = calleeReference.labelName @@ -342,18 +342,11 @@ fun BodyResolveComponents.typeFromCallee(access: FirElement, calleeReference: Fi } } -private fun BodyResolveComponents.typeFromSymbol(symbol: FirBasedSymbol<*>, makeNullable: Boolean): FirResolvedTypeRef { +private fun BodyResolveComponents.typeFromSymbol(symbol: FirBasedSymbol<*>): FirResolvedTypeRef { return when (symbol) { is FirCallableSymbol<*> -> { val returnTypeRef = returnTypeCalculator.tryCalculateReturnType(symbol.fir) - if (makeNullable) { - returnTypeRef.withReplacedConeType( - returnTypeRef.type.withNullability(ConeNullability.NULLABLE, session.typeContext), - KtFakeSourceElementKind.ImplicitTypeRef - ) - } else { - returnTypeRef.copyWithNewSourceKind(KtFakeSourceElementKind.ImplicitTypeRef) - } + returnTypeRef.copyWithNewSourceKind(KtFakeSourceElementKind.ImplicitTypeRef) } is FirClassifierSymbol<*> -> { // TODO: unhack @@ -362,7 +355,7 @@ private fun BodyResolveComponents.typeFromSymbol(symbol: FirBasedSymbol<*>, make type = symbol.constructType(emptyArray(), isNullable = false) } } - else -> error("WTF ! $symbol") + else -> error("Failed to extract type from symbol: $symbol") } } @@ -533,7 +526,7 @@ fun FirAnnotation.getCorrespondingClassSymbolOrNull(session: FirSession): FirReg } fun BodyResolveComponents.initialTypeOfCandidate(candidate: Candidate): ConeKotlinType { - val typeRef = typeFromSymbol(candidate.symbol, makeNullable = false) + val typeRef = typeFromSymbol(candidate.symbol) return typeRef.initialTypeOfCandidate(candidate) }