[IR] Make contextReceiverParametersCount abstract in IrFunction

This commit is contained in:
Anastasiya Shadrina
2021-10-27 19:01:42 +07:00
committed by TeamCityServer
parent 3a9cf042d7
commit d0794e6741
10 changed files with 20 additions and 3 deletions
@@ -97,6 +97,8 @@ class Fir2IrLazyConstructor(
error("Mutating Fir2Ir lazy elements is not possible")
}
override var contextReceiverParametersCount: Int = 0
override var valueParameters: List<IrValueParameter> by lazyVar(lock) {
declarationStorage.enterScope(this)
fir.valueParameters.mapIndexed { index, valueParameter ->
@@ -73,6 +73,8 @@ class Fir2IrLazyPropertyAccessor(
}
}
override var contextReceiverParametersCount: Int = 0
override var valueParameters: List<IrValueParameter> by lazyVar(lock) {
if (!isSetter) emptyList()
else {
@@ -61,6 +61,8 @@ class Fir2IrLazySimpleFunction(
}
}
override var contextReceiverParametersCount: Int = 0
override var valueParameters: List<IrValueParameter> by lazyVar(lock) {
declarationStorage.enterScope(this)
fir.valueParameters.mapIndexed { index, valueParameter ->
@@ -62,6 +62,7 @@ class IrConstructorImpl(
override var dispatchReceiverParameter: IrValueParameter? = null
override var extensionReceiverParameter: IrValueParameter? = null
override var contextReceiverParametersCount: Int = 0
override var valueParameters: List<IrValueParameter> = emptyList()
override var body: IrBody? = null
@@ -54,6 +54,8 @@ abstract class IrFunctionCommonImpl(
override var extensionReceiverParameter: IrValueParameter? = null
override var valueParameters: List<IrValueParameter> = emptyList()
override var contextReceiverParametersCount: Int = 0
override var body: IrBody? = null
override var metadata: MetadataSource? = null
@@ -168,6 +168,8 @@ internal class PersistentIrConstructor(
}
}
override var contextReceiverParametersCount: Int = 0
override var metadata: MetadataSource? = null
override var visibilityField: DescriptorVisibility = visibility
@@ -152,6 +152,8 @@ internal abstract class PersistentIrFunctionCommon(
}
}
override var contextReceiverParametersCount: Int = 0
override var bodyField: IrBody? = null
override var body: IrBody?
@@ -46,12 +46,12 @@ abstract class IrFunction :
abstract var extensionReceiverParameter: IrValueParameter?
abstract var valueParameters: List<IrValueParameter>
abstract var body: IrBody?
/**
* The first `contextReceiverParametersCount` value parameters are context receivers
*/
var contextReceiverParametersCount: Int = 0
abstract var contextReceiverParametersCount: Int
abstract var body: IrBody?
override fun <D> acceptChildren(visitor: IrElementVisitor<Unit, D>, data: D) {
typeParameters.forEach { it.accept(visitor, data) }
@@ -89,6 +89,8 @@ class IrLazyConstructor(
override var valueParameters: List<IrValueParameter> by lazyVar(stubGenerator.lock) { createValueParameters() }
override var contextReceiverParametersCount: Int = descriptor.contextReceiverParameters.size
override var metadata: MetadataSource?
get() = null
set(_) = error("We should never need to store metadata of external declarations.")
@@ -71,6 +71,8 @@ class IrLazyFunction(
if (tryLoadIr()) valueParameters else createValueParameters()
}
override var contextReceiverParametersCount: Int = descriptor.contextReceiverParameters.size
override var metadata: MetadataSource?
get() = null
set(_) = error("We should never need to store metadata of external declarations.")