K2: Reformat FirCallCompletionResultsWriterTransformer.kt

This commit is contained in:
Denis.Zharkov
2023-07-19 17:46:11 +02:00
committed by Space Team
parent 06b0fc7e4c
commit cd5105c133
@@ -59,7 +59,7 @@ class FirCallCompletionResultsWriterTransformer(
private val integerOperatorApproximator: IntegerLiteralAndOperatorApproximationTransformer,
private val samResolver: FirSamResolver,
private val context: BodyResolveContext,
private val mode: Mode = Mode.Normal
private val mode: Mode = Mode.Normal,
) : FirAbstractTreeTransformer<ExpectedArgumentType?>(phase = FirResolvePhase.IMPLICIT_TYPES_BODY_RESOLVE) {
private fun finallySubstituteOrNull(type: ConeKotlinType): ConeKotlinType? {
@@ -91,7 +91,7 @@ class FirCallCompletionResultsWriterTransformer(
}
private fun <T : FirQualifiedAccessExpression> prepareQualifiedTransform(
qualifiedAccessExpression: T, calleeReference: FirNamedReferenceWithCandidate
qualifiedAccessExpression: T, calleeReference: FirNamedReferenceWithCandidate,
): T {
val subCandidate = calleeReference.candidate
val declaration = subCandidate.symbol.fir
@@ -185,7 +185,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformPropertyAccessExpression(
propertyAccessExpression: FirPropertyAccessExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
return transformQualifiedAccessExpression(propertyAccessExpression, data)
}
@@ -252,7 +252,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformAnnotationCall(
annotationCall: FirAnnotationCall,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
val calleeReference = annotationCall.calleeReference as? FirNamedReferenceWithCandidate ?: return annotationCall
annotationCall.replaceCalleeReference(calleeReference.toResolvedReference())
@@ -334,7 +334,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformSafeCallExpression(
safeCallExpression: FirSafeCallExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
safeCallExpression.transformSelector(
this,
@@ -400,7 +400,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformQualifiedAccessExpression(
qualifiedAccessExpression: FirQualifiedAccessExpression,
data: Any?
data: Any?,
): FirStatement {
val originalType = qualifiedAccessExpression.resolvedType
val substitutedReceiverType = finallySubstituteOrNull(originalType) ?: return qualifiedAccessExpression
@@ -476,7 +476,7 @@ class FirCallCompletionResultsWriterTransformer(
private fun computeTypeArguments(
access: FirQualifiedAccessExpression,
candidate: Candidate
candidate: Candidate,
): List<FirTypeProjection> {
val typeArguments = computeTypeArgumentTypes(candidate)
.mapIndexed { index, type ->
@@ -529,7 +529,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformAnonymousFunctionExpression(
anonymousFunctionExpression: FirAnonymousFunctionExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
return anonymousFunctionExpression.transformAnonymousFunction(this, data)
}
@@ -599,7 +599,7 @@ class FirCallCompletionResultsWriterTransformer(
}
private fun transformImplicitTypeRefInAnonymousFunction(
anonymousFunction: FirAnonymousFunction
anonymousFunction: FirAnonymousFunction,
): FirStatement {
val implicitTypeTransformer = object : FirDefaultTransformer<Any?>() {
override fun <E : FirElement> transformElement(element: E, data: Any?): E {
@@ -609,7 +609,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformImplicitTypeRef(
implicitTypeRef: FirImplicitTypeRef,
data: Any?
data: Any?,
): FirTypeRef =
buildErrorTypeRef {
source = implicitTypeRef.source
@@ -627,7 +627,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformReturnExpression(
returnExpression: FirReturnExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
val labeledElement = returnExpression.target.labeledElement
if (labeledElement is FirAnonymousFunction) {
@@ -643,7 +643,8 @@ class FirCallCompletionResultsWriterTransformer(
if (initialType != null) {
var resultType = finallySubstituteOrNull(initialType) ?: block.resultType
(resultType as? ConeIntegerLiteralType)?.let {
resultType = it.getApproximatedType(data?.getExpectedType(block)?.fullyExpandedType(session))
resultType =
it.getApproximatedType(data?.getExpectedType(block)?.fullyExpandedType(session))
}
block.replaceConeTypeOrNull(resultType)
session.lookupTracker?.recordTypeResolveAsLookup(resultType, block.source, context.file.source)
@@ -659,28 +660,28 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformWhenExpression(
whenExpression: FirWhenExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
return transformSyntheticCall(whenExpression, data)
}
override fun transformTryExpression(
tryExpression: FirTryExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
return transformSyntheticCall(tryExpression, data)
}
override fun transformCheckNotNullCall(
checkNotNullCall: FirCheckNotNullCall,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
return transformSyntheticCall(checkNotNullCall, data)
}
override fun transformElvisExpression(
elvisExpression: FirElvisExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
return transformSyntheticCall(elvisExpression, data)
}
@@ -708,7 +709,7 @@ class FirCallCompletionResultsWriterTransformer(
private inline fun <reified D> transformSyntheticCallChildren(
syntheticCall: D,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
) where D : FirResolvable, D : FirExpression {
val newData = data?.getExpectedType(syntheticCall)?.toExpectedType() ?: syntheticCall.resolvedType.toExpectedType()
@@ -739,7 +740,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformIntegerLiteralOperatorCall(
integerLiteralOperatorCall: FirIntegerLiteralOperatorCall,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
if (data == ExpectedArgumentType.NoApproximation) return integerLiteralOperatorCall
val expectedType = data?.getExpectedType(integerLiteralOperatorCall)
@@ -766,7 +767,7 @@ class FirCallCompletionResultsWriterTransformer(
override fun transformVarargArgumentsExpression(
varargArgumentsExpression: FirVarargArgumentsExpression,
data: ExpectedArgumentType?
data: ExpectedArgumentType?,
): FirStatement {
val expectedType = data?.getExpectedType(varargArgumentsExpression)?.let { ExpectedArgumentType.ExpectedType(it) }
varargArgumentsExpression.transformChildren(this, expectedType)
@@ -809,7 +810,7 @@ class FirCallCompletionResultsWriterTransformer(
sealed class ExpectedArgumentType {
class ArgumentsMap(
val map: Map<FirElement, ConeKotlinType>,
val lambdasReturnTypes: Map<FirAnonymousFunction, ConeKotlinType>
val lambdasReturnTypes: Map<FirAnonymousFunction, ConeKotlinType>,
) : ExpectedArgumentType()
class ExpectedType(val type: ConeKotlinType) : ExpectedArgumentType()