[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
@@ -86,7 +86,8 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
PROPERTY name:test7 visibility:public modality:FINAL [delegated,val]
FIELD DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]
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 <> ($this:<root>.C) returnType:kotlin.Int
$this: VALUE_PARAMETER name:<this> type:<root>.C
@@ -97,14 +98,17 @@ FILE fqName:<root> fileName:/classLevelProperties.kt
$this: VALUE_PARAMETER name:<this> type:<root>.C
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test7> (): kotlin.Int declared in <root>.C'
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:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' type=kotlin.Lazy<kotlin.Int> origin=GET_PROPERTY
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test7: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' getter='public final fun <get-test7> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty<*> origin=null
PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
FIELD DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final]
EXPRESSION_BODY
CALL 'public final fun hashMapOf (): java.util.HashMap<K of <uninitialized parent>, V of <uninitialized parent>> [inline] declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.hashMapOf, V of kotlin.collections.hashMapOf> [inline] declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
<K>: kotlin.String
<V>: kotlin.Int
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> ($this:<root>.C) returnType:IrErrorType
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
$this: VALUE_PARAMETER name:<this> type:<root>.C
@@ -2,7 +2,8 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
PROPERTY name:test1 visibility:public modality:FINAL [delegated,val]
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
@@ -11,7 +12,8 @@ FILE fqName:<root> fileName:/delegatedProperties.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
@@ -36,7 +38,8 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
PROPERTY name:test2 visibility:public modality:FINAL [delegated,val]
FIELD DELEGATE name:test2$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]
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 <> ($this:<root>.C) returnType:kotlin.Int
$this: VALUE_PARAMETER name:<this> type:<root>.C
@@ -47,7 +50,8 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
$this: VALUE_PARAMETER name:<this> type:<root>.C
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test2> (): kotlin.Int declared in <root>.C'
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:test2$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' type=kotlin.Lazy<kotlin.Int> origin=GET_PROPERTY
thisRef: GET_VAR '<this>: <root>.C declared in <root>.C' type=<root>.C origin=null
property: PROPERTY_REFERENCE 'public final test2: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test2$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final]' getter='public final fun <get-test2> (): kotlin.Int declared in <root>.C' setter=null type=kotlin.reflect.KProperty<*> origin=null
@@ -88,7 +92,9 @@ FILE fqName:<root> fileName:/delegatedProperties.kt
PROPERTY name:test4 visibility:public modality:FINAL [delegated,var]
FIELD DELEGATE name:test4$delegate type:java.util.HashMap<kotlin.String, kotlin.Any> visibility:private [final,static]
EXPRESSION_BODY
CALL 'public final fun hashMapOf (): java.util.HashMap<K of <uninitialized parent>, V of <uninitialized parent>> [inline] declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.hashMapOf, V of kotlin.collections.hashMapOf> [inline] declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Any> origin=null
<K>: kotlin.String
<V>: kotlin.Any
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test4> visibility:public modality:FINAL <> () returnType:IrErrorType
correspondingProperty: PROPERTY name:test4 visibility:public modality:FINAL [delegated,var]
BLOCK_BODY
@@ -38,7 +38,7 @@ FILE fqName:<root> fileName:/fakeOverrides.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:CFoo modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.CFoo
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.CFoo<T of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -1,13 +0,0 @@
FILE fqName:<root> fileName:/kt27005.kt
FUN name:foo visibility:public modality:FINAL <> () returnType:kotlin.Unit [suspend]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.Unit [suspend] declared in <root>'
CALL 'public final fun baz <T> (): T of <root>.baz [suspend] declared in <root>' type=kotlin.Unit origin=null
FUN name:bar visibility:public modality:FINAL <> () returnType:kotlin.Any [suspend]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun bar (): kotlin.Any [suspend] declared in <root>'
CALL 'public final fun baz <T> (): T of <root>.baz [suspend] declared in <root>' type=kotlin.Any origin=null
FUN name:baz visibility:public modality:FINAL <T> () returnType:T of <root>.baz [suspend]
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
BLOCK_BODY
CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin' type=kotlin.Nothing origin=null
+1
View File
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
suspend fun foo() = baz<Unit>()
suspend fun bar() = baz<Any>()
suspend fun <T> baz(): T {
@@ -65,7 +65,8 @@ FILE fqName:<root> fileName:/packageLevelProperties.kt
PROPERTY name:test7 visibility:public modality:FINAL [delegated,val]
FIELD DELEGATE name:test7$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
@@ -74,14 +75,17 @@ FILE fqName:<root> fileName:/packageLevelProperties.kt
correspondingProperty: PROPERTY name:test7 visibility:public modality:FINAL [delegated,val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test7> (): 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:test7$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 test7: kotlin.Int [delegated,val]' field='FIELD DELEGATE name:test7$delegate type:kotlin.Lazy<kotlin.Int> visibility:private [final,static]' getter='public final fun <get-test7> (): kotlin.Int declared in <root>' setter=null type=kotlin.reflect.KProperty<*> origin=null
PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
FIELD DELEGATE name:test8$delegate type:java.util.HashMap<kotlin.String, kotlin.Int> visibility:private [final,static]
EXPRESSION_BODY
CALL 'public final fun hashMapOf (): java.util.HashMap<K of <uninitialized parent>, V of <uninitialized parent>> [inline] declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
CALL 'public final fun hashMapOf <K, V> (): java.util.HashMap<K of kotlin.collections.hashMapOf, V of kotlin.collections.hashMapOf> [inline] declared in kotlin.collections' type=java.util.HashMap<kotlin.String, kotlin.Int> origin=null
<K>: kotlin.String
<V>: kotlin.Int
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-test8> visibility:public modality:FINAL <> () returnType:IrErrorType
correspondingProperty: PROPERTY name:test8 visibility:public modality:FINAL [delegated,var]
BLOCK_BODY
@@ -1,10 +1,10 @@
FILE fqName:<root> fileName:/class.kt
CLASS INTERFACE name:TestInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestInterface
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CLASS INTERFACE name:TestNestedInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestInterface.TestNestedInterface
TYPE_PARAMETER name:TT index:0 variance: superTypes:[]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
@@ -33,14 +33,14 @@ FILE fqName:<root> fileName:/class.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test
TYPE_PARAMETER name:T0 index:0 variance: superTypes:[]
TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Test<T0 of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[kotlin.Any]'
CLASS CLASS name:TestNested modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test.TestNested
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[]
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Test.TestNested<T1 of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -60,7 +60,7 @@ FILE fqName:<root> fileName:/class.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test.TestInner
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[]
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Test.TestInner<T2 of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -1,8 +1,8 @@
FILE fqName:<root> fileName:/constructor.kt
CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[]
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T1 of <uninitialized parent>, y:T2 of <uninitialized parent>) returnType:<root>.Test1<T1 of <uninitialized parent>, T2 of <uninitialized parent>> [primary]
VALUE_PARAMETER name:x index:0 type:T1 of <uninitialized parent>
VALUE_PARAMETER name:y index:1 type:T2 of <uninitialized parent>
@@ -65,7 +65,7 @@ FILE fqName:<root> fileName:/constructor.kt
receiver: GET_VAR '<this>: <root>.Test2 declared in <root>.Test2.<get-y>' type=<root>.Test2 origin=null
CLASS CLASS name:TestInner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2.TestInner
TYPE_PARAMETER name:Z index:0 variance: superTypes:[]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (z:Z of <uninitialized parent>) returnType:<root>.Test2.TestInner<Z of <uninitialized parent>> [primary]
VALUE_PARAMETER name:z index:0 type:Z of <uninitialized parent>
BLOCK_BODY
@@ -162,7 +162,7 @@ FILE fqName:<root> fileName:/constructor.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:Test4 modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test4
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test4<T of <uninitialized parent>> [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/dataClassMembers.kt
CLASS CLASS name:Test modality:FINAL visibility:public [data] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T of <uninitialized parent>, y:kotlin.String) returnType:<root>.Test<T of <uninitialized parent>> [primary]
VALUE_PARAMETER name:x index:0 type:T of <uninitialized parent>
VALUE_PARAMETER name:y index:1 type:kotlin.String
@@ -74,7 +74,7 @@ FILE fqName:<root> fileName:/defaultPropertyAccessors.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.InPrimaryCtor
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T of <uninitialized parent>, testInPrimaryCtor2:kotlin.Int) returnType:<root>.InPrimaryCtor<T of <uninitialized parent>> [primary]
VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T of <uninitialized parent>
VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/delegatedMembers.kt
CLASS INTERFACE name:IBase modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IBase
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IBase, x:kotlin.Int) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
VALUE_PARAMETER name:x index:0 type:kotlin.Int
@@ -10,7 +10,7 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
correspondingProperty: PROPERTY name:bar visibility:public modality:ABSTRACT [val]
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
FUN name:qux visibility:public modality:ABSTRACT <X> ($this:<root>.IBase, t:T of <root>.IBase, x:X of <root>.IBase.qux) returnType:kotlin.Unit
TYPE_PARAMETER name:X index:0 variance: superTypes:[]
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
VALUE_PARAMETER name:t index:0 type:T of <root>.IBase
VALUE_PARAMETER name:x index:1 type:X of <root>.IBase.qux
@@ -29,7 +29,7 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:Test modality:FINAL visibility:public superTypes:[<root>.IBase<TT of <root>.Test>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test
TYPE_PARAMETER name:TT index:0 variance: superTypes:[]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (impl:<root>.IBase<TT of <uninitialized parent>>) returnType:<root>.Test<TT of <uninitialized parent>> [primary]
VALUE_PARAMETER name:impl index:0 type:<root>.IBase<TT of <uninitialized parent>>
BLOCK_BODY
@@ -1,6 +1,6 @@
FILE fqName:<root> fileName:/fun.kt
FUN name:test1 visibility:public modality:FINAL <T> (i:kotlin.Int, j:T of <root>.test1) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
VALUE_PARAMETER name:i index:0 type:kotlin.Int
VALUE_PARAMETER name:j index:1 type:T of <root>.test1
BLOCK_BODY
@@ -33,7 +33,7 @@ FILE fqName:<root> fileName:/fun.kt
VALUE_PARAMETER name:j index:1 type:kotlin.String
BLOCK_BODY
FUN name:testMembetExt2 visibility:public modality:FINAL <T> ($this:<root>.Host, $receiver:kotlin.String, i:kotlin.Int, j:T of <root>.Host.testMembetExt2) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$receiver: VALUE_PARAMETER name:<this> type:kotlin.String
VALUE_PARAMETER name:i index:0 type:kotlin.Int
@@ -1,14 +1,14 @@
FILE fqName:<root> fileName:/genericInnerClass.kt
CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[]
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer<T1 of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Outer modality:FINAL visibility:public superTypes:[kotlin.Any]'
CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.Inner
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[]
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer.Inner<T2 of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -1,9 +1,9 @@
FILE fqName:<root> fileName:/localFun.kt
FUN name:outer visibility:public modality:FINAL <TT> () returnType:kotlin.Unit
TYPE_PARAMETER name:TT index:0 variance: superTypes:[]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
BLOCK_BODY
FUN name:test1 visibility:local modality:FINAL <T> (i:kotlin.Int, j:T of <root>.outer.test1) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
VALUE_PARAMETER name:i index:0 type:kotlin.Int
VALUE_PARAMETER name:j index:1 type:T of <root>.outer.test1
BLOCK_BODY
@@ -49,7 +49,7 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
BLOCK_BODY
CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Host<T of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -1,8 +1,8 @@
FILE fqName:<root> fileName:/typeParameterBeforeBound.kt
CLASS CLASS name:Test1 modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:U index:1 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.Test1]
TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Test1<T of <uninitialized parent>, U of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -21,8 +21,8 @@ FILE fqName:<root> fileName:/typeParameterBeforeBound.kt
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:test2 visibility:public modality:FINAL <T, U> () returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:U index:1 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.test2]
TYPE_PARAMETER name:U index:0 variance: superTypes:[kotlin.Any?]
BLOCK_BODY
PROPERTY name:test3 visibility:public modality:FINAL [var]
FUN name:<get-test3> visibility:public modality:FINAL <> () returnType:kotlin.Unit
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/typeParameterBoundedBySubclass.kt
CLASS CLASS name:Base1 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base1
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived1]
CONSTRUCTOR visibility:public <> () returnType:<root>.Base1<T of <uninitialized parent>> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -46,7 +46,7 @@ FILE fqName:<root> fileName:/typeParameterBoundedBySubclass.kt
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base2 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]'
FUN name:foo visibility:public modality:FINAL <T> ($this:<root>.Base2, x:T of <root>.Base2.foo) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[]
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived2]
$this: VALUE_PARAMETER name:<this> type:<root>.Base2
VALUE_PARAMETER name:x index:0 type:T of <root>.Base2.foo
BLOCK_BODY