FIR: Make LHS of FirVariableAssignment a FirExpression
This way references can even be resolved for erroneous assignments (e.g. function call, if expression, ... on LHS) ^KT-54648 Fixed
This commit is contained in:
committed by
Space Team
parent
e9b8d6db80
commit
ace47c06a5
+4
-4
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
@@ -28,6 +27,7 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val calleeReference: FirNamedReference
|
||||
abstract val hasQuestionMarkAtLHS: Boolean
|
||||
|
||||
@@ -37,9 +37,6 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformCallableReferenceAccess(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -54,6 +51,9 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
@@ -20,13 +20,13 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
abstract class FirComponentCall : FirFunctionCall() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
abstract override val typeArguments: List<FirTypeProjection>
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val argumentList: FirArgumentList
|
||||
abstract override val calleeReference: FirNamedReference
|
||||
abstract override val origin: FirFunctionCallOrigin
|
||||
@@ -39,9 +39,6 @@ abstract class FirComponentCall : FirFunctionCall() {
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformComponentCall(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -54,6 +51,9 @@ abstract class FirComponentCall : FirFunctionCall() {
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.expressions
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirExpressionRef
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirDesugaredAssignmentValueReferenceExpression : FirExpression() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract val expressionRef: FirExpressionRef<FirExpression>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitDesugaredAssignmentValueReferenceExpression(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformDesugaredAssignmentValueReferenceExpression(this, data) as E
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDesugaredAssignmentValueReferenceExpression
|
||||
}
|
||||
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
@@ -28,6 +27,7 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val argumentList: FirArgumentList
|
||||
abstract override val calleeReference: FirNamedReference
|
||||
abstract val origin: FirFunctionCallOrigin
|
||||
@@ -38,9 +38,6 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformFunctionCall(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -55,6 +52,9 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||
|
||||
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
abstract class FirImplicitInvokeCall : FirFunctionCall() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
@@ -28,6 +27,7 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() {
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val argumentList: FirArgumentList
|
||||
abstract override val calleeReference: FirNamedReference
|
||||
abstract override val origin: FirFunctionCallOrigin
|
||||
@@ -38,9 +38,6 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() {
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformImplicitInvokeCall(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -55,6 +52,9 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() {
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
+4
-4
@@ -20,12 +20,12 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
abstract override val typeArguments: List<FirTypeProjection>
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val argumentList: FirArgumentList
|
||||
abstract override val calleeReference: FirNamedReference
|
||||
abstract override val origin: FirFunctionCallOrigin
|
||||
@@ -38,9 +38,6 @@ abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformIntegerLiteralOperatorCall(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -51,6 +48,9 @@ abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||
|
||||
+4
-4
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val calleeReference: FirReference
|
||||
@@ -29,6 +28,7 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract val nonFatalDiagnostics: List<ConeDiagnostic>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitPropertyAccessExpression(this, data)
|
||||
@@ -37,9 +37,6 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformPropertyAccessExpression(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -56,6 +53,9 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract fun replaceNonFatalDiagnostics(newNonFatalDiagnostics: List<ConeDiagnostic>)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.expressions
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
interface FirQualifiedAccess : FirResolvable, FirStatement, FirContextReceiverArgumentListOwner {
|
||||
override val calleeReference: FirReference
|
||||
override val annotations: List<FirAnnotation>
|
||||
override val contextReceiverArguments: List<FirExpression>
|
||||
val typeArguments: List<FirTypeProjection>
|
||||
val explicitReceiver: FirExpression?
|
||||
val dispatchReceiver: FirExpression
|
||||
val extensionReceiver: FirExpression
|
||||
override val source: KtSourceElement?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitQualifiedAccess(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformQualifiedAccess(this, data) as E
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
|
||||
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||
|
||||
fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
||||
|
||||
fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
||||
|
||||
fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
||||
|
||||
fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
||||
}
|
||||
+15
-15
@@ -18,16 +18,16 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAccess {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract class FirQualifiedAccessExpression : FirExpression(), FirResolvable, FirContextReceiverArgumentListOwner {
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val calleeReference: FirReference
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
abstract override val typeArguments: List<FirTypeProjection>
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract val typeArguments: List<FirTypeProjection>
|
||||
abstract val explicitReceiver: FirExpression?
|
||||
abstract val dispatchReceiver: FirExpression
|
||||
abstract val extensionReceiver: FirExpression
|
||||
abstract override val source: KtSourceElement?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitQualifiedAccessExpression(this, data)
|
||||
|
||||
@@ -35,9 +35,6 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformQualifiedAccessExpression(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -46,19 +43,22 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
|
||||
|
||||
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||
|
||||
abstract override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
||||
abstract fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
abstract fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
abstract fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
abstract fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
|
||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
|
||||
abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
abstract fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
|
||||
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
abstract fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||
}
|
||||
|
||||
+4
-4
@@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val typeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
@@ -28,6 +27,7 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val calleeReference: FirThisReference
|
||||
abstract val isImplicit: Boolean
|
||||
|
||||
@@ -37,9 +37,6 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformThisReceiverExpression(this, data) as E
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract override fun replaceTypeRef(newTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
@@ -54,6 +51,9 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract fun replaceCalleeReference(newCalleeReference: FirThisReference)
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
+5
-35
@@ -8,28 +8,17 @@ package org.jetbrains.kotlin.fir.expressions
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAccess {
|
||||
abstract override val calleeReference: FirReference
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: List<FirExpression>
|
||||
abstract override val typeArguments: List<FirTypeProjection>
|
||||
abstract override val explicitReceiver: FirExpression?
|
||||
abstract override val dispatchReceiver: FirExpression
|
||||
abstract override val extensionReceiver: FirExpression
|
||||
abstract class FirVariableAssignment : FirPureAbstractElement(), FirStatement {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract val lValue: FirReference
|
||||
abstract val lValueTypeRef: FirTypeRef
|
||||
abstract override val annotations: List<FirAnnotation>
|
||||
abstract val lValue: FirExpression
|
||||
abstract val rValue: FirExpression
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitVariableAssignment(this, data)
|
||||
@@ -38,32 +27,13 @@ abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAcc
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformVariableAssignment(this, data) as E
|
||||
|
||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||
|
||||
abstract override fun replaceAnnotations(newAnnotations: List<FirAnnotation>)
|
||||
|
||||
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||
|
||||
abstract override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
||||
|
||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||
|
||||
abstract override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression)
|
||||
|
||||
abstract override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression)
|
||||
|
||||
@FirImplementationDetail
|
||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||
|
||||
abstract fun replaceLValueTypeRef(newLValueTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
||||
abstract fun replaceLValue(newLValue: FirExpression)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
||||
|
||||
abstract override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
||||
|
||||
abstract override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
||||
abstract fun <D> transformLValue(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
||||
|
||||
abstract fun <D> transformRValue(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
||||
}
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirFunctionCallOrigin
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirCallBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
@@ -27,7 +27,8 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
interface FirAbstractFunctionCallBuilder : FirQualifiedAccessBuilder, FirCallBuilder {
|
||||
interface FirAbstractFunctionCallBuilder : FirQualifiedAccessExpressionBuilder, FirCallBuilder {
|
||||
abstract override var typeRef: FirTypeRef
|
||||
abstract override val annotations: MutableList<FirAnnotation>
|
||||
abstract override val contextReceiverArguments: MutableList<FirExpression>
|
||||
abstract override val typeArguments: MutableList<FirTypeProjection>
|
||||
@@ -36,7 +37,6 @@ interface FirAbstractFunctionCallBuilder : FirQualifiedAccessBuilder, FirCallBui
|
||||
abstract override var extensionReceiver: FirExpression
|
||||
abstract override var source: KtSourceElement?
|
||||
abstract override var argumentList: FirArgumentList
|
||||
abstract var typeRef: FirTypeRef
|
||||
abstract var calleeReference: FirNamedReference
|
||||
abstract var origin: FirFunctionCallOrigin
|
||||
override fun build(): FirFunctionCall
|
||||
|
||||
+4
-4
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirCallableReferenceAccessImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
@@ -33,8 +33,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
class FirCallableReferenceAccessBuilder : FirQualifiedAccessExpressionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||
@@ -42,12 +41,12 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati
|
||||
override var explicitReceiver: FirExpression? = null
|
||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var source: KtSourceElement? = null
|
||||
lateinit var calleeReference: FirNamedReference
|
||||
var hasQuestionMarkAtLHS: Boolean = false
|
||||
|
||||
override fun build(): FirCallableReferenceAccess {
|
||||
return FirCallableReferenceAccessImpl(
|
||||
source,
|
||||
typeRef,
|
||||
annotations.toMutableOrEmpty(),
|
||||
contextReceiverArguments.toMutableOrEmpty(),
|
||||
@@ -55,6 +54,7 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati
|
||||
explicitReceiver,
|
||||
dispatchReceiver,
|
||||
extensionReceiver,
|
||||
source,
|
||||
calleeReference,
|
||||
hasQuestionMarkAtLHS,
|
||||
)
|
||||
|
||||
+2
-2
@@ -39,24 +39,24 @@ import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirComponentCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||
val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
||||
var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||
var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var source: KtSourceElement? = null
|
||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||
lateinit var explicitReceiver: FirExpression
|
||||
var componentIndex: Int by kotlin.properties.Delegates.notNull<Int>()
|
||||
|
||||
override fun build(): FirComponentCall {
|
||||
return FirComponentCallImpl(
|
||||
source,
|
||||
annotations.toMutableOrEmpty(),
|
||||
contextReceiverArguments.toMutableOrEmpty(),
|
||||
typeArguments.toMutableOrEmpty(),
|
||||
dispatchReceiver,
|
||||
extensionReceiver,
|
||||
source,
|
||||
argumentList,
|
||||
explicitReceiver,
|
||||
componentIndex,
|
||||
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@file:Suppress("DuplicatedCode")
|
||||
|
||||
package org.jetbrains.kotlin.fir.expressions.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirExpressionRef
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDesugaredAssignmentValueReferenceExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirDesugaredAssignmentValueReferenceExpressionImpl
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirDesugaredAssignmentValueReferenceExpressionBuilder : FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
lateinit var expressionRef: FirExpressionRef<FirExpression>
|
||||
|
||||
override fun build(): FirDesugaredAssignmentValueReferenceExpression {
|
||||
return FirDesugaredAssignmentValueReferenceExpressionImpl(
|
||||
source,
|
||||
annotations.toMutableOrEmpty(),
|
||||
expressionRef,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@Deprecated("Modification of 'typeRef' has no impact for FirDesugaredAssignmentValueReferenceExpressionBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override var typeRef: FirTypeRef
|
||||
get() = throw IllegalStateException()
|
||||
set(_) {
|
||||
throw IllegalStateException()
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildDesugaredAssignmentValueReferenceExpression(init: FirDesugaredAssignmentValueReferenceExpressionBuilder.() -> Unit): FirDesugaredAssignmentValueReferenceExpression {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
return FirDesugaredAssignmentValueReferenceExpressionBuilder().apply(init).build()
|
||||
}
|
||||
+2
-2
@@ -37,7 +37,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@FirBuilderDsl
|
||||
open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||
@@ -45,6 +44,7 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
|
||||
override var explicitReceiver: FirExpression? = null
|
||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var source: KtSourceElement? = null
|
||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||
override lateinit var calleeReference: FirNamedReference
|
||||
override var origin: FirFunctionCallOrigin = FirFunctionCallOrigin.Regular
|
||||
@@ -52,7 +52,6 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
override fun build(): FirFunctionCall {
|
||||
return FirFunctionCallImpl(
|
||||
source,
|
||||
typeRef,
|
||||
annotations.toMutableOrEmpty(),
|
||||
contextReceiverArguments.toMutableOrEmpty(),
|
||||
@@ -60,6 +59,7 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
|
||||
explicitReceiver,
|
||||
dispatchReceiver,
|
||||
extensionReceiver,
|
||||
source,
|
||||
argumentList,
|
||||
calleeReference,
|
||||
origin,
|
||||
|
||||
+2
-2
@@ -37,25 +37,25 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@FirBuilderDsl
|
||||
open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
||||
override var explicitReceiver: FirExpression? = null
|
||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var source: KtSourceElement? = null
|
||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||
override lateinit var calleeReference: FirNamedReference
|
||||
|
||||
override fun build(): FirImplicitInvokeCall {
|
||||
return FirImplicitInvokeCallImpl(
|
||||
source,
|
||||
annotations.toMutableOrEmpty(),
|
||||
contextReceiverArguments.toMutableOrEmpty(),
|
||||
typeArguments.toMutableOrEmpty(),
|
||||
explicitReceiver,
|
||||
dispatchReceiver,
|
||||
extensionReceiver,
|
||||
source,
|
||||
argumentList,
|
||||
calleeReference,
|
||||
)
|
||||
|
||||
+2
-2
@@ -36,12 +36,12 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@FirBuilderDsl
|
||||
open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
override lateinit var typeRef: FirTypeRef
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
||||
override var explicitReceiver: FirExpression? = null
|
||||
override var source: KtSourceElement? = null
|
||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||
override lateinit var calleeReference: FirNamedReference
|
||||
override lateinit var origin: FirFunctionCallOrigin
|
||||
@@ -50,12 +50,12 @@ open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder
|
||||
|
||||
override fun build(): FirIntegerLiteralOperatorCall {
|
||||
return FirIntegerLiteralOperatorCallImpl(
|
||||
source,
|
||||
typeRef,
|
||||
annotations.toMutableOrEmpty(),
|
||||
contextReceiverArguments.toMutableOrEmpty(),
|
||||
typeArguments.toMutableOrEmpty(),
|
||||
explicitReceiver,
|
||||
source,
|
||||
argumentList,
|
||||
calleeReference,
|
||||
origin,
|
||||
|
||||
+4
-4
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirPropertyAccessExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirPropertyAccessExpressionImpl
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
@@ -33,8 +33,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirPropertyAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
class FirPropertyAccessExpressionBuilder : FirQualifiedAccessExpressionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
lateinit var calleeReference: FirReference
|
||||
@@ -43,12 +42,12 @@ class FirPropertyAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotat
|
||||
override var explicitReceiver: FirExpression? = null
|
||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var source: KtSourceElement? = null
|
||||
val nonFatalDiagnostics: MutableList<ConeDiagnostic> = mutableListOf()
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
override fun build(): FirPropertyAccessExpression {
|
||||
return FirPropertyAccessExpressionImpl(
|
||||
source,
|
||||
typeRef,
|
||||
annotations.toMutableOrEmpty(),
|
||||
calleeReference,
|
||||
@@ -57,6 +56,7 @@ class FirPropertyAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotat
|
||||
explicitReceiver,
|
||||
dispatchReceiver,
|
||||
extensionReceiver,
|
||||
source,
|
||||
nonFatalDiagnostics.toMutableOrEmpty(),
|
||||
)
|
||||
}
|
||||
|
||||
+5
-3
@@ -11,8 +11,9 @@ import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -21,7 +22,8 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
interface FirQualifiedAccessBuilder {
|
||||
interface FirQualifiedAccessExpressionBuilder {
|
||||
abstract var typeRef: FirTypeRef
|
||||
abstract val annotations: MutableList<FirAnnotation>
|
||||
abstract val contextReceiverArguments: MutableList<FirExpression>
|
||||
abstract val typeArguments: MutableList<FirTypeProjection>
|
||||
@@ -29,5 +31,5 @@ interface FirQualifiedAccessBuilder {
|
||||
abstract var dispatchReceiver: FirExpression
|
||||
abstract var extensionReceiver: FirExpression
|
||||
abstract var source: KtSourceElement?
|
||||
fun build(): FirQualifiedAccess
|
||||
fun build(): FirQualifiedAccessExpression
|
||||
}
|
||||
+4
-4
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessExpressionBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirThisReceiverExpressionImpl
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
@@ -33,22 +33,22 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirThisReceiverExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
class FirThisReceiverExpressionBuilder : FirQualifiedAccessExpressionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
||||
override var source: KtSourceElement? = null
|
||||
lateinit var calleeReference: FirThisReference
|
||||
var isImplicit: Boolean = false
|
||||
|
||||
override fun build(): FirThisReceiverExpression {
|
||||
return FirThisReceiverExpressionImpl(
|
||||
source,
|
||||
typeRef,
|
||||
annotations.toMutableOrEmpty(),
|
||||
contextReceiverArguments.toMutableOrEmpty(),
|
||||
typeArguments.toMutableOrEmpty(),
|
||||
source,
|
||||
calleeReference,
|
||||
isImplicit,
|
||||
)
|
||||
|
||||
+5
-22
@@ -9,20 +9,13 @@ package org.jetbrains.kotlin.fir.expressions.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.builder.FirQualifiedAccessBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirVariableAssignmentImpl
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -31,27 +24,17 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirVariableAssignmentBuilder : FirQualifiedAccessBuilder, FirAnnotationContainerBuilder {
|
||||
lateinit var calleeReference: FirReference
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
||||
override var explicitReceiver: FirExpression? = null
|
||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||
class FirVariableAssignmentBuilder : FirAnnotationContainerBuilder {
|
||||
override var source: KtSourceElement? = null
|
||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||
lateinit var lValue: FirExpression
|
||||
lateinit var rValue: FirExpression
|
||||
|
||||
override fun build(): FirVariableAssignment {
|
||||
return FirVariableAssignmentImpl(
|
||||
calleeReference,
|
||||
annotations.toMutableOrEmpty(),
|
||||
contextReceiverArguments.toMutableOrEmpty(),
|
||||
typeArguments.toMutableOrEmpty(),
|
||||
explicitReceiver,
|
||||
dispatchReceiver,
|
||||
extensionReceiver,
|
||||
source,
|
||||
annotations.toMutableOrEmpty(),
|
||||
lValue,
|
||||
rValue,
|
||||
)
|
||||
}
|
||||
|
||||
+6
-6
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
internal class FirCallableReferenceAccessImpl(
|
||||
override var source: KtSourceElement?,
|
||||
override var typeRef: FirTypeRef,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
|
||||
@@ -34,6 +33,7 @@ internal class FirCallableReferenceAccessImpl(
|
||||
override var explicitReceiver: FirExpression?,
|
||||
override var dispatchReceiver: FirExpression,
|
||||
override var extensionReceiver: FirExpression,
|
||||
override var source: KtSourceElement?,
|
||||
override var calleeReference: FirNamedReference,
|
||||
override var hasQuestionMarkAtLHS: Boolean,
|
||||
) : FirCallableReferenceAccess() {
|
||||
@@ -88,11 +88,6 @@ internal class FirCallableReferenceAccessImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
@@ -121,6 +116,11 @@ internal class FirCallableReferenceAccessImpl(
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirNamedReference) {
|
||||
calleeReference = newCalleeReference
|
||||
}
|
||||
|
||||
+6
-6
@@ -32,12 +32,12 @@ import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
internal class FirComponentCallImpl(
|
||||
override var source: KtSourceElement?,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
|
||||
override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
|
||||
override var dispatchReceiver: FirExpression,
|
||||
override var extensionReceiver: FirExpression,
|
||||
override var source: KtSourceElement?,
|
||||
override var argumentList: FirArgumentList,
|
||||
override var explicitReceiver: FirExpression,
|
||||
override val componentIndex: Int,
|
||||
@@ -99,11 +99,6 @@ internal class FirComponentCallImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
@@ -128,6 +123,11 @@ internal class FirComponentCallImpl(
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@file:Suppress("DuplicatedCode")
|
||||
|
||||
package org.jetbrains.kotlin.fir.expressions.impl
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirExpressionRef
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDesugaredAssignmentValueReferenceExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.fir.MutableOrEmptyList
|
||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
internal class FirDesugaredAssignmentValueReferenceExpressionImpl(
|
||||
override val source: KtSourceElement?,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override val expressionRef: FirExpressionRef<FirExpression>,
|
||||
) : FirDesugaredAssignmentValueReferenceExpression() {
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
typeRef.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDesugaredAssignmentValueReferenceExpressionImpl {
|
||||
typeRef = typeRef.transform(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDesugaredAssignmentValueReferenceExpressionImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
|
||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
||||
annotations = newAnnotations.toMutableOrEmpty()
|
||||
}
|
||||
}
|
||||
+6
-6
@@ -28,7 +28,6 @@ import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
*/
|
||||
|
||||
open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
||||
override var source: KtSourceElement?,
|
||||
override var typeRef: FirTypeRef,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
|
||||
@@ -36,6 +35,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
||||
override var explicitReceiver: FirExpression?,
|
||||
override var dispatchReceiver: FirExpression,
|
||||
override var extensionReceiver: FirExpression,
|
||||
override var source: KtSourceElement?,
|
||||
override var argumentList: FirArgumentList,
|
||||
override var calleeReference: FirNamedReference,
|
||||
override val origin: FirFunctionCallOrigin,
|
||||
@@ -93,11 +93,6 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
@@ -126,6 +121,11 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+6
-6
@@ -29,13 +29,13 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
internal class FirImplicitInvokeCallImpl(
|
||||
override var source: KtSourceElement?,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
|
||||
override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
|
||||
override var explicitReceiver: FirExpression?,
|
||||
override var dispatchReceiver: FirExpression,
|
||||
override var extensionReceiver: FirExpression,
|
||||
override var source: KtSourceElement?,
|
||||
override var argumentList: FirArgumentList,
|
||||
override var calleeReference: FirNamedReference,
|
||||
) : FirImplicitInvokeCall() {
|
||||
@@ -95,11 +95,6 @@ internal class FirImplicitInvokeCallImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
@@ -128,6 +123,11 @@ internal class FirImplicitInvokeCallImpl(
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+6
-6
@@ -28,12 +28,12 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
internal class FirIntegerLiteralOperatorCallImpl(
|
||||
override var source: KtSourceElement?,
|
||||
override var typeRef: FirTypeRef,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
|
||||
override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
|
||||
override var explicitReceiver: FirExpression?,
|
||||
override var source: KtSourceElement?,
|
||||
override var argumentList: FirArgumentList,
|
||||
override var calleeReference: FirNamedReference,
|
||||
override val origin: FirFunctionCallOrigin,
|
||||
@@ -103,11 +103,6 @@ internal class FirIntegerLiteralOperatorCallImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
@@ -128,6 +123,11 @@ internal class FirIntegerLiteralOperatorCallImpl(
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||
argumentList = newArgumentList
|
||||
}
|
||||
|
||||
+6
-6
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
*/
|
||||
|
||||
class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
||||
override var source: KtSourceElement?,
|
||||
override var typeRef: FirTypeRef,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var calleeReference: FirReference,
|
||||
@@ -35,6 +34,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
||||
override var explicitReceiver: FirExpression?,
|
||||
override var dispatchReceiver: FirExpression,
|
||||
override var extensionReceiver: FirExpression,
|
||||
override var source: KtSourceElement?,
|
||||
override var nonFatalDiagnostics: MutableOrEmptyList<ConeDiagnostic>,
|
||||
) : FirPropertyAccessExpression() {
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
@@ -88,11 +88,6 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
@@ -125,6 +120,11 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceNonFatalDiagnostics(newNonFatalDiagnostics: List<ConeDiagnostic>) {
|
||||
nonFatalDiagnostics = newNonFatalDiagnostics.toMutableOrEmpty()
|
||||
}
|
||||
|
||||
+6
-6
@@ -27,11 +27,11 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
internal class FirThisReceiverExpressionImpl(
|
||||
override var source: KtSourceElement?,
|
||||
override var typeRef: FirTypeRef,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
|
||||
override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
|
||||
override var source: KtSourceElement?,
|
||||
override var calleeReference: FirThisReference,
|
||||
override val isImplicit: Boolean,
|
||||
) : FirThisReceiverExpression() {
|
||||
@@ -90,11 +90,6 @@ internal class FirThisReceiverExpressionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceTypeRef(newTypeRef: FirTypeRef) {
|
||||
typeRef = newTypeRef
|
||||
}
|
||||
@@ -123,6 +118,11 @@ internal class FirThisReceiverExpressionImpl(
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirThisReference) {
|
||||
calleeReference = newCalleeReference
|
||||
}
|
||||
|
||||
+8
-84
@@ -11,14 +11,9 @@ import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.fir.MutableOrEmptyList
|
||||
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
@@ -26,73 +21,31 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
*/
|
||||
|
||||
internal class FirVariableAssignmentImpl(
|
||||
override var calleeReference: FirReference,
|
||||
override val source: KtSourceElement?,
|
||||
override var annotations: MutableOrEmptyList<FirAnnotation>,
|
||||
override var contextReceiverArguments: MutableOrEmptyList<FirExpression>,
|
||||
override var typeArguments: MutableOrEmptyList<FirTypeProjection>,
|
||||
override var explicitReceiver: FirExpression?,
|
||||
override var dispatchReceiver: FirExpression,
|
||||
override var extensionReceiver: FirExpression,
|
||||
override var source: KtSourceElement?,
|
||||
override var lValue: FirExpression,
|
||||
override var rValue: FirExpression,
|
||||
) : FirVariableAssignment() {
|
||||
override var lValue: FirReference
|
||||
get() = calleeReference
|
||||
set(value) {
|
||||
calleeReference = value
|
||||
}
|
||||
override var lValueTypeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
calleeReference.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||
typeArguments.forEach { it.accept(visitor, data) }
|
||||
explicitReceiver?.accept(visitor, data)
|
||||
if (dispatchReceiver !== explicitReceiver) {
|
||||
dispatchReceiver.accept(visitor, data)
|
||||
}
|
||||
if (extensionReceiver !== explicitReceiver && extensionReceiver !== dispatchReceiver) {
|
||||
extensionReceiver.accept(visitor, data)
|
||||
}
|
||||
lValueTypeRef.accept(visitor, data)
|
||||
lValue.accept(visitor, data)
|
||||
rValue.accept(visitor, data)
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
||||
transformCalleeReference(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
contextReceiverArguments.transformInplace(transformer, data)
|
||||
transformTypeArguments(transformer, data)
|
||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||
if (dispatchReceiver !== explicitReceiver) {
|
||||
dispatchReceiver = dispatchReceiver.transform(transformer, data)
|
||||
}
|
||||
if (extensionReceiver !== explicitReceiver && extensionReceiver !== dispatchReceiver) {
|
||||
extensionReceiver = extensionReceiver.transform(transformer, data)
|
||||
}
|
||||
lValueTypeRef = lValueTypeRef.transform(transformer, data)
|
||||
transformLValue(transformer, data)
|
||||
transformRValue(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
||||
calleeReference = calleeReference.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeArguments(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
||||
typeArguments.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformExplicitReceiver(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||
override fun <D> transformLValue(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
||||
lValue = lValue.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -101,40 +54,11 @@ internal class FirVariableAssignmentImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun replaceCalleeReference(newCalleeReference: FirReference) {
|
||||
calleeReference = newCalleeReference
|
||||
}
|
||||
|
||||
override fun replaceAnnotations(newAnnotations: List<FirAnnotation>) {
|
||||
annotations = newAnnotations.toMutableOrEmpty()
|
||||
}
|
||||
|
||||
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||
contextReceiverArguments = newContextReceiverArguments.toMutableOrEmpty()
|
||||
}
|
||||
|
||||
override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>) {
|
||||
typeArguments = newTypeArguments.toMutableOrEmpty()
|
||||
}
|
||||
|
||||
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
|
||||
explicitReceiver = newExplicitReceiver
|
||||
}
|
||||
|
||||
override fun replaceDispatchReceiver(newDispatchReceiver: FirExpression) {
|
||||
dispatchReceiver = newDispatchReceiver
|
||||
}
|
||||
|
||||
override fun replaceExtensionReceiver(newExtensionReceiver: FirExpression) {
|
||||
extensionReceiver = newExtensionReceiver
|
||||
}
|
||||
|
||||
@FirImplementationDetail
|
||||
override fun replaceSource(newSource: KtSourceElement?) {
|
||||
source = newSource
|
||||
}
|
||||
|
||||
override fun replaceLValueTypeRef(newLValueTypeRef: FirTypeRef) {
|
||||
lValueTypeRef = newLValueTypeRef
|
||||
override fun replaceLValue(newLValue: FirExpression) {
|
||||
lValue = newLValue
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,6 @@ import org.jetbrains.kotlin.fir.expressions.FirEqualityOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirContextReceiverArgumentListOwner
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
@@ -124,6 +123,7 @@ import org.jetbrains.kotlin.fir.expressions.FirStringConcatenationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThrowExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDesugaredAssignmentValueReferenceExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
@@ -256,10 +256,12 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
|
||||
|
||||
override fun visitThrowExpression(throwExpression: FirThrowExpression, data: D): R = visitExpression(throwExpression, data)
|
||||
|
||||
override fun visitVariableAssignment(variableAssignment: FirVariableAssignment, data: D): R = visitQualifiedAccess(variableAssignment, data)
|
||||
override fun visitVariableAssignment(variableAssignment: FirVariableAssignment, data: D): R = visitStatement(variableAssignment, data)
|
||||
|
||||
override fun visitWhenSubjectExpression(whenSubjectExpression: FirWhenSubjectExpression, data: D): R = visitExpression(whenSubjectExpression, data)
|
||||
|
||||
override fun visitDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression: FirDesugaredAssignmentValueReferenceExpression, data: D): R = visitExpression(desugaredAssignmentValueReferenceExpression, data)
|
||||
|
||||
override fun visitWrappedDelegateExpression(wrappedDelegateExpression: FirWrappedDelegateExpression, data: D): R = visitWrappedExpression(wrappedDelegateExpression, data)
|
||||
|
||||
override fun visitNamedReference(namedReference: FirNamedReference, data: D): R = visitReference(namedReference, data)
|
||||
|
||||
@@ -86,7 +86,6 @@ import org.jetbrains.kotlin.fir.expressions.FirEqualityOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirContextReceiverArgumentListOwner
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
@@ -124,6 +123,7 @@ import org.jetbrains.kotlin.fir.expressions.FirStringConcatenationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThrowExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDesugaredAssignmentValueReferenceExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
@@ -256,10 +256,12 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
|
||||
|
||||
override fun visitThrowExpression(throwExpression: FirThrowExpression) = visitExpression(throwExpression)
|
||||
|
||||
override fun visitVariableAssignment(variableAssignment: FirVariableAssignment) = visitQualifiedAccess(variableAssignment)
|
||||
override fun visitVariableAssignment(variableAssignment: FirVariableAssignment) = visitStatement(variableAssignment)
|
||||
|
||||
override fun visitWhenSubjectExpression(whenSubjectExpression: FirWhenSubjectExpression) = visitExpression(whenSubjectExpression)
|
||||
|
||||
override fun visitDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression: FirDesugaredAssignmentValueReferenceExpression) = visitExpression(desugaredAssignmentValueReferenceExpression)
|
||||
|
||||
override fun visitWrappedDelegateExpression(wrappedDelegateExpression: FirWrappedDelegateExpression) = visitWrappedExpression(wrappedDelegateExpression)
|
||||
|
||||
override fun visitNamedReference(namedReference: FirNamedReference) = visitReference(namedReference)
|
||||
|
||||
@@ -86,7 +86,6 @@ import org.jetbrains.kotlin.fir.expressions.FirEqualityOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirContextReceiverArgumentListOwner
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
@@ -124,6 +123,7 @@ import org.jetbrains.kotlin.fir.expressions.FirStringConcatenationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThrowExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDesugaredAssignmentValueReferenceExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
@@ -479,10 +479,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(contextReceiverArgumentListOwner, data)
|
||||
}
|
||||
|
||||
open fun transformQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: D): FirStatement {
|
||||
return transformElement(qualifiedAccess, data)
|
||||
}
|
||||
|
||||
open fun transformCheckNotNullCall(checkNotNullCall: FirCheckNotNullCall, data: D): FirStatement {
|
||||
return transformElement(checkNotNullCall, data)
|
||||
}
|
||||
@@ -631,6 +627,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(whenSubjectExpression, data)
|
||||
}
|
||||
|
||||
open fun transformDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression: FirDesugaredAssignmentValueReferenceExpression, data: D): FirStatement {
|
||||
return transformElement(desugaredAssignmentValueReferenceExpression, data)
|
||||
}
|
||||
|
||||
open fun transformWrappedDelegateExpression(wrappedDelegateExpression: FirWrappedDelegateExpression, data: D): FirStatement {
|
||||
return transformElement(wrappedDelegateExpression, data)
|
||||
}
|
||||
@@ -1055,10 +1055,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformContextReceiverArgumentListOwner(contextReceiverArgumentListOwner, data)
|
||||
}
|
||||
|
||||
final override fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: D): FirStatement {
|
||||
return transformQualifiedAccess(qualifiedAccess, data)
|
||||
}
|
||||
|
||||
final override fun visitCheckNotNullCall(checkNotNullCall: FirCheckNotNullCall, data: D): FirStatement {
|
||||
return transformCheckNotNullCall(checkNotNullCall, data)
|
||||
}
|
||||
@@ -1207,6 +1203,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformWhenSubjectExpression(whenSubjectExpression, data)
|
||||
}
|
||||
|
||||
final override fun visitDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression: FirDesugaredAssignmentValueReferenceExpression, data: D): FirStatement {
|
||||
return transformDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression, data)
|
||||
}
|
||||
|
||||
final override fun visitWrappedDelegateExpression(wrappedDelegateExpression: FirWrappedDelegateExpression, data: D): FirStatement {
|
||||
return transformWrappedDelegateExpression(wrappedDelegateExpression, data)
|
||||
}
|
||||
|
||||
@@ -86,7 +86,6 @@ import org.jetbrains.kotlin.fir.expressions.FirEqualityOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirContextReceiverArgumentListOwner
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
@@ -124,6 +123,7 @@ import org.jetbrains.kotlin.fir.expressions.FirStringConcatenationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThrowExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDesugaredAssignmentValueReferenceExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
@@ -318,8 +318,6 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitContextReceiverArgumentListOwner(contextReceiverArgumentListOwner: FirContextReceiverArgumentListOwner, data: D): R = visitElement(contextReceiverArgumentListOwner, data)
|
||||
|
||||
open fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: D): R = visitElement(qualifiedAccess, data)
|
||||
|
||||
open fun visitCheckNotNullCall(checkNotNullCall: FirCheckNotNullCall, data: D): R = visitElement(checkNotNullCall, data)
|
||||
|
||||
open fun visitElvisExpression(elvisExpression: FirElvisExpression, data: D): R = visitElement(elvisExpression, data)
|
||||
@@ -394,6 +392,8 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitWhenSubjectExpression(whenSubjectExpression: FirWhenSubjectExpression, data: D): R = visitElement(whenSubjectExpression, data)
|
||||
|
||||
open fun visitDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression: FirDesugaredAssignmentValueReferenceExpression, data: D): R = visitElement(desugaredAssignmentValueReferenceExpression, data)
|
||||
|
||||
open fun visitWrappedDelegateExpression(wrappedDelegateExpression: FirWrappedDelegateExpression, data: D): R = visitElement(wrappedDelegateExpression, data)
|
||||
|
||||
open fun visitNamedReference(namedReference: FirNamedReference, data: D): R = visitElement(namedReference, data)
|
||||
|
||||
@@ -86,7 +86,6 @@ import org.jetbrains.kotlin.fir.expressions.FirEqualityOperatorCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
|
||||
import org.jetbrains.kotlin.fir.expressions.FirContextReceiverArgumentListOwner
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
|
||||
import org.jetbrains.kotlin.fir.expressions.FirCheckNotNullCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirElvisExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
@@ -124,6 +123,7 @@ import org.jetbrains.kotlin.fir.expressions.FirStringConcatenationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirThrowExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirDesugaredAssignmentValueReferenceExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
@@ -478,10 +478,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(contextReceiverArgumentListOwner)
|
||||
}
|
||||
|
||||
open fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess) {
|
||||
visitElement(qualifiedAccess)
|
||||
}
|
||||
|
||||
open fun visitCheckNotNullCall(checkNotNullCall: FirCheckNotNullCall) {
|
||||
visitElement(checkNotNullCall)
|
||||
}
|
||||
@@ -630,6 +626,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(whenSubjectExpression)
|
||||
}
|
||||
|
||||
open fun visitDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression: FirDesugaredAssignmentValueReferenceExpression) {
|
||||
visitElement(desugaredAssignmentValueReferenceExpression)
|
||||
}
|
||||
|
||||
open fun visitWrappedDelegateExpression(wrappedDelegateExpression: FirWrappedDelegateExpression) {
|
||||
visitElement(wrappedDelegateExpression)
|
||||
}
|
||||
@@ -1054,10 +1054,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitContextReceiverArgumentListOwner(contextReceiverArgumentListOwner)
|
||||
}
|
||||
|
||||
final override fun visitQualifiedAccess(qualifiedAccess: FirQualifiedAccess, data: Nothing?) {
|
||||
visitQualifiedAccess(qualifiedAccess)
|
||||
}
|
||||
|
||||
final override fun visitCheckNotNullCall(checkNotNullCall: FirCheckNotNullCall, data: Nothing?) {
|
||||
visitCheckNotNullCall(checkNotNullCall)
|
||||
}
|
||||
@@ -1206,6 +1202,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitWhenSubjectExpression(whenSubjectExpression)
|
||||
}
|
||||
|
||||
final override fun visitDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression: FirDesugaredAssignmentValueReferenceExpression, data: Nothing?) {
|
||||
visitDesugaredAssignmentValueReferenceExpression(desugaredAssignmentValueReferenceExpression)
|
||||
}
|
||||
|
||||
final override fun visitWrappedDelegateExpression(wrappedDelegateExpression: FirWrappedDelegateExpression, data: Nothing?) {
|
||||
visitWrappedDelegateExpression(wrappedDelegateExpression)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user