K2: use MutableOrEmptyList for nonFatalDiagnostics
This commit is contained in:
committed by
Space Team
parent
582b640bec
commit
dff71a9602
+7
-6
@@ -30,7 +30,6 @@ import org.jetbrains.kotlin.fir.tree.generator.FieldSets.typeParameters
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.typeRefField
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.visibility
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFieldConfigurator
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFirTreeBuilder
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFirTreeBuilder.Companion.baseFirElement
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.type
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.*
|
||||
@@ -38,7 +37,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
||||
|
||||
object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuilder) {
|
||||
fun configureFields() = configure {
|
||||
AbstractFirTreeBuilder.baseFirElement.configure {
|
||||
baseFirElement.configure {
|
||||
+field("source", sourceElementType, nullable = true)
|
||||
}
|
||||
|
||||
@@ -213,7 +212,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
}
|
||||
|
||||
propertyAccessExpression.configure {
|
||||
+fieldList("nonFatalDiagnostics", coneDiagnosticType)
|
||||
+fieldList("nonFatalDiagnostics", coneDiagnosticType, useMutableOrEmpty = true, withReplace = true)
|
||||
}
|
||||
|
||||
qualifiedErrorAccessExpression.configure {
|
||||
@@ -267,7 +266,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
classLikeDeclaration.configure {
|
||||
+symbol("FirClassLikeSymbol", "out FirClassLikeDeclaration")
|
||||
+field("deprecationsProvider", deprecationsProviderType).withReplace().apply { isMutable = true}
|
||||
+field("deprecationsProvider", deprecationsProviderType).withReplace().apply { isMutable = true }
|
||||
}
|
||||
|
||||
klass.configure {
|
||||
@@ -591,7 +590,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+field("symbol", classLikeSymbolType, nullable = true)
|
||||
+booleanField("isNullableLHSForCallableReference", withReplace = true)
|
||||
+booleanField("resolvedToCompanionObject", withReplace = true)
|
||||
+fieldList("nonFatalDiagnostics", coneDiagnosticType)
|
||||
+fieldList("nonFatalDiagnostics", coneDiagnosticType, useMutableOrEmpty = true)
|
||||
+typeArguments.withTransform()
|
||||
}
|
||||
|
||||
@@ -733,6 +732,8 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
fun Element.withArgs(vararg replacements: Pair<String, String>): AbstractElement {
|
||||
val replaceMap = replacements.toMap()
|
||||
val newArguments = typeArguments.map { replaceMap[it.name]?.let { SimpleTypeArgument(it, null) } ?: it }
|
||||
val newArguments = typeArguments.map { typeArgument ->
|
||||
replaceMap[typeArgument.name]?.let { SimpleTypeArgument(it, null) } ?: typeArgument
|
||||
}
|
||||
return ElementWithArguments(this, newArguments)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user