FIR expressions: perform some names refactoring
FirAccess -> FirQualifiedAccess FirAccessExpression -> FirQualifiedExpression FirPropertyAssignment -> FirVariableAssignment Introduce lValue & rValue in FirAssignment Introduce separate indexes in FirArraySetCall
This commit is contained in:
@@ -253,8 +253,8 @@ internal fun generateIncrementOrDecrementBlock(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun generateAccessExpression(session: FirSession, psi: PsiElement?, name: Name): FirAccessExpression =
|
internal fun generateAccessExpression(session: FirSession, psi: PsiElement?, name: Name): FirQualifiedAccessExpression =
|
||||||
FirAccessExpressionImpl(session, psi).apply {
|
FirQualifiedAccessExpressionImpl(session, psi).apply {
|
||||||
calleeReference = FirSimpleNamedReference(session, psi, name)
|
calleeReference = FirSimpleNamedReference(session, psi, name)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,10 +292,10 @@ internal fun generateTemporaryVariable(
|
|||||||
session: FirSession, psi: PsiElement?, specialName: String, initializer: FirExpression
|
session: FirSession, psi: PsiElement?, specialName: String, initializer: FirExpression
|
||||||
): FirVariable = generateTemporaryVariable(session, psi, Name.special("<$specialName>"), initializer)
|
): FirVariable = generateTemporaryVariable(session, psi, Name.special("<$specialName>"), initializer)
|
||||||
|
|
||||||
private fun FirModifiableAccess.initializeLValue(
|
private fun FirModifiableQualifiedAccess.initializeLValue(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
left: KtExpression?,
|
left: KtExpression?,
|
||||||
convertQualified: KtQualifiedExpression.() -> FirAccess?
|
convertQualified: KtQualifiedExpression.() -> FirQualifiedAccess?
|
||||||
): FirReference {
|
): FirReference {
|
||||||
return when (left) {
|
return when (left) {
|
||||||
is KtSimpleNameExpression -> {
|
is KtSimpleNameExpression -> {
|
||||||
@@ -337,12 +337,12 @@ internal fun KtExpression?.generateAssignment(
|
|||||||
val arrayExpression = this.arrayExpression
|
val arrayExpression = this.arrayExpression
|
||||||
val arraySet = FirArraySetCallImpl(session, psi, value, operation).apply {
|
val arraySet = FirArraySetCallImpl(session, psi, value, operation).apply {
|
||||||
for (indexExpression in indexExpressions) {
|
for (indexExpression in indexExpressions) {
|
||||||
arguments += indexExpression.convert()
|
indexes += indexExpression.convert()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (arrayExpression is KtSimpleNameExpression) {
|
if (arrayExpression is KtSimpleNameExpression) {
|
||||||
return arraySet.apply {
|
return arraySet.apply {
|
||||||
calleeReference = initializeLValue(session, arrayExpression) { convert() as? FirAccess }
|
lValue = initializeLValue(session, arrayExpression) { convert() as? FirQualifiedAccess }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FirBlockImpl(session, arrayExpression).apply {
|
return FirBlockImpl(session, arrayExpression).apply {
|
||||||
@@ -351,7 +351,7 @@ internal fun KtExpression?.generateAssignment(
|
|||||||
session, this@generateAssignment, name,
|
session, this@generateAssignment, name,
|
||||||
arrayExpression?.convert() ?: FirErrorExpressionImpl(session, arrayExpression, "No array expression")
|
arrayExpression?.convert() ?: FirErrorExpressionImpl(session, arrayExpression, "No array expression")
|
||||||
)
|
)
|
||||||
statements += arraySet.apply { calleeReference = FirSimpleNamedReference(session, arrayExpression, name) }
|
statements += arraySet.apply { lValue = FirSimpleNamedReference(session, arrayExpression, name) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (operation != FirOperation.ASSIGN &&
|
if (operation != FirOperation.ASSIGN &&
|
||||||
@@ -364,12 +364,12 @@ internal fun KtExpression?.generateAssignment(
|
|||||||
session, this@generateAssignment, name,
|
session, this@generateAssignment, name,
|
||||||
this@generateAssignment?.convert() ?: FirErrorExpressionImpl(session, this@generateAssignment, "No LValue in assignment")
|
this@generateAssignment?.convert() ?: FirErrorExpressionImpl(session, this@generateAssignment, "No LValue in assignment")
|
||||||
)
|
)
|
||||||
statements += FirPropertyAssignmentImpl(session, psi, value, operation).apply {
|
statements += FirVariableAssignmentImpl(session, psi, value, operation).apply {
|
||||||
calleeReference = FirSimpleNamedReference(session, this@generateAssignment, name)
|
lValue = FirSimpleNamedReference(session, this@generateAssignment, name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return FirPropertyAssignmentImpl(session, psi, value, operation).apply {
|
return FirVariableAssignmentImpl(session, psi, value, operation).apply {
|
||||||
calleeReference = initializeLValue(session, this@generateAssignment) { convert() as? FirAccess }
|
lValue = initializeLValue(session, this@generateAssignment) { convert() as? FirQualifiedAccess }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1247,7 +1247,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
|||||||
override fun visitQualifiedExpression(expression: KtQualifiedExpression, data: Unit): FirElement {
|
override fun visitQualifiedExpression(expression: KtQualifiedExpression, data: Unit): FirElement {
|
||||||
val selector = expression.selectorExpression
|
val selector = expression.selectorExpression
|
||||||
?: return FirErrorExpressionImpl(session, expression, "Qualified expression without selector")
|
?: return FirErrorExpressionImpl(session, expression, "Qualified expression without selector")
|
||||||
val firSelector = selector.toFirExpression() as FirModifiableAccess
|
val firSelector = selector.toFirExpression() as FirModifiableQualifiedAccess
|
||||||
firSelector.safe = expression is KtSafeQualifiedExpression
|
firSelector.safe = expression is KtSafeQualifiedExpression
|
||||||
firSelector.explicitReceiver = expression.receiverExpression.toFirExpression()
|
firSelector.explicitReceiver = expression.receiverExpression.toFirExpression()
|
||||||
return firSelector
|
return firSelector
|
||||||
@@ -1255,14 +1255,14 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
|
|||||||
|
|
||||||
override fun visitThisExpression(expression: KtThisExpression, data: Unit): FirElement {
|
override fun visitThisExpression(expression: KtThisExpression, data: Unit): FirElement {
|
||||||
val labelName = expression.getLabelName()
|
val labelName = expression.getLabelName()
|
||||||
return FirAccessExpressionImpl(session, expression).apply {
|
return FirQualifiedAccessExpressionImpl(session, expression).apply {
|
||||||
calleeReference = FirExplicitThisReference(session, expression, labelName)
|
calleeReference = FirExplicitThisReference(session, expression, labelName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitSuperExpression(expression: KtSuperExpression, data: Unit): FirElement {
|
override fun visitSuperExpression(expression: KtSuperExpression, data: Unit): FirElement {
|
||||||
val superType = expression.superTypeQualifier
|
val superType = expression.superTypeQualifier
|
||||||
return FirAccessExpressionImpl(session, expression).apply {
|
return FirQualifiedAccessExpressionImpl(session, expression).apply {
|
||||||
calleeReference = FirExplicitSuperReference(session, expression, superType.toFirOrImplicitType())
|
calleeReference = FirExplicitSuperReference(session, expression, superType.toFirOrImplicitType())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.declarations.FirErrorDeclaration
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirErrorExpression
|
import org.jetbrains.kotlin.fir.expressions.FirErrorExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAccess
|
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionStub
|
import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionStub
|
||||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||||
@@ -72,15 +72,15 @@ class RawFirBuilderTotalKotlinTestCase : AbstractRawFirBuilderTestCase() {
|
|||||||
errorExpression.psi?.let { println(it) }
|
errorExpression.psi?.let { println(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitAccess(access: FirAccess) {
|
override fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess) {
|
||||||
val calleeReference = access.calleeReference
|
val calleeReference = qualifiedAccess.calleeReference
|
||||||
if (calleeReference is FirErrorNamedReference) {
|
if (calleeReference is FirErrorNamedReference) {
|
||||||
errorReferences++
|
errorReferences++
|
||||||
println(calleeReference.errorReason)
|
println(calleeReference.errorReason)
|
||||||
} else {
|
} else {
|
||||||
normalReferences++
|
normalReferences++
|
||||||
}
|
}
|
||||||
super.visitAccess(access)
|
super.visitQualifiedAccess(qualifiedAccess)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitExpression(expression: FirExpression) {
|
override fun visitExpression(expression: FirExpression) {
|
||||||
|
|||||||
@@ -711,11 +711,11 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
|||||||
print(">")
|
print(">")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitAccess(access: FirAccess) {
|
override fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess) {
|
||||||
val explicitReceiver = access.explicitReceiver
|
val explicitReceiver = qualifiedAccess.explicitReceiver
|
||||||
if (explicitReceiver != null) {
|
if (explicitReceiver != null) {
|
||||||
explicitReceiver.accept(this)
|
explicitReceiver.accept(this)
|
||||||
if (access.safe) {
|
if (qualifiedAccess.safe) {
|
||||||
print("?.")
|
print("?.")
|
||||||
} else {
|
} else {
|
||||||
print(".")
|
print(".")
|
||||||
@@ -730,39 +730,39 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
|||||||
callableReferenceAccess.calleeReference.accept(this)
|
callableReferenceAccess.calleeReference.accept(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitAccessExpression(accessExpression: FirAccessExpression) {
|
override fun visitQualifiedAccessExpression(qualifiedAccessExpression: FirQualifiedAccessExpression) {
|
||||||
accessExpression.annotations.renderAnnotations()
|
qualifiedAccessExpression.annotations.renderAnnotations()
|
||||||
visitAccess(accessExpression)
|
visitQualifiedAccess(qualifiedAccessExpression)
|
||||||
accessExpression.calleeReference.accept(this)
|
qualifiedAccessExpression.calleeReference.accept(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitAssignment(assignment: FirAssignment) {
|
override fun visitAssignment(assignment: FirAssignment) {
|
||||||
print(assignment.operation.operator)
|
print(assignment.operation.operator)
|
||||||
print(" ")
|
print(" ")
|
||||||
assignment.value.accept(this)
|
assignment.rValue.accept(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitPropertyAssignment(propertyAssignment: FirPropertyAssignment) {
|
override fun visitVariableAssignment(variableAssignment: FirVariableAssignment) {
|
||||||
propertyAssignment.annotations.renderAnnotations()
|
variableAssignment.annotations.renderAnnotations()
|
||||||
visitAccess(propertyAssignment)
|
visitQualifiedAccess(variableAssignment)
|
||||||
propertyAssignment.calleeReference.accept(this)
|
variableAssignment.lValue.accept(this)
|
||||||
print(" ")
|
print(" ")
|
||||||
visitAssignment(propertyAssignment)
|
visitAssignment(variableAssignment)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitArraySetCall(arraySetCall: FirArraySetCall) {
|
override fun visitArraySetCall(arraySetCall: FirArraySetCall) {
|
||||||
arraySetCall.annotations.renderAnnotations()
|
arraySetCall.annotations.renderAnnotations()
|
||||||
visitAccess(arraySetCall)
|
visitQualifiedAccess(arraySetCall)
|
||||||
arraySetCall.calleeReference.accept(this)
|
arraySetCall.lValue.accept(this)
|
||||||
print("[")
|
print("[")
|
||||||
arraySetCall.arguments.renderSeparated()
|
arraySetCall.indexes.renderSeparated()
|
||||||
print("] ")
|
print("] ")
|
||||||
visitAssignment(arraySetCall)
|
visitAssignment(arraySetCall)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitFunctionCall(functionCall: FirFunctionCall) {
|
override fun visitFunctionCall(functionCall: FirFunctionCall) {
|
||||||
functionCall.annotations.renderAnnotations()
|
functionCall.annotations.renderAnnotations()
|
||||||
visitAccess(functionCall)
|
visitQualifiedAccess(functionCall)
|
||||||
functionCall.calleeReference.accept(this)
|
functionCall.calleeReference.accept(this)
|
||||||
if (functionCall.typeArguments.isNotEmpty()) {
|
if (functionCall.typeArguments.isNotEmpty()) {
|
||||||
print("<")
|
print("<")
|
||||||
|
|||||||
@@ -9,11 +9,19 @@ import org.jetbrains.kotlin.fir.VisitedSupertype
|
|||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirArraySetCall : @VisitedSupertype FirCall, FirAssignment {
|
interface FirArraySetCall : @VisitedSupertype FirCall, FirAssignment {
|
||||||
|
// NB: arguments of this thing are indexes AND rvalue
|
||||||
|
val indexes: List<FirExpression>
|
||||||
|
|
||||||
|
override val arguments get() = indexes + rValue
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
visitor.visitArraySetCall(this, data)
|
visitor.visitArraySetCall(this, data)
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
super<FirCall>.acceptChildren(visitor, data)
|
for (index in indexes) {
|
||||||
|
index.accept(visitor, data)
|
||||||
|
}
|
||||||
|
acceptAnnotations(visitor, data)
|
||||||
super<FirAssignment>.acceptChildren(visitor, data)
|
super<FirAssignment>.acceptChildren(visitor, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,10 +5,13 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.expressions
|
package org.jetbrains.kotlin.fir.expressions
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.fir.FirReference
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirAssignment : FirAccess {
|
interface FirAssignment : FirQualifiedAccess {
|
||||||
val value: FirExpression
|
val lValue: FirReference get() = calleeReference
|
||||||
|
|
||||||
|
val rValue: FirExpression
|
||||||
|
|
||||||
val operation: FirOperation
|
val operation: FirOperation
|
||||||
|
|
||||||
@@ -16,7 +19,7 @@ interface FirAssignment : FirAccess {
|
|||||||
visitor.visitAssignment(this, data)
|
visitor.visitAssignment(this, data)
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
value.accept(visitor, data)
|
rValue.accept(visitor, data)
|
||||||
super.acceptChildren(visitor, data)
|
super.acceptChildren(visitor, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.expressions
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirCallableReferenceAccess : FirAccessExpression {
|
interface FirCallableReferenceAccess : FirQualifiedAccessExpression {
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
visitor.visitCallableReferenceAccess(this, data)
|
visitor.visitCallableReferenceAccess(this, data)
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.fir.VisitedSupertype
|
|||||||
import org.jetbrains.kotlin.fir.types.FirTypeProjectionContainer
|
import org.jetbrains.kotlin.fir.types.FirTypeProjectionContainer
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirFunctionCall : @VisitedSupertype FirCall, FirAccess, FirTypeProjectionContainer {
|
interface FirFunctionCall : @VisitedSupertype FirCall, FirQualifiedAccess, FirTypeProjectionContainer {
|
||||||
override val calleeReference: FirNamedReference
|
override val calleeReference: FirNamedReference
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
@@ -23,6 +23,6 @@ interface FirFunctionCall : @VisitedSupertype FirCall, FirAccess, FirTypeProject
|
|||||||
for (typeArgument in typeArguments) {
|
for (typeArgument in typeArguments) {
|
||||||
typeArgument.accept(visitor, data)
|
typeArgument.accept(visitor, data)
|
||||||
}
|
}
|
||||||
super<FirAccess>.acceptChildren(visitor, data)
|
super<FirQualifiedAccess>.acceptChildren(visitor, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.expressions
|
|||||||
import org.jetbrains.kotlin.fir.FirReference
|
import org.jetbrains.kotlin.fir.FirReference
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirAccess : FirStatement {
|
interface FirQualifiedAccess : FirStatement {
|
||||||
val calleeReference: FirReference
|
val calleeReference: FirReference
|
||||||
|
|
||||||
val safe: Boolean get() = false
|
val safe: Boolean get() = false
|
||||||
@@ -16,7 +16,7 @@ interface FirAccess : FirStatement {
|
|||||||
val explicitReceiver: FirExpression? get() = null
|
val explicitReceiver: FirExpression? get() = null
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
visitor.visitAccess(this, data)
|
visitor.visitQualifiedAccess(this, data)
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
calleeReference.accept(visitor, data)
|
calleeReference.accept(visitor, data)
|
||||||
+3
-3
@@ -8,11 +8,11 @@ package org.jetbrains.kotlin.fir.expressions
|
|||||||
import org.jetbrains.kotlin.fir.VisitedSupertype
|
import org.jetbrains.kotlin.fir.VisitedSupertype
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirAccessExpression : @VisitedSupertype FirAccess, FirExpression {
|
interface FirQualifiedAccessExpression : @VisitedSupertype FirQualifiedAccess, FirExpression {
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
visitor.visitAccessExpression(this, data)
|
visitor.visitQualifiedAccessExpression(this, data)
|
||||||
|
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
super<FirAccess>.acceptChildren(visitor, data)
|
super<FirQualifiedAccess>.acceptChildren(visitor, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+3
-2
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.fir.expressions
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||||
|
|
||||||
interface FirPropertyAssignment : FirAssignment {
|
interface FirVariableAssignment : FirAssignment {
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
visitor.visitPropertyAssignment(this, data)
|
visitor.visitVariableAssignment(this, data)
|
||||||
}
|
}
|
||||||
+13
-5
@@ -7,22 +7,30 @@ package org.jetbrains.kotlin.fir.expressions.impl
|
|||||||
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
import org.jetbrains.kotlin.fir.FirElement
|
||||||
|
import org.jetbrains.kotlin.fir.FirReference
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirOperation
|
import org.jetbrains.kotlin.fir.expressions.FirOperation
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirPropertyAssignment
|
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||||
import org.jetbrains.kotlin.fir.transformSingle
|
import org.jetbrains.kotlin.fir.transformSingle
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||||
|
|
||||||
abstract class FirAbstractAssignment(
|
abstract class FirAbstractAssignment(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
psi: PsiElement?,
|
psi: PsiElement?,
|
||||||
final override var value: FirExpression,
|
final override var rValue: FirExpression,
|
||||||
final override val operation: FirOperation,
|
final override val operation: FirOperation,
|
||||||
safe: Boolean = false
|
safe: Boolean = false
|
||||||
) : FirAbstractAccess(session, psi, safe), FirPropertyAssignment {
|
) : FirAbstractQualifiedAccess(session, psi, safe), FirVariableAssignment {
|
||||||
|
|
||||||
|
override var lValue: FirReference
|
||||||
|
get() = calleeReference
|
||||||
|
set(value) {
|
||||||
|
calleeReference = value
|
||||||
|
}
|
||||||
|
|
||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
||||||
value = value.transformSingle(transformer, data)
|
rValue = rValue.transformSingle(transformer, data)
|
||||||
return super<FirAbstractAccess>.transformChildren(transformer, data)
|
return super<FirAbstractQualifiedAccess>.transformChildren(transformer, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+2
-2
@@ -10,11 +10,11 @@ import org.jetbrains.kotlin.fir.*
|
|||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
||||||
|
|
||||||
abstract class FirAbstractAccess(
|
abstract class FirAbstractQualifiedAccess(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
psi: PsiElement?,
|
psi: PsiElement?,
|
||||||
final override var safe: Boolean = false
|
final override var safe: Boolean = false
|
||||||
) : FirAbstractStatement(session, psi), FirModifiableAccess {
|
) : FirAbstractStatement(session, psi), FirModifiableQualifiedAccess {
|
||||||
final override lateinit var calleeReference: FirReference
|
final override lateinit var calleeReference: FirReference
|
||||||
|
|
||||||
final override var explicitReceiver: FirExpression? = null
|
final override var explicitReceiver: FirExpression? = null
|
||||||
+2
-2
@@ -22,13 +22,13 @@ class FirArraySetCallImpl(
|
|||||||
value: FirExpression,
|
value: FirExpression,
|
||||||
operation: FirOperation
|
operation: FirOperation
|
||||||
) : FirAbstractAssignment(session, psi, value, operation, false), FirArraySetCall {
|
) : FirAbstractAssignment(session, psi, value, operation, false), FirArraySetCall {
|
||||||
override val arguments = mutableListOf<FirExpression>()
|
override val indexes = mutableListOf<FirExpression>()
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R =
|
||||||
super<FirArraySetCall>.accept(visitor, data)
|
super<FirArraySetCall>.accept(visitor, data)
|
||||||
|
|
||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement {
|
||||||
arguments.transformInplace(transformer, data)
|
indexes.transformInplace(transformer, data)
|
||||||
|
|
||||||
return super<FirAbstractAssignment>.transformChildren(transformer, data)
|
return super<FirAbstractAssignment>.transformChildren(transformer, data)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-5
@@ -6,14 +6,10 @@
|
|||||||
package org.jetbrains.kotlin.fir.expressions.impl
|
package org.jetbrains.kotlin.fir.expressions.impl
|
||||||
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||||
import org.jetbrains.kotlin.fir.transformInplace
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
|
||||||
|
|
||||||
class FirCallableReferenceAccessImpl(
|
class FirCallableReferenceAccessImpl(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
psi: PsiElement?
|
psi: PsiElement?
|
||||||
) : FirAbstractAccess(session, psi), FirCallableReferenceAccess
|
) : FirAbstractQualifiedAccess(session, psi), FirCallableReferenceAccess
|
||||||
+1
-1
@@ -16,7 +16,7 @@ class FirFunctionCallImpl(
|
|||||||
session: FirSession,
|
session: FirSession,
|
||||||
psi: PsiElement?,
|
psi: PsiElement?,
|
||||||
override var safe: Boolean = false
|
override var safe: Boolean = false
|
||||||
) : FirAbstractCall(session, psi), FirFunctionCall, FirModifiableAccess {
|
) : FirAbstractCall(session, psi), FirFunctionCall, FirModifiableQualifiedAccess {
|
||||||
override val typeArguments = mutableListOf<FirTypeProjection>()
|
override val typeArguments = mutableListOf<FirTypeProjection>()
|
||||||
|
|
||||||
override lateinit var calleeReference: FirNamedReference
|
override lateinit var calleeReference: FirNamedReference
|
||||||
|
|||||||
+2
-2
@@ -6,9 +6,9 @@
|
|||||||
package org.jetbrains.kotlin.fir.expressions.impl
|
package org.jetbrains.kotlin.fir.expressions.impl
|
||||||
|
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAccess
|
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||||
|
|
||||||
interface FirModifiableAccess : FirAccess {
|
interface FirModifiableQualifiedAccess : FirQualifiedAccess {
|
||||||
override var safe: Boolean
|
override var safe: Boolean
|
||||||
get() = super.safe
|
get() = super.safe
|
||||||
set(_) {}
|
set(_) {}
|
||||||
+3
-7
@@ -6,15 +6,11 @@
|
|||||||
package org.jetbrains.kotlin.fir.expressions.impl
|
package org.jetbrains.kotlin.fir.expressions.impl
|
||||||
|
|
||||||
import com.intellij.psi.PsiElement
|
import com.intellij.psi.PsiElement
|
||||||
import org.jetbrains.kotlin.fir.FirElement
|
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAccessExpression
|
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
|
||||||
import org.jetbrains.kotlin.fir.transformInplace
|
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirTransformer
|
|
||||||
|
|
||||||
class FirAccessExpressionImpl(
|
class FirQualifiedAccessExpressionImpl(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
psi: PsiElement?,
|
psi: PsiElement?,
|
||||||
safe: Boolean = false
|
safe: Boolean = false
|
||||||
) : FirAbstractAccess(session, psi, safe), FirAccessExpression
|
) : FirAbstractQualifiedAccess(session, psi, safe), FirQualifiedAccessExpression
|
||||||
+3
-3
@@ -9,12 +9,12 @@ import com.intellij.psi.PsiElement
|
|||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirOperation
|
import org.jetbrains.kotlin.fir.expressions.FirOperation
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirPropertyAssignment
|
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||||
|
|
||||||
class FirPropertyAssignmentImpl(
|
class FirVariableAssignmentImpl(
|
||||||
session: FirSession,
|
session: FirSession,
|
||||||
psi: PsiElement?,
|
psi: PsiElement?,
|
||||||
value: FirExpression,
|
value: FirExpression,
|
||||||
operation: FirOperation,
|
operation: FirOperation,
|
||||||
safe: Boolean = false
|
safe: Boolean = false
|
||||||
) : FirAbstractAssignment(session, psi, value, operation, safe), FirPropertyAssignment
|
) : FirAbstractAssignment(session, psi, value, operation, safe), FirVariableAssignment
|
||||||
+38
-38
@@ -152,30 +152,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformElement(statement, data)
|
return transformElement(statement, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun transformAccess(access: FirAccess, data: D): CompositeTransformResult<FirStatement> {
|
|
||||||
return transformStatement(access, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformAccessExpression(accessExpression: FirAccessExpression, data: D): CompositeTransformResult<FirStatement> {
|
|
||||||
return transformAccess(accessExpression, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess, data: D): CompositeTransformResult<FirStatement> {
|
|
||||||
return transformAccessExpression(callableReferenceAccess, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformAssignment(assignment: FirAssignment, data: D): CompositeTransformResult<FirStatement> {
|
|
||||||
return transformAccess(assignment, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformPropertyAssignment(propertyAssignment: FirPropertyAssignment, data: D): CompositeTransformResult<FirStatement> {
|
|
||||||
return transformAssignment(propertyAssignment, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformModifiableAccess(modifiableAccess: FirModifiableAccess, data: D): CompositeTransformResult<FirStatement> {
|
|
||||||
return transformAccess(modifiableAccess, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun transformClass(klass: FirClass, data: D): CompositeTransformResult<FirStatement> {
|
open fun transformClass(klass: FirClass, data: D): CompositeTransformResult<FirStatement> {
|
||||||
return transformStatement(klass, data)
|
return transformStatement(klass, data)
|
||||||
}
|
}
|
||||||
@@ -288,6 +264,30 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformLoop(whileLoop, data)
|
return transformLoop(whileLoop, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun transformQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: D): CompositeTransformResult<FirStatement> {
|
||||||
|
return transformStatement(qualifiedAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun transformAssignment(assignment: FirAssignment, data: D): CompositeTransformResult<FirStatement> {
|
||||||
|
return transformQualifiedAccess(assignment, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun transformVariableAssignment(variableAssignment: FirVariableAssignment, data: D): CompositeTransformResult<FirStatement> {
|
||||||
|
return transformAssignment(variableAssignment, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun transformModifiableQualifiedAccess(modifiableQualifiedAccess: FirModifiableQualifiedAccess, data: D): CompositeTransformResult<FirStatement> {
|
||||||
|
return transformQualifiedAccess(modifiableQualifiedAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun transformQualifiedAccessExpression(qualifiedAccessExpression: FirQualifiedAccessExpression, data: D): CompositeTransformResult<FirStatement> {
|
||||||
|
return transformQualifiedAccess(qualifiedAccessExpression, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun transformCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess, data: D): CompositeTransformResult<FirStatement> {
|
||||||
|
return transformQualifiedAccessExpression(callableReferenceAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
open fun <E : FirElement> transformTargetElement(targetElement: E, data: D): CompositeTransformResult<E> {
|
open fun <E : FirElement> transformTargetElement(targetElement: E, data: D): CompositeTransformResult<E> {
|
||||||
return transformElement(targetElement, data)
|
return transformElement(targetElement, data)
|
||||||
}
|
}
|
||||||
@@ -352,14 +352,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformElement(whenBranch, data)
|
return transformElement(whenBranch, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitAccess(access: FirAccess, data: D): CompositeTransformResult<FirElement> {
|
|
||||||
return transformAccess(access, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitAccessExpression(accessExpression: FirAccessExpression, data: D): CompositeTransformResult<FirElement> {
|
|
||||||
return transformAccessExpression(accessExpression, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitAnnotationCall(annotationCall: FirAnnotationCall, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitAnnotationCall(annotationCall: FirAnnotationCall, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformAnnotationCall(annotationCall, data)
|
return transformAnnotationCall(annotationCall, data)
|
||||||
}
|
}
|
||||||
@@ -532,10 +524,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformMemberDeclaration(memberDeclaration, data)
|
return transformMemberDeclaration(memberDeclaration, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitModifiableAccess(modifiableAccess: FirModifiableAccess, data: D): CompositeTransformResult<FirElement> {
|
|
||||||
return transformModifiableAccess(modifiableAccess, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitModifiableClass(modifiableClass: FirModifiableClass, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitModifiableClass(modifiableClass: FirModifiableClass, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformModifiableClass(modifiableClass, data)
|
return transformModifiableClass(modifiableClass, data)
|
||||||
}
|
}
|
||||||
@@ -544,6 +532,10 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformModifiableFunction(modifiableFunction, data)
|
return transformModifiableFunction(modifiableFunction, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitModifiableQualifiedAccess(modifiableQualifiedAccess: FirModifiableQualifiedAccess, data: D): CompositeTransformResult<FirElement> {
|
||||||
|
return transformModifiableQualifiedAccess(modifiableQualifiedAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformNamedDeclaration(namedDeclaration, data)
|
return transformNamedDeclaration(namedDeclaration, data)
|
||||||
}
|
}
|
||||||
@@ -572,8 +564,12 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformPropertyAccessor(propertyAccessor, data)
|
return transformPropertyAccessor(propertyAccessor, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitPropertyAssignment(propertyAssignment: FirPropertyAssignment, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformPropertyAssignment(propertyAssignment, data)
|
return transformQualifiedAccess(qualifiedAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
final override fun visitQualifiedAccessExpression(qualifiedAccessExpression: FirQualifiedAccessExpression, data: D): CompositeTransformResult<FirElement> {
|
||||||
|
return transformQualifiedAccessExpression(qualifiedAccessExpression, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitReference(reference: FirReference, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitReference(reference: FirReference, data: D): CompositeTransformResult<FirElement> {
|
||||||
@@ -676,6 +672,10 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
|||||||
return transformVariable(variable, data)
|
return transformVariable(variable, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitVariableAssignment(variableAssignment: FirVariableAssignment, data: D): CompositeTransformResult<FirElement> {
|
||||||
|
return transformVariableAssignment(variableAssignment, data)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitWhenBranch(whenBranch: FirWhenBranch, data: D): CompositeTransformResult<FirElement> {
|
final override fun visitWhenBranch(whenBranch: FirWhenBranch, data: D): CompositeTransformResult<FirElement> {
|
||||||
return transformWhenBranch(whenBranch, data)
|
return transformWhenBranch(whenBranch, data)
|
||||||
}
|
}
|
||||||
|
|||||||
+24
-24
@@ -152,30 +152,6 @@ abstract class FirVisitor<out R, in D> {
|
|||||||
return visitElement(statement, data)
|
return visitElement(statement, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun visitAccess(access: FirAccess, data: D): R {
|
|
||||||
return visitStatement(access, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitAccessExpression(accessExpression: FirAccessExpression, data: D): R {
|
|
||||||
return visitAccess(accessExpression, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess, data: D): R {
|
|
||||||
return visitAccessExpression(callableReferenceAccess, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitAssignment(assignment: FirAssignment, data: D): R {
|
|
||||||
return visitAccess(assignment, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitPropertyAssignment(propertyAssignment: FirPropertyAssignment, data: D): R {
|
|
||||||
return visitAssignment(propertyAssignment, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitModifiableAccess(modifiableAccess: FirModifiableAccess, data: D): R {
|
|
||||||
return visitAccess(modifiableAccess, data)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitClass(klass: FirClass, data: D): R {
|
open fun visitClass(klass: FirClass, data: D): R {
|
||||||
return visitStatement(klass, data)
|
return visitStatement(klass, data)
|
||||||
}
|
}
|
||||||
@@ -288,6 +264,30 @@ abstract class FirVisitor<out R, in D> {
|
|||||||
return visitLoop(whileLoop, data)
|
return visitLoop(whileLoop, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: D): R {
|
||||||
|
return visitStatement(qualifiedAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitAssignment(assignment: FirAssignment, data: D): R {
|
||||||
|
return visitQualifiedAccess(assignment, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitVariableAssignment(variableAssignment: FirVariableAssignment, data: D): R {
|
||||||
|
return visitAssignment(variableAssignment, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitModifiableQualifiedAccess(modifiableQualifiedAccess: FirModifiableQualifiedAccess, data: D): R {
|
||||||
|
return visitQualifiedAccess(modifiableQualifiedAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitQualifiedAccessExpression(qualifiedAccessExpression: FirQualifiedAccessExpression, data: D): R {
|
||||||
|
return visitQualifiedAccess(qualifiedAccessExpression, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess, data: D): R {
|
||||||
|
return visitQualifiedAccessExpression(callableReferenceAccess, data)
|
||||||
|
}
|
||||||
|
|
||||||
open fun visitTargetElement(targetElement: FirTargetElement, data: D): R {
|
open fun visitTargetElement(targetElement: FirTargetElement, data: D): R {
|
||||||
return visitElement(targetElement, data)
|
return visitElement(targetElement, data)
|
||||||
}
|
}
|
||||||
|
|||||||
+38
-38
@@ -152,30 +152,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitElement(statement, null)
|
visitElement(statement, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun visitAccess(access: FirAccess) {
|
|
||||||
visitStatement(access, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitAccessExpression(accessExpression: FirAccessExpression) {
|
|
||||||
visitAccess(accessExpression, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess) {
|
|
||||||
visitAccessExpression(callableReferenceAccess, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitAssignment(assignment: FirAssignment) {
|
|
||||||
visitAccess(assignment, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitPropertyAssignment(propertyAssignment: FirPropertyAssignment) {
|
|
||||||
visitAssignment(propertyAssignment, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitModifiableAccess(modifiableAccess: FirModifiableAccess) {
|
|
||||||
visitAccess(modifiableAccess, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun visitClass(klass: FirClass) {
|
open fun visitClass(klass: FirClass) {
|
||||||
visitStatement(klass, null)
|
visitStatement(klass, null)
|
||||||
}
|
}
|
||||||
@@ -288,6 +264,30 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitLoop(whileLoop, null)
|
visitLoop(whileLoop, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess) {
|
||||||
|
visitStatement(qualifiedAccess, null)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitAssignment(assignment: FirAssignment) {
|
||||||
|
visitQualifiedAccess(assignment, null)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitVariableAssignment(variableAssignment: FirVariableAssignment) {
|
||||||
|
visitAssignment(variableAssignment, null)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitModifiableQualifiedAccess(modifiableQualifiedAccess: FirModifiableQualifiedAccess) {
|
||||||
|
visitQualifiedAccess(modifiableQualifiedAccess, null)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitQualifiedAccessExpression(qualifiedAccessExpression: FirQualifiedAccessExpression) {
|
||||||
|
visitQualifiedAccess(qualifiedAccessExpression, null)
|
||||||
|
}
|
||||||
|
|
||||||
|
open fun visitCallableReferenceAccess(callableReferenceAccess: FirCallableReferenceAccess) {
|
||||||
|
visitQualifiedAccessExpression(callableReferenceAccess, null)
|
||||||
|
}
|
||||||
|
|
||||||
open fun visitTargetElement(targetElement: FirTargetElement) {
|
open fun visitTargetElement(targetElement: FirTargetElement) {
|
||||||
visitElement(targetElement, null)
|
visitElement(targetElement, null)
|
||||||
}
|
}
|
||||||
@@ -352,14 +352,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitElement(whenBranch, null)
|
visitElement(whenBranch, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitAccess(access: FirAccess, data: Nothing?) {
|
|
||||||
visitAccess(access)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitAccessExpression(accessExpression: FirAccessExpression, data: Nothing?) {
|
|
||||||
visitAccessExpression(accessExpression)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitAnnotationCall(annotationCall: FirAnnotationCall, data: Nothing?) {
|
final override fun visitAnnotationCall(annotationCall: FirAnnotationCall, data: Nothing?) {
|
||||||
visitAnnotationCall(annotationCall)
|
visitAnnotationCall(annotationCall)
|
||||||
}
|
}
|
||||||
@@ -532,10 +524,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitMemberDeclaration(memberDeclaration)
|
visitMemberDeclaration(memberDeclaration)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitModifiableAccess(modifiableAccess: FirModifiableAccess, data: Nothing?) {
|
|
||||||
visitModifiableAccess(modifiableAccess)
|
|
||||||
}
|
|
||||||
|
|
||||||
final override fun visitModifiableClass(modifiableClass: FirModifiableClass, data: Nothing?) {
|
final override fun visitModifiableClass(modifiableClass: FirModifiableClass, data: Nothing?) {
|
||||||
visitModifiableClass(modifiableClass)
|
visitModifiableClass(modifiableClass)
|
||||||
}
|
}
|
||||||
@@ -544,6 +532,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitModifiableFunction(modifiableFunction)
|
visitModifiableFunction(modifiableFunction)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitModifiableQualifiedAccess(modifiableQualifiedAccess: FirModifiableQualifiedAccess, data: Nothing?) {
|
||||||
|
visitModifiableQualifiedAccess(modifiableQualifiedAccess)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: Nothing?) {
|
final override fun visitNamedDeclaration(namedDeclaration: FirNamedDeclaration, data: Nothing?) {
|
||||||
visitNamedDeclaration(namedDeclaration)
|
visitNamedDeclaration(namedDeclaration)
|
||||||
}
|
}
|
||||||
@@ -572,8 +564,12 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitPropertyAccessor(propertyAccessor)
|
visitPropertyAccessor(propertyAccessor)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitPropertyAssignment(propertyAssignment: FirPropertyAssignment, data: Nothing?) {
|
final override fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: Nothing?) {
|
||||||
visitPropertyAssignment(propertyAssignment)
|
visitQualifiedAccess(qualifiedAccess)
|
||||||
|
}
|
||||||
|
|
||||||
|
final override fun visitQualifiedAccessExpression(qualifiedAccessExpression: FirQualifiedAccessExpression, data: Nothing?) {
|
||||||
|
visitQualifiedAccessExpression(qualifiedAccessExpression)
|
||||||
}
|
}
|
||||||
|
|
||||||
final override fun visitReference(reference: FirReference, data: Nothing?) {
|
final override fun visitReference(reference: FirReference, data: Nothing?) {
|
||||||
@@ -676,6 +672,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
|||||||
visitVariable(variable)
|
visitVariable(variable)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final override fun visitVariableAssignment(variableAssignment: FirVariableAssignment, data: Nothing?) {
|
||||||
|
visitVariableAssignment(variableAssignment)
|
||||||
|
}
|
||||||
|
|
||||||
final override fun visitWhenBranch(whenBranch: FirWhenBranch, data: Nothing?) {
|
final override fun visitWhenBranch(whenBranch: FirWhenBranch, data: Nothing?) {
|
||||||
visitWhenBranch(whenBranch)
|
visitWhenBranch(whenBranch)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user