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