[IR] Add isAssignable property to IrValueParameter.
Use it to check that only the value parameters that are explicitly marked assignable are assigned. Currently, the only parameters marked assignable are those for default argument stubs.
This commit is contained in:
committed by
Alexander Udalov
parent
8d791ca98e
commit
1f2ca606a5
+3
-2
@@ -235,10 +235,11 @@ object IrFactoryImpl : IrFactory {
|
||||
varargElementType: IrType?,
|
||||
isCrossinline: Boolean,
|
||||
isNoinline: Boolean,
|
||||
isHidden: Boolean
|
||||
isHidden: Boolean,
|
||||
isAssignable: Boolean,
|
||||
): IrValueParameter =
|
||||
IrValueParameterImpl(
|
||||
startOffset, endOffset, origin, symbol, name, index, type, varargElementType, isCrossinline, isNoinline, isHidden
|
||||
startOffset, endOffset, origin, symbol, name, index, type, varargElementType, isCrossinline, isNoinline, isHidden, isAssignable
|
||||
)
|
||||
|
||||
override fun createExpressionBody(
|
||||
|
||||
+2
-1
@@ -39,7 +39,8 @@ class IrValueParameterImpl(
|
||||
override var varargElementType: IrType?,
|
||||
override val isCrossinline: Boolean,
|
||||
override val isNoinline: Boolean,
|
||||
override val isHidden: Boolean = false
|
||||
override val isHidden: Boolean = false,
|
||||
override val isAssignable: Boolean = false
|
||||
) : IrValueParameter() {
|
||||
@ObsoleteDescriptorBasedAPI
|
||||
override val descriptor: ParameterDescriptor
|
||||
|
||||
Reference in New Issue
Block a user