K2: use MutableOrEmptyList for context receivers

This commit is contained in:
Mikhail Glukhikh
2022-12-15 10:43:57 +01:00
committed by Space Team
parent dff71a9602
commit ddc786364f
20 changed files with 29 additions and 39 deletions
@@ -50,7 +50,7 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati
source,
typeRef,
annotations.toMutableOrEmpty(),
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -53,7 +53,7 @@ class FirComponentCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder, F
return FirComponentCallImpl(
source,
annotations.toMutableOrEmpty(),
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
dispatchReceiver,
extensionReceiver,
@@ -47,7 +47,7 @@ class FirDelegatedConstructorCallBuilder : FirCallBuilder, FirAnnotationContaine
source,
annotations.toMutableOrEmpty(),
argumentList,
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
constructedTypeRef,
dispatchReceiver,
calleeReference,
@@ -55,7 +55,7 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
source,
typeRef,
annotations.toMutableOrEmpty(),
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -51,7 +51,7 @@ open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnn
return FirImplicitInvokeCallImpl(
source,
annotations.toMutableOrEmpty(),
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -53,7 +53,7 @@ open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder
source,
typeRef,
annotations.toMutableOrEmpty(),
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
explicitReceiver,
argumentList,
@@ -52,7 +52,7 @@ class FirPropertyAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotat
typeRef,
annotations.toMutableOrEmpty(),
calleeReference,
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -47,7 +47,7 @@ class FirThisReceiverExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotatio
source,
typeRef,
annotations.toMutableOrEmpty(),
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
calleeReference,
isImplicit,
@@ -46,7 +46,7 @@ class FirVariableAssignmentBuilder : FirQualifiedAccessBuilder, FirAnnotationCon
return FirVariableAssignmentImpl(
calleeReference,
annotations.toMutableOrEmpty(),
contextReceiverArguments,
contextReceiverArguments.toMutableOrEmpty(),
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -29,7 +29,7 @@ internal class FirCallableReferenceAccessImpl(
override var source: KtSourceElement?,
override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -102,8 +102,7 @@ internal class FirCallableReferenceAccessImpl(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
internal class FirComponentCallImpl(
override var source: KtSourceElement?,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression,
@@ -113,8 +113,7 @@ internal class FirComponentCallImpl(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -29,7 +29,7 @@ internal class FirDelegatedConstructorCallImpl(
override val source: KtSourceElement?,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override var argumentList: FirArgumentList,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override var constructedTypeRef: FirTypeRef,
override var dispatchReceiver: FirExpression,
override var calleeReference: FirReference,
@@ -78,8 +78,7 @@ internal class FirDelegatedConstructorCallImpl(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceConstructedTypeRef(newConstructedTypeRef: FirTypeRef) {
@@ -31,7 +31,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
override var source: KtSourceElement?,
override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -107,8 +107,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
internal class FirImplicitInvokeCallImpl(
override var source: KtSourceElement?,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -109,8 +109,7 @@ internal class FirImplicitInvokeCallImpl(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -31,7 +31,7 @@ internal class FirIntegerLiteralOperatorCallImpl(
override var source: KtSourceElement?,
override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var argumentList: FirArgumentList,
@@ -117,8 +117,7 @@ internal class FirIntegerLiteralOperatorCallImpl(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -30,7 +30,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override var calleeReference: FirReference,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -106,8 +106,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -30,7 +30,7 @@ internal class FirThisReceiverExpressionImpl(
override var source: KtSourceElement?,
override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var calleeReference: FirThisReference,
override val isImplicit: Boolean,
@@ -104,8 +104,7 @@ internal class FirThisReceiverExpressionImpl(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
internal class FirVariableAssignmentImpl(
override var calleeReference: FirReference,
override var annotations: MutableOrEmptyList<FirAnnotation>,
override val contextReceiverArguments: MutableList<FirExpression>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -110,8 +110,7 @@ internal class FirVariableAssignmentImpl(
}
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
contextReceiverArguments.clear()
contextReceiverArguments.addAll(newContextReceiverArguments)
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.fir.visitors
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.MutableOrEmptyList
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
fun <T : FirElement, D> T.transformSingle(transformer: FirTransformer<D>, data: D): T {
return (this as FirPureAbstractElement).transform<T, D>(transformer, data)
@@ -25,7 +24,7 @@ fun <T : FirElement, D> MutableList<T>.transformInplace(transformer: FirTransfor
}
}
fun <T : FirAnnotation, D> MutableOrEmptyList<T>.transformInplace(transformer: FirTransformer<D>, data: D) {
fun <T : FirElement, D> MutableOrEmptyList<T>.transformInplace(transformer: FirTransformer<D>, data: D) {
list?.transformInplace(transformer, data)
}
@@ -202,7 +202,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
}
contextReceiverArgumentListOwner.configure {
+fieldList("contextReceiverArguments", expression, withReplace = true)
+fieldList("contextReceiverArguments", expression, useMutableOrEmpty = true, withReplace = true)
}
qualifiedAccess.configure {