[FIR] Move declaration attributes to declaration builders

This commit is contained in:
Dmitriy Novozhilov
2020-10-13 12:09:58 +03:00
parent 0b51fd03e2
commit e07f63d26c
44 changed files with 83 additions and 37 deletions
@@ -42,6 +42,7 @@ class FirJavaMethod @FirImplementationDetail constructor(
source: FirSourceElement?,
session: FirSession,
resolvePhase: FirResolvePhase,
attributes: FirDeclarationAttributes,
returnTypeRef: FirTypeRef,
receiverTypeRef: FirTypeRef?,
typeParameters: MutableList<FirTypeParameter>,
@@ -57,6 +58,7 @@ class FirJavaMethod @FirImplementationDetail constructor(
session,
resolvePhase,
FirDeclarationOrigin.Java,
attributes,
returnTypeRef,
receiverTypeRef,
valueParameters,
@@ -94,6 +96,7 @@ class FirJavaMethodBuilder : FirSimpleFunctionBuilder() {
source,
session,
resolvePhase,
attributes,
returnTypeRef as FirJavaTypeRef,
receiverTypeRef = null,
typeParameters,
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -25,6 +26,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
source: FirSourceElement?,
session: FirSession,
resolvePhase: FirResolvePhase,
attributes: FirDeclarationAttributes,
returnTypeRef: FirTypeRef,
name: Name,
symbol: FirVariableSymbol<FirValueParameter>,
@@ -38,6 +40,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
session,
resolvePhase,
FirDeclarationOrigin.Java,
attributes,
returnTypeRef,
name,
symbol,
@@ -56,6 +59,7 @@ class FirJavaValueParameterBuilder : FirValueParameterBuilder() {
source,
session,
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
attributes,
returnTypeRef,
name,
symbol = FirVariableSymbol(name),
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.declarations.FirConstructor
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
@@ -35,6 +36,7 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
abstract override val annotations: MutableList<FirAnnotationCall>
abstract override var session: FirSession
abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes
abstract override var returnTypeRef: FirTypeRef
abstract override val valueParameters: MutableList<FirValueParameter>
abstract override var body: FirBlock?
@@ -39,6 +39,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
override var source: FirSourceElement? = null
override lateinit var session: FirSession
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
@@ -57,6 +58,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
source,
session,
origin,
attributes,
annotations,
returnTypeRef,
receiverTypeRef,
@@ -30,6 +30,7 @@ class FirAnonymousInitializerBuilder {
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
var body: FirBlock? = null
var symbol: FirAnonymousInitializerSymbol = FirAnonymousInitializerSymbol()
@@ -39,6 +40,7 @@ class FirAnonymousInitializerBuilder {
session,
resolvePhase,
origin,
attributes,
body,
symbol,
)
@@ -39,6 +39,7 @@ class FirAnonymousObjectBuilder : FirClassBuilder, FirAnnotationContainerBuilder
override lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
override lateinit var classKind: ClassKind
override val superTypeRefs: MutableList<FirTypeRef> = mutableListOf()
@@ -54,6 +55,7 @@ class FirAnonymousObjectBuilder : FirClassBuilder, FirAnnotationContainerBuilder
session,
resolvePhase,
origin,
attributes,
typeParameters,
classKind,
superTypeRefs,
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.declarations.FirClass
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
@@ -30,6 +31,7 @@ interface FirClassBuilder : FirAnnotationContainerBuilder {
abstract override val annotations: MutableList<FirAnnotationCall>
abstract var session: FirSession
abstract var origin: FirDeclarationOrigin
abstract var attributes: FirDeclarationAttributes
abstract val typeParameters: MutableList<FirTypeParameterRef>
abstract var classKind: ClassKind
abstract val superTypeRefs: MutableList<FirTypeRef>
@@ -39,6 +39,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
override lateinit var session: FirSession
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -56,6 +57,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
receiverTypeRef,
typeParameters,
@@ -96,6 +98,7 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
copyBuilder.session = original.session
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.typeParameters.addAll(original.typeParameters)
@@ -36,6 +36,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
lateinit var symbol: FirVariableSymbol<FirValueParameter>
@@ -58,6 +59,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
receiverTypeRef,
symbol,
@@ -38,6 +38,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
lateinit var name: Name
lateinit var symbol: FirVariableSymbol<FirEnumEntry>
@@ -53,6 +54,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
name,
symbol,
@@ -37,6 +37,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
lateinit var diagnostic: ConeDiagnostic
@@ -49,6 +50,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
annotations,
valueParameters,
diagnostic,
@@ -38,6 +38,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var name: Name
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
lateinit var diagnostic: ConeDiagnostic
@@ -50,6 +51,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
name,
annotations,
diagnostic,
@@ -38,6 +38,7 @@ open class FirFieldBuilder : FirAnnotationContainerBuilder {
open lateinit var session: FirSession
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
open lateinit var origin: FirDeclarationOrigin
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
open lateinit var returnTypeRef: FirTypeRef
open lateinit var name: Name
open lateinit var symbol: FirVariableSymbol<FirField>
@@ -53,6 +54,7 @@ open class FirFieldBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
name,
symbol,
@@ -32,6 +32,7 @@ class FirFileBuilder : FirAnnotationContainerBuilder {
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
val imports: MutableList<FirImport> = mutableListOf()
val declarations: MutableList<FirDeclaration> = mutableListOf()
@@ -44,6 +45,7 @@ class FirFileBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
annotations,
imports,
declarations,
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirFunction
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -28,6 +29,7 @@ interface FirFunctionBuilder : FirAnnotationContainerBuilder {
abstract override val annotations: MutableList<FirAnnotationCall>
abstract var session: FirSession
abstract var origin: FirDeclarationOrigin
abstract var attributes: FirDeclarationAttributes
abstract var returnTypeRef: FirTypeRef
abstract val valueParameters: MutableList<FirValueParameter>
abstract var body: FirBlock?
@@ -39,6 +39,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
override lateinit var session: FirSession
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override var receiverTypeRef: FirTypeRef? = null
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
@@ -56,6 +57,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
receiverTypeRef,
typeParameters,
@@ -42,6 +42,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
override lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
override var body: FirBlock? = null
@@ -60,6 +61,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
valueParameters,
body,
@@ -93,6 +95,7 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
copyBuilder.session = original.session
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.valueParameters.addAll(original.valueParameters)
copyBuilder.body = original.body
@@ -41,6 +41,7 @@ class FirPropertyBuilder : FirTypeParametersOwnerBuilder, FirAnnotationContainer
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef
var receiverTypeRef: FirTypeRef? = null
lateinit var name: Name
@@ -63,6 +64,7 @@ class FirPropertyBuilder : FirTypeParametersOwnerBuilder, FirAnnotationContainer
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
receiverTypeRef,
name,
@@ -101,6 +103,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
copyBuilder.session = original.session
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.name = original.name
@@ -40,6 +40,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
override lateinit var session: FirSession
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
open lateinit var status: FirDeclarationStatus
@@ -57,6 +58,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
session,
resolvePhase,
origin,
attributes,
annotations,
typeParameters,
status,
@@ -43,6 +43,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
override lateinit var session: FirSession
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override lateinit var returnTypeRef: FirTypeRef
open var receiverTypeRef: FirTypeRef? = null
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
@@ -62,6 +63,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
receiverTypeRef,
valueParameters,
@@ -96,6 +98,7 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
copyBuilder.session = original.session
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.receiverTypeRef = original.receiverTypeRef
copyBuilder.valueParameters.addAll(original.valueParameters)
@@ -35,6 +35,7 @@ class FirTypeAliasBuilder : FirTypeParametersOwnerBuilder, FirAnnotationContaine
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var status: FirDeclarationStatus
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
lateinit var name: Name
@@ -48,6 +49,7 @@ class FirTypeAliasBuilder : FirTypeParametersOwnerBuilder, FirAnnotationContaine
session,
resolvePhase,
origin,
attributes,
status,
typeParameters,
name,
@@ -33,6 +33,7 @@ class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
lateinit var session: FirSession
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
lateinit var origin: FirDeclarationOrigin
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var name: Name
lateinit var symbol: FirTypeParameterSymbol
lateinit var variance: Variance
@@ -46,6 +47,7 @@ class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
name,
symbol,
variance,
@@ -37,6 +37,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
open lateinit var session: FirSession
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
open lateinit var origin: FirDeclarationOrigin
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
open lateinit var returnTypeRef: FirTypeRef
open lateinit var name: Name
open lateinit var symbol: FirVariableSymbol<FirValueParameter>
@@ -53,6 +54,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
session,
resolvePhase,
origin,
attributes,
returnTypeRef,
name,
symbol,
@@ -84,6 +86,7 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
copyBuilder.session = original.session
copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes
copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.name = original.name
copyBuilder.symbol = original.symbol
@@ -31,6 +31,7 @@ internal class FirAnonymousFunctionImpl(
override val source: FirSourceElement?,
override val session: FirSession,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val annotations: MutableList<FirAnnotationCall>,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
@@ -45,7 +46,6 @@ internal class FirAnonymousFunctionImpl(
override val typeParameters: MutableList<FirTypeParameter>,
) : FirAnonymousFunction() {
override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
init {
symbol.bind(this)
@@ -26,10 +26,10 @@ internal class FirAnonymousInitializerImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var body: FirBlock?,
override val symbol: FirAnonymousInitializerSymbol,
) : FirAnonymousInitializer() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
init {
@@ -31,6 +31,7 @@ internal class FirAnonymousObjectImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val typeParameters: MutableList<FirTypeParameterRef>,
override val classKind: ClassKind,
override val superTypeRefs: MutableList<FirTypeRef>,
@@ -40,7 +41,6 @@ internal class FirAnonymousObjectImpl(
override var typeRef: FirTypeRef,
override val symbol: FirAnonymousObjectSymbol,
) : FirAnonymousObject() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
init {
@@ -33,6 +33,7 @@ internal class FirConstructorImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -44,7 +45,6 @@ internal class FirConstructorImpl(
override var delegatedConstructor: FirDelegatedConstructorCall?,
override var body: FirBlock?,
) : FirConstructor() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val isPrimary: Boolean get() = false
@@ -31,6 +31,7 @@ internal class FirDefaultSetterValueParameter(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override val symbol: FirVariableSymbol<FirValueParameter>,
@@ -47,7 +48,6 @@ internal class FirDefaultSetterValueParameter(
override val isNoinline: Boolean,
override val isVararg: Boolean,
) : FirValueParameter() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val name: Name = Name.identifier("value")
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
@@ -33,6 +33,7 @@ internal class FirEnumEntryImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override val name: Name,
override val symbol: FirVariableSymbol<FirEnumEntry>,
@@ -42,7 +43,6 @@ internal class FirEnumEntryImpl(
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
) : FirEnumEntry() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val receiverTypeRef: FirTypeRef? get() = null
override val delegate: FirExpression? get() = null
override val delegateFieldSymbol: FirDelegateFieldSymbol<FirEnumEntry>? get() = null
@@ -32,13 +32,13 @@ internal class FirErrorFunctionImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val annotations: MutableList<FirAnnotationCall>,
override val valueParameters: MutableList<FirValueParameter>,
override val diagnostic: ConeDiagnostic,
override val symbol: FirErrorFunctionSymbol,
override val typeParameters: MutableList<FirTypeParameter>,
) : FirErrorFunction() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, diagnostic)
override val receiverTypeRef: FirTypeRef? get() = null
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
@@ -33,13 +33,13 @@ internal class FirErrorPropertyImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val name: Name,
override val annotations: MutableList<FirAnnotationCall>,
override val diagnostic: ConeDiagnostic,
override val typeParameters: MutableList<FirTypeParameter>,
override val symbol: FirErrorPropertySymbol,
) : FirErrorProperty() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, diagnostic)
override val receiverTypeRef: FirTypeRef? get() = null
override val initializer: FirExpression? get() = null
@@ -33,6 +33,7 @@ internal class FirFieldImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override val name: Name,
override val symbol: FirVariableSymbol<FirField>,
@@ -42,7 +43,6 @@ internal class FirFieldImpl(
override var status: FirDeclarationStatus,
override val containerSource: DeserializedContainerSource?,
) : FirField() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val receiverTypeRef: FirTypeRef? get() = null
override val initializer: FirExpression? get() = null
override val delegate: FirExpression? get() = null
@@ -27,14 +27,13 @@ internal class FirFileImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val annotations: MutableList<FirAnnotationCall>,
override val imports: MutableList<FirImport>,
override val declarations: MutableList<FirDeclaration>,
override val name: String,
override val packageFqName: FqName,
) : FirFile() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
annotations.forEach { it.accept(visitor, data) }
imports.forEach { it.accept(visitor, data) }
@@ -33,6 +33,7 @@ internal class FirPrimaryConstructor(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override val typeParameters: MutableList<FirTypeParameterRef>,
@@ -44,7 +45,6 @@ internal class FirPrimaryConstructor(
override var delegatedConstructor: FirDelegatedConstructorCall?,
override var body: FirBlock?,
) : FirConstructor() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val isPrimary: Boolean get() = true
@@ -35,6 +35,7 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override val valueParameters: MutableList<FirValueParameter>,
override var body: FirBlock?,
@@ -46,7 +47,6 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
override val annotations: MutableList<FirAnnotationCall>,
override val typeParameters: MutableList<FirTypeParameter>,
) : FirPropertyAccessor() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val receiverTypeRef: FirTypeRef? get() = null
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val isSetter: Boolean get() = !isGetter
@@ -35,6 +35,7 @@ internal class FirPropertyImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override val name: Name,
@@ -51,7 +52,6 @@ internal class FirPropertyImpl(
override val isLocal: Boolean,
override var status: FirDeclarationStatus,
) : FirProperty() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val isVal: Boolean get() = !isVar
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val backingFieldSymbol: FirBackingFieldSymbol = FirBackingFieldSymbol(symbol.callableId)
@@ -33,6 +33,7 @@ internal class FirRegularClassImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val annotations: MutableList<FirAnnotationCall>,
override val typeParameters: MutableList<FirTypeParameterRef>,
override var status: FirDeclarationStatus,
@@ -44,7 +45,6 @@ internal class FirRegularClassImpl(
override var companionObject: FirRegularClass?,
override val superTypeRefs: MutableList<FirTypeRef>,
) : FirRegularClass() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
override val hasLazyNestedClassifiers: Boolean get() = false
@@ -35,6 +35,7 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override var receiverTypeRef: FirTypeRef?,
override val valueParameters: MutableList<FirValueParameter>,
@@ -47,7 +48,6 @@ open class FirSimpleFunctionImpl @FirImplementationDetail constructor(
override val annotations: MutableList<FirAnnotationCall>,
override val typeParameters: MutableList<FirTypeParameter>,
) : FirSimpleFunction() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
init {
@@ -29,6 +29,7 @@ internal class FirTypeAliasImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var status: FirDeclarationStatus,
override val typeParameters: MutableList<FirTypeParameter>,
override val name: Name,
@@ -36,8 +37,6 @@ internal class FirTypeAliasImpl(
override var expandedTypeRef: FirTypeRef,
override val annotations: MutableList<FirAnnotationCall>,
) : FirTypeAlias() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
init {
symbol.bind(this)
}
@@ -28,6 +28,7 @@ internal class FirTypeParameterImpl(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override val name: Name,
override val symbol: FirTypeParameterSymbol,
override val variance: Variance,
@@ -35,8 +36,6 @@ internal class FirTypeParameterImpl(
override val bounds: MutableList<FirTypeRef>,
override val annotations: MutableList<FirAnnotationCall>,
) : FirTypeParameter() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
init {
symbol.bind(this)
}
@@ -32,6 +32,7 @@ open class FirValueParameterImpl @FirImplementationDetail constructor(
override val session: FirSession,
override var resolvePhase: FirResolvePhase,
override val origin: FirDeclarationOrigin,
override val attributes: FirDeclarationAttributes,
override var returnTypeRef: FirTypeRef,
override val name: Name,
override val symbol: FirVariableSymbol<FirValueParameter>,
@@ -41,7 +42,6 @@ open class FirValueParameterImpl @FirImplementationDetail constructor(
override val isNoinline: Boolean,
override val isVararg: Boolean,
) : FirValueParameter() {
override val attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val receiverTypeRef: FirTypeRef? get() = null
override val initializer: FirExpression? get() = null
override val delegate: FirExpression? get() = null
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.FirSourceElement
import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.contracts.impl.FirEmptyContractDescription
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
@@ -39,6 +40,7 @@ abstract class FirDefaultPropertyAccessor(
session,
resolvePhase = FirResolvePhase.RAW_FIR,
origin,
FirDeclarationAttributes(),
propertyTypeRef,
valueParameters,
body = null,
@@ -29,7 +29,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
val classBuilder by builder {
parents += annotationContainerBuilder
fields from klass without listOf("symbol", "resolvePhase", "attributes")
fields from klass without listOf("symbol", "resolvePhase")
}
builder(regularClass) {
@@ -53,7 +53,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
val functionBuilder by builder {
parents += annotationContainerBuilder
fields from function without listOf("symbol", "resolvePhase", "controlFlowGraphReference", "receiverTypeRef", "typeParameters", "attributes")
fields from function without listOf("symbol", "resolvePhase", "controlFlowGraphReference", "receiverTypeRef", "typeParameters")
}
val loopJumpBuilder by builder {
@@ -62,7 +62,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
val abstractConstructorBuilder by builder {
parents += functionBuilder
fields from constructor without listOf("isPrimary", "attributes")
fields from constructor without listOf("isPrimary")
}
val abstractFunctionCallBuilder by builder {
@@ -376,12 +376,12 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
defaultNull(it)
}
// configureFieldInAllIntermediateBuilders(
// field = "attributes",
// fieldPredicate = { it.type == declarationAttributesType.type }
// ) {
//
// }
configureFieldInAllLeafBuilders(
field = "attributes",
fieldPredicate = { it.type == declarationAttributesType.type }
) {
default(it, "${declarationAttributesType.type}()")
}
}
private inline fun findImplementationsWithElementInParents(
@@ -502,12 +502,5 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
default(it, "FirImplicitTypeRefImpl(null)")
useTypes(implicitTypeRefType)
}
configureFieldInAllImplementations(
field = "attributes",
fieldPredicate = { it.type == declarationAttributesType.type }
) {
default(it, "${declarationAttributesType.type}()")
}
}
}