Reformat FirExpressionsResolveTransformer

This commit is contained in:
Kirill Rakhman
2023-01-20 12:40:45 +01:00
committed by Space Team
parent a084bcbbb5
commit 4e9ae3b5e3
@@ -52,7 +52,9 @@ import org.jetbrains.kotlin.types.ConstantValueKind
import org.jetbrains.kotlin.types.TypeApproximatorConfiguration import org.jetbrains.kotlin.types.TypeApproximatorConfiguration
import org.jetbrains.kotlin.util.OperatorNameConventions import org.jetbrains.kotlin.util.OperatorNameConventions
open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveTransformerDispatcher) : FirPartialBodyResolveTransformer(transformer) { open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveTransformerDispatcher) :
FirPartialBodyResolveTransformer(transformer) {
private inline val builtinTypes: BuiltinTypes get() = session.builtinTypes private inline val builtinTypes: BuiltinTypes get() = session.builtinTypes
private val arrayOfCallTransformer = FirArrayOfCallTransformer() private val arrayOfCallTransformer = FirArrayOfCallTransformer()
var enableArrayOfCallTransformation = false var enableArrayOfCallTransformation = false
@@ -376,7 +378,8 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
return checkedSafeCallSubject return checkedSafeCallSubject
} }
override fun transformFunctionCall(functionCall: FirFunctionCall, data: ResolutionMode): FirStatement = whileAnalysing(session, functionCall) { override fun transformFunctionCall(functionCall: FirFunctionCall, data: ResolutionMode): FirStatement =
whileAnalysing(session, functionCall) {
val calleeReference = functionCall.calleeReference val calleeReference = functionCall.calleeReference
if ( if (
(calleeReference is FirResolvedNamedReference || calleeReference is FirErrorNamedReference) && (calleeReference is FirResolvedNamedReference || calleeReference is FirErrorNamedReference) &&
@@ -468,7 +471,8 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
ConeNullability.NOT_NULL ConeNullability.NOT_NULL
) )
val approximationIsNeeded = resolutionMode !is ResolutionMode.ReceiverResolution && resolutionMode !is ResolutionMode.ContextDependent val approximationIsNeeded =
resolutionMode !is ResolutionMode.ReceiverResolution && resolutionMode !is ResolutionMode.ContextDependent
val integerOperatorCall = buildIntegerLiteralOperatorCall { val integerOperatorCall = buildIntegerLiteralOperatorCall {
source = originalCall.source source = originalCall.source
@@ -1057,7 +1061,7 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
expectedTypeRef != null -> { expectedTypeRef != null -> {
require(expressionType is ConeIntegerLiteralConstantTypeImpl) require(expressionType is ConeIntegerLiteralConstantTypeImpl)
val coneType = expectedTypeRef.coneTypeSafe<ConeKotlinType>()?.fullyExpandedType(session) val coneType = expectedTypeRef.coneTypeSafe<ConeKotlinType>()?.fullyExpandedType(session)
val approximatedType= expressionType.getApproximatedType(coneType) val approximatedType = expressionType.getApproximatedType(coneType)
constExpression.replaceKind(approximatedType.toConstKind() as ConstantValueKind<T>) constExpression.replaceKind(approximatedType.toConstKind() as ConstantValueKind<T>)
approximatedType approximatedType
} }
@@ -1203,7 +1207,7 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
): FirFunctionCall = buildFunctionCall { ): FirFunctionCall = buildFunctionCall {
this.source = source this.source = source
explicitReceiver = receiver explicitReceiver = receiver
argumentList = when(arguments.size) { argumentList = when (arguments.size) {
0 -> FirEmptyArgumentList 0 -> FirEmptyArgumentList
1 -> buildUnaryArgumentList(arguments.first()) 1 -> buildUnaryArgumentList(arguments.first())
else -> buildArgumentList { else -> buildArgumentList {
@@ -1466,7 +1470,8 @@ open class FirExpressionsResolveTransformer(transformer: FirAbstractBodyResolveT
) )
} }
override fun transformArrayOfCall(arrayOfCall: FirArrayOfCall, data: ResolutionMode): FirStatement = whileAnalysing(session, arrayOfCall) { override fun transformArrayOfCall(arrayOfCall: FirArrayOfCall, data: ResolutionMode): FirStatement =
whileAnalysing(session, arrayOfCall) {
if (data is ResolutionMode.ContextDependent) { if (data is ResolutionMode.ContextDependent) {
arrayOfCall.transformChildren(transformer, data) arrayOfCall.transformChildren(transformer, data)
return arrayOfCall return arrayOfCall