FIR: Remove FirQualifiedAccessWithoutCallee.safe from generated code

^KT-38444 In Progress
This commit is contained in:
Denis Zharkov
2020-06-02 12:38:09 +03:00
parent 291afd8448
commit 6507656496
22 changed files with 1 additions and 42 deletions
@@ -21,7 +21,6 @@ abstract class FirComponentCall : FirFunctionCall() {
abstract override val source: FirSourceElement?
abstract override val typeRef: FirTypeRef
abstract override val annotations: List<FirAnnotationCall>
abstract override val safe: Boolean
abstract override val typeArguments: List<FirTypeProjection>
abstract override val dispatchReceiver: FirExpression
abstract override val extensionReceiver: FirExpression
@@ -21,7 +21,6 @@ abstract class FirExpressionWithSmartcast : FirQualifiedAccessExpression() {
abstract override val source: FirSourceElement?
abstract override val typeRef: FirTypeRef
abstract override val annotations: List<FirAnnotationCall>
abstract override val safe: Boolean
abstract override val typeArguments: List<FirTypeProjection>
abstract override val explicitReceiver: FirExpression?
abstract override val dispatchReceiver: FirExpression
@@ -21,7 +21,6 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
abstract override val source: FirSourceElement?
abstract override val typeRef: FirTypeRef
abstract override val annotations: List<FirAnnotationCall>
abstract override val safe: Boolean
abstract override val typeArguments: List<FirTypeProjection>
abstract override val explicitReceiver: FirExpression?
abstract override val dispatchReceiver: FirExpression
@@ -18,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.*
interface FirQualifiedAccess : FirQualifiedAccessWithoutCallee, FirResolvable {
override val source: FirSourceElement?
override val annotations: List<FirAnnotationCall>
override val safe: Boolean
override val typeArguments: List<FirTypeProjection>
override val explicitReceiver: FirExpression?
override val dispatchReceiver: FirExpression
@@ -20,7 +20,6 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
abstract override val source: FirSourceElement?
abstract override val typeRef: FirTypeRef
abstract override val annotations: List<FirAnnotationCall>
abstract override val safe: Boolean
abstract override val typeArguments: List<FirTypeProjection>
abstract override val explicitReceiver: FirExpression?
abstract override val dispatchReceiver: FirExpression
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.visitors.*
interface FirQualifiedAccessWithoutCallee : FirStatement {
override val source: FirSourceElement?
override val annotations: List<FirAnnotationCall>
val safe: Boolean
val typeArguments: List<FirTypeProjection>
val explicitReceiver: FirExpression?
val dispatchReceiver: FirExpression
@@ -21,7 +21,6 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
abstract override val source: FirSourceElement?
abstract override val typeRef: FirTypeRef
abstract override val annotations: List<FirAnnotationCall>
abstract override val safe: Boolean
abstract override val typeArguments: List<FirTypeProjection>
abstract override val explicitReceiver: FirExpression?
abstract override val dispatchReceiver: FirExpression
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.fir.visitors.*
abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAccess {
abstract override val source: FirSourceElement?
abstract override val annotations: List<FirAnnotationCall>
abstract override val safe: Boolean
abstract override val typeArguments: List<FirTypeProjection>
abstract override val explicitReceiver: FirExpression?
abstract override val dispatchReceiver: FirExpression
@@ -38,7 +38,6 @@ open class FirFunctionCallBuilder : FirQualifiedAccessBuilder, FirCallBuilder, F
override var source: FirSourceElement? = null
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean = false
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
override var explicitReceiver: FirExpression? = null
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
@@ -52,7 +51,6 @@ open class FirFunctionCallBuilder : FirQualifiedAccessBuilder, FirCallBuilder, F
source,
typeRef,
annotations,
safe,
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.visitors.*
interface FirQualifiedAccessBuilder {
abstract var source: FirSourceElement?
abstract val annotations: MutableList<FirAnnotationCall>
abstract var safe: Boolean
abstract val typeArguments: MutableList<FirTypeProjection>
abstract var explicitReceiver: FirExpression?
abstract var dispatchReceiver: FirExpression
@@ -33,7 +33,6 @@ class FirQualifiedAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnota
override var source: FirSourceElement? = null
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean = false
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
override var explicitReceiver: FirExpression? = null
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
@@ -45,7 +44,6 @@ class FirQualifiedAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnota
source,
typeRef,
annotations,
safe,
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -48,13 +48,6 @@ class FirThisReceiverExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotatio
}
@Deprecated("Modification of 'safe' has no impact for FirThisReceiverExpressionBuilder", level = DeprecationLevel.HIDDEN)
override var safe: Boolean
get() = throw IllegalStateException()
set(value) {
throw IllegalStateException()
}
@Deprecated("Modification of 'explicitReceiver' has no impact for FirThisReceiverExpressionBuilder", level = DeprecationLevel.HIDDEN)
override var explicitReceiver: FirExpression?
get() = throw IllegalStateException()
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirVariableAssignmentBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
override var explicitReceiver: FirExpression? = null
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
@@ -41,7 +40,6 @@ class FirVariableAssignmentBuilder : FirQualifiedAccessBuilder, FirAnnotationCon
return FirVariableAssignmentImpl(
source,
annotations,
safe,
typeArguments,
explicitReceiver,
dispatchReceiver,
@@ -37,7 +37,6 @@ internal class FirComponentCallImpl(
override val componentIndex: Int,
) : FirComponentCall() {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val safe: Boolean get() = false
override var calleeReference: FirNamedReference = FirSimpleNamedReference(source, Name.identifier("component$componentIndex"), null)
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
@@ -27,7 +27,6 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
override val source: FirSourceElement?,
override var typeRef: FirTypeRef,
override val annotations: MutableList<FirAnnotationCall>,
override var safe: Boolean,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.fir.visitors.*
interface FirModifiableQualifiedAccess : FirQualifiedAccessWithoutCallee {
override val source: FirSourceElement?
override val annotations: MutableList<FirAnnotationCall>
override var safe: Boolean
override val typeArguments: MutableList<FirTypeProjection>
override var explicitReceiver: FirExpression?
override var dispatchReceiver: FirExpression
@@ -24,7 +24,6 @@ internal class FirQualifiedAccessExpressionImpl(
override val source: FirSourceElement?,
override var typeRef: FirTypeRef,
override val annotations: MutableList<FirAnnotationCall>,
override var safe: Boolean,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -29,7 +29,6 @@ internal class FirThisReceiverExpressionImpl(
override val typeArguments: MutableList<FirTypeProjection>,
override var calleeReference: FirThisReference,
) : FirThisReceiverExpression(), FirModifiableQualifiedAccess {
override var safe: Boolean = false
override var explicitReceiver: FirExpression? = null
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
override var extensionReceiver: FirExpression = FirNoReceiverExpression
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.fir.visitors.*
internal class FirVariableAssignmentImpl(
override val source: FirSourceElement?,
override val annotations: MutableList<FirAnnotationCall>,
override var safe: Boolean,
override val typeArguments: MutableList<FirTypeProjection>,
override var explicitReceiver: FirExpression?,
override var dispatchReceiver: FirExpression,
@@ -150,7 +150,6 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
builder(functionCall) {
parents += qualifiedAccessBuilder
parents += callBuilder
defaultFalse("safe")
defaultNoReceivers()
openBuilder()
default("argumentList") {
@@ -161,7 +160,6 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
builder(qualifiedAccessExpression) {
parents += qualifiedAccessBuilder
defaultFalse("safe")
defaultNoReceivers()
}
@@ -76,19 +76,13 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
impl(arrayOfCall)
val modifiableQualifiedAccess = impl(qualifiedAccessWithoutCallee, "FirModifiableQualifiedAccess") {
isMutable("safe")
}
val modifiableQualifiedAccess = impl(qualifiedAccessWithoutCallee, "FirModifiableQualifiedAccess") {}
impl(callableReferenceAccess) {
parents += modifiableQualifiedAccess
}
impl(componentCall) {
default("safe") {
value = "false"
withGetter = true
}
default("calleeReference", "FirSimpleNamedReference(source, Name.identifier(\"component\$componentIndex\"), null)")
useTypes(simpleNamedReferenceType, nameType)
optInToInternals()
@@ -255,10 +249,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
impl(thisReceiverExpression) {
parents += modifiableQualifiedAccess
default("safe") {
value = "false"
withGetter = true
}
defaultNoReceivers()
}
@@ -185,7 +185,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
}
qualifiedAccessWithoutCallee.configure {
+booleanField("safe")
+typeArguments.withTransform()
+receivers
}