FIR tree: add context receivers helper properties
This commit is contained in:
+3
@@ -27,6 +27,7 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val calleeReference: FirNamedReference
|
abstract override val calleeReference: FirNamedReference
|
||||||
abstract val hasQuestionMarkAtLHS: Boolean
|
abstract val hasQuestionMarkAtLHS: Boolean
|
||||||
|
|
||||||
@@ -45,6 +46,8 @@ abstract class FirCallableReferenceAccess : FirQualifiedAccessExpression() {
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ abstract class FirComponentCall : FirFunctionCall() {
|
|||||||
abstract override val typeArguments: List<FirTypeProjection>
|
abstract override val typeArguments: List<FirTypeProjection>
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val argumentList: FirArgumentList
|
abstract override val argumentList: FirArgumentList
|
||||||
abstract override val calleeReference: FirNamedReference
|
abstract override val calleeReference: FirNamedReference
|
||||||
abstract override val origin: FirFunctionCallOrigin
|
abstract override val origin: FirFunctionCallOrigin
|
||||||
@@ -45,6 +46,8 @@ abstract class FirComponentCall : FirFunctionCall() {
|
|||||||
|
|
||||||
abstract override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
abstract override fun replaceTypeArguments(newTypeArguments: List<FirTypeProjection>)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|||||||
+3
@@ -29,6 +29,7 @@ abstract class FirExpressionWithSmartcast : FirQualifiedAccessExpression(), FirW
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val originalExpression: FirQualifiedAccessExpression
|
abstract override val originalExpression: FirQualifiedAccessExpression
|
||||||
abstract override val typesFromSmartCast: Collection<ConeKotlinType>
|
abstract override val typesFromSmartCast: Collection<ConeKotlinType>
|
||||||
abstract override val originalType: FirTypeRef
|
abstract override val originalType: FirTypeRef
|
||||||
@@ -53,6 +54,8 @@ abstract class FirExpressionWithSmartcast : FirQualifiedAccessExpression(), FirW
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcast
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcast
|
||||||
|
|
||||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcast
|
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcast
|
||||||
|
|||||||
+3
@@ -29,6 +29,7 @@ abstract class FirExpressionWithSmartcastToNull : FirExpressionWithSmartcast(),
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val originalExpression: FirQualifiedAccessExpression
|
abstract override val originalExpression: FirQualifiedAccessExpression
|
||||||
abstract override val typesFromSmartCast: Collection<ConeKotlinType>
|
abstract override val typesFromSmartCast: Collection<ConeKotlinType>
|
||||||
abstract override val originalType: FirTypeRef
|
abstract override val originalType: FirTypeRef
|
||||||
@@ -54,6 +55,8 @@ abstract class FirExpressionWithSmartcastToNull : FirExpressionWithSmartcast(),
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcastToNull
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcastToNull
|
||||||
|
|
||||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcastToNull
|
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirExpressionWithSmartcastToNull
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val argumentList: FirArgumentList
|
abstract override val argumentList: FirArgumentList
|
||||||
abstract override val calleeReference: FirNamedReference
|
abstract override val calleeReference: FirNamedReference
|
||||||
abstract val origin: FirFunctionCallOrigin
|
abstract val origin: FirFunctionCallOrigin
|
||||||
@@ -46,6 +47,8 @@ abstract class FirFunctionCall : FirQualifiedAccessExpression(), FirCall {
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||||
|
|
||||||
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() {
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val argumentList: FirArgumentList
|
abstract override val argumentList: FirArgumentList
|
||||||
abstract override val calleeReference: FirNamedReference
|
abstract override val calleeReference: FirNamedReference
|
||||||
abstract override val origin: FirFunctionCallOrigin
|
abstract override val origin: FirFunctionCallOrigin
|
||||||
@@ -46,6 +47,8 @@ abstract class FirImplicitInvokeCall : FirFunctionCall() {
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|||||||
+3
@@ -27,6 +27,7 @@ abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val argumentList: FirArgumentList
|
abstract override val argumentList: FirArgumentList
|
||||||
abstract override val calleeReference: FirNamedReference
|
abstract override val calleeReference: FirNamedReference
|
||||||
abstract override val origin: FirFunctionCallOrigin
|
abstract override val origin: FirFunctionCallOrigin
|
||||||
@@ -46,6 +47,8 @@ abstract class FirIntegerLiteralOperatorCall : FirFunctionCall() {
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
abstract override fun replaceArgumentList(newArgumentList: FirArgumentList)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirNamedReference)
|
||||||
|
|||||||
+3
@@ -28,6 +28,7 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract val nonFatalDiagnostics: List<ConeDiagnostic>
|
abstract val nonFatalDiagnostics: List<ConeDiagnostic>
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitPropertyAccessExpression(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitPropertyAccessExpression(this, data)
|
||||||
@@ -47,6 +48,8 @@ abstract class FirPropertyAccessExpression : FirQualifiedAccessExpression() {
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
||||||
|
|
||||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirPropertyAccessExpression
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ interface FirQualifiedAccess : FirResolvable, FirStatement {
|
|||||||
val dispatchReceiver: FirExpression
|
val dispatchReceiver: FirExpression
|
||||||
val extensionReceiver: FirExpression
|
val extensionReceiver: FirExpression
|
||||||
override val source: KtSourceElement?
|
override val source: KtSourceElement?
|
||||||
|
val contextReceiverArguments: List<FirExpression>
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitQualifiedAccess(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitQualifiedAccess(this, data)
|
||||||
|
|
||||||
@@ -41,6 +42,8 @@ interface FirQualifiedAccess : FirResolvable, FirStatement {
|
|||||||
@FirImplementationDetail
|
@FirImplementationDetail
|
||||||
fun replaceSource(newSource: KtSourceElement?)
|
fun replaceSource(newSource: KtSourceElement?)
|
||||||
|
|
||||||
|
fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
||||||
|
|
||||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccess
|
||||||
|
|||||||
+3
@@ -27,6 +27,7 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitQualifiedAccessExpression(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitQualifiedAccessExpression(this, data)
|
||||||
|
|
||||||
@@ -45,6 +46,8 @@ abstract class FirQualifiedAccessExpression : FirExpression(), FirQualifiedAcces
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
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> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirQualifiedAccessExpression
|
||||||
|
|||||||
+3
@@ -27,6 +27,7 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
|
|||||||
abstract override val explicitReceiver: FirExpression?
|
abstract override val explicitReceiver: FirExpression?
|
||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract override val calleeReference: FirThisReference
|
abstract override val calleeReference: FirThisReference
|
||||||
abstract val isImplicit: Boolean
|
abstract val isImplicit: Boolean
|
||||||
|
|
||||||
@@ -45,6 +46,8 @@ abstract class FirThisReceiverExpression : FirQualifiedAccessExpression() {
|
|||||||
|
|
||||||
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
abstract override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract fun replaceCalleeReference(newCalleeReference: FirThisReference)
|
abstract fun replaceCalleeReference(newCalleeReference: FirThisReference)
|
||||||
|
|
||||||
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
abstract override fun replaceCalleeReference(newCalleeReference: FirReference)
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAcc
|
|||||||
abstract override val dispatchReceiver: FirExpression
|
abstract override val dispatchReceiver: FirExpression
|
||||||
abstract override val extensionReceiver: FirExpression
|
abstract override val extensionReceiver: FirExpression
|
||||||
abstract override val source: KtSourceElement?
|
abstract override val source: KtSourceElement?
|
||||||
|
abstract override val contextReceiverArguments: List<FirExpression>
|
||||||
abstract val lValue: FirReference
|
abstract val lValue: FirReference
|
||||||
abstract val lValueTypeRef: FirTypeRef
|
abstract val lValueTypeRef: FirTypeRef
|
||||||
abstract val rValue: FirExpression
|
abstract val rValue: FirExpression
|
||||||
@@ -46,6 +47,8 @@ abstract class FirVariableAssignment : FirPureAbstractElement(), FirQualifiedAcc
|
|||||||
@FirImplementationDetail
|
@FirImplementationDetail
|
||||||
abstract override fun replaceSource(newSource: KtSourceElement?)
|
abstract override fun replaceSource(newSource: KtSourceElement?)
|
||||||
|
|
||||||
|
abstract override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>)
|
||||||
|
|
||||||
abstract fun replaceLValueTypeRef(newLValueTypeRef: FirTypeRef)
|
abstract fun replaceLValueTypeRef(newLValueTypeRef: FirTypeRef)
|
||||||
|
|
||||||
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
abstract override fun <D> transformCalleeReference(transformer: FirTransformer<D>, data: D): FirVariableAssignment
|
||||||
|
|||||||
+1
@@ -32,6 +32,7 @@ interface FirAbstractFunctionCallBuilder : FirQualifiedAccessBuilder, FirCallBui
|
|||||||
abstract override var dispatchReceiver: FirExpression
|
abstract override var dispatchReceiver: FirExpression
|
||||||
abstract override var extensionReceiver: FirExpression
|
abstract override var extensionReceiver: FirExpression
|
||||||
abstract override var source: KtSourceElement?
|
abstract override var source: KtSourceElement?
|
||||||
|
abstract override val contextReceiverArguments: MutableList<FirExpression>
|
||||||
abstract override var argumentList: FirArgumentList
|
abstract override var argumentList: FirArgumentList
|
||||||
abstract var typeRef: FirTypeRef
|
abstract var typeRef: FirTypeRef
|
||||||
abstract var calleeReference: FirNamedReference
|
abstract var calleeReference: FirNamedReference
|
||||||
|
|||||||
+2
@@ -38,6 +38,7 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati
|
|||||||
override var explicitReceiver: FirExpression? = null
|
override var explicitReceiver: FirExpression? = null
|
||||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
lateinit var calleeReference: FirNamedReference
|
lateinit var calleeReference: FirNamedReference
|
||||||
var hasQuestionMarkAtLHS: Boolean = false
|
var hasQuestionMarkAtLHS: Boolean = false
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ class FirCallableReferenceAccessBuilder : FirQualifiedAccessBuilder, FirAnnotati
|
|||||||
explicitReceiver,
|
explicitReceiver,
|
||||||
dispatchReceiver,
|
dispatchReceiver,
|
||||||
extensionReceiver,
|
extensionReceiver,
|
||||||
|
contextReceiverArguments,
|
||||||
calleeReference,
|
calleeReference,
|
||||||
hasQuestionMarkAtLHS,
|
hasQuestionMarkAtLHS,
|
||||||
)
|
)
|
||||||
|
|||||||
+2
@@ -41,6 +41,7 @@ class FirComponentCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder, F
|
|||||||
val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
||||||
var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||||
var extensionReceiver: FirExpression = FirNoReceiverExpression
|
var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||||
|
val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||||
lateinit var explicitReceiver: FirExpression
|
lateinit var explicitReceiver: FirExpression
|
||||||
var componentIndex: Int by kotlin.properties.Delegates.notNull<Int>()
|
var componentIndex: Int by kotlin.properties.Delegates.notNull<Int>()
|
||||||
@@ -52,6 +53,7 @@ class FirComponentCallBuilder : FirCallBuilder, FirAnnotationContainerBuilder, F
|
|||||||
typeArguments,
|
typeArguments,
|
||||||
dispatchReceiver,
|
dispatchReceiver,
|
||||||
extensionReceiver,
|
extensionReceiver,
|
||||||
|
contextReceiverArguments,
|
||||||
argumentList,
|
argumentList,
|
||||||
explicitReceiver,
|
explicitReceiver,
|
||||||
componentIndex,
|
componentIndex,
|
||||||
|
|||||||
+2
@@ -41,6 +41,7 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
|
|||||||
override var explicitReceiver: FirExpression? = null
|
override var explicitReceiver: FirExpression? = null
|
||||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||||
override lateinit var calleeReference: FirNamedReference
|
override lateinit var calleeReference: FirNamedReference
|
||||||
override var origin: FirFunctionCallOrigin = FirFunctionCallOrigin.Regular
|
override var origin: FirFunctionCallOrigin = FirFunctionCallOrigin.Regular
|
||||||
@@ -55,6 +56,7 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
|
|||||||
explicitReceiver,
|
explicitReceiver,
|
||||||
dispatchReceiver,
|
dispatchReceiver,
|
||||||
extensionReceiver,
|
extensionReceiver,
|
||||||
|
contextReceiverArguments,
|
||||||
argumentList,
|
argumentList,
|
||||||
calleeReference,
|
calleeReference,
|
||||||
origin,
|
origin,
|
||||||
|
|||||||
+2
@@ -40,6 +40,7 @@ open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnn
|
|||||||
override var explicitReceiver: FirExpression? = null
|
override var explicitReceiver: FirExpression? = null
|
||||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||||
override lateinit var calleeReference: FirNamedReference
|
override lateinit var calleeReference: FirNamedReference
|
||||||
|
|
||||||
@@ -51,6 +52,7 @@ open class FirImplicitInvokeCallBuilder : FirAbstractFunctionCallBuilder, FirAnn
|
|||||||
explicitReceiver,
|
explicitReceiver,
|
||||||
dispatchReceiver,
|
dispatchReceiver,
|
||||||
extensionReceiver,
|
extensionReceiver,
|
||||||
|
contextReceiverArguments,
|
||||||
argumentList,
|
argumentList,
|
||||||
calleeReference,
|
calleeReference,
|
||||||
)
|
)
|
||||||
|
|||||||
+2
@@ -40,6 +40,7 @@ open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder
|
|||||||
override var explicitReceiver: FirExpression? = null
|
override var explicitReceiver: FirExpression? = null
|
||||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
override var argumentList: FirArgumentList = FirEmptyArgumentList
|
||||||
override lateinit var calleeReference: FirNamedReference
|
override lateinit var calleeReference: FirNamedReference
|
||||||
override lateinit var origin: FirFunctionCallOrigin
|
override lateinit var origin: FirFunctionCallOrigin
|
||||||
@@ -53,6 +54,7 @@ open class FirIntegerLiteralOperatorCallBuilder : FirAbstractFunctionCallBuilder
|
|||||||
explicitReceiver,
|
explicitReceiver,
|
||||||
dispatchReceiver,
|
dispatchReceiver,
|
||||||
extensionReceiver,
|
extensionReceiver,
|
||||||
|
contextReceiverArguments,
|
||||||
argumentList,
|
argumentList,
|
||||||
calleeReference,
|
calleeReference,
|
||||||
origin,
|
origin,
|
||||||
|
|||||||
+2
@@ -39,6 +39,7 @@ class FirPropertyAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotat
|
|||||||
override var explicitReceiver: FirExpression? = null
|
override var explicitReceiver: FirExpression? = null
|
||||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
val nonFatalDiagnostics: MutableList<ConeDiagnostic> = mutableListOf()
|
val nonFatalDiagnostics: MutableList<ConeDiagnostic> = mutableListOf()
|
||||||
|
|
||||||
@OptIn(FirImplementationDetail::class)
|
@OptIn(FirImplementationDetail::class)
|
||||||
@@ -52,6 +53,7 @@ class FirPropertyAccessExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotat
|
|||||||
explicitReceiver,
|
explicitReceiver,
|
||||||
dispatchReceiver,
|
dispatchReceiver,
|
||||||
extensionReceiver,
|
extensionReceiver,
|
||||||
|
contextReceiverArguments,
|
||||||
nonFatalDiagnostics,
|
nonFatalDiagnostics,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -26,5 +26,7 @@ interface FirQualifiedAccessBuilder {
|
|||||||
abstract var dispatchReceiver: FirExpression
|
abstract var dispatchReceiver: FirExpression
|
||||||
abstract var extensionReceiver: FirExpression
|
abstract var extensionReceiver: FirExpression
|
||||||
abstract var source: KtSourceElement?
|
abstract var source: KtSourceElement?
|
||||||
|
abstract val contextReceiverArguments: MutableList<FirExpression>
|
||||||
|
|
||||||
fun build(): FirQualifiedAccess
|
fun build(): FirQualifiedAccess
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -35,6 +35,7 @@ class FirThisReceiverExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotatio
|
|||||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||||
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
override val annotations: MutableList<FirAnnotation> = mutableListOf()
|
||||||
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
override val typeArguments: MutableList<FirTypeProjection> = mutableListOf()
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
lateinit var calleeReference: FirThisReference
|
lateinit var calleeReference: FirThisReference
|
||||||
var isImplicit: Boolean = false
|
var isImplicit: Boolean = false
|
||||||
|
|
||||||
@@ -44,6 +45,7 @@ class FirThisReceiverExpressionBuilder : FirQualifiedAccessBuilder, FirAnnotatio
|
|||||||
typeRef,
|
typeRef,
|
||||||
annotations,
|
annotations,
|
||||||
typeArguments,
|
typeArguments,
|
||||||
|
contextReceiverArguments,
|
||||||
calleeReference,
|
calleeReference,
|
||||||
isImplicit,
|
isImplicit,
|
||||||
)
|
)
|
||||||
|
|||||||
+2
@@ -36,6 +36,7 @@ class FirVariableAssignmentBuilder : FirQualifiedAccessBuilder, FirAnnotationCon
|
|||||||
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
override var dispatchReceiver: FirExpression = FirNoReceiverExpression
|
||||||
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
override var extensionReceiver: FirExpression = FirNoReceiverExpression
|
||||||
override var source: KtSourceElement? = null
|
override var source: KtSourceElement? = null
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression> = mutableListOf()
|
||||||
lateinit var rValue: FirExpression
|
lateinit var rValue: FirExpression
|
||||||
|
|
||||||
override fun build(): FirVariableAssignment {
|
override fun build(): FirVariableAssignment {
|
||||||
@@ -47,6 +48,7 @@ class FirVariableAssignmentBuilder : FirQualifiedAccessBuilder, FirAnnotationCon
|
|||||||
dispatchReceiver,
|
dispatchReceiver,
|
||||||
extensionReceiver,
|
extensionReceiver,
|
||||||
source,
|
source,
|
||||||
|
contextReceiverArguments,
|
||||||
rValue,
|
rValue,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -29,6 +29,7 @@ internal class FirCallableReferenceAccessImpl(
|
|||||||
override var explicitReceiver: FirExpression?,
|
override var explicitReceiver: FirExpression?,
|
||||||
override var dispatchReceiver: FirExpression,
|
override var dispatchReceiver: FirExpression,
|
||||||
override var extensionReceiver: FirExpression,
|
override var extensionReceiver: FirExpression,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override var calleeReference: FirNamedReference,
|
override var calleeReference: FirNamedReference,
|
||||||
override var hasQuestionMarkAtLHS: Boolean,
|
override var hasQuestionMarkAtLHS: Boolean,
|
||||||
) : FirCallableReferenceAccess() {
|
) : FirCallableReferenceAccess() {
|
||||||
@@ -109,6 +110,11 @@ internal class FirCallableReferenceAccessImpl(
|
|||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceCalleeReference(newCalleeReference: FirNamedReference) {
|
override fun replaceCalleeReference(newCalleeReference: FirNamedReference) {
|
||||||
calleeReference = newCalleeReference
|
calleeReference = newCalleeReference
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -33,6 +33,7 @@ internal class FirComponentCallImpl(
|
|||||||
override val typeArguments: MutableList<FirTypeProjection>,
|
override val typeArguments: MutableList<FirTypeProjection>,
|
||||||
override var dispatchReceiver: FirExpression,
|
override var dispatchReceiver: FirExpression,
|
||||||
override var extensionReceiver: FirExpression,
|
override var extensionReceiver: FirExpression,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override var argumentList: FirArgumentList,
|
override var argumentList: FirArgumentList,
|
||||||
override var explicitReceiver: FirExpression,
|
override var explicitReceiver: FirExpression,
|
||||||
override val componentIndex: Int,
|
override val componentIndex: Int,
|
||||||
@@ -116,6 +117,11 @@ internal class FirComponentCallImpl(
|
|||||||
typeArguments.addAll(newTypeArguments)
|
typeArguments.addAll(newTypeArguments)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||||
argumentList = newArgumentList
|
argumentList = newArgumentList
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
|||||||
override var explicitReceiver: FirExpression?,
|
override var explicitReceiver: FirExpression?,
|
||||||
override var dispatchReceiver: FirExpression,
|
override var dispatchReceiver: FirExpression,
|
||||||
override var extensionReceiver: FirExpression,
|
override var extensionReceiver: FirExpression,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override var argumentList: FirArgumentList,
|
override var argumentList: FirArgumentList,
|
||||||
override var calleeReference: FirNamedReference,
|
override var calleeReference: FirNamedReference,
|
||||||
override val origin: FirFunctionCallOrigin,
|
override val origin: FirFunctionCallOrigin,
|
||||||
@@ -114,6 +115,11 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
|||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||||
argumentList = newArgumentList
|
argumentList = newArgumentList
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -31,6 +31,7 @@ internal class FirImplicitInvokeCallImpl(
|
|||||||
override var explicitReceiver: FirExpression?,
|
override var explicitReceiver: FirExpression?,
|
||||||
override var dispatchReceiver: FirExpression,
|
override var dispatchReceiver: FirExpression,
|
||||||
override var extensionReceiver: FirExpression,
|
override var extensionReceiver: FirExpression,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override var argumentList: FirArgumentList,
|
override var argumentList: FirArgumentList,
|
||||||
override var calleeReference: FirNamedReference,
|
override var calleeReference: FirNamedReference,
|
||||||
) : FirImplicitInvokeCall() {
|
) : FirImplicitInvokeCall() {
|
||||||
@@ -116,6 +117,11 @@ internal class FirImplicitInvokeCallImpl(
|
|||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||||
argumentList = newArgumentList
|
argumentList = newArgumentList
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -31,6 +31,7 @@ internal class FirIntegerLiteralOperatorCallImpl(
|
|||||||
override var explicitReceiver: FirExpression?,
|
override var explicitReceiver: FirExpression?,
|
||||||
override var dispatchReceiver: FirExpression,
|
override var dispatchReceiver: FirExpression,
|
||||||
override var extensionReceiver: FirExpression,
|
override var extensionReceiver: FirExpression,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override var argumentList: FirArgumentList,
|
override var argumentList: FirArgumentList,
|
||||||
override var calleeReference: FirNamedReference,
|
override var calleeReference: FirNamedReference,
|
||||||
override val origin: FirFunctionCallOrigin,
|
override val origin: FirFunctionCallOrigin,
|
||||||
@@ -114,6 +115,11 @@ internal class FirIntegerLiteralOperatorCallImpl(
|
|||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
override fun replaceArgumentList(newArgumentList: FirArgumentList) {
|
||||||
argumentList = newArgumentList
|
argumentList = newArgumentList
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -30,6 +30,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
|||||||
override var explicitReceiver: FirExpression?,
|
override var explicitReceiver: FirExpression?,
|
||||||
override var dispatchReceiver: FirExpression,
|
override var dispatchReceiver: FirExpression,
|
||||||
override var extensionReceiver: FirExpression,
|
override var extensionReceiver: FirExpression,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override val nonFatalDiagnostics: MutableList<ConeDiagnostic>,
|
override val nonFatalDiagnostics: MutableList<ConeDiagnostic>,
|
||||||
) : FirPropertyAccessExpression() {
|
) : FirPropertyAccessExpression() {
|
||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
@@ -112,4 +113,9 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
|||||||
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
|
override fun replaceExplicitReceiver(newExplicitReceiver: FirExpression?) {
|
||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -27,6 +27,7 @@ internal class FirThisReceiverExpressionImpl(
|
|||||||
override var typeRef: FirTypeRef,
|
override var typeRef: FirTypeRef,
|
||||||
override val annotations: MutableList<FirAnnotation>,
|
override val annotations: MutableList<FirAnnotation>,
|
||||||
override val typeArguments: MutableList<FirTypeProjection>,
|
override val typeArguments: MutableList<FirTypeProjection>,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override var calleeReference: FirThisReference,
|
override var calleeReference: FirThisReference,
|
||||||
override val isImplicit: Boolean,
|
override val isImplicit: Boolean,
|
||||||
) : FirThisReceiverExpression() {
|
) : FirThisReceiverExpression() {
|
||||||
@@ -111,6 +112,11 @@ internal class FirThisReceiverExpressionImpl(
|
|||||||
explicitReceiver = newExplicitReceiver
|
explicitReceiver = newExplicitReceiver
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceCalleeReference(newCalleeReference: FirThisReference) {
|
override fun replaceCalleeReference(newCalleeReference: FirThisReference) {
|
||||||
calleeReference = newCalleeReference
|
calleeReference = newCalleeReference
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -29,6 +29,7 @@ internal class FirVariableAssignmentImpl(
|
|||||||
override var dispatchReceiver: FirExpression,
|
override var dispatchReceiver: FirExpression,
|
||||||
override var extensionReceiver: FirExpression,
|
override var extensionReceiver: FirExpression,
|
||||||
override var source: KtSourceElement?,
|
override var source: KtSourceElement?,
|
||||||
|
override val contextReceiverArguments: MutableList<FirExpression>,
|
||||||
override var rValue: FirExpression,
|
override var rValue: FirExpression,
|
||||||
) : FirVariableAssignment() {
|
) : FirVariableAssignment() {
|
||||||
override var lValue: FirReference
|
override var lValue: FirReference
|
||||||
@@ -122,6 +123,11 @@ internal class FirVariableAssignmentImpl(
|
|||||||
source = newSource
|
source = newSource
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
contextReceiverArguments.clear()
|
||||||
|
contextReceiverArguments.addAll(newContextReceiverArguments)
|
||||||
|
}
|
||||||
|
|
||||||
override fun replaceLValueTypeRef(newLValueTypeRef: FirTypeRef) {
|
override fun replaceLValueTypeRef(newLValueTypeRef: FirTypeRef) {
|
||||||
lValueTypeRef = newLValueTypeRef
|
lValueTypeRef = newLValueTypeRef
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ abstract class FirThisReference : FirReference() {
|
|||||||
abstract override val source: KtSourceElement?
|
abstract override val source: KtSourceElement?
|
||||||
abstract val labelName: String?
|
abstract val labelName: String?
|
||||||
abstract val boundSymbol: FirBasedSymbol<*>?
|
abstract val boundSymbol: FirBasedSymbol<*>?
|
||||||
|
abstract val contextReceiverNumber: Int
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitThisReference(this, data)
|
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitThisReference(this, data)
|
||||||
|
|
||||||
|
|||||||
+2
@@ -22,11 +22,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
class FirExplicitThisReferenceBuilder {
|
class FirExplicitThisReferenceBuilder {
|
||||||
var source: KtSourceElement? = null
|
var source: KtSourceElement? = null
|
||||||
var labelName: String? = null
|
var labelName: String? = null
|
||||||
|
var contextReceiverNumber: Int = -1
|
||||||
|
|
||||||
fun build(): FirThisReference {
|
fun build(): FirThisReference {
|
||||||
return FirExplicitThisReference(
|
return FirExplicitThisReference(
|
||||||
source,
|
source,
|
||||||
labelName,
|
labelName,
|
||||||
|
contextReceiverNumber,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
@@ -21,10 +21,12 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirImplicitThisReferenceBuilder {
|
class FirImplicitThisReferenceBuilder {
|
||||||
var boundSymbol: FirBasedSymbol<*>? = null
|
var boundSymbol: FirBasedSymbol<*>? = null
|
||||||
|
var contextReceiverNumber: Int = -1
|
||||||
|
|
||||||
fun build(): FirThisReference {
|
fun build(): FirThisReference {
|
||||||
return FirImplicitThisReference(
|
return FirImplicitThisReference(
|
||||||
boundSymbol,
|
boundSymbol,
|
||||||
|
contextReceiverNumber,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
internal class FirExplicitThisReference(
|
internal class FirExplicitThisReference(
|
||||||
override val source: KtSourceElement?,
|
override val source: KtSourceElement?,
|
||||||
override val labelName: String?,
|
override val labelName: String?,
|
||||||
|
override val contextReceiverNumber: Int,
|
||||||
) : FirThisReference() {
|
) : FirThisReference() {
|
||||||
override var boundSymbol: FirBasedSymbol<*>? = null
|
override var boundSymbol: FirBasedSymbol<*>? = null
|
||||||
|
|
||||||
|
|||||||
+1
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
|
|
||||||
internal class FirImplicitThisReference(
|
internal class FirImplicitThisReference(
|
||||||
override val boundSymbol: FirBasedSymbol<*>?,
|
override val boundSymbol: FirBasedSymbol<*>?,
|
||||||
|
override val contextReceiverNumber: Int,
|
||||||
) : FirThisReference() {
|
) : FirThisReference() {
|
||||||
override val source: KtSourceElement? get() = null
|
override val source: KtSourceElement? get() = null
|
||||||
override val labelName: String? get() = null
|
override val labelName: String? get() = null
|
||||||
|
|||||||
+5
@@ -37,6 +37,7 @@ internal class FirExpressionWithSmartcastImpl(
|
|||||||
override val explicitReceiver: FirExpression? get() = originalExpression.explicitReceiver
|
override val explicitReceiver: FirExpression? get() = originalExpression.explicitReceiver
|
||||||
override val dispatchReceiver: FirExpression get() = originalExpression.dispatchReceiver
|
override val dispatchReceiver: FirExpression get() = originalExpression.dispatchReceiver
|
||||||
override val extensionReceiver: FirExpression get() = originalExpression.extensionReceiver
|
override val extensionReceiver: FirExpression get() = originalExpression.extensionReceiver
|
||||||
|
override val contextReceiverArguments: List<FirExpression> get() = originalExpression.contextReceiverArguments
|
||||||
override val calleeReference: FirReference get() = originalExpression.calleeReference
|
override val calleeReference: FirReference get() = originalExpression.calleeReference
|
||||||
override val originalType: FirTypeRef get() = originalExpression.typeRef
|
override val originalType: FirTypeRef get() = originalExpression.typeRef
|
||||||
override val isStable: Boolean get() = smartcastStability == SmartcastStability.STABLE_VALUE
|
override val isStable: Boolean get() = smartcastStability == SmartcastStability.STABLE_VALUE
|
||||||
@@ -96,4 +97,8 @@ internal class FirExpressionWithSmartcastImpl(
|
|||||||
@FirImplementationDetail
|
@FirImplementationDetail
|
||||||
override fun replaceSource(newSource: KtSourceElement?) {
|
override fun replaceSource(newSource: KtSourceElement?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
throw IllegalStateException()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -38,6 +38,7 @@ class FirExpressionWithSmartcastToNullImpl(
|
|||||||
override val explicitReceiver: FirExpression? get() = originalExpression.explicitReceiver
|
override val explicitReceiver: FirExpression? get() = originalExpression.explicitReceiver
|
||||||
override val dispatchReceiver: FirExpression get() = originalExpression.dispatchReceiver
|
override val dispatchReceiver: FirExpression get() = originalExpression.dispatchReceiver
|
||||||
override val extensionReceiver: FirExpression get() = originalExpression.extensionReceiver
|
override val extensionReceiver: FirExpression get() = originalExpression.extensionReceiver
|
||||||
|
override val contextReceiverArguments: List<FirExpression> get() = originalExpression.contextReceiverArguments
|
||||||
override val isStable: Boolean get() = smartcastStability == SmartcastStability.STABLE_VALUE
|
override val isStable: Boolean get() = smartcastStability == SmartcastStability.STABLE_VALUE
|
||||||
override val calleeReference: FirReference get() = originalExpression.calleeReference
|
override val calleeReference: FirReference get() = originalExpression.calleeReference
|
||||||
override val originalType: FirTypeRef get() = originalExpression.typeRef
|
override val originalType: FirTypeRef get() = originalExpression.typeRef
|
||||||
@@ -97,4 +98,8 @@ class FirExpressionWithSmartcastToNullImpl(
|
|||||||
@FirImplementationDetail
|
@FirImplementationDetail
|
||||||
override fun replaceSource(newSource: KtSourceElement?) {
|
override fun replaceSource(newSource: KtSourceElement?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun replaceContextReceiverArguments(newContextReceiverArguments: List<FirExpression>) {
|
||||||
|
throw IllegalStateException()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
@@ -225,6 +225,14 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
default("isImplicit", "false")
|
default("isImplicit", "false")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
builder(thisReference, "FirExplicitThisReference") {
|
||||||
|
default("contextReceiverNumber", "-1")
|
||||||
|
}
|
||||||
|
|
||||||
|
builder(thisReference, "FirImplicitThisReference") {
|
||||||
|
default("contextReceiverNumber", "-1")
|
||||||
|
}
|
||||||
|
|
||||||
builder(variableAssignment) {
|
builder(variableAssignment) {
|
||||||
parents += qualifiedAccessBuilder
|
parents += qualifiedAccessBuilder
|
||||||
defaultNoReceivers()
|
defaultNoReceivers()
|
||||||
|
|||||||
+2
@@ -195,6 +195,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
+typeArguments.withTransform()
|
+typeArguments.withTransform()
|
||||||
+receivers
|
+receivers
|
||||||
+field("source", sourceElementType, nullable = true, withReplace = true)
|
+field("source", sourceElementType, nullable = true, withReplace = true)
|
||||||
|
+fieldList("contextReceiverArguments", expressionType, withReplace = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
propertyAccessExpression.configure {
|
propertyAccessExpression.configure {
|
||||||
@@ -622,6 +623,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
thisReference.configure {
|
thisReference.configure {
|
||||||
+stringField("labelName", nullable = true)
|
+stringField("labelName", nullable = true)
|
||||||
+field("boundSymbol", firBasedSymbolType, "*", nullable = true, withReplace = true)
|
+field("boundSymbol", firBasedSymbolType, "*", nullable = true, withReplace = true)
|
||||||
|
+intField("contextReceiverNumber")
|
||||||
}
|
}
|
||||||
|
|
||||||
typeRef.configure {
|
typeRef.configure {
|
||||||
|
|||||||
Reference in New Issue
Block a user