IR: mark interface delegate fields as synthetic

This requires separating them origin-wise from property delegates.
This commit is contained in:
pyos
2020-01-20 14:26:46 +01:00
committed by Dmitry Petrov
parent ce1f746c5e
commit f1669e2230
31 changed files with 125 additions and 124 deletions
@@ -92,7 +92,7 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test6 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test6>' type=<root>.C origin=null
PROPERTY name:test7 visibility:public modality:FINAL [delegated,val]
FIELD DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]
FIELD PROPERTY_DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]
EXPRESSION_BODY
CALL 'public final fun lazy <T> (initializer: kotlin.Function0<T of kotlin.lazy>): kotlin.Lazy<T of kotlin.lazy> declared in kotlin' type=kotlin.Lazy<kotlin.Int> origin=null
<T>: kotlin.Int
@@ -108,12 +108,12 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
RETURN type=kotlin.Nothing from='public final fun <get-test7> (): kotlin.Int declared in <root>.C'
CALL 'public final fun getValue <T> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline,operator] declared in kotlin' type=kotlin.Int origin=null
<T>: kotlin.Int
$receiver: GET_FIELD 'FIELD DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' type=kotlin.Lazy<kotlin.Int> origin=null
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' type=kotlin.Lazy<kotlin.Int> origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test7>' type=<root>.C origin=null
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test7>' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field=null getter='public final fun <get-test7> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
FIELD DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } visibility:private [final]
FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } visibility:private [final]
EXPRESSION_BODY
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.hashMapOf, V of kotlin.collections.hashMapOf>{ kotlin.collections.HashMap<K of kotlin.collections.hashMapOf, V of kotlin.collections.hashMapOf> } [inline] declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } origin=null
<K>: kotlin.String
@@ -126,7 +126,7 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
CALL 'public final fun getValue <V, V1> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): V1 of kotlin.collections.getValue [inline,operator] declared in kotlin.collections' type=kotlin.Int origin=null
<V>: kotlin.Int
<V1>: kotlin.Int
$receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } origin=null
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<get-test8>' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>.C' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE
@@ -138,7 +138,7 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
RETURN type=kotlin.Nothing from='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.C'
CALL 'public final fun setValue <V> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>, value: V of kotlin.collections.setValue): kotlin.Unit [inline,operator] declared in kotlin.collections' type=kotlin.Unit origin=null
<V>: kotlin.Int
$receiver: GET_FIELD 'FIELD DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } origin=null
$receiver: GET_FIELD 'FIELD PROPERTY_DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } visibility:private [final]' type=java.util.HashMap<kotlin.String, kotlin.Int>{ kotlin.collections.HashMap<kotlin.String, kotlin.Int> } origin=null
receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C.<set-test8>' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test8: kotlin.Int [delegated,var]' field=null getter='public final fun <get-test8> (): kotlin.Int declared in <root>.C' setter='public final fun <set-test8> (<set-?>: kotlin.Int): kotlin.Unit declared in <root>.C' type=kotlin.reflect.KMutableProperty1<<root>.C, kotlin.Int> origin=PROPERTY_REFERENCE_FOR_DELEGATE