K2: use MutableOrEmptyList for type arguments

This commit is contained in:
Mikhail Glukhikh
2022-12-15 11:48:37 +01:00
committed by Space Team
parent a48610000d
commit d20d63786b
27 changed files with 40 additions and 53 deletions
@@ -40,7 +40,7 @@ class FirAnnotationBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder
useSiteTarget, useSiteTarget,
annotationTypeRef, annotationTypeRef,
argumentMapping, argumentMapping,
typeArguments, typeArguments.toMutableOrEmpty(),
) )
} }
@@ -50,7 +50,7 @@ class FirAnnotationCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder,
source, source,
useSiteTarget, useSiteTarget,
annotationTypeRef, annotationTypeRef,
typeArguments, typeArguments.toMutableOrEmpty(),
argumentList, argumentList,
calleeReference, calleeReference,
argumentMapping, argumentMapping,
@@ -51,7 +51,7 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati
typeRef, typeRef,
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
explicitReceiver, explicitReceiver,
dispatchReceiver, dispatchReceiver,
extensionReceiver, extensionReceiver,
@@ -54,7 +54,7 @@ class FirComponentCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder, F
source, source,
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
dispatchReceiver, dispatchReceiver,
extensionReceiver, extensionReceiver,
argumentList, argumentList,
@@ -51,7 +51,7 @@ class FirErrorAnnotationCallBuilder : FirCallBuilder, FirAnnotationContainerBuil
source, source,
useSiteTarget, useSiteTarget,
annotationTypeRef, annotationTypeRef,
typeArguments, typeArguments.toMutableOrEmpty(),
argumentList, argumentList,
calleeReference, calleeReference,
diagnostic, diagnostic,
@@ -52,7 +52,7 @@ class FirErrorResolvedQualifierBuilder : FirAbstractResolvedQualifierBuilder, Fi
symbol, symbol,
isNullableLHSForCallableReference, isNullableLHSForCallableReference,
nonFatalDiagnostics.toMutableOrEmpty(), nonFatalDiagnostics.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
diagnostic, diagnostic,
) )
} }
@@ -56,7 +56,7 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
typeRef, typeRef,
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
explicitReceiver, explicitReceiver,
dispatchReceiver, dispatchReceiver,
extensionReceiver, extensionReceiver,
@@ -52,7 +52,7 @@ open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnn
source, source,
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
explicitReceiver, explicitReceiver,
dispatchReceiver, dispatchReceiver,
extensionReceiver, extensionReceiver,
@@ -54,7 +54,7 @@ open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder
typeRef, typeRef,
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
explicitReceiver, explicitReceiver,
argumentList, argumentList,
calleeReference, calleeReference,
@@ -53,7 +53,7 @@ class FirPropertyAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotat
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
calleeReference, calleeReference,
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
explicitReceiver, explicitReceiver,
dispatchReceiver, dispatchReceiver,
extensionReceiver, extensionReceiver,
@@ -54,7 +54,7 @@ class FirResolvedQualifierBuilder : FirAbstractResolvedQualifierBuilder, FirAnno
symbol, symbol,
isNullableLHSForCallableReference, isNullableLHSForCallableReference,
nonFatalDiagnostics.toMutableOrEmpty(), nonFatalDiagnostics.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
) )
} }
@@ -48,7 +48,7 @@ class FirThisReceiverExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotatio
typeRef, typeRef,
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
calleeReference, calleeReference,
isImplicit, isImplicit,
) )
@@ -47,7 +47,7 @@ class FirVariableAssignmentBuilder : FirQualifiedAccessBuilder, FirAnnotationCon
calleeReference, calleeReference,
annotations.toMutableOrEmpty(), annotations.toMutableOrEmpty(),
contextReceiverArguments.toMutableOrEmpty(), contextReceiverArguments.toMutableOrEmpty(),
typeArguments, typeArguments.toMutableOrEmpty(),
explicitReceiver, explicitReceiver,
dispatchReceiver, dispatchReceiver,
extensionReceiver, extensionReceiver,
@@ -30,7 +30,7 @@ internal class FirAnnotationCallImpl(
override val source: KtSourceElement?, override val source: KtSourceElement?,
override val useSiteTarget: AnnotationUseSiteTarget?, override val useSiteTarget: AnnotationUseSiteTarget?,
override var annotationTypeRef: FirTypeRef, override var annotationTypeRef: FirTypeRef,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var argumentList: FirArgumentList, override var argumentList: FirArgumentList,
override var calleeReference: FirReference, override var calleeReference: FirReference,
override var argumentMapping: FirAnnotationArgumentMapping, override var argumentMapping: FirAnnotationArgumentMapping,
@@ -82,8 +82,7 @@ internal class FirAnnotationCallImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceArgumentList(newArgumentList: FirArgumentList) { override fun replaceArgumentList(newArgumentList: FirArgumentList) {
@@ -27,7 +27,7 @@ internal class FirAnnotationImpl(
override val useSiteTarget: AnnotationUseSiteTarget?, override val useSiteTarget: AnnotationUseSiteTarget?,
override var annotationTypeRef: FirTypeRef, override var annotationTypeRef: FirTypeRef,
override var argumentMapping: FirAnnotationArgumentMapping, override var argumentMapping: FirAnnotationArgumentMapping,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
) : FirAnnotation() { ) : FirAnnotation() {
override val typeRef: FirTypeRef get() = annotationTypeRef override val typeRef: FirTypeRef get() = annotationTypeRef
override val annotations: List<FirAnnotation> get() = emptyList() override val annotations: List<FirAnnotation> get() = emptyList()
@@ -72,7 +72,6 @@ internal class FirAnnotationImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
} }
@@ -30,7 +30,7 @@ internal class FirCallableReferenceAccessImpl(
override var typeRef: FirTypeRef, override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var explicitReceiver: FirExpression?, override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression, override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression, override var extensionReceiver: FirExpression,
@@ -106,8 +106,7 @@ internal class FirCallableReferenceAccessImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
@@ -35,7 +35,7 @@ internal class FirComponentCallImpl(
override var source: KtSourceElement?, override var source: KtSourceElement?,
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var dispatchReceiver: FirExpression, override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression, override var extensionReceiver: FirExpression,
override var argumentList: FirArgumentList, override var argumentList: FirArgumentList,
@@ -117,8 +117,7 @@ internal class FirComponentCallImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) { override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
@@ -31,7 +31,7 @@ internal class FirErrorAnnotationCallImpl(
override val source: KtSourceElement?, override val source: KtSourceElement?,
override val useSiteTarget: AnnotationUseSiteTarget?, override val useSiteTarget: AnnotationUseSiteTarget?,
override var annotationTypeRef: FirTypeRef, override var annotationTypeRef: FirTypeRef,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var argumentList: FirArgumentList, override var argumentList: FirArgumentList,
override var calleeReference: FirReference, override var calleeReference: FirReference,
override val diagnostic: ConeDiagnostic, override val diagnostic: ConeDiagnostic,
@@ -84,8 +84,7 @@ internal class FirErrorAnnotationCallImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceArgumentList(newArgumentList: FirArgumentList) { override fun replaceArgumentList(newArgumentList: FirArgumentList) {
@@ -34,7 +34,7 @@ internal class FirErrorResolvedQualifierImpl(
override val symbol: FirClassLikeSymbol<*>?, override val symbol: FirClassLikeSymbol<*>?,
override var isNullableLHSForCallableReference: Boolean, override var isNullableLHSForCallableReference: Boolean,
override var nonFatalDiagnostics: MutableOrEmptyList<ConeDiagnostic>, override var nonFatalDiagnostics: MutableOrEmptyList<ConeDiagnostic>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override val diagnostic: ConeDiagnostic, override val diagnostic: ConeDiagnostic,
) : FirErrorResolvedQualifier() { ) : FirErrorResolvedQualifier() {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
@@ -81,7 +81,6 @@ internal class FirErrorResolvedQualifierImpl(
override fun replaceResolvedToCompanionObject(newResolvedToCompanionObject: Boolean) {} override fun replaceResolvedToCompanionObject(newResolvedToCompanionObject: Boolean) {}
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
} }
@@ -32,7 +32,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
override var typeRef: FirTypeRef, override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var explicitReceiver: FirExpression?, override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression, override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression, override var extensionReceiver: FirExpression,
@@ -111,8 +111,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
@@ -32,7 +32,7 @@ internal class FirImplicitInvokeCallImpl(
override var source: KtSourceElement?, override var source: KtSourceElement?,
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var explicitReceiver: FirExpression?, override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression, override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression, override var extensionReceiver: FirExpression,
@@ -113,8 +113,7 @@ internal class FirImplicitInvokeCallImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
@@ -32,7 +32,7 @@ internal class FirIntegerLiteralOperatorCallImpl(
override var typeRef: FirTypeRef, override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var explicitReceiver: FirExpression?, override var explicitReceiver: FirExpression?,
override var argumentList: FirArgumentList, override var argumentList: FirArgumentList,
override var calleeReference: FirNamedReference, override var calleeReference: FirNamedReference,
@@ -121,8 +121,7 @@ internal class FirIntegerLiteralOperatorCallImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
@@ -31,7 +31,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var calleeReference: FirReference, override var calleeReference: FirReference,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var explicitReceiver: FirExpression?, override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression, override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression, override var extensionReceiver: FirExpression,
@@ -110,8 +110,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
@@ -35,7 +35,7 @@ internal class FirResolvedQualifierImpl(
override val symbol: FirClassLikeSymbol<*>?, override val symbol: FirClassLikeSymbol<*>?,
override var isNullableLHSForCallableReference: Boolean, override var isNullableLHSForCallableReference: Boolean,
override var nonFatalDiagnostics: MutableOrEmptyList<ConeDiagnostic>, override var nonFatalDiagnostics: MutableOrEmptyList<ConeDiagnostic>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
) : FirResolvedQualifier() { ) : FirResolvedQualifier() {
override val classId: ClassId? get() = relativeClassFqName?.let { override val classId: ClassId? get() = relativeClassFqName?.let {
ClassId(packageFqName, it, false) ClassId(packageFqName, it, false)
@@ -82,7 +82,6 @@ internal class FirResolvedQualifierImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
} }
@@ -31,7 +31,7 @@ internal class FirThisReceiverExpressionImpl(
override var typeRef: FirTypeRef, override var typeRef: FirTypeRef,
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var calleeReference: FirThisReference, override var calleeReference: FirThisReference,
override val isImplicit: Boolean, override val isImplicit: Boolean,
) : FirThisReceiverExpression() { ) : FirThisReceiverExpression() {
@@ -108,8 +108,7 @@ internal class FirThisReceiverExpressionImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
@@ -29,7 +29,7 @@ internal class FirVariableAssignmentImpl(
override var calleeReference: FirReference, override var calleeReference: FirReference,
override var annotations: MutableOrEmptyList<FirAnnotation>, override var annotations: MutableOrEmptyList<FirAnnotation>,
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>, override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
override val typeArguments: MutableList<FirTypeProjection>, override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
override var explicitReceiver: FirExpression?, override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression, override var dispatchReceiver: FirExpression,
override var extensionReceiver: FirExpression, override var extensionReceiver: FirExpression,
@@ -114,8 +114,7 @@ internal class FirVariableAssignmentImpl(
} }
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) { override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
typeArguments.clear() typeArguments = newTypeArguments.toMutableOrEmpty()
typeArguments.addAll(newTypeArguments)
} }
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) { override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
@@ -31,7 +31,7 @@ object FieldSets {
) )
} }
val typeArguments by lazy { fieldList("typeArguments", typeProjection, withReplace = true) } val typeArguments by lazy { fieldList("typeArguments", typeProjection, useMutableOrEmpty = true, withReplace = true) }
val arguments by lazy { fieldList("arguments", expression) } val arguments by lazy { fieldList("arguments", expression) }