[FIR] FIR2IR: Populate calls with type arguments and function type

parameters with bounds/supertypes.
This commit is contained in:
Mark Punzalan
2019-11-23 23:37:35 -08:00
committed by Mikhail Glukhikh
parent 58dd9a6004
commit 5afab1ac2b
125 changed files with 379 additions and 341 deletions
@@ -49,7 +49,7 @@ FILE fqName:<root> fileName:/classLiteralInAnnotation.kt
FUN name:test1 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
FUN name:test2 visibility:public modality:FINAL <T> () returnType:<uninitialized parent>.<anonymous> [inline]
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun test2 <T> (): <uninitialized parent>.<anonymous> [inline] declared in <root>'
BLOCK type=<root>.test2.<no name provided> origin=OBJECT_LITERAL
@@ -20,7 +20,8 @@ FILE fqName:<root> fileName:/delegateFieldWithAnnotations.kt
Ann
FIELD DELEGATE name:test1$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final,static]
EXPRESSION_BODY
CALL 'public final fun lazy (initializer: kotlin.Function0<T of <uninitialized parent>>): kotlin.Lazy<T of <uninitialized parent>> declared in kotlin' type=kotlin.Lazy<kotlin.Int> origin=null
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
initializer: FUN_EXPR type=kotlin.Function0<kotlin.Int> origin=LAMBDA
FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int
BLOCK_BODY
@@ -29,7 +30,8 @@ FILE fqName:<root> fileName:/delegateFieldWithAnnotations.kt
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [delegated,val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test1> (): kotlin.Int declared in <root>'
CALL 'public final fun getValue (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of <uninitialized parent> [inline] declared in kotlin' type=kotlin.Int origin=null
CALL 'public final fun getValue <T> (thisRef: kotlin.Any?, property: kotlin.reflect.KProperty<*>): T of kotlin.getValue [inline] declared in kotlin' type=kotlin.Int origin=null
<T>: kotlin.Int
$receiver: GET_FIELD 'FIELD DELEGATE name:test1$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final,static]' type=kotlin.Lazy<kotlin.Int> origin=GET_PROPERTY
thisRef: CONST Null type=kotlin.Nothing? value=null
property: PROPERTY_REFERENCE 'public final test1: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test1$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final,static]' getter='public final fun <get-test1> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=null
@@ -18,5 +18,5 @@ FILE fqName:<root> fileName:/typeParametersWithAnnotations.kt
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:foo visibility:public modality:FINAL <T> () returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
BLOCK_BODY