[FIR] Add FirAbstractElement as base type for all fir node implementations

This commit is contained in:
Dmitriy Novozhilov
2019-10-16 18:28:31 +03:00
parent f19a878948
commit f8f2d8b9a1
95 changed files with 210 additions and 96 deletions
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
@@ -34,7 +35,7 @@ class FirJavaClass internal constructor(
isTopLevel: Boolean, isTopLevel: Boolean,
isStatic: Boolean, isStatic: Boolean,
internal val javaTypeParameterStack: JavaTypeParameterStack internal val javaTypeParameterStack: JavaTypeParameterStack
) : FirRegularClass, FirModifiableClass { ) : FirPureAbstractElement(), FirRegularClass, FirModifiableClass {
override var status: FirDeclarationStatusImpl = FirDeclarationStatusImpl(visibility, modality) override var status: FirDeclarationStatusImpl = FirDeclarationStatusImpl(visibility, modality)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.CONSTRUCTOR_NAME import org.jetbrains.kotlin.fir.CONSTRUCTOR_NAME
import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
@@ -36,7 +37,7 @@ class FirJavaConstructor(
override val isPrimary: Boolean, override val isPrimary: Boolean,
isInner: Boolean, isInner: Boolean,
override var returnTypeRef : FirTypeRef override var returnTypeRef : FirTypeRef
) : FirAbstractAnnotatedElement, FirConstructor { ) : FirPureAbstractElement(), FirAbstractAnnotatedElement, FirConstructor {
override val receiverTypeRef: FirTypeRef? get() = null override val receiverTypeRef: FirTypeRef? get() = null
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override val name: Name get() = CONSTRUCTOR_NAME override val name: Name get() = CONSTRUCTOR_NAME
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirAnnotationContainer
import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
@@ -36,7 +37,7 @@ class FirJavaField(
override var returnTypeRef: FirTypeRef, override var returnTypeRef: FirTypeRef,
override val isVar: Boolean, override val isVar: Boolean,
isStatic: Boolean isStatic: Boolean
) : FirAbstractAnnotatedElement, FirField { ) : FirPureAbstractElement(), FirAbstractAnnotatedElement, FirField {
init { init {
symbol.bind(this) symbol.bind(this)
} }
@@ -7,12 +7,13 @@ package org.jetbrains.kotlin.fir.resolve.dfa
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.resolve.dfa.cfg.ControlFlowGraph import org.jetbrains.kotlin.fir.resolve.dfa.cfg.ControlFlowGraph
import org.jetbrains.kotlin.fir.visitors.FirTransformer import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.FirVisitor import org.jetbrains.kotlin.fir.visitors.FirVisitor
class FirControlFlowGraphReferenceImpl(val controlFlowGraph: ControlFlowGraph) : FirControlFlowGraphReference { class FirControlFlowGraphReferenceImpl(val controlFlowGraph: ControlFlowGraph) : FirPureAbstractElement(), FirControlFlowGraphReference {
override val psi: PsiElement? get() = null override val psi: PsiElement? get() = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -0,0 +1,15 @@
/*
* Copyright 2010-2019 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
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.FirVisitor
abstract class FirPureAbstractElement : FirElement {
abstract override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D)
abstract override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirElement
}
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.contracts.description.InvocationKind import org.jetbrains.kotlin.contracts.description.InvocationKind
import org.jetbrains.kotlin.fir.FirLabel import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -34,7 +35,7 @@ class FirAnonymousFunctionImpl(
override var returnTypeRef: FirTypeRef, override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?, override var receiverTypeRef: FirTypeRef?,
override val symbol: FirAnonymousFunctionSymbol override val symbol: FirAnonymousFunctionSymbol
) : FirAnonymousFunction, FirModifiableFunction<FirAnonymousFunction>, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirAnonymousFunction, FirModifiableFunction<FirAnonymousFunction>, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -21,7 +22,7 @@ class FirAnonymousInitializerImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val session: FirSession, override val session: FirSession,
override var body: FirBlock? override var body: FirBlock?
) : FirAnonymousInitializer { ) : FirPureAbstractElement(), FirAnonymousInitializer {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject import org.jetbrains.kotlin.fir.declarations.FirAnonymousObject
import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration
@@ -25,7 +26,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirAnonymousObjectImpl( class FirAnonymousObjectImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val session: FirSession override val session: FirSession
) : FirAnonymousObject, FirModifiableClass, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirAnonymousObject, FirModifiableClass, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val classKind: ClassKind get() = ClassKind.OBJECT override val classKind: ClassKind get() = ClassKind.OBJECT
override val superTypeRefs: MutableList<FirTypeRef> = mutableListOf() override val superTypeRefs: MutableList<FirTypeRef> = mutableListOf()
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -33,7 +34,7 @@ class FirClassImpl(
override var status: FirDeclarationStatus, override var status: FirDeclarationStatus,
override val classKind: ClassKind, override val classKind: ClassKind,
override val symbol: FirClassSymbol override val symbol: FirClassSymbol
) : FirRegularClass, FirModifiableRegularClass, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirRegularClass, FirModifiableRegularClass, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirConstructor import org.jetbrains.kotlin.fir.declarations.FirConstructor
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -36,7 +37,7 @@ open class FirConstructorImpl(
override var receiverTypeRef: FirTypeRef?, override var receiverTypeRef: FirTypeRef?,
override var status: FirDeclarationStatus, override var status: FirDeclarationStatus,
override val symbol: FirConstructorSymbol override val symbol: FirConstructorSymbol
) : FirConstructor, FirModifiableConstructor, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirConstructor, FirModifiableConstructor, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl.Modifier.* import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl.Modifier.*
import org.jetbrains.kotlin.fir.visitors.FirTransformer import org.jetbrains.kotlin.fir.visitors.FirTransformer
@@ -16,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitor
open class FirDeclarationStatusImpl( open class FirDeclarationStatusImpl(
override val visibility: Visibility, override val visibility: Visibility,
override val modality: Modality? override val modality: Modality?
) : FirDeclarationStatus { ) : FirPureAbstractElement(), FirDeclarationStatus {
override val psi: PsiElement? get() = null override val psi: PsiElement? get() = null
protected var flags: Int = 0 protected var flags: Int = 0
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -29,7 +30,7 @@ class FirDefaultSetterValueParameter(
override val session: FirSession, override val session: FirSession,
override var returnTypeRef: FirTypeRef, override var returnTypeRef: FirTypeRef,
override val symbol: FirVariableSymbol<FirValueParameter> override val symbol: FirVariableSymbol<FirValueParameter>
) : FirValueParameter, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirValueParameter, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var receiverTypeRef: FirTypeRef? = null override var receiverTypeRef: FirTypeRef? = null
override val name: Name = Name.identifier("value") override val name: Name = Name.identifier("value")
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -35,7 +36,7 @@ class FirEnumEntryImpl(
override val session: FirSession, override val session: FirSession,
override val name: Name, override val name: Name,
override val symbol: FirClassSymbol override val symbol: FirClassSymbol
) : FirEnumEntry, FirModifiableClass, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirEnumEntry, FirModifiableClass, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -31,7 +32,7 @@ class FirErrorFunctionImpl(
override val session: FirSession, override val session: FirSession,
override val reason: String, override val reason: String,
override val symbol: FirErrorFunctionSymbol override val symbol: FirErrorFunctionSymbol
) : FirErrorFunction, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirErrorFunction, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, reason) override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, reason)
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirFile import org.jetbrains.kotlin.fir.declarations.FirFile
@@ -26,7 +27,7 @@ class FirFileImpl(
override val session: FirSession, override val session: FirSession,
override val name: String, override val name: String,
override val packageFqName: FqName override val packageFqName: FqName
) : FirFile, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirFile, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val imports: MutableList<FirImport> = mutableListOf() override val imports: MutableList<FirImport> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.declarations.FirImport import org.jetbrains.kotlin.fir.declarations.FirImport
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -21,7 +22,7 @@ class FirImportImpl(
override val importedFqName: FqName?, override val importedFqName: FqName?,
override val isAllUnder: Boolean, override val isAllUnder: Boolean,
override val aliasName: Name? override val aliasName: Name?
) : FirImport { ) : FirPureAbstractElement(), FirImport {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirImportImpl { override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirImportImpl {
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
@@ -34,7 +35,7 @@ open class FirPropertyAccessorImpl(
override val symbol: FirPropertyAccessorSymbol, override val symbol: FirPropertyAccessorSymbol,
override val isGetter: Boolean, override val isGetter: Boolean,
override var status: FirDeclarationStatus override var status: FirDeclarationStatus
) : FirPropertyAccessor, FirModifiableFunction<FirPropertyAccessor>, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirPropertyAccessor, FirModifiableFunction<FirPropertyAccessor>, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var receiverTypeRef: FirTypeRef? = null override var receiverTypeRef: FirTypeRef? = null
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirProperty
@@ -42,7 +43,7 @@ class FirPropertyImpl(
override val symbol: FirPropertySymbol, override val symbol: FirPropertySymbol,
override val isLocal: Boolean, override val isLocal: Boolean,
override var status: FirDeclarationStatus override var status: FirDeclarationStatus
) : FirProperty, FirModifiableVariable<FirProperty>, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirProperty, FirModifiableVariable<FirProperty>, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = if (isLocal) FirResolvePhase.DECLARATIONS else FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = if (isLocal) FirResolvePhase.DECLARATIONS else FirResolvePhase.RAW_FIR
override val delegateFieldSymbol: FirDelegateFieldSymbol<FirProperty>? = delegate?.let { FirDelegateFieldSymbol(symbol.callableId) } override val delegateFieldSymbol: FirDelegateFieldSymbol<FirProperty>? = delegate?.let { FirDelegateFieldSymbol(symbol.callableId) }
override val isVal: Boolean get() = !isVar override val isVal: Boolean get() = !isVar
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.declarations.FirImport import org.jetbrains.kotlin.fir.declarations.FirImport
import org.jetbrains.kotlin.fir.declarations.FirResolvedImport import org.jetbrains.kotlin.fir.declarations.FirResolvedImport
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.ClassId
@@ -22,7 +23,7 @@ class FirResolvedImportImpl(
override var delegate: FirImport, override var delegate: FirImport,
override val packageFqName: FqName, override val packageFqName: FqName,
override val relativeClassName: FqName? override val relativeClassName: FqName?
) : FirResolvedImport { ) : FirPureAbstractElement(), FirResolvedImport {
override val psi: PsiElement? get() = delegate.psi override val psi: PsiElement? get() = delegate.psi
override val importedFqName: FqName? get() = delegate.importedFqName override val importedFqName: FqName? get() = delegate.importedFqName
override val isAllUnder: Boolean get() = delegate.isAllUnder override val isAllUnder: Boolean get() = delegate.isAllUnder
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
@@ -35,7 +36,7 @@ class FirSealedClassImpl(
override var status: FirDeclarationStatus, override var status: FirDeclarationStatus,
override val classKind: ClassKind, override val classKind: ClassKind,
override val symbol: FirClassSymbol override val symbol: FirClassSymbol
) : FirSealedClass, FirModifiableRegularClass, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirSealedClass, FirModifiableRegularClass, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -36,7 +37,7 @@ open class FirSimpleFunctionImpl(
override val name: Name, override val name: Name,
override var status: FirDeclarationStatus, override var status: FirDeclarationStatus,
override val symbol: FirFunctionSymbol<FirSimpleFunction> override val symbol: FirFunctionSymbol<FirSimpleFunction>
) : FirSimpleFunction, FirModifiableFunction<FirSimpleFunction>, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirSimpleFunction, FirModifiableFunction<FirSimpleFunction>, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference()
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -31,7 +32,7 @@ class FirTypeAliasImpl(
override var status: FirDeclarationStatus, override var status: FirDeclarationStatus,
override val symbol: FirTypeAliasSymbol, override val symbol: FirTypeAliasSymbol,
override var expandedTypeRef: FirTypeRef override var expandedTypeRef: FirTypeRef
) : FirTypeAlias, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirTypeAlias, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf() override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
override var supertypesComputationStatus: SupertypesComputationStatus = SupertypesComputationStatus.NOT_COMPUTED override var supertypesComputationStatus: SupertypesComputationStatus = SupertypesComputationStatus.NOT_COMPUTED
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
@@ -29,7 +30,7 @@ class FirTypeParameterImpl(
override val symbol: FirTypeParameterSymbol, override val symbol: FirTypeParameterSymbol,
override val variance: Variance, override val variance: Variance,
override val isReified: Boolean override val isReified: Boolean
) : FirTypeParameter, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirTypeParameter, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override val bounds: MutableList<FirTypeRef> = mutableListOf() override val bounds: MutableList<FirTypeRef> = mutableListOf()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.declarations.impl package org.jetbrains.kotlin.fir.declarations.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -34,7 +35,7 @@ open class FirValueParameterImpl(
override val isCrossinline: Boolean, override val isCrossinline: Boolean,
override val isNoinline: Boolean, override val isNoinline: Boolean,
override val isVararg: Boolean override val isVararg: Boolean
) : FirValueParameter, FirModifiableVariable<FirValueParameter>, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirValueParameter, FirModifiableVariable<FirValueParameter>, FirAbstractAnnotatedElement {
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override var receiverTypeRef: FirTypeRef? = null override var receiverTypeRef: FirTypeRef? = null
override var initializer: FirExpression? = null override var initializer: FirExpression? = null
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -22,7 +23,7 @@ class FirAnnotationCallImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val useSiteTarget: AnnotationUseSiteTarget?, override val useSiteTarget: AnnotationUseSiteTarget?,
override var annotationTypeRef: FirTypeRef override var annotationTypeRef: FirTypeRef
) : FirAnnotationCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirAnnotationCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override val typeRef: FirTypeRef get() = annotationTypeRef override val typeRef: FirTypeRef get() = annotationTypeRef
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val arguments: MutableList<FirExpression> = mutableListOf() override val arguments: MutableList<FirExpression> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirArrayOfCallImpl( class FirArrayOfCallImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirArrayOfCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirArrayOfCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val arguments: MutableList<FirExpression> = mutableListOf() override val arguments: MutableList<FirExpression> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirArraySetCall import org.jetbrains.kotlin.fir.expressions.FirArraySetCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -23,7 +24,7 @@ class FirArraySetCallImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var rValue: FirExpression, override var rValue: FirExpression,
override val operation: FirOperation override val operation: FirOperation
) : FirArraySetCall, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirArraySetCall, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean = false override var safe: Boolean = false
override var explicitReceiver: FirExpression? = null override var explicitReceiver: FirExpression? = null
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBinaryLogicExpression import org.jetbrains.kotlin.fir.expressions.FirBinaryLogicExpression
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -25,7 +26,7 @@ class FirBinaryLogicExpressionImpl(
override var leftOperand: FirExpression, override var leftOperand: FirExpression,
override var rightOperand: FirExpression, override var rightOperand: FirExpression,
override val kind: LogicOperationKind override val kind: LogicOperationKind
) : FirBinaryLogicExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirBinaryLogicExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirStatement
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirBlockImpl( class FirBlockImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirBlock, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirBlock, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val statements: MutableList<FirStatement> = mutableListOf() override val statements: MutableList<FirStatement> = mutableListOf()
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirTarget import org.jetbrains.kotlin.fir.FirTarget
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBreakExpression import org.jetbrains.kotlin.fir.expressions.FirBreakExpression
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirBreakExpressionImpl( class FirBreakExpressionImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirBreakExpression, FirAbstractLoopJump, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirBreakExpression, FirAbstractLoopJump, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi) override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override lateinit var target: FirTarget<FirLoop> override lateinit var target: FirTarget<FirLoop>
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess import org.jetbrains.kotlin.fir.expressions.FirCallableReferenceAccess
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirCallableReferenceAccessImpl( class FirCallableReferenceAccessImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirCallableReferenceAccess, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirCallableReferenceAccess, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean = false override var safe: Boolean = false
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirCatch import org.jetbrains.kotlin.fir.expressions.FirCatch
@@ -20,7 +21,7 @@ class FirCatchImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var parameter: FirValueParameter, override var parameter: FirValueParameter,
override var block: FirBlock override var block: FirBlock
) : FirCatch { ) : FirPureAbstractElement(), FirCatch {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
parameter.accept(visitor, data) parameter.accept(visitor, data)
block.accept(visitor, data) block.accept(visitor, data)
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirClassReferenceExpression import org.jetbrains.kotlin.fir.expressions.FirClassReferenceExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirClassReferenceExpressionImpl( class FirClassReferenceExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var classTypeRef: FirTypeRef override var classTypeRef: FirTypeRef
) : FirClassReferenceExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirClassReferenceExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirComponentCall import org.jetbrains.kotlin.fir.expressions.FirComponentCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -27,7 +28,7 @@ class FirComponentCallImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var explicitReceiver: FirExpression, override var explicitReceiver: FirExpression,
override val componentIndex: Int override val componentIndex: Int
) : FirComponentCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirComponentCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val safe: Boolean get() = false override val safe: Boolean get() = false
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirConstExpression import org.jetbrains.kotlin.fir.expressions.FirConstExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -23,7 +24,7 @@ class FirConstExpressionImpl<T> (
override val psi: PsiElement?, override val psi: PsiElement?,
override val kind: IrConstKind<T>, override val kind: IrConstKind<T>,
override val value: T override val value: T
) : FirConstExpression<T>, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirConstExpression<T>, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirTarget import org.jetbrains.kotlin.fir.FirTarget
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirContinueExpression import org.jetbrains.kotlin.fir.expressions.FirContinueExpression
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirContinueExpressionImpl( class FirContinueExpressionImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirContinueExpression, FirAbstractLoopJump, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirContinueExpression, FirAbstractLoopJump, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi) override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override lateinit var target: FirTarget<FirLoop> override lateinit var target: FirTarget<FirLoop>
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -25,7 +26,7 @@ class FirDelegatedConstructorCallImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var constructedTypeRef: FirTypeRef, override var constructedTypeRef: FirTypeRef,
override val isThis: Boolean override val isThis: Boolean
) : FirDelegatedConstructorCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirDelegatedConstructorCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val arguments: MutableList<FirExpression> = mutableListOf() override val arguments: MutableList<FirExpression> = mutableListOf()
override val isSuper: Boolean get() = !isThis override val isSuper: Boolean get() = !isThis
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirLabel import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirDoWhileLoop import org.jetbrains.kotlin.fir.expressions.FirDoWhileLoop
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirDoWhileLoopImpl( class FirDoWhileLoopImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var condition: FirExpression override var condition: FirExpression
) : FirDoWhileLoop, FirAbstractLoop, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirDoWhileLoop, FirAbstractLoop, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override lateinit var block: FirBlock override lateinit var block: FirBlock
override var label: FirLabel? = null override var label: FirLabel? = null
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirElseIfTrueCondition( class FirElseIfTrueCondition(
override val psi: PsiElement? override val psi: PsiElement?
) : FirExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitBooleanTypeRef(psi) override var typeRef: FirTypeRef = FirImplicitBooleanTypeRef(psi)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirStatement
@@ -19,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY * DO NOT MODIFY IT MANUALLY
*/ */
class FirEmptyExpressionBlock : FirBlock, FirAbstractAnnotatedElement { class FirEmptyExpressionBlock : FirPureAbstractElement(), FirBlock, FirAbstractAnnotatedElement {
override val psi: PsiElement? = null override val psi: PsiElement? = null
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val statements: MutableList<FirStatement> = mutableListOf() override val statements: MutableList<FirStatement> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirErrorExpression import org.jetbrains.kotlin.fir.expressions.FirErrorExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirErrorExpressionImpl( class FirErrorExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val reason: String override val reason: String
) : FirErrorExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirErrorExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirLabel import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirErrorLoop( class FirErrorLoop(
override val psi: PsiElement? override val psi: PsiElement?
) : FirLoop, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirLoop, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var block: FirBlock = FirEmptyExpressionBlock() override var block: FirBlock = FirEmptyExpressionBlock()
override var condition: FirExpression = FirErrorExpressionImpl(psi, "error loop") override var condition: FirExpression = FirErrorExpressionImpl(psi, "error loop")
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirExpressionStub( class FirExpressionStub(
override val psi: PsiElement? override val psi: PsiElement?
) : FirExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.references.FirReference import org.jetbrains.kotlin.fir.references.FirReference
@@ -20,7 +21,7 @@ class FirExpressionWithSmartcastImpl(
override var originalExpression: FirQualifiedAccessExpression, override var originalExpression: FirQualifiedAccessExpression,
override val typeRef: FirTypeRef, override val typeRef: FirTypeRef,
override val typesFromSmartcast: Collection<ConeKotlinType> override val typesFromSmartcast: Collection<ConeKotlinType>
) : FirExpressionWithSmartcast { ) : FirPureAbstractElement(), FirExpressionWithSmartcast {
init { init {
assert(originalExpression.typeRef is FirResolvedTypeRef) assert(originalExpression.typeRef is FirResolvedTypeRef)
} }
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
@@ -23,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirFunctionCallImpl( class FirFunctionCallImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirFunctionCall, FirModifiableQualifiedAccess, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirFunctionCall, FirModifiableQualifiedAccess, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean = false override var safe: Boolean = false
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirGetClassCall import org.jetbrains.kotlin.fir.expressions.FirGetClassCall
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirGetClassCallImpl( class FirGetClassCallImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirGetClassCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirGetClassCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val arguments: MutableList<FirExpression> = mutableListOf() override val arguments: MutableList<FirExpression> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirLambdaArgumentExpression import org.jetbrains.kotlin.fir.expressions.FirLambdaArgumentExpression
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirLambdaArgumentExpressionImpl( class FirLambdaArgumentExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var expression: FirExpression override var expression: FirExpression
) : FirLambdaArgumentExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirLambdaArgumentExpression, FirAbstractAnnotatedElement {
override val typeRef: FirTypeRef get() = expression.typeRef override val typeRef: FirTypeRef get() = expression.typeRef
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val isSpread: Boolean get() = false override val isSpread: Boolean get() = false
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirNamedArgumentExpression import org.jetbrains.kotlin.fir.expressions.FirNamedArgumentExpression
@@ -24,7 +25,7 @@ class FirNamedArgumentExpressionImpl(
override var expression: FirExpression, override var expression: FirExpression,
override val isSpread: Boolean, override val isSpread: Boolean,
override val name: Name override val name: Name
) : FirNamedArgumentExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirNamedArgumentExpression, FirAbstractAnnotatedElement {
override val typeRef: FirTypeRef get() = expression.typeRef override val typeRef: FirTypeRef get() = expression.typeRef
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -13,7 +14,7 @@ import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
object FirNoReceiverExpression : FirExpression { object FirNoReceiverExpression : FirPureAbstractElement(), FirExpression {
override val psi: PsiElement? = null override val psi: PsiElement? = null
override val typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override val typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: List<FirAnnotationCall> get() = emptyList() override val annotations: List<FirAnnotationCall> get() = emptyList()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirOperation import org.jetbrains.kotlin.fir.expressions.FirOperation
@@ -24,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirOperatorCallImpl( class FirOperatorCallImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val operation: FirOperation override val operation: FirOperation
) : FirOperatorCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirOperatorCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = if (operation in FirOperation.BOOLEANS) { override var typeRef: FirTypeRef = if (operation in FirOperation.BOOLEANS) {
FirImplicitBooleanTypeRef(null) FirImplicitBooleanTypeRef(null)
} else { } else {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirQualifiedAccessExpressionImpl( class FirQualifiedAccessExpressionImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirQualifiedAccessExpression, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirQualifiedAccessExpression, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean = false override var safe: Boolean = false
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -24,7 +25,7 @@ class FirResolvedQualifierImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var packageFqName: FqName, override var packageFqName: FqName,
override var relativeClassFqName: FqName? override var relativeClassFqName: FqName?
) : FirResolvedQualifier, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirResolvedQualifier, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val classId: ClassId? get() = relativeClassFqName?.let { override val classId: ClassId? get() = relativeClassFqName?.let {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirTarget import org.jetbrains.kotlin.fir.FirTarget
import org.jetbrains.kotlin.fir.declarations.FirFunction import org.jetbrains.kotlin.fir.declarations.FirFunction
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
@@ -24,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirReturnExpressionImpl( class FirReturnExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var result: FirExpression override var result: FirExpression
) : FirReturnExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirReturnExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi) override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override lateinit var target: FirTarget<FirFunction<*>> override lateinit var target: FirTarget<FirFunction<*>>
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirStatement
@@ -19,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.transformSingle
class FirSingleExpressionBlock( class FirSingleExpressionBlock(
var statement: FirStatement var statement: FirStatement
) : FirBlock, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirBlock, FirAbstractAnnotatedElement {
override val psi: PsiElement? get() = statement.psi override val psi: PsiElement? get() = statement.psi
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val statements: List<FirStatement> get() = listOf(statement) override val statements: List<FirStatement> get() = listOf(statement)
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirSpreadArgumentExpression import org.jetbrains.kotlin.fir.expressions.FirSpreadArgumentExpression
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirSpreadArgumentExpressionImpl( class FirSpreadArgumentExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var expression: FirExpression override var expression: FirExpression
) : FirSpreadArgumentExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirSpreadArgumentExpression, FirAbstractAnnotatedElement {
override val typeRef: FirTypeRef get() = expression.typeRef override val typeRef: FirTypeRef get() = expression.typeRef
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val isSpread: Boolean get() = true override val isSpread: Boolean get() = true
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirStringConcatenationCall import org.jetbrains.kotlin.fir.expressions.FirStringConcatenationCall
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirStringConcatenationCallImpl( class FirStringConcatenationCallImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirStringConcatenationCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirStringConcatenationCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val arguments: MutableList<FirExpression> = mutableListOf() override val arguments: MutableList<FirExpression> = mutableListOf()
override var typeRef: FirTypeRef = FirImplicitStringTypeRef(psi) override var typeRef: FirTypeRef = FirImplicitStringTypeRef(psi)
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression
@@ -23,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirThisReceiverExpressionImpl( class FirThisReceiverExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var calleeReference: FirThisReference override var calleeReference: FirThisReference
) : FirThisReceiverExpression, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirThisReceiverExpression, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var safe: Boolean = false override var safe: Boolean = false
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirThrowExpression import org.jetbrains.kotlin.fir.expressions.FirThrowExpression
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirThrowExpressionImpl( class FirThrowExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var exception: FirExpression override var exception: FirExpression
) : FirThrowExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirThrowExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi) override var typeRef: FirTypeRef = FirImplicitNothingTypeRef(psi)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirCatch import org.jetbrains.kotlin.fir.expressions.FirCatch
@@ -26,7 +27,7 @@ class FirTryExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var tryBlock: FirBlock, override var tryBlock: FirBlock,
override var finallyBlock: FirBlock? override var finallyBlock: FirBlock?
) : FirTryExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirTryExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var calleeReference: FirReference = FirStubReference() override var calleeReference: FirReference = FirStubReference()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirOperation import org.jetbrains.kotlin.fir.expressions.FirOperation
@@ -24,7 +25,7 @@ class FirTypeOperatorCallImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val operation: FirOperation, override val operation: FirOperation,
override var conversionTypeRef: FirTypeRef override var conversionTypeRef: FirTypeRef
) : FirTypeOperatorCall, FirCallWithArgumentList, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirTypeOperatorCall, FirCallWithArgumentList, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val arguments: MutableList<FirExpression> = mutableListOf() override val arguments: MutableList<FirExpression> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirUnitExpression( class FirUnitExpression(
override val psi: PsiElement? override val psi: PsiElement?
) : FirExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitUnitTypeRef(psi) override var typeRef: FirTypeRef = FirImplicitUnitTypeRef(psi)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirOperation import org.jetbrains.kotlin.fir.expressions.FirOperation
@@ -24,7 +25,7 @@ class FirVariableAssignmentImpl(
override var safe: Boolean, override var safe: Boolean,
override var rValue: FirExpression, override var rValue: FirExpression,
override var operation: FirOperation override var operation: FirOperation
) : FirVariableAssignment, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirVariableAssignment, FirModifiableQualifiedAccess, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var explicitReceiver: FirExpression? = null override var explicitReceiver: FirExpression? = null
override var dispatchReceiver: FirExpression = FirNoReceiverExpression override var dispatchReceiver: FirExpression = FirNoReceiverExpression
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirWhenBranch import org.jetbrains.kotlin.fir.expressions.FirWhenBranch
@@ -20,7 +21,7 @@ class FirWhenBranchImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var condition: FirExpression, override var condition: FirExpression,
override var result: FirBlock override var result: FirBlock
) : FirWhenBranch { ) : FirPureAbstractElement(), FirWhenBranch {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
condition.accept(visitor, data) condition.accept(visitor, data)
result.accept(visitor, data) result.accept(visitor, data)
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.declarations.FirVariable import org.jetbrains.kotlin.fir.declarations.FirVariable
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -27,7 +28,7 @@ class FirWhenExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var subject: FirExpression?, override var subject: FirExpression?,
override var subjectVariable: FirVariable<*>? override var subjectVariable: FirVariable<*>?
) : FirWhenExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirWhenExpression, FirAbstractAnnotatedElement {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null) override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var calleeReference: FirReference = FirStubReference() override var calleeReference: FirReference = FirStubReference()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.FirWhenSubject import org.jetbrains.kotlin.fir.FirWhenSubject
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirWhenSubjectExpressionImpl( class FirWhenSubjectExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val whenSubject: FirWhenSubject override val whenSubject: FirWhenSubject
) : FirWhenSubjectExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirWhenSubjectExpression, FirAbstractAnnotatedElement {
override val typeRef: FirTypeRef get() = whenSubject.whenExpression.subject!!.typeRef override val typeRef: FirTypeRef get() = whenSubject.whenExpression.subject!!.typeRef
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirLabel import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
@@ -22,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirWhileLoopImpl( class FirWhileLoopImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var condition: FirExpression override var condition: FirExpression
) : FirWhileLoop, FirAbstractLoop, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirWhileLoop, FirAbstractLoop, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override var label: FirLabel? = null override var label: FirLabel? = null
override lateinit var block: FirBlock override lateinit var block: FirBlock
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.expressions.impl package org.jetbrains.kotlin.fir.expressions.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirWrappedDelegateExpressionImpl( class FirWrappedDelegateExpressionImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var expression: FirExpression override var expression: FirExpression
) : FirWrappedDelegateExpression, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirWrappedDelegateExpression, FirAbstractAnnotatedElement {
override val typeRef: FirTypeRef get() = expression.typeRef override val typeRef: FirTypeRef get() = expression.typeRef
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override lateinit var delegateProvider: FirExpression override lateinit var delegateProvider: FirExpression
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirLabel import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
/* /*
@@ -17,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirLabelImpl( class FirLabelImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val name: String override val name: String
) : FirLabel { ) : FirPureAbstractElement(), FirLabel {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirLabelImpl { override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirLabelImpl {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirBackingFieldReference import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
@@ -21,7 +22,7 @@ class FirBackingFieldReferenceImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val candidateSymbol: AbstractFirBasedSymbol<*>?, override val candidateSymbol: AbstractFirBasedSymbol<*>?,
override val resolvedSymbol: FirBackingFieldSymbol override val resolvedSymbol: FirBackingFieldSymbol
) : FirBackingFieldReference { ) : FirPureAbstractElement(), FirBackingFieldReference {
override val name: Name get() = Name.identifier("\$field") override val name: Name get() = Name.identifier("\$field")
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
@@ -21,7 +22,7 @@ class FirDelegateFieldReferenceImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val candidateSymbol: AbstractFirBasedSymbol<*>?, override val candidateSymbol: AbstractFirBasedSymbol<*>?,
override val resolvedSymbol: FirDelegateFieldSymbol<*> override val resolvedSymbol: FirDelegateFieldSymbol<*>
) : FirDelegateFieldReference { ) : FirPureAbstractElement(), FirDelegateFieldReference {
override val name: Name get() = Name.identifier("\$delegate") override val name: Name get() = Name.identifier("\$delegate")
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -14,7 +15,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY * DO NOT MODIFY IT MANUALLY
*/ */
class FirEmptyControlFlowGraphReference : FirControlFlowGraphReference { class FirEmptyControlFlowGraphReference : FirPureAbstractElement(), FirControlFlowGraphReference {
override val psi: PsiElement? = null override val psi: PsiElement? = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -19,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirErrorNamedReferenceImpl( class FirErrorNamedReferenceImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val errorReason: String override val errorReason: String
) : FirErrorNamedReference { ) : FirPureAbstractElement(), FirErrorNamedReference {
override val name: Name = Name.special("<$errorReason>") override val name: Name = Name.special("<$errorReason>")
override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirSuperReference import org.jetbrains.kotlin.fir.references.FirSuperReference
import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -18,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirExplicitSuperReference( class FirExplicitSuperReference(
override val psi: PsiElement?, override val psi: PsiElement?,
override var superTypeRef: FirTypeRef override var superTypeRef: FirTypeRef
) : FirSuperReference { ) : FirPureAbstractElement(), FirSuperReference {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
superTypeRef.accept(visitor, data) superTypeRef.accept(visitor, data)
} }
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirThisReference import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -18,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirExplicitThisReference( class FirExplicitThisReference(
override val psi: PsiElement?, override val psi: PsiElement?,
override val labelName: String? override val labelName: String?
) : FirThisReference { ) : FirPureAbstractElement(), FirThisReference {
override var boundSymbol: AbstractFirBasedSymbol<*>? = null override var boundSymbol: AbstractFirBasedSymbol<*>? = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirThisReference import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -17,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirImplicitThisReference( class FirImplicitThisReference(
override val boundSymbol: AbstractFirBasedSymbol<*>? override val boundSymbol: AbstractFirBasedSymbol<*>?
) : FirThisReference { ) : FirPureAbstractElement(), FirThisReference {
override val psi: PsiElement? = null override val psi: PsiElement? = null
override val labelName: String? get() = null override val labelName: String? get() = null
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -20,7 +21,7 @@ class FirPropertyFromParameterCallableReference(
override val psi: PsiElement?, override val psi: PsiElement?,
override val name: Name, override val name: Name,
override val resolvedSymbol: AbstractFirBasedSymbol<*> override val resolvedSymbol: AbstractFirBasedSymbol<*>
) : FirResolvedCallableReference { ) : FirPureAbstractElement(), FirResolvedCallableReference {
override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -20,7 +21,7 @@ class FirResolvedCallableReferenceImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val name: Name, override val name: Name,
override val resolvedSymbol: AbstractFirBasedSymbol<*> override val resolvedSymbol: AbstractFirBasedSymbol<*>
) : FirResolvedCallableReference { ) : FirPureAbstractElement(), FirResolvedCallableReference {
override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirNamedReference import org.jetbrains.kotlin.fir.references.FirNamedReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
@@ -20,7 +21,7 @@ open class FirSimpleNamedReference(
override val psi: PsiElement?, override val psi: PsiElement?,
override val name: Name, override val name: Name,
override val candidateSymbol: AbstractFirBasedSymbol<*>? override val candidateSymbol: AbstractFirBasedSymbol<*>?
) : FirNamedReference { ) : FirPureAbstractElement(), FirNamedReference {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleNamedReference { override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleNamedReference {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.references.FirReference import org.jetbrains.kotlin.fir.references.FirReference
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -14,7 +15,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY * DO NOT MODIFY IT MANUALLY
*/ */
class FirStubReference : FirReference { class FirStubReference : FirPureAbstractElement(), FirReference {
override val psi: PsiElement? get() = null override val psi: PsiElement? get() = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
@@ -16,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY * DO NOT MODIFY IT MANUALLY
*/ */
object FirComputingImplicitTypeRef : FirImplicitTypeRef, FirAbstractAnnotatedElement { object FirComputingImplicitTypeRef : FirPureAbstractElement(), FirImplicitTypeRef, FirAbstractAnnotatedElement {
override val psi: PsiElement? get() = null override val psi: PsiElement? get() = null
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.types.FirDelegatedTypeRef import org.jetbrains.kotlin.fir.types.FirDelegatedTypeRef
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirDelegatedTypeRefImpl( class FirDelegatedTypeRefImpl(
override var delegate: FirExpression?, override var delegate: FirExpression?,
override var typeRef: FirTypeRef override var typeRef: FirTypeRef
) : FirDelegatedTypeRef { ) : FirPureAbstractElement(), FirDelegatedTypeRef {
override val psi: PsiElement? get() = typeRef.psi override val psi: PsiElement? get() = typeRef.psi
override val annotations: List<FirAnnotationCall> get() = typeRef.annotations override val annotations: List<FirAnnotationCall> get() = typeRef.annotations
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef
@@ -19,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirDynamicTypeRefImpl( class FirDynamicTypeRefImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val isMarkedNullable: Boolean override val isMarkedNullable: Boolean
) : FirDynamicTypeRef, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirDynamicTypeRef, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.types.ConeClassErrorType import org.jetbrains.kotlin.fir.types.ConeClassErrorType
@@ -21,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirErrorTypeRefImpl( class FirErrorTypeRefImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val reason: String override val reason: String
) : FirErrorTypeRef, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirErrorTypeRef, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val type: ConeKotlinType = ConeClassErrorType(reason) override val type: ConeKotlinType = ConeClassErrorType(reason)
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -23,7 +24,7 @@ class FirFunctionTypeRefImpl(
override val isMarkedNullable: Boolean, override val isMarkedNullable: Boolean,
override var receiverTypeRef: FirTypeRef?, override var receiverTypeRef: FirTypeRef?,
override var returnTypeRef: FirTypeRef override var returnTypeRef: FirTypeRef
) : FirFunctionTypeRef, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirFunctionTypeRef, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val valueParameters: MutableList<FirValueParameter> = mutableListOf() override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.symbols.StandardClassIds import org.jetbrains.kotlin.fir.symbols.StandardClassIds
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
@@ -22,7 +23,7 @@ sealed class FirImplicitBuiltinTypeRef(
val id: ClassId, val id: ClassId,
typeArguments: Array<out ConeKotlinTypeProjection> = emptyArray(), typeArguments: Array<out ConeKotlinTypeProjection> = emptyArray(),
isNullable: Boolean = false isNullable: Boolean = false
) : FirResolvedTypeRef { ) : FirPureAbstractElement(), FirResolvedTypeRef {
override val annotations: List<FirAnnotationCall> override val annotations: List<FirAnnotationCall>
get() = emptyList() get() = emptyList()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -17,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirImplicitTypeRefImpl( class FirImplicitTypeRefImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirImplicitTypeRef { ) : FirPureAbstractElement(), FirImplicitTypeRef {
override val annotations: List<FirAnnotationCall> get() = emptyList() override val annotations: List<FirAnnotationCall> get() = emptyList()
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.declarations.FirValueParameter import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
@@ -25,7 +26,7 @@ class FirResolvedFunctionTypeRefImpl(
override val isMarkedNullable: Boolean, override val isMarkedNullable: Boolean,
override var receiverTypeRef: FirTypeRef?, override var receiverTypeRef: FirTypeRef?,
override var returnTypeRef: FirTypeRef override var returnTypeRef: FirTypeRef
) : FirResolvedFunctionTypeRef, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirResolvedFunctionTypeRef, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val valueParameters: MutableList<FirValueParameter> = mutableListOf() override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.ConeKotlinType
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirResolvedTypeRefImpl( class FirResolvedTypeRefImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val type: ConeKotlinType override val type: ConeKotlinType
) : FirResolvedTypeRef, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirResolvedTypeRef, FirAbstractAnnotatedElement {
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.types.FirStarProjection import org.jetbrains.kotlin.fir.types.FirStarProjection
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -16,7 +17,7 @@ import org.jetbrains.kotlin.fir.visitors.*
class FirStarProjectionImpl( class FirStarProjectionImpl(
override val psi: PsiElement? override val psi: PsiElement?
) : FirStarProjection { ) : FirPureAbstractElement(), FirStarProjection {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirStarProjectionImpl { override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirStarProjectionImpl {
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.types.FirTypeProjection import org.jetbrains.kotlin.fir.types.FirTypeProjection
import org.jetbrains.kotlin.fir.visitors.* import org.jetbrains.kotlin.fir.visitors.*
@@ -14,7 +15,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY * DO NOT MODIFY IT MANUALLY
*/ */
object FirTypePlaceholderProjection : FirTypeProjection { object FirTypePlaceholderProjection : FirPureAbstractElement(), FirTypeProjection {
override val psi: PsiElement? = null override val psi: PsiElement? = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {} override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.types.FirTypeProjectionWithVariance import org.jetbrains.kotlin.fir.types.FirTypeProjectionWithVariance
import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.types.Variance
@@ -20,7 +21,7 @@ class FirTypeProjectionWithVarianceImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override var typeRef: FirTypeRef, override var typeRef: FirTypeRef,
override val variance: Variance override val variance: Variance
) : FirTypeProjectionWithVariance { ) : FirPureAbstractElement(), FirTypeProjectionWithVariance {
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) { override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
typeRef.accept(visitor, data) typeRef.accept(visitor, data)
} }
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.types.impl package org.jetbrains.kotlin.fir.types.impl
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.types.FirQualifierPart import org.jetbrains.kotlin.fir.types.FirQualifierPart
@@ -18,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.transformInplace
open class FirUserTypeRefImpl( open class FirUserTypeRefImpl(
override val psi: PsiElement?, override val psi: PsiElement?,
override val isMarkedNullable: Boolean override val isMarkedNullable: Boolean
) : FirUserTypeRef, FirAbstractAnnotatedElement { ) : FirPureAbstractElement(), FirUserTypeRef, FirAbstractAnnotatedElement {
override val qualifier: MutableList<FirQualifierPart> = mutableListOf() override val qualifier: MutableList<FirQualifierPart> = mutableListOf()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -6,15 +6,16 @@
package org.jetbrains.kotlin.fir.visitors package org.jetbrains.kotlin.fir.visitors
import org.jetbrains.kotlin.fir.FirElement import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirPureAbstractElement
fun <T : FirElement, D> T.transformSingle(transformer: FirTransformer<D>, data: D): T { fun <T : FirElement, D> T.transformSingle(transformer: FirTransformer<D>, data: D): T {
return transform<T, D>(transformer, data).single return (this as FirPureAbstractElement).transform<T, D>(transformer, data).single
} }
fun <T : FirElement, D> MutableList<T>.transformInplace(transformer: FirTransformer<D>, data: D) { fun <T : FirElement, D> MutableList<T>.transformInplace(transformer: FirTransformer<D>, data: D) {
val iterator = this.listIterator() val iterator = this.listIterator()
while (iterator.hasNext()) { while (iterator.hasNext()) {
val next = iterator.next() val next = iterator.next() as FirPureAbstractElement
val result = next.transform<T, D>(transformer, data) val result = next.transform<T, D>(transformer, data)
if (result.isSingle) { if (result.isSingle) {
iterator.set(result.single) iterator.set(result.single)
@@ -169,7 +169,8 @@ fun Implementation.generateCode(generationPath: String) {
fun Implementation.collectImports(): List<String> { fun Implementation.collectImports(): List<String> {
return element.collectImportsInternal( return element.collectImportsInternal(
listOf(element.fullQualifiedName) + usedTypes.mapNotNull { it.fullQualifiedName } + parents.mapNotNull { it.fullQualifiedName }, listOf(element.fullQualifiedName) + usedTypes.mapNotNull { it.fullQualifiedName } + parents.mapNotNull { it.fullQualifiedName }
+ listOfNotNull(pureAbstractElementType.fullQualifiedName?.takeIf { kind != Implementation.Kind.Interface }),
isImpl = true isImpl = true
) )
} }
@@ -272,7 +273,11 @@ fun PrintWriter.printImplementation(implementation: Implementation) {
print(")") print(")")
} }
print(" : ${element.typeWithArguments}") print(" : ")
if (!isInterface) {
print("${pureAbstractElementType.type}(), ")
}
print(element.typeWithArguments)
parents.forEach { parents.forEach {
print(", ${it.typeWithArguments}") print(", ${it.typeWithArguments}")
} }
@@ -59,4 +59,6 @@ val compositeTransformResultType = type("fir.visitors", "CompositeTransformResul
val abstractFirBasedSymbolType = type("fir.symbols", "AbstractFirBasedSymbol") val abstractFirBasedSymbolType = type("fir.symbols", "AbstractFirBasedSymbol")
val backingFieldSymbolType = type("fir.symbols.impl", "FirBackingFieldSymbol") val backingFieldSymbolType = type("fir.symbols.impl", "FirBackingFieldSymbol")
val delegateFieldSymbolType = type("fir.symbols.impl", "FirDelegateFieldSymbol") val delegateFieldSymbolType = type("fir.symbols.impl", "FirDelegateFieldSymbol")
val classSymbolType = type("fir.symbols.impl", "FirClassSymbol") val classSymbolType = type("fir.symbols.impl", "FirClassSymbol")
val pureAbstractElementType = generatedType("FirPureAbstractElement")