[FIR] Rename session to declarationSiteSession in declaration builders

This commit is contained in:
Dmitriy Novozhilov
2021-04-21 12:51:43 +03:00
committed by TeamCityServer
parent c3b1be1a39
commit f98f41bbc3
67 changed files with 191 additions and 191 deletions
@@ -102,7 +102,7 @@ fun deserializeClassToSymbol(
} }
} }
buildRegularClass { buildRegularClass {
this.session = session declarationSiteSession = session
this.origin = origin this.origin = origin
name = classId.shortClassName name = classId.shortClassName
this.status = status this.status = status
@@ -159,7 +159,7 @@ fun deserializeClassToSymbol(
val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false) val enumType = ConeClassLikeTypeImpl(symbol.toLookupTag(), emptyArray(), false)
val property = buildEnumEntry { val property = buildEnumEntry {
this.session = session declarationSiteSession = session
this.origin = FirDeclarationOrigin.Library this.origin = FirDeclarationOrigin.Library
returnTypeRef = buildResolvedTypeRef { type = enumType } returnTypeRef = buildResolvedTypeRef { type = enumType }
name = enumEntryName name = enumEntryName
@@ -255,7 +255,7 @@ private fun FirRegularClassBuilder.addCloneForArrayIfNeeded(classId: ClassId, di
) )
} }
declarations += buildSimpleFunction { declarations += buildSimpleFunction {
session = this@addCloneForArrayIfNeeded.session declarationSiteSession = this@addCloneForArrayIfNeeded.declarationSiteSession
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
returnTypeRef = buildResolvedTypeRef { returnTypeRef = buildResolvedTypeRef {
@@ -175,7 +175,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
val local = c.childContext(proto.typeParameterList) val local = c.childContext(proto.typeParameterList)
val classId = ClassId(c.packageFqName, name) val classId = ClassId(c.packageFqName, name)
return buildTypeAlias { return buildTypeAlias {
session = c.session declarationSiteSession = c.session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
this.name = name this.name = name
val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags)) val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags))
@@ -236,7 +236,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
val modality = ProtoEnumFlags.modality(Flags.MODALITY.get(getterFlags)) val modality = ProtoEnumFlags.modality(Flags.MODALITY.get(getterFlags))
if (Flags.IS_NOT_DEFAULT.get(getterFlags)) { if (Flags.IS_NOT_DEFAULT.get(getterFlags)) {
buildPropertyAccessor { buildPropertyAccessor {
session = c.session declarationSiteSession = c.session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
this.returnTypeRef = returnTypeRef this.returnTypeRef = returnTypeRef
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
@@ -272,7 +272,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
val modality = ProtoEnumFlags.modality(Flags.MODALITY.get(setterFlags)) val modality = ProtoEnumFlags.modality(Flags.MODALITY.get(setterFlags))
if (Flags.IS_NOT_DEFAULT.get(setterFlags)) { if (Flags.IS_NOT_DEFAULT.get(setterFlags)) {
buildPropertyAccessor { buildPropertyAccessor {
session = c.session declarationSiteSession = c.session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
this.returnTypeRef = FirImplicitUnitTypeRef(source) this.returnTypeRef = FirImplicitUnitTypeRef(source)
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
@@ -310,7 +310,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
val isVar = Flags.IS_VAR.get(flags) val isVar = Flags.IS_VAR.get(flags)
return buildProperty { return buildProperty {
session = c.session declarationSiteSession = c.session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
this.returnTypeRef = returnTypeRef this.returnTypeRef = returnTypeRef
receiverTypeRef = proto.receiverType(c.typeTable)?.toTypeRef(local).apply { receiverTypeRef = proto.receiverType(c.typeTable)?.toTypeRef(local).apply {
@@ -378,7 +378,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
val local = c.childContext(proto.typeParameterList) val local = c.childContext(proto.typeParameterList)
val simpleFunction = buildSimpleFunction { val simpleFunction = buildSimpleFunction {
session = c.session declarationSiteSession = c.session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
returnTypeRef = proto.returnType(local.typeTable).toTypeRef(local) returnTypeRef = proto.returnType(local.typeTable).toTypeRef(local)
receiverTypeRef = proto.receiverType(local.typeTable)?.toTypeRef(local).apply { receiverTypeRef = proto.receiverType(local.typeTable)?.toTypeRef(local).apply {
@@ -453,7 +453,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
} else { } else {
FirConstructorBuilder() FirConstructorBuilder()
}.apply { }.apply {
session = c.session declarationSiteSession = c.session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
returnTypeRef = delegatedSelfType returnTypeRef = delegatedSelfType
val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags)) val visibility = ProtoEnumFlags.visibility(Flags.VISIBILITY.get(flags))
@@ -506,7 +506,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) {
val flags = if (proto.hasFlags()) proto.flags else 0 val flags = if (proto.hasFlags()) proto.flags else 0
val name = c.nameResolver.getName(proto.name) val name = c.nameResolver.getName(proto.name)
buildValueParameter { buildValueParameter {
session = c.session declarationSiteSession = c.session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
returnTypeRef = proto.type(c.typeTable).toTypeRef(c) returnTypeRef = proto.type(c.typeTable).toTypeRef(c)
this.name = name this.name = name
@@ -66,7 +66,7 @@ class FirTypeDeserializer(
typeParameterNames[name.asString()] = it typeParameterNames[name.asString()] = it
} }
builders += FirTypeParameterBuilder().apply { builders += FirTypeParameterBuilder().apply {
session = this@FirTypeDeserializer.session declarationSiteSession = session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
this.name = name this.name = name
this.symbol = symbol this.symbol = symbol
@@ -86,7 +86,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
syntheticFunctionalInterfaceSymbols.getOrPut(SyntheticFunctionalInterfaceSymbolKey(kind, arity)) { syntheticFunctionalInterfaceSymbols.getOrPut(SyntheticFunctionalInterfaceSymbolKey(kind, arity)) {
FirRegularClassSymbol(this).apply symbol@{ FirRegularClassSymbol(this).apply symbol@{
buildRegularClass klass@{ buildRegularClass klass@{
session = this@FirBuiltinSymbolProvider.session declarationSiteSession = session
origin = FirDeclarationOrigin.BuiltIns origin = FirDeclarationOrigin.BuiltIns
name = relativeClassName.shortName() name = relativeClassName.shortName()
status = FirResolvedDeclarationStatusImpl( status = FirResolvedDeclarationStatusImpl(
@@ -108,7 +108,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
typeParameters.addAll( typeParameters.addAll(
(1..arity).map { (1..arity).map {
buildTypeParameter { buildTypeParameter {
session = this@FirBuiltinSymbolProvider.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.BuiltIns origin = FirDeclarationOrigin.BuiltIns
name = Name.identifier("P$it") name = Name.identifier("P$it")
@@ -121,7 +121,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
) )
typeParameters.add( typeParameters.add(
buildTypeParameter { buildTypeParameter {
session = this@FirBuiltinSymbolProvider.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.BuiltIns origin = FirDeclarationOrigin.BuiltIns
name = Name.identifier("R") name = Name.identifier("R")
@@ -197,7 +197,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
} }
addDeclaration( addDeclaration(
buildSimpleFunction { buildSimpleFunction {
session = this@FirBuiltinSymbolProvider.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.BuiltIns origin = FirDeclarationOrigin.BuiltIns
returnTypeRef = typeArguments.last() returnTypeRef = typeArguments.last()
@@ -210,7 +210,7 @@ open class FirBuiltinSymbolProvider(session: FirSession, val kotlinScopeProvider
valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument -> valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument ->
val parameterName = Name.identifier("p${index + 1}") val parameterName = Name.identifier("p${index + 1}")
buildValueParameter { buildValueParameter {
session = this@FirBuiltinSymbolProvider.session declarationSiteSession = session
origin = FirDeclarationOrigin.BuiltIns origin = FirDeclarationOrigin.BuiltIns
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
returnTypeRef = typeArgument returnTypeRef = typeArgument
@@ -79,7 +79,7 @@ class FirMetadataSerializer(
val function = this val function = this
return buildAnonymousFunction { return buildAnonymousFunction {
val typeParameterSet = function.typeParameters.filterIsInstanceTo(mutableSetOf<FirTypeParameter>()) val typeParameterSet = function.typeParameters.filterIsInstanceTo(mutableSetOf<FirTypeParameter>())
session = function.declarationSiteSession declarationSiteSession = function.declarationSiteSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
symbol = FirAnonymousFunctionSymbol() symbol = FirAnonymousFunctionSymbol()
returnTypeRef = function.returnTypeRef.approximated(toSuper = true, typeParameterSet) returnTypeRef = function.returnTypeRef.approximated(toSuper = true, typeParameterSet)
@@ -98,7 +98,7 @@ class FirMetadataSerializer(
val accessor = this val accessor = this
return buildPropertyAccessor { return buildPropertyAccessor {
val typeParameterSet = accessor.typeParameters.toMutableSet() val typeParameterSet = accessor.typeParameters.toMutableSet()
session = accessor.declarationSiteSession declarationSiteSession = accessor.declarationSiteSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = accessor.returnTypeRef.approximated(toSuper = true, typeParameterSet) returnTypeRef = accessor.returnTypeRef.approximated(toSuper = true, typeParameterSet)
symbol = FirPropertyAccessorSymbol() symbol = FirPropertyAccessorSymbol()
@@ -118,7 +118,7 @@ class FirMetadataSerializer(
val property = this val property = this
return buildProperty { return buildProperty {
val typeParameterSet = property.typeParameters.toMutableSet() val typeParameterSet = property.typeParameters.toMutableSet()
session = property.declarationSiteSession declarationSiteSession = property.declarationSiteSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
symbol = FirPropertySymbol(property.symbol.callableId) symbol = FirPropertySymbol(property.symbol.callableId)
returnTypeRef = property.returnTypeRef.approximated(toSuper = true, typeParameterSet) returnTypeRef = property.returnTypeRef.approximated(toSuper = true, typeParameterSet)
@@ -739,7 +739,7 @@ class Fir2IrDeclarationStorage(
val field = this val field = this
return buildProperty { return buildProperty {
source = field.source source = field.source
session = field.declarationSiteSession declarationSiteSession = field.declarationSiteSession
origin = field.origin origin = field.origin
returnTypeRef = field.returnTypeRef returnTypeRef = field.returnTypeRef
name = field.name name = field.name
@@ -566,7 +566,7 @@ class Fir2IrVisitor(
override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: Any?): IrElement { override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: Any?): IrElement {
val firLhsVariable = buildProperty { val firLhsVariable = buildProperty {
source = elvisExpression.source source = elvisExpression.source
session = this@Fir2IrVisitor.session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = elvisExpression.lhs.typeRef returnTypeRef = elvisExpression.lhs.typeRef
name = Name.special("<elvis>") name = Name.special("<elvis>")
@@ -263,7 +263,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
this.name = name this.name = name
this.symbol = FirNamedFunctionSymbol(CallableId(lookupTag.classId, name)) this.symbol = FirNamedFunctionSymbol(CallableId(lookupTag.classId, name))
this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL) this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
this.session = components.session declarationSiteSession = components.session
this.returnTypeRef = when (returnType) { this.returnTypeRef = when (returnType) {
components.irBuiltIns.booleanType -> FirImplicitBooleanTypeRef(null) components.irBuiltIns.booleanType -> FirImplicitBooleanTypeRef(null)
components.irBuiltIns.intType -> FirImplicitIntTypeRef(null) components.irBuiltIns.intType -> FirImplicitIntTypeRef(null)
@@ -275,7 +275,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
buildValueParameter { buildValueParameter {
this.name = Name.identifier("other") this.name = Name.identifier("other")
origin = FirDeclarationOrigin.Synthetic origin = FirDeclarationOrigin.Synthetic
this.session = components.session declarationSiteSession = components.session
this.returnTypeRef = FirImplicitNullableAnyTypeRef(null) this.returnTypeRef = FirImplicitNullableAnyTypeRef(null)
this.symbol = FirVariableSymbol(this.name) this.symbol = FirVariableSymbol(this.name)
isCrossinline = false isCrossinline = false
@@ -103,7 +103,7 @@ class JavaSymbolProvider(
javaTypeParameterStack: JavaTypeParameterStack javaTypeParameterStack: JavaTypeParameterStack
): FirTypeParameter { ): FirTypeParameter {
return FirTypeParameterBuilder().apply { return FirTypeParameterBuilder().apply {
this.session = this@JavaSymbolProvider.session declarationSiteSession = session
origin = FirDeclarationOrigin.Java origin = FirDeclarationOrigin.Java
this.name = this@toFirTypeParameter.name this.name = this@toFirTypeParameter.name
symbol = firSymbol symbol = firSymbol
@@ -230,7 +230,7 @@ class JavaSymbolProvider(
val classIsAnnotation = javaClass.classKind == ClassKind.ANNOTATION_CLASS val classIsAnnotation = javaClass.classKind == ClassKind.ANNOTATION_CLASS
return buildJavaClass { return buildJavaClass {
source = (javaClass as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() source = (javaClass as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
session = this@JavaSymbolProvider.session declarationSiteSession = session
symbol = classSymbol symbol = classSymbol
name = javaClass.name name = javaClass.name
val visibility = javaClass.visibility val visibility = javaClass.visibility
@@ -373,7 +373,7 @@ class JavaSymbolProvider(
return when { return when {
javaField.isEnumEntry -> buildEnumEntry { javaField.isEnumEntry -> buildEnumEntry {
source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
session = this@JavaSymbolProvider.session declarationSiteSession = session
symbol = FirVariableSymbol(fieldId) symbol = FirVariableSymbol(fieldId)
name = fieldName name = fieldName
status = FirResolvedDeclarationStatusImpl( status = FirResolvedDeclarationStatusImpl(
@@ -395,7 +395,7 @@ class JavaSymbolProvider(
} }
else -> buildJavaField { else -> buildJavaField {
source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
session = this@JavaSymbolProvider.session declarationSiteSession = session
symbol = FirFieldSymbol(fieldId) symbol = FirFieldSymbol(fieldId)
name = fieldName name = fieldName
status = FirResolvedDeclarationStatusImpl( status = FirResolvedDeclarationStatusImpl(
@@ -443,7 +443,7 @@ class JavaSymbolProvider(
val methodSymbol = FirNamedFunctionSymbol(methodId) val methodSymbol = FirNamedFunctionSymbol(methodId)
val returnType = javaMethod.returnType val returnType = javaMethod.returnType
return buildJavaMethod { return buildJavaMethod {
session = this@JavaSymbolProvider.session declarationSiteSession = session
source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() source = (javaMethod as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
symbol = methodSymbol symbol = methodSymbol
name = methodName name = methodName
@@ -491,7 +491,7 @@ class JavaSymbolProvider(
buildJavaValueParameter { buildJavaValueParameter {
source = (javaMethod as? JavaElementImpl<*>)?.psi source = (javaMethod as? JavaElementImpl<*>)?.psi
?.toFirPsiSourceElement(FirFakeSourceElementKind.ImplicitJavaAnnotationConstructor) ?.toFirPsiSourceElement(FirFakeSourceElementKind.ImplicitJavaAnnotationConstructor)
session = this@JavaSymbolProvider.session declarationSiteSession = session
returnTypeRef = firJavaMethod.returnTypeRef returnTypeRef = firJavaMethod.returnTypeRef
name = javaMethod.name name = javaMethod.name
isVararg = javaMethod.returnType is JavaArrayType && javaMethod.name == VALUE_METHOD_NAME isVararg = javaMethod.returnType is JavaArrayType && javaMethod.name == VALUE_METHOD_NAME
@@ -509,7 +509,7 @@ class JavaSymbolProvider(
val constructorSymbol = FirConstructorSymbol(constructorId) val constructorSymbol = FirConstructorSymbol(constructorId)
return buildJavaConstructor { return buildJavaConstructor {
source = (javaConstructor as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() source = (javaConstructor as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
session = this@JavaSymbolProvider.session declarationSiteSession = session
symbol = constructorSymbol symbol = constructorSymbol
isInner = javaClass.outerClass != null && !javaClass.isStatic isInner = javaClass.outerClass != null && !javaClass.isStatic
val isThisInner = this.isInner val isThisInner = this.isInner
@@ -555,7 +555,7 @@ class JavaSymbolProvider(
): FirJavaConstructor { ): FirJavaConstructor {
return buildJavaConstructor { return buildJavaConstructor {
source = classSource source = classSource
session = this@JavaSymbolProvider.session declarationSiteSession = session
symbol = FirConstructorSymbol(constructorId) symbol = FirConstructorSymbol(constructorId)
status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL, EffectiveVisibility.Public) status = FirResolvedDeclarationStatusImpl(Visibilities.Public, Modality.FINAL, EffectiveVisibility.Public)
returnTypeRef = buildResolvedTypeRef { returnTypeRef = buildResolvedTypeRef {
@@ -586,7 +586,7 @@ internal fun JavaValueParameter.toFirValueParameter(
): FirValueParameter { ): FirValueParameter {
return buildJavaValueParameter { return buildJavaValueParameter {
source = (this@toFirValueParameter as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() source = (this@toFirValueParameter as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement()
this.session = session declarationSiteSession = session
name = this@toFirValueParameter.name ?: Name.identifier("p$index") name = this@toFirValueParameter.name ?: Name.identifier("p$index")
returnTypeRef = type.toFirJavaTypeRef(session, javaTypeParameterStack) returnTypeRef = type.toFirJavaTypeRef(session, javaTypeParameterStack)
isVararg = this@toFirValueParameter.isVararg isVararg = this@toFirValueParameter.isVararg
@@ -140,7 +140,7 @@ internal class FirJavaClassBuilder : FirRegularClassBuilder(), FirAnnotationCont
override fun build(): FirJavaClass { override fun build(): FirJavaClass {
return FirJavaClass( return FirJavaClass(
source, source,
session, declarationSiteSession,
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES, resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
name, name,
annotations, annotations,
@@ -151,7 +151,7 @@ class FirJavaConstructorBuilder : FirConstructorBuilder() {
override fun build(): FirJavaConstructor { override fun build(): FirJavaConstructor {
return FirJavaConstructor( return FirJavaConstructor(
source, source,
session, declarationSiteSession,
symbol, symbol,
isPrimary, isPrimary,
returnTypeRef, returnTypeRef,
@@ -156,7 +156,7 @@ internal class FirJavaFieldBuilder : FirFieldBuilder() {
override fun build(): FirJavaField { override fun build(): FirJavaField {
return FirJavaField( return FirJavaField(
source, source,
session, declarationSiteSession,
symbol as FirFieldSymbol, symbol as FirFieldSymbol,
name, name,
resolvePhase, resolvePhase,
@@ -181,7 +181,7 @@ val ALL_JAVA_OPERATION_NAMES =
@FirBuilderDsl @FirBuilderDsl
class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: FirSession
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() 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()
@@ -209,7 +209,7 @@ class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder,
override fun build(): FirJavaMethod { override fun build(): FirJavaMethod {
return FirJavaMethod( return FirJavaMethod(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
attributes, attributes,
returnTypeRef as FirJavaTypeRef, returnTypeRef as FirJavaTypeRef,
@@ -235,7 +235,7 @@ inline fun buildJavaMethodCopy(original: FirSimpleFunction, init: FirJavaMethodB
} }
val copyBuilder = FirJavaMethodBuilder() val copyBuilder = FirJavaMethodBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.declarationSiteSession copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef copyBuilder.returnTypeRef = original.returnTypeRef
@@ -146,7 +146,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor(
@FirBuilderDsl @FirBuilderDsl
class FirJavaValueParameterBuilder { class FirJavaValueParameterBuilder {
var source: FirSourceElement? = null var source: FirSourceElement? = null
lateinit var session: FirSession lateinit var declarationSiteSession: FirSession
var attributes: FirDeclarationAttributes = FirDeclarationAttributes() var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
lateinit var returnTypeRef: FirTypeRef lateinit var returnTypeRef: FirTypeRef
lateinit var name: Name lateinit var name: Name
@@ -158,7 +158,7 @@ class FirJavaValueParameterBuilder {
fun build(): FirJavaValueParameter { fun build(): FirJavaValueParameter {
return FirJavaValueParameter( return FirJavaValueParameter(
source, source,
session, declarationSiteSession,
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES, resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES,
attributes, attributes,
returnTypeRef, returnTypeRef,
@@ -182,7 +182,7 @@ inline fun buildJavaValueParameterCopy(original: FirValueParameter, init: FirJav
} }
val copyBuilder = FirJavaValueParameterBuilder() val copyBuilder = FirJavaValueParameterBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.declarationSiteSession copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
copyBuilder.returnTypeRef = original.returnTypeRef copyBuilder.returnTypeRef = original.returnTypeRef
copyBuilder.name = original.name copyBuilder.name = original.name
@@ -94,7 +94,7 @@ class FirSignatureEnhancement(
val symbol = FirFieldSymbol(original.callableId) val symbol = FirFieldSymbol(original.callableId)
buildJavaField { buildJavaField {
source = firElement.source source = firElement.source
session = this@FirSignatureEnhancement.session declarationSiteSession = session
this.symbol = symbol this.symbol = symbol
this.name = name this.name = name
returnTypeRef = newReturnTypeRef returnTypeRef = newReturnTypeRef
@@ -131,7 +131,7 @@ class FirSignatureEnhancement(
setterDelegate?.symbol setterDelegate?.symbol
} }
return buildSyntheticProperty { return buildSyntheticProperty {
session = this@FirSignatureEnhancement.session declarationSiteSession = session
this.name = name this.name = name
symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId) symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId)
delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction
@@ -207,7 +207,7 @@ class FirSignatureEnhancement(
buildValueParameter { buildValueParameter {
source = valueParameter.source source = valueParameter.source
session = this@FirSignatureEnhancement.session declarationSiteSession = session
origin = FirDeclarationOrigin.Enhancement origin = FirDeclarationOrigin.Enhancement
returnTypeRef = enhancedReturnType returnTypeRef = enhancedReturnType
this.name = valueParameter.name this.name = valueParameter.name
@@ -255,7 +255,7 @@ class FirSignatureEnhancement(
} }
}.apply { }.apply {
source = firMethod.source source = firMethod.source
session = this@FirSignatureEnhancement.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Enhancement origin = FirDeclarationOrigin.Enhancement
this.valueParameters += newValueParameters this.valueParameters += newValueParameters
@@ -265,7 +265,7 @@ class FirSignatureEnhancement(
is FirJavaMethod -> { is FirJavaMethod -> {
FirSimpleFunctionBuilder().apply { FirSimpleFunctionBuilder().apply {
source = firMethod.source source = firMethod.source
session = this@FirSignatureEnhancement.session declarationSiteSession = session
origin = FirDeclarationOrigin.Enhancement origin = FirDeclarationOrigin.Enhancement
returnTypeRef = newReturnTypeRef returnTypeRef = newReturnTypeRef
receiverTypeRef = newReceiverTypeRef receiverTypeRef = newReceiverTypeRef
@@ -62,7 +62,7 @@ class JavaClassUseSiteMemberScope(
): FirAccessorSymbol { ): FirAccessorSymbol {
return accessorByNameMap.getOrPut(property.name) { return accessorByNameMap.getOrPut(property.name) {
buildSyntheticProperty { buildSyntheticProperty {
session = this@JavaClassUseSiteMemberScope.session declarationSiteSession = session
name = property.name name = property.name
symbol = FirAccessorSymbol( symbol = FirAccessorSymbol(
accessorId = getterSymbol.callableId, accessorId = getterSymbol.callableId,
@@ -120,7 +120,7 @@ fun generateDestructuringBlock(
for ((index, entry) in multiDeclaration.entries.withIndex()) { for ((index, entry) in multiDeclaration.entries.withIndex()) {
if (entry == null) continue if (entry == null) continue
statements += buildProperty { statements += buildProperty {
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = entry.returnTypeRef returnTypeRef = entry.returnTypeRef
name = entry.name name = entry.name
@@ -107,7 +107,7 @@ class DeclarationsConverter(
return buildFile { return buildFile {
source = file.toFirSourceElement() source = file.toFirSourceElement()
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
session = baseSession declarationSiteSession = baseSession
name = fileName name = fileName
packageFqName = context.packageFqName packageFqName = context.packageFqName
annotations += fileAnnotationList annotations += fileAnnotationList
@@ -411,7 +411,7 @@ class DeclarationsConverter(
buildRegularClass { buildRegularClass {
source = classNode.toFirSourceElement() source = classNode.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
name = className name = className
this.status = status this.status = status
@@ -548,7 +548,7 @@ class DeclarationsConverter(
val objectDeclaration = objectLiteral.getChildNodesByType(OBJECT_DECLARATION).first() val objectDeclaration = objectLiteral.getChildNodesByType(OBJECT_DECLARATION).first()
source = objectDeclaration.toFirSourceElement() source = objectDeclaration.toFirSourceElement()
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
session = baseSession declarationSiteSession = baseSession
classKind = ClassKind.OBJECT classKind = ClassKind.OBJECT
scopeProvider = baseScopeProvider scopeProvider = baseScopeProvider
symbol = FirAnonymousObjectSymbol() symbol = FirAnonymousObjectSymbol()
@@ -639,7 +639,7 @@ class DeclarationsConverter(
val enumEntryName = identifier.nameAsSafeName() val enumEntryName = identifier.nameAsSafeName()
return buildEnumEntry { return buildEnumEntry {
source = enumEntry.toFirSourceElement() source = enumEntry.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = classWrapper.delegatedSelfTypeRef returnTypeRef = classWrapper.delegatedSelfTypeRef
name = enumEntryName name = enumEntryName
@@ -657,7 +657,7 @@ class DeclarationsConverter(
initializer = withChildClassName(enumEntryName) { initializer = withChildClassName(enumEntryName) {
buildAnonymousObject { buildAnonymousObject {
source = enumEntry.toFirSourceElement(FirFakeSourceElementKind.EnumInitializer) source = enumEntry.toFirSourceElement(FirFakeSourceElementKind.EnumInitializer)
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
classKind = ClassKind.ENUM_ENTRY classKind = ClassKind.ENUM_ENTRY
scopeProvider = baseScopeProvider scopeProvider = baseScopeProvider
@@ -795,7 +795,7 @@ class DeclarationsConverter(
buildPrimaryConstructor { buildPrimaryConstructor {
source = primaryConstructor?.toFirSourceElement() source = primaryConstructor?.toFirSourceElement()
?: selfTypeSource?.fakeElement(FirFakeSourceElementKind.ImplicitConstructor) ?: selfTypeSource?.fakeElement(FirFakeSourceElementKind.ImplicitConstructor)
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = classWrapper.delegatedSelfTypeRef returnTypeRef = classWrapper.delegatedSelfTypeRef
this.status = status this.status = status
@@ -825,7 +825,7 @@ class DeclarationsConverter(
return buildAnonymousInitializer { return buildAnonymousInitializer {
source = anonymousInitializer.toFirSourceElement() source = anonymousInitializer.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
body = if (stubMode) buildEmptyExpressionBlock() else firBlock ?: buildEmptyExpressionBlock() body = if (stubMode) buildEmptyExpressionBlock() else firBlock ?: buildEmptyExpressionBlock()
} }
@@ -863,7 +863,7 @@ class DeclarationsConverter(
val target = FirFunctionTarget(labelName = null, isLambda = false) val target = FirFunctionTarget(labelName = null, isLambda = false)
return buildConstructor { return buildConstructor {
source = secondaryConstructor.toFirSourceElement() source = secondaryConstructor.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = delegatedSelfTypeRef returnTypeRef = delegatedSelfTypeRef
this.status = status this.status = status
@@ -955,7 +955,7 @@ class DeclarationsConverter(
return withChildClassName(typeAliasName) { return withChildClassName(typeAliasName) {
return@withChildClassName buildTypeAlias { return@withChildClassName buildTypeAlias {
source = typeAlias.toFirSourceElement() source = typeAlias.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
name = typeAliasName name = typeAliasName
status = FirDeclarationStatusImpl(modifiers.getVisibility(), Modality.FINAL).apply { status = FirDeclarationStatusImpl(modifiers.getVisibility(), Modality.FINAL).apply {
@@ -1013,7 +1013,7 @@ class DeclarationsConverter(
return buildProperty { return buildProperty {
source = propertySource source = propertySource
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = returnType returnTypeRef = returnType
name = propertyName name = propertyName
@@ -1077,7 +1077,7 @@ class DeclarationsConverter(
val convertedAccessors = accessors.map { convertGetterOrSetter(it, returnType, propertyVisibility, modifiers) } val convertedAccessors = accessors.map { convertGetterOrSetter(it, returnType, propertyVisibility, modifiers) }
this.getter = convertedAccessors.find { it.isGetter } this.getter = convertedAccessors.find { it.isGetter }
?: FirDefaultPropertyGetter( ?: FirDefaultPropertyGetter(
null, session, FirDeclarationOrigin.Source, returnType, propertyVisibility null, declarationSiteSession, FirDeclarationOrigin.Source, returnType, propertyVisibility
).also { ).also {
it.status = defaultAccessorStatus() it.status = defaultAccessorStatus()
it.initContainingClassAttr() it.initContainingClassAttr()
@@ -1086,7 +1086,7 @@ class DeclarationsConverter(
this.setter = convertedAccessors.find { it.isSetter } this.setter = convertedAccessors.find { it.isSetter }
?: if (isVar) { ?: if (isVar) {
FirDefaultPropertySetter( FirDefaultPropertySetter(
null, session, FirDeclarationOrigin.Source, returnType, propertyVisibility null, declarationSiteSession, FirDeclarationOrigin.Source, returnType, propertyVisibility
).also { ).also {
it.status = defaultAccessorStatus() it.status = defaultAccessorStatus()
it.initContainingClassAttr() it.initContainingClassAttr()
@@ -1165,7 +1165,7 @@ class DeclarationsConverter(
val name = identifier.nameAsSafeName() val name = identifier.nameAsSafeName()
return buildProperty { return buildProperty {
source = entry.toFirSourceElement() source = entry.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = firType ?: implicitType returnTypeRef = firType ?: implicitType
this.name = name this.name = name
@@ -1190,7 +1190,7 @@ class DeclarationsConverter(
var isGetter = true var isGetter = true
var returnType: FirTypeRef? = null var returnType: FirTypeRef? = null
var firValueParameters: FirValueParameter = buildDefaultSetterValueParameter { var firValueParameters: FirValueParameter = buildDefaultSetterValueParameter {
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = propertyTypeRef returnTypeRef = propertyTypeRef
symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER)
@@ -1241,7 +1241,7 @@ class DeclarationsConverter(
val target = FirFunctionTarget(labelName = null, isLambda = false) val target = FirFunctionTarget(labelName = null, isLambda = false)
return buildPropertyAccessor { return buildPropertyAccessor {
source = sourceElement source = sourceElement
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = returnType ?: if (isGetter) propertyTypeRef else implicitUnitType returnTypeRef = returnType ?: if (isGetter) propertyTypeRef else implicitUnitType
symbol = FirPropertyAccessorSymbol() symbol = FirPropertyAccessorSymbol()
@@ -1311,7 +1311,7 @@ class DeclarationsConverter(
return buildValueParameter { return buildValueParameter {
source = setterParameter.toFirSourceElement() source = setterParameter.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = if (firValueParameter.returnTypeRef == implicitType) propertyTypeRef else firValueParameter.returnTypeRef returnTypeRef = if (firValueParameter.returnTypeRef == implicitType) propertyTypeRef else firValueParameter.returnTypeRef
name = firValueParameter.name name = firValueParameter.name
@@ -1405,7 +1405,7 @@ class DeclarationsConverter(
} }
return functionBuilder.apply { return functionBuilder.apply {
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = returnType!! returnTypeRef = returnType!!
@@ -1573,7 +1573,7 @@ class DeclarationsConverter(
delegateFields.add( delegateFields.add(
buildField { buildField {
source = firExpression!!.source source = firExpression!!.source
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Synthetic origin = FirDeclarationOrigin.Synthetic
name = delegateName name = delegateName
returnTypeRef = firTypeRef returnTypeRef = firTypeRef
@@ -1649,7 +1649,7 @@ class DeclarationsConverter(
return buildTypeParameter { return buildTypeParameter {
source = typeParameter.toFirSourceElement() source = typeParameter.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
name = identifier.nameAsSafeName() name = identifier.nameAsSafeName()
symbol = FirTypeParameterSymbol() symbol = FirTypeParameterSymbol()
@@ -1889,7 +1889,7 @@ class DeclarationsConverter(
val name = identifier.nameAsSafeName() val name = identifier.nameAsSafeName()
val firValueParameter = buildValueParameter { val firValueParameter = buildValueParameter {
source = valueParameter.toFirSourceElement() source = valueParameter.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = firType ?: implicitType returnTypeRef = firType ?: implicitType
this.name = name this.name = name
@@ -135,7 +135,7 @@ class ExpressionsConverter(
val target: FirFunctionTarget val target: FirFunctionTarget
return buildAnonymousFunction { return buildAnonymousFunction {
source = expressionSource source = expressionSource
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = implicitType returnTypeRef = implicitType
receiverTypeRef = implicitType receiverTypeRef = implicitType
@@ -153,7 +153,7 @@ class ExpressionsConverter(
val name = DESTRUCTURING_NAME val name = DESTRUCTURING_NAME
val multiParameter = buildValueParameter { val multiParameter = buildValueParameter {
source = valueParameter.firValueParameter.source source = valueParameter.firValueParameter.source
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = valueParameter.firValueParameter.returnTypeRef returnTypeRef = valueParameter.firValueParameter.returnTypeRef
this.name = name this.name = name
@@ -642,7 +642,7 @@ class ExpressionsConverter(
buildProperty { buildProperty {
source = it.toFirSourceElement() source = it.toFirSourceElement()
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
session = baseSession declarationSiteSession = baseSession
returnTypeRef = variable.returnTypeRef returnTypeRef = variable.returnTypeRef
name = variable.name name = variable.name
initializer = variable.initializer initializer = variable.initializer
@@ -51,7 +51,7 @@ class ValueParameter(
source = parameterNode?.toFirLightSourceElement( source = parameterNode?.toFirLightSourceElement(
parameterSource.treeStructure, FirFakeSourceElementKind.PropertyFromParameter parameterSource.treeStructure, FirFakeSourceElementKind.PropertyFromParameter
) )
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter) returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
this.name = name this.name = name
@@ -101,7 +101,7 @@ internal fun generateDestructuringBlock(
val name = entry.nameAsSafeName val name = entry.nameAsSafeName
statements += buildProperty { statements += buildProperty {
source = entrySource source = entrySource
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = entry.typeReference.toFirOrImplicitTypeRef() returnTypeRef = entry.typeReference.toFirOrImplicitTypeRef()
this.name = name this.name = name
@@ -329,7 +329,7 @@ open class RawFirBuilder(
val accessorTarget = FirFunctionTarget(labelName = null, isLambda = false) val accessorTarget = FirFunctionTarget(labelName = null, isLambda = false)
buildPropertyAccessor { buildPropertyAccessor {
this.source = source this.source = source
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = if (isGetter) { returnTypeRef = if (isGetter) {
returnTypeReference?.convertSafe() ?: propertyTypeRef returnTypeReference?.convertSafe() ?: propertyTypeRef
@@ -344,7 +344,7 @@ open class RawFirBuilder(
if (!isGetter && valueParameters.isEmpty()) { if (!isGetter && valueParameters.isEmpty()) {
valueParameters += buildDefaultSetterValueParameter { valueParameters += buildDefaultSetterValueParameter {
this.source = source.fakeElement(FirFakeSourceElementKind.DefaultAccessor) this.source = source.fakeElement(FirFakeSourceElementKind.DefaultAccessor)
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = propertyTypeRef returnTypeRef = propertyTypeRef
symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER)
@@ -396,7 +396,7 @@ open class RawFirBuilder(
val name = nameAsSafeName val name = nameAsSafeName
return buildValueParameter { return buildValueParameter {
source = toFirSourceElement() source = toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = when { returnTypeRef = when {
typeReference != null -> typeReference.toFirOrErrorType() typeReference != null -> typeReference.toFirOrErrorType()
@@ -429,7 +429,7 @@ open class RawFirBuilder(
val propertyName = nameAsSafeName val propertyName = nameAsSafeName
return buildProperty { return buildProperty {
source = propertySource source = propertySource
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter) returnTypeRef = type.copyWithNewSourceKind(FirFakeSourceElementKind.PropertyFromParameter)
receiverTypeRef = null receiverTypeRef = null
@@ -568,7 +568,7 @@ open class RawFirBuilder(
val delegateSource = superTypeListEntry.delegateExpression?.toFirSourceElement() val delegateSource = superTypeListEntry.delegateExpression?.toFirSourceElement()
val delegateField = buildField { val delegateField = buildField {
source = delegateSource source = delegateSource
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Synthetic origin = FirDeclarationOrigin.Synthetic
name = delegateName name = delegateName
returnTypeRef = type returnTypeRef = type
@@ -678,7 +678,7 @@ open class RawFirBuilder(
} }
return buildPrimaryConstructor { return buildPrimaryConstructor {
source = constructorSource source = constructorSource
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = delegatedSelfTypeRef returnTypeRef = delegatedSelfTypeRef
this.status = status this.status = status
@@ -697,7 +697,7 @@ open class RawFirBuilder(
context.packageFqName = file.packageFqName context.packageFqName = file.packageFqName
return buildFile { return buildFile {
source = file.toFirSourceElement() source = file.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
name = file.name name = file.name
packageFqName = context.packageFqName packageFqName = context.packageFqName
@@ -725,7 +725,7 @@ open class RawFirBuilder(
val ktEnumEntry = this@toFirEnumEntry val ktEnumEntry = this@toFirEnumEntry
return buildEnumEntry { return buildEnumEntry {
source = toFirSourceElement() source = toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = delegatedEnumSelfTypeRef returnTypeRef = delegatedEnumSelfTypeRef
name = nameAsSafeName name = nameAsSafeName
@@ -743,7 +743,7 @@ open class RawFirBuilder(
initializer = withChildClassName(nameAsSafeName) { initializer = withChildClassName(nameAsSafeName) {
buildAnonymousObject { buildAnonymousObject {
source = toFirSourceElement(FirFakeSourceElementKind.EnumInitializer) source = toFirSourceElement(FirFakeSourceElementKind.EnumInitializer)
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
classKind = ClassKind.ENUM_ENTRY classKind = ClassKind.ENUM_ENTRY
scopeProvider = this@RawFirBuilder.baseScopeProvider scopeProvider = this@RawFirBuilder.baseScopeProvider
@@ -828,7 +828,7 @@ open class RawFirBuilder(
buildRegularClass { buildRegularClass {
source = classOrObject.toFirSourceElement() source = classOrObject.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
name = classOrObject.nameAsSafeName name = classOrObject.nameAsSafeName
this.status = status this.status = status
@@ -923,7 +923,7 @@ open class RawFirBuilder(
return withChildClassName(ANONYMOUS_OBJECT_NAME) { return withChildClassName(ANONYMOUS_OBJECT_NAME) {
buildAnonymousObject { buildAnonymousObject {
source = objectDeclaration.toFirSourceElement() source = objectDeclaration.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
classKind = ClassKind.OBJECT classKind = ClassKind.OBJECT
scopeProvider = baseScopeProvider scopeProvider = baseScopeProvider
@@ -959,7 +959,7 @@ open class RawFirBuilder(
return withChildClassName(typeAlias.nameAsSafeName) { return withChildClassName(typeAlias.nameAsSafeName) {
buildTypeAlias { buildTypeAlias {
source = typeAlias.toFirSourceElement() source = typeAlias.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
name = typeAlias.nameAsSafeName name = typeAlias.nameAsSafeName
status = FirDeclarationStatusImpl(typeAlias.visibility, Modality.FINAL).apply { status = FirDeclarationStatusImpl(typeAlias.visibility, Modality.FINAL).apply {
@@ -1019,7 +1019,7 @@ open class RawFirBuilder(
val target = FirFunctionTarget(labelName, isLambda = false) val target = FirFunctionTarget(labelName, isLambda = false)
return functionBuilder.apply { return functionBuilder.apply {
source = function.toFirSourceElement() source = function.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = returnType returnTypeRef = returnType
@@ -1082,7 +1082,7 @@ open class RawFirBuilder(
val target: FirFunctionTarget val target: FirFunctionTarget
return buildAnonymousFunction { return buildAnonymousFunction {
source = literalSource source = literalSource
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = returnType returnTypeRef = returnType
receiverTypeRef = receiverType receiverTypeRef = receiverType
@@ -1096,7 +1096,7 @@ open class RawFirBuilder(
val name = DESTRUCTURING_NAME val name = DESTRUCTURING_NAME
val multiParameter = buildValueParameter { val multiParameter = buildValueParameter {
source = valueParameter.toFirSourceElement() source = valueParameter.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = valueParameter.typeReference?.convertSafe() ?: buildImplicitTypeRef { returnTypeRef = valueParameter.typeReference?.convertSafe() ?: buildImplicitTypeRef {
source = multiDeclaration.toFirSourceElement(FirFakeSourceElementKind.ImplicitTypeRef) source = multiDeclaration.toFirSourceElement(FirFakeSourceElementKind.ImplicitTypeRef)
@@ -1167,7 +1167,7 @@ open class RawFirBuilder(
val target = FirFunctionTarget(labelName = null, isLambda = false) val target = FirFunctionTarget(labelName = null, isLambda = false)
return buildConstructor { return buildConstructor {
source = this@toFirConstructor.toFirSourceElement() source = this@toFirConstructor.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = delegatedSelfTypeRef returnTypeRef = delegatedSelfTypeRef
val explicitVisibility = visibility val explicitVisibility = visibility
@@ -1254,7 +1254,7 @@ open class RawFirBuilder(
return buildProperty { return buildProperty {
source = propertySource source = propertySource
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = propertyType returnTypeRef = propertyType
name = propertyName name = propertyName
@@ -1339,7 +1339,7 @@ open class RawFirBuilder(
override fun visitAnonymousInitializer(initializer: KtAnonymousInitializer, data: Unit): FirElement { override fun visitAnonymousInitializer(initializer: KtAnonymousInitializer, data: Unit): FirElement {
return buildAnonymousInitializer { return buildAnonymousInitializer {
source = initializer.toFirSourceElement() source = initializer.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
body = if (stubMode) buildEmptyExpressionBlock() else initializer.body.toFirBlock() body = if (stubMode) buildEmptyExpressionBlock() else initializer.body.toFirBlock()
} }
@@ -1446,7 +1446,7 @@ open class RawFirBuilder(
val parameterName = parameter.nameAsSafeName val parameterName = parameter.nameAsSafeName
return buildTypeParameter { return buildTypeParameter {
source = parameter.toFirSourceElement() source = parameter.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
name = parameterName name = parameterName
symbol = FirTypeParameterSymbol() symbol = FirTypeParameterSymbol()
@@ -1602,7 +1602,7 @@ open class RawFirBuilder(
val name = ktSubjectExpression.nameAsSafeName val name = ktSubjectExpression.nameAsSafeName
buildProperty { buildProperty {
source = ktSubjectExpression.toFirSourceElement() source = ktSubjectExpression.toFirSourceElement()
session = baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = ktSubjectExpression.typeReference.toFirOrImplicitType() returnTypeRef = ktSubjectExpression.typeReference.toFirOrImplicitType()
receiverTypeRef = null receiverTypeRef = null
@@ -157,7 +157,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
bind( bind(
buildErrorFunction { buildErrorFunction {
source = baseSource source = baseSource
session = this@BaseFirBuilder.baseSession declarationSiteSession = baseSession
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
diagnostic = ConeSimpleDiagnostic(message, kind) diagnostic = ConeSimpleDiagnostic(message, kind)
symbol = FirErrorFunctionSymbol() symbol = FirErrorFunctionSymbol()
@@ -1116,7 +1116,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
val parameterSource = sourceNode?.toFirSourceElement() val parameterSource = sourceNode?.toFirSourceElement()
val componentFunction = buildSimpleFunction { val componentFunction = buildSimpleFunction {
source = parameterSource?.fakeElement(FirFakeSourceElementKind.DataClassGeneratedMembers) source = parameterSource?.fakeElement(FirFakeSourceElementKind.DataClassGeneratedMembers)
session = this@DataClassMembersGenerator.session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = firProperty.returnTypeRef returnTypeRef = firProperty.returnTypeRef
receiverTypeRef = null receiverTypeRef = null
@@ -1139,7 +1139,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
buildSimpleFunction { buildSimpleFunction {
val classTypeRef = createClassTypeRefWithSourceKind(FirFakeSourceElementKind.DataClassGeneratedMembers) val classTypeRef = createClassTypeRefWithSourceKind(FirFakeSourceElementKind.DataClassGeneratedMembers)
source = this@DataClassMembersGenerator.source.toFirSourceElement(FirFakeSourceElementKind.DataClassGeneratedMembers) source = this@DataClassMembersGenerator.source.toFirSourceElement(FirFakeSourceElementKind.DataClassGeneratedMembers)
session = this@DataClassMembersGenerator.session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = classTypeRef returnTypeRef = classTypeRef
name = copyName name = copyName
@@ -1153,7 +1153,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
createParameterTypeRefWithSourceKind(firProperty, FirFakeSourceElementKind.DataClassGeneratedMembers) createParameterTypeRefWithSourceKind(firProperty, FirFakeSourceElementKind.DataClassGeneratedMembers)
valueParameters += buildValueParameter { valueParameters += buildValueParameter {
source = parameterSource source = parameterSource
session = this@DataClassMembersGenerator.session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = propertyReturnTypeRef returnTypeRef = propertyReturnTypeRef
name = propertyName name = propertyName
@@ -278,7 +278,7 @@ fun generateTemporaryVariable(
): FirVariable<*> = ): FirVariable<*> =
buildProperty { buildProperty {
this.source = source this.source = source
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = typeRef ?: buildImplicitTypeRef { returnTypeRef = typeRef ?: buildImplicitTypeRef {
this.source = source this.source = source
@@ -402,7 +402,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
val returnTarget = FirFunctionTarget(null, isLambda = false) val returnTarget = FirFunctionTarget(null, isLambda = false)
getter = buildPropertyAccessor { getter = buildPropertyAccessor {
this.source = fakeSource this.source = fakeSource
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = buildImplicitTypeRef() returnTypeRef = buildImplicitTypeRef()
isGetter = true isGetter = true
@@ -434,14 +434,14 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
val annotations = setter?.annotations val annotations = setter?.annotations
setter = buildPropertyAccessor { setter = buildPropertyAccessor {
this.source = fakeSource this.source = fakeSource
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = session.builtinTypes.unitType returnTypeRef = session.builtinTypes.unitType
isGetter = false isGetter = false
status = FirDeclarationStatusImpl(Visibilities.Unknown, Modality.FINAL) status = FirDeclarationStatusImpl(Visibilities.Unknown, Modality.FINAL)
val parameter = buildValueParameter { val parameter = buildValueParameter {
source = fakeSource source = fakeSource
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = buildImplicitTypeRef() returnTypeRef = buildImplicitTypeRef()
name = DELEGATED_SETTER_PARAM name = DELEGATED_SETTER_PARAM
@@ -74,7 +74,7 @@ fun FirAnonymousFunction.copy(
): FirAnonymousFunction { ): FirAnonymousFunction {
return buildAnonymousFunction { return buildAnonymousFunction {
this.source = source this.source = source
this.session = session declarationSiteSession = session
this.origin = origin this.origin = origin
this.returnTypeRef = returnTypeRef this.returnTypeRef = returnTypeRef
this.receiverTypeRef = receiverTypeRef this.receiverTypeRef = receiverTypeRef
@@ -116,7 +116,7 @@ fun FirTypeParameter.copy(
): FirTypeParameter { ): FirTypeParameter {
return buildTypeParameter { return buildTypeParameter {
source = this@copy.source source = this@copy.source
session = this@copy.declarationSiteSession declarationSiteSession = this@copy.declarationSiteSession
name = this@copy.name name = this@copy.name
symbol = this@copy.symbol symbol = this@copy.symbol
variance = this@copy.variance variance = this@copy.variance
@@ -130,7 +130,7 @@ class FirSamResolverImpl(
val declaredTypeParameter = typeParameter.symbol.fir // TODO: or really declared? val declaredTypeParameter = typeParameter.symbol.fir // TODO: or really declared?
FirTypeParameterBuilder().apply { FirTypeParameterBuilder().apply {
source = declaredTypeParameter.source source = declaredTypeParameter.source
session = firSession declarationSiteSession = firSession
origin = FirDeclarationOrigin.SamConstructor origin = FirDeclarationOrigin.SamConstructor
name = declaredTypeParameter.name name = declaredTypeParameter.name
this.symbol = FirTypeParameterSymbol() this.symbol = FirTypeParameterSymbol()
@@ -161,7 +161,7 @@ class FirSamResolverImpl(
} }
return buildSimpleFunction { return buildSimpleFunction {
session = firSession declarationSiteSession = firSession
source = firRegularClass.source source = firRegularClass.source
name = classId.shortClassName name = classId.shortClassName
origin = FirDeclarationOrigin.SamConstructor origin = FirDeclarationOrigin.SamConstructor
@@ -191,7 +191,7 @@ class FirSamResolverImpl(
} }
valueParameters += buildValueParameter { valueParameters += buildValueParameter {
session = firSession declarationSiteSession = firSession
origin = FirDeclarationOrigin.SamConstructor origin = FirDeclarationOrigin.SamConstructor
returnTypeRef = buildResolvedTypeRef { returnTypeRef = buildResolvedTypeRef {
source = firRegularClass.source source = firRegularClass.source
@@ -82,7 +82,7 @@ class CandidateFactory private constructor(
private fun createErrorFunctionSymbol(diagnostic: ConeDiagnostic): FirErrorFunctionSymbol { private fun createErrorFunctionSymbol(diagnostic: ConeDiagnostic): FirErrorFunctionSymbol {
return FirErrorFunctionSymbol().also { return FirErrorFunctionSymbol().also {
buildErrorFunction { buildErrorFunction {
session = context.session declarationSiteSession = context.session
resolvePhase = FirResolvePhase.BODY_RESOLVE resolvePhase = FirResolvePhase.BODY_RESOLVE
origin = FirDeclarationOrigin.Synthetic origin = FirDeclarationOrigin.Synthetic
this.diagnostic = diagnostic this.diagnostic = diagnostic
@@ -94,7 +94,7 @@ class CandidateFactory private constructor(
private fun createErrorPropertySymbol(diagnostic: ConeDiagnostic): FirErrorPropertySymbol { private fun createErrorPropertySymbol(diagnostic: ConeDiagnostic): FirErrorPropertySymbol {
return FirErrorPropertySymbol(diagnostic).also { return FirErrorPropertySymbol(diagnostic).also {
buildErrorProperty { buildErrorProperty {
session = context.session declarationSiteSession = context.session
resolvePhase = FirResolvePhase.BODY_RESOLVE resolvePhase = FirResolvePhase.BODY_RESOLVE
origin = FirDeclarationOrigin.Synthetic origin = FirDeclarationOrigin.Synthetic
name = FirErrorPropertySymbol.NAME name = FirErrorPropertySymbol.NAME
@@ -107,7 +107,7 @@ class FirSyntheticPropertiesScope(
val className = classLookupTag?.classId?.relativeClassName val className = classLookupTag?.classId?.relativeClassName
val property = buildSyntheticProperty { val property = buildSyntheticProperty {
session = this@FirSyntheticPropertiesScope.session declarationSiteSession = session
name = propertyName name = propertyName
symbol = FirSyntheticPropertySymbol( symbol = FirSyntheticPropertySymbol(
accessorId = getterSymbol.callableId, accessorId = getterSymbol.callableId,
@@ -186,7 +186,7 @@ class FirCallCompleter(
val itType = parameters.single() val itType = parameters.single()
buildValueParameter { buildValueParameter {
source = lambdaAtom.atom.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter) source = lambdaAtom.atom.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter)
session = this@FirCallCompleter.session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = buildResolvedTypeRef { type = itType.approximateLambdaInputType() } returnTypeRef = buildResolvedTypeRef { type = itType.approximateLambdaInputType() }
this.name = name this.name = name
@@ -39,7 +39,7 @@ class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopePro
private val klass = buildRegularClass { private val klass = buildRegularClass {
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
this.session = session declarationSiteSession = session
status = FirDeclarationStatusImpl( status = FirDeclarationStatusImpl(
Visibilities.Public, Visibilities.Public,
Modality.ABSTRACT Modality.ABSTRACT
@@ -47,7 +47,7 @@ class FirCloneableSymbolProvider(session: FirSession, scopeProvider: FirScopePro
classKind = ClassKind.INTERFACE classKind = ClassKind.INTERFACE
symbol = FirRegularClassSymbol(CLONEABLE_CLASS_ID) symbol = FirRegularClassSymbol(CLONEABLE_CLASS_ID)
declarations += buildSimpleFunction { declarations += buildSimpleFunction {
this.session = session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
returnTypeRef = buildResolvedTypeRef { returnTypeRef = buildResolvedTypeRef {
@@ -70,7 +70,7 @@ class FirSyntheticCallGenerator(
return whenExpression.transformCalleeReference(UpdateReference, reference) return whenExpression.transformCalleeReference(UpdateReference, reference)
} }
fun generateCalleeForTryExpression(tryExpression: FirTryExpression, context: ResolutionContext): FirTryExpression? { fun generateCalleeForTryExpression(tryExpression: FirTryExpression, context: ResolutionContext): FirTryExpression {
val stubReference = tryExpression.calleeReference val stubReference = tryExpression.calleeReference
assert(stubReference is FirStubReference) assert(stubReference is FirStubReference)
@@ -220,7 +220,7 @@ class FirSyntheticCallGenerator(
val typeParameterSymbol = FirTypeParameterSymbol() val typeParameterSymbol = FirTypeParameterSymbol()
val typeParameter = val typeParameter =
buildTypeParameter { buildTypeParameter {
session = this@FirSyntheticCallGenerator.session declarationSiteSession = session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
name = Name.identifier("K") name = Name.identifier("K")
symbol = typeParameterSymbol symbol = typeParameterSymbol
@@ -321,7 +321,7 @@ class FirSyntheticCallGenerator(
symbol: FirNamedFunctionSymbol, name: Name, returnType: FirTypeRef symbol: FirNamedFunctionSymbol, name: Name, returnType: FirTypeRef
): FirSimpleFunctionBuilder { ): FirSimpleFunctionBuilder {
return FirSimpleFunctionBuilder().apply { return FirSimpleFunctionBuilder().apply {
session = this@FirSyntheticCallGenerator.session declarationSiteSession = session
origin = FirDeclarationOrigin.Synthetic origin = FirDeclarationOrigin.Synthetic
this.symbol = symbol this.symbol = symbol
this.name = name this.name = name
@@ -346,7 +346,7 @@ class FirSyntheticCallGenerator(
): FirValueParameter { ): FirValueParameter {
val name = Name.identifier(nameAsString) val name = Name.identifier(nameAsString)
return buildValueParameter { return buildValueParameter {
session = this@FirSyntheticCallGenerator.session declarationSiteSession = session
origin = FirDeclarationOrigin.Library origin = FirDeclarationOrigin.Library
this.name = name this.name = name
returnTypeRef = this@toValueParameter returnTypeRef = this@toValueParameter
@@ -654,7 +654,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
val name = Name.identifier("it") val name = Name.identifier("it")
val itParam = buildValueParameter { val itParam = buildValueParameter {
source = lambda.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter) source = lambda.source?.fakeElement(FirFakeSourceElementKind.ItLambdaParameter)
session = this@FirDeclarationsResolveTransformer.session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = buildResolvedTypeRef { type = singleParameterType } returnTypeRef = buildResolvedTypeRef { type = singleParameterType }
this.name = name this.name = name
@@ -165,7 +165,7 @@ open class FirContractResolveTransformer(
contractDescription: FirRawContractDescription contractDescription: FirRawContractDescription
): T { ): T {
val effectsBlock = buildAnonymousFunction { val effectsBlock = buildAnonymousFunction {
session = this@FirDeclarationsContractResolveTransformer.session declarationSiteSession = session
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = buildImplicitTypeRef() returnTypeRef = buildImplicitTypeRef()
receiverTypeRef = buildImplicitTypeRef() receiverTypeRef = buildImplicitTypeRef()
@@ -101,7 +101,7 @@ object FirFakeOverrideGenerator {
): FirSimpleFunction { ): FirSimpleFunction {
return buildSimpleFunction { return buildSimpleFunction {
source = baseFunction.source source = baseFunction.source
this.session = session declarationSiteSession = session
this.origin = origin this.origin = origin
name = baseFunction.name name = baseFunction.name
status = baseFunction.status.copy(isExpect, newModality, newVisibility) status = baseFunction.status.copy(isExpect, newModality, newVisibility)
@@ -130,7 +130,7 @@ object FirFakeOverrideGenerator {
// TODO: consider using here some light-weight functions instead of pseudo-real FirMemberFunctionImpl // TODO: consider using here some light-weight functions instead of pseudo-real FirMemberFunctionImpl
// As second alternative, we can invent some light-weight kind of FirRegularClass // As second alternative, we can invent some light-weight kind of FirRegularClass
return buildConstructor { return buildConstructor {
this.session = session declarationSiteSession = session
origin = FirDeclarationOrigin.SubstitutionOverride origin = FirDeclarationOrigin.SubstitutionOverride
receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null) receiverTypeRef = baseConstructor.receiverTypeRef?.withReplacedConeType(null)
status = baseConstructor.status.copy(isExpect) status = baseConstructor.status.copy(isExpect)
@@ -282,7 +282,7 @@ object FirFakeOverrideGenerator {
): FirProperty { ): FirProperty {
return buildProperty { return buildProperty {
source = baseProperty.source source = baseProperty.source
this.session = session declarationSiteSession = session
this.origin = origin this.origin = origin
name = baseProperty.name name = baseProperty.name
isVar = baseProperty.isVar isVar = baseProperty.isVar
@@ -389,7 +389,7 @@ object FirFakeOverrideGenerator {
CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseField.name) CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseField.name)
) )
buildField { buildField {
this.session = session declarationSiteSession = session
this.symbol = symbol this.symbol = symbol
origin = FirDeclarationOrigin.SubstitutionOverride origin = FirDeclarationOrigin.SubstitutionOverride
returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType) returnTypeRef = baseField.returnTypeRef.withReplacedConeType(newReturnType)
@@ -445,7 +445,7 @@ object FirFakeOverrideGenerator {
fakeOverrideSubstitution = fakeOverrideSubstitution fakeOverrideSubstitution = fakeOverrideSubstitution
) )
return buildSyntheticProperty { return buildSyntheticProperty {
this.session = session declarationSiteSession = session
name = baseProperty.name name = baseProperty.name
symbol = FirAccessorSymbol(baseSymbol.callableId, baseSymbol.accessorId) symbol = FirAccessorSymbol(baseSymbol.callableId, baseSymbol.accessorId)
delegateGetter = getter delegateGetter = getter
@@ -465,7 +465,7 @@ object FirFakeOverrideGenerator {
if (typeParameter !is FirTypeParameter) return@map null if (typeParameter !is FirTypeParameter) return@map null
FirTypeParameterBuilder().apply { FirTypeParameterBuilder().apply {
source = typeParameter.source source = typeParameter.source
session = typeParameter.declarationSiteSession declarationSiteSession = typeParameter.declarationSiteSession
origin = FirDeclarationOrigin.SubstitutionOverride origin = FirDeclarationOrigin.SubstitutionOverride
name = typeParameter.name name = typeParameter.name
symbol = FirTypeParameterSymbol() symbol = FirTypeParameterSymbol()
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
interface FirAbstractConstructorBuilder : FirFunctionBuilder { interface FirAbstractConstructorBuilder : FirFunctionBuilder {
abstract override var source: FirSourceElement? abstract override var source: FirSourceElement?
abstract override var session: FirSession abstract override var declarationSiteSession: FirSession
abstract override var resolvePhase: FirResolvePhase abstract override var resolvePhase: FirResolvePhase
abstract override var origin: FirDeclarationOrigin abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes abstract override var attributes: FirDeclarationAttributes
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl @FirBuilderDsl
class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: FirSession
override lateinit var origin: FirDeclarationOrigin override lateinit var origin: FirDeclarationOrigin
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes() override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
override val annotations: MutableList<FirAnnotationCall> = mutableListOf() override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
@@ -58,7 +58,7 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
override fun build(): FirAnonymousFunction { override fun build(): FirAnonymousFunction {
return FirAnonymousFunctionImpl( return FirAnonymousFunctionImpl(
source, source,
session, declarationSiteSession,
origin, origin,
attributes, attributes,
annotations, annotations,
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl @FirBuilderDsl
class FirAnonymousInitializerBuilder : FirDeclarationBuilder { class FirAnonymousInitializerBuilder : FirDeclarationBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -38,7 +38,7 @@ class FirAnonymousInitializerBuilder : FirDeclarationBuilder {
override fun build(): FirAnonymousInitializer { override fun build(): FirAnonymousInitializer {
return FirAnonymousInitializerImpl( return FirAnonymousInitializerImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl @FirBuilderDsl
class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder { class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -53,7 +53,7 @@ class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnn
override fun build(): FirAnonymousObject { override fun build(): FirAnonymousObject {
return FirAnonymousObjectImpl( return FirAnonymousObjectImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl @FirBuilderDsl
interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder { interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
abstract override var source: FirSourceElement? abstract override var source: FirSourceElement?
abstract override var session: FirSession abstract override var declarationSiteSession: FirSession
abstract override var resolvePhase: FirResolvePhase abstract override var resolvePhase: FirResolvePhase
abstract override var origin: FirDeclarationOrigin abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes abstract override var attributes: FirDeclarationAttributes
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder { open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -56,7 +56,7 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
override fun build(): FirConstructor { override fun build(): FirConstructor {
return FirConstructorImpl( return FirConstructorImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -98,7 +98,7 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
} }
val copyBuilder = FirConstructorBuilder() val copyBuilder = FirConstructorBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.declarationSideSession copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl @FirBuilderDsl
interface FirDeclarationBuilder { interface FirDeclarationBuilder {
abstract var source: FirSourceElement? abstract var source: FirSourceElement?
abstract var session: FirSession abstract var declarationSiteSession: FirSession
abstract var resolvePhase: FirResolvePhase abstract var resolvePhase: FirResolvePhase
abstract var origin: FirDeclarationOrigin abstract var origin: FirDeclarationOrigin
abstract var attributes: FirDeclarationAttributes abstract var attributes: FirDeclarationAttributes
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl @FirBuilderDsl
class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder { class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
lateinit var session: FirSession lateinit var declarationSiteSession: 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 attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -56,7 +56,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirValueParameter { override fun build(): FirValueParameter {
return FirDefaultSetterValueParameter( return FirDefaultSetterValueParameter(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -36,7 +36,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
class FirEnumEntryBuilder : FirAnnotationContainerBuilder { class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
lateinit var session: FirSession lateinit var declarationSiteSession: 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 attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -53,7 +53,7 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
override fun build(): FirEnumEntry { override fun build(): FirEnumEntry {
return FirEnumEntryImpl( return FirEnumEntryImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl @FirBuilderDsl
class FirErrorFunctionBuilder : FirAnnotationContainerBuilder { class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
lateinit var session: FirSession lateinit var declarationSiteSession: 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 attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -47,7 +47,7 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
override fun build(): FirErrorFunction { override fun build(): FirErrorFunction {
return FirErrorFunctionImpl( return FirErrorFunctionImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -35,7 +35,7 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl @FirBuilderDsl
class FirErrorPropertyBuilder : FirAnnotationContainerBuilder { class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
lateinit var session: FirSession lateinit var declarationSiteSession: 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 attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -48,7 +48,7 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
override fun build(): FirErrorProperty { override fun build(): FirErrorProperty {
return FirErrorPropertyImpl( return FirErrorPropertyImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder { open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -57,7 +57,7 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
override fun build(): FirField { override fun build(): FirField {
return FirFieldImpl( return FirFieldImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.name.FqName
@FirBuilderDsl @FirBuilderDsl
class FirFileBuilder : FirAnnotationContainerBuilder { class FirFileBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
lateinit var session: FirSession lateinit var declarationSiteSession: 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 attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -42,7 +42,7 @@ class FirFileBuilder : FirAnnotationContainerBuilder {
override fun build(): FirFile { override fun build(): FirFile {
return FirFileImpl( return FirFileImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.visitors.*
@FirBuilderDsl @FirBuilderDsl
interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder { interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
abstract override var source: FirSourceElement? abstract override var source: FirSourceElement?
abstract override var session: FirSession abstract override var declarationSiteSession: FirSession
abstract override var resolvePhase: FirResolvePhase abstract override var resolvePhase: FirResolvePhase
abstract override var origin: FirDeclarationOrigin abstract override var origin: FirDeclarationOrigin
abstract override var attributes: FirDeclarationAttributes abstract override var attributes: FirDeclarationAttributes
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder { class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -56,7 +56,7 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
override fun build(): FirConstructor { override fun build(): FirConstructor {
return FirPrimaryConstructor( return FirPrimaryConstructor(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder { class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -60,7 +60,7 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
override fun build(): FirPropertyAccessor { override fun build(): FirPropertyAccessor {
return FirPropertyAccessorImpl( return FirPropertyAccessorImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -95,7 +95,7 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
} }
val copyBuilder = FirPropertyAccessorBuilder() val copyBuilder = FirPropertyAccessorBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.declarationSideSession copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -64,7 +64,7 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
override fun build(): FirProperty { override fun build(): FirProperty {
return FirPropertyImpl( return FirPropertyImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -104,7 +104,7 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
} }
val copyBuilder = FirPropertyBuilder() val copyBuilder = FirPropertyBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.declarationSideSession copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
@@ -37,7 +37,7 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl @FirBuilderDsl
open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder { open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -55,7 +55,7 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
override fun build(): FirRegularClass { override fun build(): FirRegularClass {
return FirRegularClassImpl( return FirRegularClassImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -89,7 +89,7 @@ inline fun buildRegularClassCopy(original: FirRegularClass, init: FirRegularClas
} }
val copyBuilder = FirRegularClassBuilder() val copyBuilder = FirRegularClassBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.session copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
@FirBuilderDsl @FirBuilderDsl
open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -60,7 +60,7 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
override fun build(): FirSimpleFunction { override fun build(): FirSimpleFunction {
return FirSimpleFunctionImpl( return FirSimpleFunctionImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -96,7 +96,7 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
} }
val copyBuilder = FirSimpleFunctionBuilder() val copyBuilder = FirSimpleFunctionBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.declarationSideSession copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl @FirBuilderDsl
class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder { class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
override lateinit var session: FirSession override lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -47,7 +47,7 @@ class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder
override fun build(): FirTypeAlias { override fun build(): FirTypeAlias {
return FirTypeAliasImpl( return FirTypeAliasImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -77,7 +77,7 @@ inline fun buildTypeAliasCopy(original: FirTypeAlias, init: FirTypeAliasBuilder.
} }
val copyBuilder = FirTypeAliasBuilder() val copyBuilder = FirTypeAliasBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.session copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.types.Variance
@FirBuilderDsl @FirBuilderDsl
class FirTypeParameterBuilder : FirAnnotationContainerBuilder { class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
lateinit var session: FirSession lateinit var declarationSiteSession: 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 attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -44,7 +44,7 @@ class FirTypeParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirTypeParameter { override fun build(): FirTypeParameter {
return FirTypeParameterImpl( return FirTypeParameterImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.name.Name
@FirBuilderDsl @FirBuilderDsl
open class FirValueParameterBuilder : FirAnnotationContainerBuilder { open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
override var source: FirSourceElement? = null override var source: FirSourceElement? = null
open lateinit var session: FirSession open lateinit var declarationSiteSession: 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 var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
@@ -49,7 +49,7 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
override fun build(): FirValueParameter { override fun build(): FirValueParameter {
return FirValueParameterImpl( return FirValueParameterImpl(
source, source,
session, declarationSiteSession,
resolvePhase, resolvePhase,
origin, origin,
attributes, attributes,
@@ -81,7 +81,7 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
} }
val copyBuilder = FirValueParameterBuilder() val copyBuilder = FirValueParameterBuilder()
copyBuilder.source = original.source copyBuilder.source = original.source
copyBuilder.session = original.declarationSideSession copyBuilder.declarationSiteSession = original.declarationSiteSession
copyBuilder.resolvePhase = original.resolvePhase copyBuilder.resolvePhase = original.resolvePhase
copyBuilder.origin = original.origin copyBuilder.origin = original.origin
copyBuilder.attributes = original.attributes.copy() copyBuilder.attributes = original.attributes.copy()
@@ -36,7 +36,7 @@ fun FirRegularClassBuilder.generateValuesFunction(
declarations += buildSimpleFunction { declarations += buildSimpleFunction {
source = sourceElement source = sourceElement
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
this.session = session declarationSiteSession = session
returnTypeRef = buildResolvedTypeRef { returnTypeRef = buildResolvedTypeRef {
source = sourceElement source = sourceElement
type = ConeClassLikeTypeImpl( type = ConeClassLikeTypeImpl(
@@ -67,7 +67,7 @@ fun FirRegularClassBuilder.generateValueOfFunction(
declarations += buildSimpleFunction { declarations += buildSimpleFunction {
source = sourceElement source = sourceElement
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
this.session = session declarationSiteSession = session
returnTypeRef = buildResolvedTypeRef { returnTypeRef = buildResolvedTypeRef {
source = sourceElement source = sourceElement
type = ConeClassLikeTypeImpl( type = ConeClassLikeTypeImpl(
@@ -85,7 +85,7 @@ fun FirRegularClassBuilder.generateValueOfFunction(
valueParameters += buildValueParameter vp@{ valueParameters += buildValueParameter vp@{
source = sourceElement source = sourceElement
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
this@vp.session = session declarationSiteSession = session
returnTypeRef = FirImplicitStringTypeRef(source) returnTypeRef = FirImplicitStringTypeRef(source)
name = VALUE name = VALUE
this@vp.symbol = FirVariableSymbol(VALUE) this@vp.symbol = FirVariableSymbol(VALUE)
@@ -24,12 +24,12 @@ import org.jetbrains.kotlin.fir.types.coneTypeSafe
fun FirTypeParameterBuilder.addDefaultBoundIfNecessary(isFlexible: Boolean = false) { fun FirTypeParameterBuilder.addDefaultBoundIfNecessary(isFlexible: Boolean = false) {
if (bounds.isEmpty()) { if (bounds.isEmpty()) {
val type = if (isFlexible) { val type = if (isFlexible) {
val session = this.session val session = declarationSiteSession
buildResolvedTypeRef { buildResolvedTypeRef {
type = ConeFlexibleType(session.builtinTypes.anyType.type, session.builtinTypes.nullableAnyType.type) type = ConeFlexibleType(session.builtinTypes.anyType.type, session.builtinTypes.nullableAnyType.type)
} }
} else { } else {
session.builtinTypes.nullableAnyType declarationSiteSession.builtinTypes.nullableAnyType
} }
bounds += type bounds += type
} }
@@ -112,7 +112,7 @@ class FirDefaultPropertySetter(
valueParameters = mutableListOf( valueParameters = mutableListOf(
buildDefaultSetterValueParameter builder@{ buildDefaultSetterValueParameter builder@{
this@builder.source = source this@builder.source = source
this@builder.session = session this@builder.declarationSiteSession = session
this@builder.origin = origin this@builder.origin = origin
this@builder.returnTypeRef = propertyTypeRef this@builder.returnTypeRef = propertyTypeRef
this@builder.symbol = FirVariableSymbol(CallableId(FqName.ROOT, Name.special("<default-setter-parameter>"))) this@builder.symbol = FirVariableSymbol(CallableId(FqName.ROOT, Name.special("<default-setter-parameter>")))
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
class FirSyntheticPropertyBuilder { class FirSyntheticPropertyBuilder {
lateinit var session: FirSession lateinit var declarationSiteSession: FirSession
lateinit var name: Name lateinit var name: Name
lateinit var symbol: FirAccessorSymbol lateinit var symbol: FirAccessorSymbol
lateinit var delegateGetter: FirSimpleFunction lateinit var delegateGetter: FirSimpleFunction
@@ -24,7 +24,7 @@ class FirSyntheticPropertyBuilder {
var delegateSetter: FirSimpleFunction? = null var delegateSetter: FirSimpleFunction? = null
fun build(): FirSyntheticProperty = FirSyntheticProperty( fun build(): FirSyntheticProperty = FirSyntheticProperty(
session, name, isVar = delegateSetter != null, symbol = symbol, declarationSiteSession, name, isVar = delegateSetter != null, symbol = symbol,
status = status ?: delegateGetter.status, status = status ?: delegateGetter.status,
resolvePhase = delegateGetter.resolvePhase, resolvePhase = delegateGetter.resolvePhase,
getter = FirSyntheticPropertyAccessor(delegateGetter, isGetter = true), getter = FirSyntheticPropertyAccessor(delegateGetter, isGetter = true),
@@ -75,7 +75,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
} }
declaration.configure { declaration.configure {
+field("session", firSessionType) +field("declarationSiteSession", firSessionType)
+field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true } +field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true }
+field("origin", declarationOriginType) +field("origin", declarationOriginType)
+field("attributes", declarationAttributesType) +field("attributes", declarationAttributesType)
@@ -131,7 +131,7 @@ object DeclarationCopyBuilder {
) { ) {
resolvePhase = minOf(originalDeclaration.resolvePhase, FirResolvePhase.DECLARATIONS) resolvePhase = minOf(originalDeclaration.resolvePhase, FirResolvePhase.DECLARATIONS)
source = builtDeclaration.source source = builtDeclaration.source
session = state.rootModuleSession declarationSiteSession = state.rootModuleSession
} }
internal inline fun <reified T : FirDeclaration> createCopy( internal inline fun <reified T : FirDeclaration> createCopy(
@@ -139,8 +139,8 @@ object DeclarationCopyBuilder {
originalFirDeclaration: T, originalFirDeclaration: T,
): T { ): T {
return RawFirFragmentForLazyBodiesBuilder.build( return RawFirFragmentForLazyBodiesBuilder.build(
session = originalFirDeclaration.session, session = originalFirDeclaration.declarationSiteSession,
baseScopeProvider = originalFirDeclaration.session.firIdeProvider.kotlinScopeProvider, baseScopeProvider = originalFirDeclaration.declarationSiteSession.firIdeProvider.kotlinScopeProvider,
designation = originalFirDeclaration.collectDesignation().fullDesignation, designation = originalFirDeclaration.collectDesignation().fullDesignation,
declaration = fakeKtDeclaration declaration = fakeKtDeclaration
) as T ) as T
@@ -156,4 +156,4 @@ object DeclarationCopyBuilder {
} }
}) })
} }
} }
@@ -40,7 +40,7 @@ class AllOpenMemberGenerator(session: FirSession) : FirDeclarationGenerationExte
val owner = owners.last() as? FirRegularClass ?: return emptyList() val owner = owners.last() as? FirRegularClass ?: return emptyList()
val propertyName = annotatedDeclaration.name.identifier val propertyName = annotatedDeclaration.name.identifier
val function = buildSimpleFunction { val function = buildSimpleFunction {
session = this@AllOpenMemberGenerator.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Plugin(key) origin = FirDeclarationOrigin.Plugin(key)
returnTypeRef = annotatedDeclaration.returnTypeRef returnTypeRef = annotatedDeclaration.returnTypeRef
@@ -37,7 +37,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
): List<GeneratedDeclaration<FirRegularClass>> { ): List<GeneratedDeclaration<FirRegularClass>> {
val owner = annotatedDeclaration as? FirRegularClass ?: return emptyList() val owner = annotatedDeclaration as? FirRegularClass ?: return emptyList()
val newClass = buildRegularClass { val newClass = buildRegularClass {
session = this@AllOpenNestedClassGenerator.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Plugin(key) origin = FirDeclarationOrigin.Plugin(key)
status = FirResolvedDeclarationStatusImpl( status = FirResolvedDeclarationStatusImpl(
@@ -60,7 +60,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
val classId = klass.symbol.classId val classId = klass.symbol.classId
val constructor = buildConstructor { val constructor = buildConstructor {
session = klass.declarationSiteSession declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Plugin(key) origin = FirDeclarationOrigin.Plugin(key)
returnTypeRef = buildResolvedTypeRef { returnTypeRef = buildResolvedTypeRef {
@@ -75,7 +75,7 @@ class AllOpenNestedClassGenerator(session: FirSession) : FirDeclarationGeneratio
} }
val function = buildSimpleFunction { val function = buildSimpleFunction {
session = klass.declarationSiteSession declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Plugin(key) origin = FirDeclarationOrigin.Plugin(key)
returnTypeRef = session.builtinTypes.intType returnTypeRef = session.builtinTypes.intType
@@ -35,7 +35,7 @@ class AllOpenRecursiveNestedClassGenerator(session: FirSession) : FirDeclaration
if (owners.size > 2) return emptyList() if (owners.size > 2) return emptyList()
val owner = annotatedDeclaration as? FirRegularClass ?: return emptyList() val owner = annotatedDeclaration as? FirRegularClass ?: return emptyList()
val newClass = buildRegularClass { val newClass = buildRegularClass {
session = this@AllOpenRecursiveNestedClassGenerator.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Plugin(key) origin = FirDeclarationOrigin.Plugin(key)
status = FirResolvedDeclarationStatusImpl( status = FirResolvedDeclarationStatusImpl(
@@ -33,7 +33,7 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
val file = owners.first() as FirFile val file = owners.first() as FirFile
val klass = annotatedDeclaration as? FirRegularClass ?: return emptyList() val klass = annotatedDeclaration as? FirRegularClass ?: return emptyList()
val newClass = buildRegularClass { val newClass = buildRegularClass {
session = this@AllOpenTopLevelDeclarationsGenerator.session declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Plugin(key) origin = FirDeclarationOrigin.Plugin(key)
status = FirResolvedDeclarationStatusImpl( status = FirResolvedDeclarationStatusImpl(
@@ -52,7 +52,7 @@ class AllOpenTopLevelDeclarationsGenerator(session: FirSession) : FirDeclaration
override fun generateMembersForGeneratedClass(generatedClass: GeneratedClass): List<FirDeclaration> { override fun generateMembersForGeneratedClass(generatedClass: GeneratedClass): List<FirDeclaration> {
val klass = generatedClass.klass val klass = generatedClass.klass
val function = buildSimpleFunction { val function = buildSimpleFunction {
session = klass.declarationSiteSession declarationSiteSession = session
resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
origin = FirDeclarationOrigin.Plugin(key) origin = FirDeclarationOrigin.Plugin(key)
returnTypeRef = session.builtinTypes.intType returnTypeRef = session.builtinTypes.intType