diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt index da020fba1f2..90cc050edd3 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirComponentCall.kt @@ -5,13 +5,18 @@ package org.jetbrains.kotlin.fir.expressions +import com.intellij.psi.PsiElement +import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.visitors.FirVisitor -interface FirComponentCall : FirFunctionCall { +abstract class FirComponentCall( + session: FirSession, + psi: PsiElement? +) : FirFunctionCall(session, psi) { // Starting from 1, not from 0 - val componentIndex: Int + abstract val componentIndex: Int - override val explicitReceiver: FirExpression + abstract override val explicitReceiver: FirExpression override fun accept(visitor: FirVisitor, data: D): R = visitor.visitComponentCall(this, data) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt index b491d8ae094..18000ddd6f9 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/FirFunctionCall.kt @@ -5,13 +5,19 @@ package org.jetbrains.kotlin.fir.expressions +import com.intellij.psi.PsiElement import org.jetbrains.kotlin.fir.FirNamedReference +import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.VisitedSupertype +import org.jetbrains.kotlin.fir.expressions.impl.FirAbstractCall import org.jetbrains.kotlin.fir.types.FirTypeProjectionContainer import org.jetbrains.kotlin.fir.visitors.FirVisitor -interface FirFunctionCall : @VisitedSupertype FirCall, FirQualifiedAccess, FirTypeProjectionContainer { - override val calleeReference: FirNamedReference +abstract class FirFunctionCall( + session: FirSession, + psi: PsiElement? +) : FirAbstractCall(session, psi), @VisitedSupertype FirCall, FirQualifiedAccess, FirTypeProjectionContainer { + abstract override val calleeReference: FirNamedReference override fun accept(visitor: FirVisitor, data: D): R = visitor.visitFunctionCall(this, data) diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt index 194056b6c9d..7b3ac6d298e 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirComponentCallImpl.kt @@ -23,7 +23,7 @@ class FirComponentCallImpl( psi: PsiElement?, override val componentIndex: Int, override var explicitReceiver: FirExpression -) : FirAbstractCall(session, psi), FirComponentCall { +) : FirComponentCall(session, psi) { override fun transformExplicitReceiver(transformer: FirTransformer, data: D): FirQualifiedAccess { explicitReceiver = explicitReceiver.transformSingle(transformer, data) return this @@ -43,6 +43,6 @@ class FirComponentCallImpl( override fun transformChildren(transformer: FirTransformer, data: D): FirElement { calleeReference = calleeReference.transformSingle(transformer, data) explicitReceiver = explicitReceiver.transformSingle(transformer, data) - return super.transformChildren(transformer, data) + return super.transformChildren(transformer, data) } } \ No newline at end of file diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt index 418bbfebc74..31672d4f2d5 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/expressions/impl/FirFunctionCallImpl.kt @@ -18,7 +18,7 @@ class FirFunctionCallImpl( session: FirSession, psi: PsiElement?, override var safe: Boolean = false -) : FirAbstractCall(session, psi), FirFunctionCall, FirModifiableQualifiedAccess { +) : FirFunctionCall(session, psi), FirModifiableQualifiedAccess { override val typeArguments = mutableListOf() override lateinit var calleeReference: FirNamedReference @@ -29,7 +29,7 @@ class FirFunctionCallImpl( typeArguments.transformInplace(transformer, data) calleeReference = calleeReference.transformSingle(transformer, data) explicitReceiver = explicitReceiver?.transformSingle(transformer, data) - return super.transformChildren(transformer, data) + return super.transformChildren(transformer, data) } override fun transformCalleeReference(transformer: FirTransformer, data: D): FirQualifiedAccess {