FIR2IR: provide type arguments for class 'this' receiver

This commit is contained in:
Juan Chen
2020-02-08 05:13:34 +03:00
committed by Mikhail Glukhikh
parent df07b77271
commit 8e35545e10
69 changed files with 660 additions and 826 deletions
@@ -1,9 +1,9 @@
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestInterface<T of <root>.TestInterface>
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestInterface.TestNestedInterface<TT of <root>.TestInterface.TestNestedInterface>
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,operator]
overridden:
@@ -32,14 +32,14 @@ FILE fqName:<root> fileName:/class.kt
public open fun toString (): kotlin.String declared in kotlin.Any
$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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test<T0 of <root>.Test>
TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Test<T0 of <root>.Test> [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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test.TestNested<T1 of <root>.Test.TestNested>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Test.TestNested<T1 of <root>.Test.TestNested> [primary]
BLOCK_BODY
@@ -59,7 +59,7 @@ FILE fqName:<root> fileName:/class.kt
public open fun toString (): kotlin.String declared in kotlin.Any
$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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test.TestInner<T2 of <root>.Test.TestInner>
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Test.TestInner<T2 of <root>.Test.TestInner> [primary]
BLOCK_BODY
@@ -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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T1 of <root>.Test1, y:T2 of <root>.Test1) returnType:<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1> [primary]
VALUE_PARAMETER name:x index:0 type:T1 of <root>.Test1
VALUE_PARAMETER name:y index:1 type:T2 of <root>.Test1
@@ -13,24 +13,24 @@ FILE fqName:<root> fileName:/constructor.kt
FIELD PROPERTY_BACKING_FIELD name:x type:T1 of <root>.Test1 visibility:private [final]
EXPRESSION_BODY
GET_VAR 'x: T1 of <root>.Test1 declared in <root>.Test1.<init>' type=T1 of <root>.Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Test1) returnType:T1 of <root>.Test1
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1>) returnType:T1 of <root>.Test1
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Test1
$this: VALUE_PARAMETER name:<this> type:<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-x> (): T1 of <root>.Test1 declared in <root>.Test1'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T1 of <root>.Test1 visibility:private [final]' type=T1 of <root>.Test1 origin=null
receiver: GET_VAR '<this>: <root>.Test1 declared in <root>.Test1.<get-x>' type=<root>.Test1 origin=null
receiver: GET_VAR '<this>: <root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1> declared in <root>.Test1.<get-x>' type=<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1> origin=null
PROPERTY name:y visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:y type:T2 of <root>.Test1 visibility:private [final]
EXPRESSION_BODY
GET_VAR 'y: T2 of <root>.Test1 declared in <root>.Test1.<init>' type=T2 of <root>.Test1 origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:<root>.Test1) returnType:T2 of <root>.Test1
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1>) returnType:T2 of <root>.Test1
correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Test1
$this: VALUE_PARAMETER name:<this> type:<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-y> (): T2 of <root>.Test1 declared in <root>.Test1'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:T2 of <root>.Test1 visibility:private [final]' type=T2 of <root>.Test1 origin=null
receiver: GET_VAR '<this>: <root>.Test1 declared in <root>.Test1.<get-y>' type=<root>.Test1 origin=null
receiver: GET_VAR '<this>: <root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1> declared in <root>.Test1.<get-y>' type=<root>.Test1<T1 of <root>.Test1, T2 of <root>.Test1> origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
@@ -64,7 +64,7 @@ FILE fqName:<root> fileName:/constructor.kt
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test2.TestInner<Z of <root>.Test2.TestInner>
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (z:Z of <root>.Test2.TestInner) returnType:<root>.Test2.TestInner<Z of <root>.Test2.TestInner> [primary]
VALUE_PARAMETER name:z index:0 type:Z of <root>.Test2.TestInner
@@ -75,13 +75,13 @@ FILE fqName:<root> fileName:/constructor.kt
FIELD PROPERTY_BACKING_FIELD name:z type:Z of <root>.Test2.TestInner visibility:private [final]
EXPRESSION_BODY
GET_VAR 'z: Z of <root>.Test2.TestInner declared in <root>.Test2.TestInner.<init>' type=Z of <root>.Test2.TestInner origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-z> visibility:public modality:FINAL <> ($this:<root>.Test2.TestInner) returnType:Z of <root>.Test2.TestInner
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-z> visibility:public modality:FINAL <> ($this:<root>.Test2.TestInner<Z of <root>.Test2.TestInner>) returnType:Z of <root>.Test2.TestInner
correspondingProperty: PROPERTY name:z visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Test2.TestInner
$this: VALUE_PARAMETER name:<this> type:<root>.Test2.TestInner<Z of <root>.Test2.TestInner>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-z> (): Z of <root>.Test2.TestInner declared in <root>.Test2.TestInner'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:z type:Z of <root>.Test2.TestInner visibility:private [final]' type=Z of <root>.Test2.TestInner origin=null
receiver: GET_VAR '<this>: <root>.Test2.TestInner declared in <root>.Test2.TestInner.<get-z>' type=<root>.Test2.TestInner origin=null
receiver: GET_VAR '<this>: <root>.Test2.TestInner<Z of <root>.Test2.TestInner> declared in <root>.Test2.TestInner.<get-z>' type=<root>.Test2.TestInner<Z of <root>.Test2.TestInner> origin=null
CONSTRUCTOR visibility:public <> (z:Z of <root>.Test2.TestInner, i:kotlin.Int) returnType:<root>.Test2.TestInner<Z of <root>.Test2.TestInner>
VALUE_PARAMETER name:z index:0 type:Z of <root>.Test2.TestInner
VALUE_PARAMETER name:i index:1 type:kotlin.Int
@@ -161,7 +161,7 @@ FILE fqName:<root> fileName:/constructor.kt
public open fun toString (): kotlin.String declared in kotlin.Any
$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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test4<T of <root>.Test4>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test4<T of <root>.Test4> [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
@@ -172,13 +172,13 @@ FILE fqName:<root> fileName:/constructor.kt
FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
GET_VAR 'x: kotlin.Int declared in <root>.Test4.<init>' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Test4) returnType:kotlin.Int
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Test4<T of <root>.Test4>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Test4
$this: VALUE_PARAMETER name:<this> type:<root>.Test4<T of <root>.Test4>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-x> (): kotlin.Int declared in <root>.Test4'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.Test4 declared in <root>.Test4.<get-x>' type=<root>.Test4 origin=null
receiver: GET_VAR '<this>: <root>.Test4<T of <root>.Test4> declared in <root>.Test4.<get-x>' type=<root>.Test4<T of <root>.Test4> origin=null
CONSTRUCTOR visibility:public <> (x:kotlin.Int, y:kotlin.Int) returnType:<root>.Test4<T of <root>.Test4>
VALUE_PARAMETER name:x index:0 type:kotlin.Int
VALUE_PARAMETER name:y index:1 type:kotlin.Int
@@ -1,6 +1,6 @@
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test<T of <root>.Test>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (x:T of <root>.Test, y:kotlin.String) returnType:<root>.Test<T of <root>.Test> [primary]
VALUE_PARAMETER name:x index:0 type:T of <root>.Test
@@ -14,46 +14,46 @@ FILE fqName:<root> fileName:/dataClassMembers.kt
FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Test visibility:private [final]
EXPRESSION_BODY
GET_VAR 'x: T of <root>.Test declared in <root>.Test.<init>' type=T of <root>.Test origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Test) returnType:T of <root>.Test
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-x> visibility:public modality:FINAL <> ($this:<root>.Test<T of <root>.Test>) returnType:T of <root>.Test
correspondingProperty: PROPERTY name:x visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Test
$this: VALUE_PARAMETER name:<this> type:<root>.Test<T of <root>.Test>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-x> (): T of <root>.Test declared in <root>.Test'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:x type:T of <root>.Test visibility:private [final]' type=T of <root>.Test origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-x>' type=<root>.Test origin=null
receiver: GET_VAR '<this>: <root>.Test<T of <root>.Test> declared in <root>.Test.<get-x>' type=<root>.Test<T of <root>.Test> origin=null
PROPERTY name:y visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:private [final]
EXPRESSION_BODY
GET_VAR 'y: kotlin.String declared in <root>.Test.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:<root>.Test) returnType:kotlin.String
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-y> visibility:public modality:FINAL <> ($this:<root>.Test<T of <root>.Test>) returnType:kotlin.String
correspondingProperty: PROPERTY name:y visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Test
$this: VALUE_PARAMETER name:<this> type:<root>.Test<T of <root>.Test>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-y> (): kotlin.String declared in <root>.Test'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:y type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.<get-y>' type=<root>.Test origin=null
FUN name:component1 visibility:public modality:FINAL <> ($this:<root>.Test) returnType:T of <root>.Test
$this: VALUE_PARAMETER name:<this> type:<root>.Test
receiver: GET_VAR '<this>: <root>.Test<T of <root>.Test> declared in <root>.Test.<get-y>' type=<root>.Test<T of <root>.Test> origin=null
FUN name:component1 visibility:public modality:FINAL <> ($this:<root>.Test<T of <root>.Test>) returnType:T of <root>.Test
$this: VALUE_PARAMETER name:<this> type:<root>.Test<T of <root>.Test>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun component1 (): T of <root>.Test declared in <root>.Test'
CALL 'public final fun <get-x> (): T of <root>.Test declared in <root>.Test' type=T of <root>.Test origin=null
$this: GET_VAR '<this>: <root>.Test declared in <root>.Test.component1' type=<root>.Test origin=null
FUN name:component2 visibility:public modality:FINAL <> ($this:<root>.Test) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:<root>.Test
$this: GET_VAR '<this>: <root>.Test<T of <root>.Test> declared in <root>.Test.component1' type=<root>.Test<T of <root>.Test> origin=null
FUN name:component2 visibility:public modality:FINAL <> ($this:<root>.Test<T of <root>.Test>) returnType:kotlin.String
$this: VALUE_PARAMETER name:<this> type:<root>.Test<T of <root>.Test>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun component2 (): kotlin.String declared in <root>.Test'
CALL 'public final fun <get-y> (): kotlin.String declared in <root>.Test' type=kotlin.String origin=null
$this: GET_VAR '<this>: <root>.Test declared in <root>.Test.component2' type=<root>.Test origin=null
FUN name:copy visibility:public modality:FINAL <> ($this:<root>.Test, x:T of <root>.Test, y:kotlin.String) returnType:<root>.Test<T of <root>.Test>
$this: VALUE_PARAMETER name:<this> type:<root>.Test
$this: GET_VAR '<this>: <root>.Test<T of <root>.Test> declared in <root>.Test.component2' type=<root>.Test<T of <root>.Test> origin=null
FUN name:copy visibility:public modality:FINAL <> ($this:<root>.Test<T of <root>.Test>, x:T of <root>.Test, y:kotlin.String) returnType:<root>.Test<T of <root>.Test>
$this: VALUE_PARAMETER name:<this> type:<root>.Test<T of <root>.Test>
VALUE_PARAMETER name:x index:0 type:T of <root>.Test
EXPRESSION_BODY
CALL 'public final fun <get-x> (): T of <root>.Test declared in <root>.Test' type=T of <root>.Test origin=null
$this: GET_VAR '<this>: <root>.Test declared in <root>.Test.copy' type=<root>.Test origin=null
$this: GET_VAR '<this>: <root>.Test<T of <root>.Test> declared in <root>.Test.copy' type=<root>.Test<T of <root>.Test> origin=null
VALUE_PARAMETER name:y index:1 type:kotlin.String
EXPRESSION_BODY
CALL 'public final fun <get-y> (): kotlin.String declared in <root>.Test' type=kotlin.String origin=null
$this: GET_VAR '<this>: <root>.Test declared in <root>.Test.copy' type=<root>.Test origin=null
$this: GET_VAR '<this>: <root>.Test<T of <root>.Test> declared in <root>.Test.copy' type=<root>.Test<T of <root>.Test> origin=null
BLOCK_BODY
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
@@ -1,128 +0,0 @@
FILE fqName:<root> fileName:/defaultPropertyAccessors.kt
PROPERTY name:test1 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:private [final,static]
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test1> visibility:public modality:FINAL <> () returnType:kotlin.Int
correspondingProperty: PROPERTY name:test1 visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test1> (): kotlin.Int declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test1 type:kotlin.Int visibility:private [final,static]' type=kotlin.Int origin=null
PROPERTY name:test2 visibility:public modality:FINAL [var]
FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:private [static]
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test2> visibility:public modality:FINAL <> () returnType:kotlin.Int
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test2> (): kotlin.Int declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:private [static]' type=kotlin.Int origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-test2> visibility:public modality:FINAL <> (<set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test2 visibility:public modality:FINAL [var]
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test2 type:kotlin.Int visibility:private [static]' type=kotlin.Unit origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.<set-test2>' type=kotlin.Int origin=null
CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host
CONSTRUCTOR visibility:public <> () returnType:<root>.Host [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]'
PROPERTY name:testMember1 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:testMember1 type:kotlin.Int visibility:private [final]
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testMember1> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMember1 visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMember1> (): kotlin.Int declared in <root>.Host'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember1 type:kotlin.Int visibility:private [final]' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.<get-testMember1>' type=<root>.Host origin=null
PROPERTY name:testMember2 visibility:public modality:FINAL [var]
FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:private
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testMember2> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMember2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMember2> (): kotlin.Int declared in <root>.Host'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.<get-testMember2>' type=<root>.Host origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-testMember2> visibility:public modality:FINAL <> ($this:<root>.Host, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:testMember2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testMember2 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
receiver: GET_VAR '<this>: <root>.Host declared in <root>.Host.<set-testMember2>' type=<root>.Host origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.Host.<set-testMember2>' type=kotlin.Int origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$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:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (testInPrimaryCtor1:T of <root>.InPrimaryCtor, testInPrimaryCtor2:kotlin.Int) returnType:<root>.InPrimaryCtor<T of <root>.InPrimaryCtor> [primary]
VALUE_PARAMETER name:testInPrimaryCtor1 index:0 type:T of <root>.InPrimaryCtor
VALUE_PARAMETER name:testInPrimaryCtor2 index:1 type:kotlin.Int
EXPRESSION_BODY
CONST Int type=kotlin.Int value=42
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:InPrimaryCtor modality:FINAL visibility:public superTypes:[kotlin.Any]'
PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:T of <root>.InPrimaryCtor visibility:private [final]
EXPRESSION_BODY
GET_VAR 'testInPrimaryCtor1: T of <root>.InPrimaryCtor declared in <root>.InPrimaryCtor.<init>' type=T of <root>.InPrimaryCtor origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testInPrimaryCtor1> visibility:public modality:FINAL <> ($this:<root>.InPrimaryCtor) returnType:T of <root>.InPrimaryCtor
correspondingProperty: PROPERTY name:testInPrimaryCtor1 visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.InPrimaryCtor
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testInPrimaryCtor1> (): T of <root>.InPrimaryCtor declared in <root>.InPrimaryCtor'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor1 type:T of <root>.InPrimaryCtor visibility:private [final]' type=T of <root>.InPrimaryCtor origin=null
receiver: GET_VAR '<this>: <root>.InPrimaryCtor declared in <root>.InPrimaryCtor.<get-testInPrimaryCtor1>' type=<root>.InPrimaryCtor origin=null
PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL [var]
FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:private
EXPRESSION_BODY
GET_VAR 'testInPrimaryCtor2: kotlin.Int declared in <root>.InPrimaryCtor.<init>' type=kotlin.Int origin=INITIALIZE_PROPERTY_FROM_PARAMETER
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-testInPrimaryCtor2> visibility:public modality:FINAL <> ($this:<root>.InPrimaryCtor) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.InPrimaryCtor
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testInPrimaryCtor2> (): kotlin.Int declared in <root>.InPrimaryCtor'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:private' type=kotlin.Int origin=null
receiver: GET_VAR '<this>: <root>.InPrimaryCtor declared in <root>.InPrimaryCtor.<get-testInPrimaryCtor2>' type=<root>.InPrimaryCtor origin=null
FUN DEFAULT_PROPERTY_ACCESSOR name:<set-testInPrimaryCtor2> visibility:public modality:FINAL <> ($this:<root>.InPrimaryCtor, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:testInPrimaryCtor2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.InPrimaryCtor
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY
SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:testInPrimaryCtor2 type:kotlin.Int visibility:private' type=kotlin.Unit origin=null
receiver: GET_VAR '<this>: <root>.InPrimaryCtor declared in <root>.InPrimaryCtor.<set-testInPrimaryCtor2>' type=<root>.InPrimaryCtor origin=null
value: GET_VAR '<set-?>: kotlin.Int declared in <root>.InPrimaryCtor.<set-testInPrimaryCtor2>' type=kotlin.Int origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 type:kotlin.Any?
FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
overridden:
public open fun hashCode (): kotlin.Int declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden:
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
val test1 = 42
var test2 = 42
@@ -1,17 +1,17 @@
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.IBase<T of <root>.IBase>
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
FUN name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IBase<T of <root>.IBase>, x:kotlin.Int) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.IBase<T of <root>.IBase>
VALUE_PARAMETER name:x index:0 type:kotlin.Int
PROPERTY name:bar visibility:public modality:ABSTRACT [val]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.IBase) returnType:kotlin.Int
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.IBase<T of <root>.IBase>) returnType:kotlin.Int
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
$this: VALUE_PARAMETER name:<this> type:<root>.IBase<T of <root>.IBase>
FUN name:qux visibility:public modality:ABSTRACT <X> ($this:<root>.IBase<T of <root>.IBase>, t:T of <root>.IBase, x:X of <root>.IBase.qux) returnType:kotlin.Unit
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
$this: VALUE_PARAMETER name:<this> type:<root>.IBase<T of <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
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@@ -28,29 +28,29 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
public open fun toString (): kotlin.String declared in kotlin.Any
$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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test<TT of <root>.Test>
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> (impl:<root>.IBase<TT of <root>.Test>) returnType:<root>.Test<TT of <root>.Test> [primary]
VALUE_PARAMETER name:impl index:0 type:<root>.IBase<TT of <root>.Test>
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:[<root>.IBase<TT of <root>.Test>]'
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IBase, x:kotlin.Int) returnType:kotlin.Unit [fake_override]
FUN FAKE_OVERRIDE name:foo visibility:public modality:ABSTRACT <> ($this:<root>.IBase<T of <root>.IBase>, x:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun foo (x: kotlin.Int): kotlin.Unit declared in <root>.IBase
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
$this: VALUE_PARAMETER name:<this> type:<root>.IBase<T of <root>.IBase>
VALUE_PARAMETER name:x index:0 type:kotlin.Int
PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT [fake_override,val]
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Test) returnType:kotlin.Int [fake_override]
FUN FAKE_OVERRIDE name:<get-bar> visibility:public modality:ABSTRACT <> ($this:<root>.Test<TT of <root>.Test>) returnType:kotlin.Int [fake_override]
correspondingProperty: PROPERTY FAKE_OVERRIDE name:bar visibility:public modality:ABSTRACT [fake_override,val]
overridden:
public abstract fun <get-bar> (): kotlin.Int declared in <root>.IBase
$this: VALUE_PARAMETER name:<this> type:<root>.Test
FUN FAKE_OVERRIDE name:qux visibility:public modality:ABSTRACT <X> ($this:<root>.IBase, t:TT of <root>.Test, x:X of <root>.Test.qux) returnType:kotlin.Unit [fake_override]
$this: VALUE_PARAMETER name:<this> type:<root>.Test<TT of <root>.Test>
FUN FAKE_OVERRIDE name:qux visibility:public modality:ABSTRACT <X> ($this:<root>.IBase<T of <root>.IBase>, t:TT of <root>.Test, x:X of <root>.Test.qux) returnType:kotlin.Unit [fake_override]
overridden:
public abstract fun qux <X> (t: T of <root>.IBase, x: X of <root>.IBase.qux): kotlin.Unit declared in <root>.IBase
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?]
$this: VALUE_PARAMETER name:<this> type:<root>.IBase
$this: VALUE_PARAMETER name:<this> type:<root>.IBase<T of <root>.IBase>
VALUE_PARAMETER name:t index:0 type:TT of <root>.Test
VALUE_PARAMETER name:x index:1 type:X of <root>.Test.qux
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@@ -1,20 +1,20 @@
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer<T1 of <root>.Outer>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer<T1 of <root>.Outer> [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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Outer.Inner<T2 of <root>.Outer.Inner>
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Outer.Inner<T2 of <root>.Outer.Inner> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Inner modality:FINAL visibility:public [inner] superTypes:[kotlin.Any]'
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner, x1:T1 of <root>.Outer, x2:T2 of <root>.Outer.Inner) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.Outer.Inner<T2 of <root>.Outer.Inner>, x1:T1 of <root>.Outer, x2:T2 of <root>.Outer.Inner) returnType:kotlin.Unit
$this: VALUE_PARAMETER name:<this> type:<root>.Outer.Inner<T2 of <root>.Outer.Inner>
VALUE_PARAMETER name:x1 index:0 type:T1 of <root>.Outer
VALUE_PARAMETER name:x2 index:1 type:T2 of <root>.Outer.Inner
BLOCK_BODY
@@ -48,67 +48,67 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
VALUE_PARAMETER name:value index:0 type:kotlin.Int
BLOCK_BODY
CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Host<T of <root>.Host>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
CONSTRUCTOR visibility:public <> () returnType:<root>.Host<T of <root>.Host> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Host modality:FINAL visibility:public superTypes:[kotlin.Any]'
PROPERTY name:testMem1 visibility:public modality:FINAL [val]
FUN name:<get-testMem1> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
FUN name:<get-testMem1> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMem1 visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMem1> (): kotlin.Int declared in <root>.Host'
CONST Int type=kotlin.Int value=42
PROPERTY name:testMem2 visibility:public modality:FINAL [var]
FUN name:<get-testMem2> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
FUN name:<get-testMem2> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMem2> (): kotlin.Int declared in <root>.Host'
CONST Int type=kotlin.Int value=42
FUN name:<set-testMem2> visibility:public modality:FINAL <> ($this:<root>.Host, value:kotlin.Int) returnType:kotlin.Unit
FUN name:<set-testMem2> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>, value:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:testMem2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
VALUE_PARAMETER name:value index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY name:testMemExt1 visibility:public modality:FINAL [val]
FUN name:<get-testMemExt1> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
FUN name:<get-testMemExt1> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMemExt1 visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMemExt1> (): kotlin.Int declared in <root>.Host'
CONST Int type=kotlin.Int value=42
PROPERTY name:testMemExt2 visibility:public modality:FINAL [var]
FUN name:<get-testMemExt2> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
FUN name:<get-testMemExt2> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMemExt2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMemExt2> (): kotlin.Int declared in <root>.Host'
CONST Int type=kotlin.Int value=42
FUN name:<set-testMemExt2> visibility:public modality:FINAL <> ($this:<root>.Host, value:kotlin.Int) returnType:kotlin.Unit
FUN name:<set-testMemExt2> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>, value:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:testMemExt2 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
VALUE_PARAMETER name:value index:0 type:kotlin.Int
BLOCK_BODY
PROPERTY name:testMemExt3 visibility:public modality:FINAL [val]
FUN name:<get-testMemExt3> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
FUN name:<get-testMemExt3> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMemExt3 visibility:public modality:FINAL [val]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMemExt3> (): kotlin.Int declared in <root>.Host'
CONST Int type=kotlin.Int value=42
PROPERTY name:testMemExt4 visibility:public modality:FINAL [var]
FUN name:<get-testMemExt4> visibility:public modality:FINAL <> ($this:<root>.Host) returnType:kotlin.Int
FUN name:<get-testMemExt4> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testMemExt4> (): kotlin.Int declared in <root>.Host'
CONST Int type=kotlin.Int value=42
FUN name:<set-testMemExt4> visibility:public modality:FINAL <> ($this:<root>.Host, value:kotlin.Int) returnType:kotlin.Unit
FUN name:<set-testMemExt4> visibility:public modality:FINAL <> ($this:<root>.Host<T of <root>.Host>, value:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var]
$this: VALUE_PARAMETER name:<this> type:<root>.Host
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
VALUE_PARAMETER name:value index:0 type:kotlin.Int
BLOCK_BODY
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
@@ -1,6 +1,6 @@
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Test1<T of <root>.Test1, U of <root>.Test1>
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 <root>.Test1, U of <root>.Test1> [primary]
@@ -1,6 +1,6 @@
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
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Base1<T of <root>.Base1>
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived1]
CONSTRUCTOR visibility:public <> () returnType:<root>.Base1<T of <root>.Base1> [primary]
BLOCK_BODY