[FIR] Get rid of operation in FirVariableAssignment

`FirVariableAssignment` is creates only for expressions `x = y`
For other assign operators there is a `FirOperatorCall`
This commit is contained in:
Dmitriy Novozhilov
2019-11-07 14:46:10 +03:00
parent b5210e6a9b
commit 18dc652404
9 changed files with 7 additions and 14 deletions
@@ -928,7 +928,7 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
visitQualifiedAccess(variableAssignment)
variableAssignment.lValue.accept(this)
print(" ")
visitAssignment(variableAssignment.operation, variableAssignment.rValue)
visitAssignment(FirOperation.ASSIGN, variableAssignment.rValue)
}
override fun visitArraySetCall(arraySetCall: FirArraySetCall) {
@@ -25,7 +25,6 @@ abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAcc
abstract override val calleeReference: FirReference
abstract val lValue: FirReference
abstract val rValue: FirExpression
abstract val operation: FirOperation
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitVariableAssignment(this, data)
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.fir.expressions.impl
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirOperation
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.references.FirReference
@@ -22,8 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirVariableAssignmentImpl(
override val source: FirSourceElement?,
override var safe: Boolean,
override var rValue: FirExpression,
override var operation: FirOperation
override var rValue: FirExpression
) : FirVariableAssignment(), FirModifiableQualifiedAccess, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var explicitReceiver: FirExpression? = null
@@ -383,7 +383,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
impl(variableAssignment) {
parents += modifiableQualifiedAccess
isMutable("operation")
lateinit("calleeReference")
defaultNoReceivers()
@@ -439,7 +439,6 @@ object NodeConfigurator : AbstractFieldConfigurator() {
variableAssignment.configure {
+field("lValue", reference)
+field("rValue", expression).withTransform()
+field("operation", operationType)
}
whenSubjectExpression.configure {