[FIR] Fix all usages of declarationSiteSession

This commit is contained in:
Dmitriy Novozhilov
2021-04-29 17:44:07 +03:00
committed by TeamCityServer
parent a15316de24
commit 5cfa8694d4
177 changed files with 775 additions and 625 deletions
@@ -79,7 +79,7 @@ class FirMetadataSerializer(
val function = this
return buildAnonymousFunction {
val typeParameterSet = function.typeParameters.filterIsInstanceTo(mutableSetOf<FirTypeParameter>())
declarationSiteSession = function.declarationSiteSession
moduleData = function.moduleData
origin = FirDeclarationOrigin.Source
symbol = FirAnonymousFunctionSymbol()
returnTypeRef = function.returnTypeRef.approximated(toSuper = true, typeParameterSet)
@@ -98,7 +98,7 @@ class FirMetadataSerializer(
val accessor = this
return buildPropertyAccessor {
val typeParameterSet = accessor.typeParameters.toMutableSet()
declarationSiteSession = accessor.declarationSiteSession
moduleData = accessor.moduleData
origin = FirDeclarationOrigin.Source
returnTypeRef = accessor.returnTypeRef.approximated(toSuper = true, typeParameterSet)
symbol = FirPropertyAccessorSymbol()
@@ -118,7 +118,7 @@ class FirMetadataSerializer(
val property = this
return buildProperty {
val typeParameterSet = property.typeParameters.toMutableSet()
declarationSiteSession = property.declarationSiteSession
moduleData = property.moduleData
origin = FirDeclarationOrigin.Source
symbol = FirPropertySymbol(property.symbol.callableId)
returnTypeRef = property.returnTypeRef.approximated(toSuper = true, typeParameterSet)
@@ -739,7 +739,7 @@ class Fir2IrDeclarationStorage(
val field = this
return buildProperty {
source = field.source
declarationSiteSession = field.declarationSiteSession
moduleData = field.moduleData
origin = field.origin
returnTypeRef = field.returnTypeRef
name = field.name
@@ -574,7 +574,7 @@ class Fir2IrVisitor(
override fun visitElvisExpression(elvisExpression: FirElvisExpression, data: Any?): IrElement {
val firLhsVariable = buildProperty {
source = elvisExpression.source
declarationSiteSession = session
moduleData = session.moduleData
origin = FirDeclarationOrigin.Source
returnTypeRef = elvisExpression.lhs.typeRef
name = Name.special("<elvis>")
@@ -14,7 +14,7 @@ sealed class FirMetadataSource : MetadataSource {
abstract val fir: FirDeclaration
val declarationSiteSession: FirSession
get() = fir.declarationSiteSession
get() = fir.moduleData.session
override val name: Name?
get() = when (val fir = fir) {
@@ -16,8 +16,8 @@ import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction
import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
import org.jetbrains.kotlin.fir.moduleData
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
@@ -42,6 +42,7 @@ import org.jetbrains.kotlin.ir.types.classOrNull
import org.jetbrains.kotlin.ir.types.classifierOrNull
import org.jetbrains.kotlin.ir.util.*
import org.jetbrains.kotlin.ir.util.DataClassMembersGenerator
import org.jetbrains.kotlin.name.CallableId
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.util.OperatorNameConventions.EQUALS
import org.jetbrains.kotlin.util.OperatorNameConventions.TO_STRING
@@ -263,7 +264,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
this.name = name
this.symbol = FirNamedFunctionSymbol(CallableId(lookupTag.classId, name))
this.status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL)
declarationSiteSession = components.session
moduleData = components.session.moduleData
this.returnTypeRef = when (returnType) {
components.irBuiltIns.booleanType -> FirImplicitBooleanTypeRef(null)
components.irBuiltIns.intType -> FirImplicitIntTypeRef(null)
@@ -275,7 +276,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) {
buildValueParameter {
this.name = Name.identifier("other")
origin = FirDeclarationOrigin.Synthetic
declarationSiteSession = components.session
moduleData = components.session.moduleData
this.returnTypeRef = FirImplicitNullableAnyTypeRef(null)
this.symbol = FirVariableSymbol(this.name)
isCrossinline = false