[IR] Fix IrPropertyReference for delegated property

- Make sure that property CR passed to `getValue` doesn't have type
 arguments.
This commit is contained in:
Roman Artemev
2020-03-12 15:07:29 +03:00
committed by romanart
parent 34c17e2bed
commit 13a73b67de
2 changed files with 1 additions and 3 deletions
@@ -478,7 +478,7 @@ class ReflectionReferencesGenerator(statementGenerator: StatementGenerator) : St
return IrPropertyReferenceImpl(
startOffset, endOffset, type.toIrType(),
originalSymbol,
propertyDescriptor.typeParametersCount,
if (typeArguments != null) propertyDescriptor.typeParametersCount else 0,
getFieldForPropertyReference(originalProperty),
originalGetter?.let { context.symbolTable.referenceSimpleFunction(it) },
originalSetter?.let { context.symbolTable.referenceSimpleFunction(it) },
@@ -79,7 +79,6 @@ FILE fqName:<root> fileName:/genericPropertyRef.kt
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:additionalText$delegate type:<root>.DVal visibility:private [final,static]' type=<root>.DVal origin=null
t: GET_VAR '<this>: <root>.Value<T of <root>.<get-additionalText>> declared in <root>.<get-additionalText>' type=<root>.Value<T of <root>.<get-additionalText>> origin=null
p: PROPERTY_REFERENCE 'public final additionalText: kotlin.Int [delegated,val]' field=null getter='public final fun <get-additionalText> <T> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty1<<root>.Value<T of <root>.<get-additionalText>>, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
<1>: <none>
PROPERTY name:additionalValue visibility:public modality:FINAL [delegated,val]
FIELD PROPERTY_DELEGATE name:additionalValue$delegate type:<root>.DVal visibility:private [final,static]
EXPRESSION_BODY
@@ -95,7 +94,6 @@ FILE fqName:<root> fileName:/genericPropertyRef.kt
$this: GET_FIELD 'FIELD PROPERTY_DELEGATE name:additionalValue$delegate type:<root>.DVal visibility:private [final,static]' type=<root>.DVal origin=null
t: GET_VAR '<this>: <root>.Value<T of <root>.<get-additionalValue>> declared in <root>.<get-additionalValue>' type=<root>.Value<T of <root>.<get-additionalValue>> origin=null
p: PROPERTY_REFERENCE 'public final additionalValue: kotlin.Int [delegated,val]' field=null getter='public final fun <get-additionalValue> <T> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty1<<root>.Value<T of <root>.<get-additionalValue>>, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
<1>: <none>
CLASS CLASS name:DVal modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.DVal
CONSTRUCTOR visibility:public <> (kmember:kotlin.Any) returnType:<root>.DVal [primary]