[JS IR] IC invalidation refactoring

- Huge refactoring for IC
  - Update hash combination logic
  - Introduce value class for IC hashes
  - Calc md5 directly by function IR
  - Split IC logic by classes
  - Move JsIrLinkerLoader into separate file
  - CacheUpdateStatus is a sealed class
  - Render TYPE_PARAMETER reified flag

^KT-51081 Fixed
^KT-51084 Fixed
This commit is contained in:
Alexander Korepanov
2022-03-15 05:34:19 +00:00
committed by Space
parent c38dd1c004
commit 69295f2cf0
246 changed files with 1724 additions and 2048 deletions
@@ -1,7 +1,7 @@
FILE fqName:ann fileName:/genericAnnotationClasses.kt
CLASS ANNOTATION_CLASS name:Test1 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test1<T of ann.Test1>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:ann.Test1<T of ann.Test1> [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
BLOCK_BODY
@@ -33,8 +33,8 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test2 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test2<T1 of ann.Test2, T2 of ann.Test2>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any] reified:false
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:ann.Test2<T1 of ann.Test2, T2 of ann.Test2> [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
EXPRESSION_BODY
@@ -68,7 +68,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS INTERFACE name:I modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.I<T of ann.I>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -84,8 +84,8 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test3 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test3<T1 of ann.Test3, T2 of ann.Test3>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[ann.I<T1 of ann.Test3>]
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[ann.I<T1 of ann.Test3>] reified:false
CONSTRUCTOR visibility:public <> (x:ann.Test1<ann.I<T2 of ann.Test3>>) returnType:ann.Test3<T1 of ann.Test3, T2 of ann.Test3> [primary]
VALUE_PARAMETER name:x index:0 type:ann.Test1<ann.I<T2 of ann.Test3>>
BLOCK_BODY
@@ -117,7 +117,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:C modality:FINAL visibility:public superTypes:[ann.I<T of ann.C>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.C<T of ann.C>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:ann.C<T of ann.C> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -187,7 +187,7 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS ANNOTATION_CLASS name:Test5 modality:OPEN visibility:public superTypes:[kotlin.Annotation]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.Test5<T of ann.Test5>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> (xs:kotlin.Array<out ann.Test3<T of ann.Test5, ann.C<T of ann.Test5>>>) returnType:ann.Test5<T of ann.Test5> [primary]
VALUE_PARAMETER name:xs index:0 type:kotlin.Array<out ann.Test3<T of ann.Test5, ann.C<T of ann.Test5>>> varargElementType:ann.Test3<T of ann.Test5, ann.C<T of ann.Test5>> [vararg]
BLOCK_BODY
@@ -21,7 +21,7 @@ FILE fqName:<root> fileName:/typeParametersWithAnnotations.kt
public open fun toString (): kotlin.String [fake_override] declared in kotlin.Annotation
$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:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
annotations:
Anno
BLOCK_BODY
@@ -1,8 +1,8 @@
FILE fqName:<root> fileName:/compareTo.kt
CLASS CLASS name:Pair modality:FINAL visibility:public [data] superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Pair<A of <root>.Pair, B of <root>.Pair>
TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?] reified:false
TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> (first:A of <root>.Pair, second:B of <root>.Pair) returnType:<root>.Pair<A of <root>.Pair, B of <root>.Pair> [primary]
VALUE_PARAMETER name:first index:0 type:A of <root>.Pair
VALUE_PARAMETER name:second index:1 type:B of <root>.Pair
@@ -158,7 +158,7 @@ FILE fqName:<root> fileName:/compareTo.kt
RETURN type=kotlin.Nothing from='public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in <root>.Pair'
CONST Boolean type=kotlin.Boolean value=true
FUN name:compareTo visibility:public modality:FINAL <T> ($receiver:T of <root>.compareTo, <this>:java.util.Comparator<T of <root>.compareTo>{ kotlin.TypeAliasesKt.Comparator<T of <root>.compareTo> }, other:T of <root>.compareTo) returnType:kotlin.Int [operator,infix]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.compareTo
VALUE_PARAMETER name:<this> index:0 type:java.util.Comparator<T of <root>.compareTo>{ kotlin.TypeAliasesKt.Comparator<T of <root>.compareTo> }
@@ -172,7 +172,7 @@ FILE fqName:<root> fileName:/compareTo.kt
PROPERTY name:min visibility:public modality:FINAL [val]
FUN name:<get-min> visibility:public modality:FINAL <T> ($receiver:<root>.Pair<T of <root>.<get-min>, T of <root>.<get-min>>, <this>:java.util.Comparator<T of <root>.<get-min>>{ kotlin.TypeAliasesKt.Comparator<T of <root>.<get-min>> }) returnType:T of <root>.<get-min>
correspondingProperty: PROPERTY name:min visibility:public modality:FINAL [val]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:<root>.Pair<T of <root>.<get-min>, T of <root>.<get-min>>
VALUE_PARAMETER name:<this> index:0 type:java.util.Comparator<T of <root>.<get-min>>{ kotlin.TypeAliasesKt.Comparator<T of <root>.<get-min>> }
@@ -79,7 +79,7 @@ FILE fqName:<root> fileName:/functionalType.kt
public open fun toString (): kotlin.String declared in kotlin.Any
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:f visibility:public modality:FINAL <T> ($receiver:<root>.K, <this>:<root>.O, g:@[ExtensionFunctionType] @[ContextFunctionTypeParams(count = '1')] kotlin.Function3<<root>.O, <root>.K, <root>.Param, T of <root>.f>) returnType:T of <root>.f
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:<root>.K
VALUE_PARAMETER name:<this> index:0 type:<root>.O
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/monoidSum.kt
CLASS INTERFACE name:Semigroup modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Semigroup<T of <root>.Semigroup>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
FUN name:combine visibility:public modality:ABSTRACT <> ($this:<root>.Semigroup<T of <root>.Semigroup>, $receiver:T of <root>.Semigroup, other:T of <root>.Semigroup) returnType:T of <root>.Semigroup [infix]
$this: VALUE_PARAMETER name:<this> type:<root>.Semigroup<T of <root>.Semigroup>
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.Semigroup
@@ -21,7 +21,7 @@ FILE fqName:<root> fileName:/monoidSum.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS INTERFACE name:Monoid modality:ABSTRACT visibility:public superTypes:[<root>.Semigroup<T of <root>.Monoid>]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Monoid<T of <root>.Monoid>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
PROPERTY name:unit visibility:public modality:ABSTRACT [val]
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-unit> visibility:public modality:ABSTRACT <> ($this:<root>.Monoid<T of <root>.Monoid>) returnType:T of <root>.Monoid
correspondingProperty: PROPERTY name:unit visibility:public modality:ABSTRACT [val]
@@ -136,7 +136,7 @@ FILE fqName:<root> fileName:/monoidSum.kt
public open fun toString (): kotlin.String [fake_override] declared in <root>.Monoid
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN name:sum visibility:public modality:FINAL <T> ($receiver:kotlin.collections.List<T of <root>.sum>, <this>:<root>.Monoid<T of <root>.sum>) returnType:T of <root>.sum
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:kotlin.collections.List<T of <root>.sum>
VALUE_PARAMETER name:<this> index:0 type:<root>.Monoid<T of <root>.sum>
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/genericOuterClass.kt
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A<T of <root>.A>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.A<T of <root>.A> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -21,7 +21,7 @@ FILE fqName:<root> fileName:/genericOuterClass.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B<P of <root>.B>
TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.B<P of <root>.B> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/genericOuterClass.kt
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A<T of <root>.A>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:T of <root>.A visibility:private [final]
CONSTRUCTOR visibility:public <> (<this>:T of <root>.A) returnType:<root>.A<T of <root>.A> [primary]
VALUE_PARAMETER name:<this> index:0 type:T of <root>.A
@@ -26,7 +26,7 @@ FILE fqName:<root> fileName:/genericOuterClass.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.B<P of <root>.B>
TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:P index:0 variance: superTypes:[kotlin.Any?] reified:false
FIELD FIELD_FOR_CLASS_CONTEXT_RECEIVER name:contextReceiverField0 type:kotlin.collections.Collection<P of <root>.B> visibility:private [final]
CONSTRUCTOR visibility:public <> (<this>:kotlin.collections.Collection<P of <root>.B>) returnType:<root>.B<P of <root>.B> [primary]
VALUE_PARAMETER name:<this> index:0 type:kotlin.collections.Collection<P of <root>.B>
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/lazy.kt
CLASS INTERFACE name:Lazy modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Lazy<T of <root>.Lazy>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -21,19 +21,19 @@ FILE fqName:<root> fileName:/lazy.kt
VALUE_PARAMETER name:<this> index:1 type:<root>.Lazy<kotlin.CharSequence>
BLOCK_BODY
FUN name:test2 visibility:public modality:FINAL <T> ($receiver:<root>.Lazy<kotlin.Int>, <this>:<root>.Lazy<T of <root>.test2>) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:<root>.Lazy<kotlin.Int>
VALUE_PARAMETER name:<this> index:0 type:<root>.Lazy<T of <root>.test2>
BLOCK_BODY
FUN name:test3 visibility:public modality:FINAL <T> ($receiver:<root>.Lazy<kotlin.Int>, <this>:<root>.Lazy<<root>.Lazy<T of <root>.test3>>) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
$receiver: VALUE_PARAMETER name:<this> type:<root>.Lazy<kotlin.Int>
VALUE_PARAMETER name:<this> index:0 type:<root>.Lazy<<root>.Lazy<T of <root>.test3>>
BLOCK_BODY
FUN name:f visibility:public modality:FINAL <T> (lazy1:<root>.Lazy<kotlin.Int>, lazy2:<root>.Lazy<kotlin.CharSequence>, lazyT:<root>.Lazy<T of <root>.f>, lazyLazyT:<root>.Lazy<<root>.Lazy<T of <root>.f>>) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
VALUE_PARAMETER name:lazy1 index:0 type:<root>.Lazy<kotlin.Int>
VALUE_PARAMETER name:lazy2 index:1 type:<root>.Lazy<kotlin.CharSequence>
VALUE_PARAMETER name:lazyT index:2 type:<root>.Lazy<T of <root>.f>
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/thisWithCustomLabel.kt
CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.A<T of <root>.A>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> (a:T of <root>.A) returnType:<root>.A<T of <root>.A> [primary]
VALUE_PARAMETER name:a index:0 type:T of <root>.A
BLOCK_BODY
@@ -1,6 +1,6 @@
FILE fqName:<root> fileName:/typeParameterAsContextReceiver.kt
FUN name:useContext visibility:public modality:FINAL <T> (block:kotlin.Function1<T of <root>.useContext, kotlin.Unit>) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
VALUE_PARAMETER name:block index:0 type:kotlin.Function1<T of <root>.useContext, kotlin.Unit>
BLOCK_BODY
FUN name:test visibility:public modality:FINAL <> () returnType:kotlin.Unit
@@ -1,6 +1,6 @@
FILE fqName:<root> fileName:/typeParameterAsContextReceiver.kt
FUN name:useContext visibility:public modality:FINAL <T> (<this>:T of <root>.useContext, block:kotlin.Function1<T of <root>.useContext, kotlin.Unit>) returnType:kotlin.Unit
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
contextReceiverParametersCount: 1
VALUE_PARAMETER name:<this> index:0 type:T of <root>.useContext
VALUE_PARAMETER name:block index:1 type:kotlin.Function1<T of <root>.useContext, kotlin.Unit>
@@ -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<T of <root>.CFoo>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.CFoo<T of <root>.CFoo> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -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<T of <root>.CFoo>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.CFoo<T of <root>.CFoo> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -1,3 +1,3 @@
FILE fqName:<root> fileName:/fileWithTypeAliasesOnly.kt
TYPEALIAS name:Bar visibility:public expandedType:kotlin.Function1<T of <root>.Bar, kotlin.String>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/genericDelegatedProperty.kt
CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C<T of <root>.C>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.C<T of <root>.C> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -57,7 +57,7 @@ FILE fqName:<root> fileName:/genericDelegatedProperty.kt
GET_OBJECT 'CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Delegate
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-genericDelegatedProperty> visibility:public modality:FINAL <T> ($receiver:<root>.C<T of <root>.<get-genericDelegatedProperty>>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.C<T of <root>.<get-genericDelegatedProperty>>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-genericDelegatedProperty> <T> (): kotlin.Int declared in <root>'
@@ -68,7 +68,7 @@ FILE fqName:<root> fileName:/genericDelegatedProperty.kt
<1>: <none>
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-genericDelegatedProperty> visibility:public modality:FINAL <T> ($receiver:<root>.C<T of <root>.<set-genericDelegatedProperty>>, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.C<T of <root>.<set-genericDelegatedProperty>>
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY
@@ -1,7 +1,7 @@
FILE fqName:<root> fileName:/genericDelegatedProperty.kt
CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.C<T of <root>.C>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.C<T of <root>.C> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -57,7 +57,7 @@ FILE fqName:<root> fileName:/genericDelegatedProperty.kt
GET_OBJECT 'CLASS OBJECT name:Delegate modality:FINAL visibility:public superTypes:[kotlin.Any]' type=<root>.Delegate
FUN DELEGATED_PROPERTY_ACCESSOR name:<get-genericDelegatedProperty> visibility:public modality:FINAL <T> ($receiver:<root>.C<T of <root>.<get-genericDelegatedProperty>>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.C<T of <root>.<get-genericDelegatedProperty>>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-genericDelegatedProperty> <T> (): kotlin.Int declared in <root>'
@@ -68,7 +68,7 @@ FILE fqName:<root> fileName:/genericDelegatedProperty.kt
<1>: T of <root>.<get-genericDelegatedProperty>
FUN DELEGATED_PROPERTY_ACCESSOR name:<set-genericDelegatedProperty> visibility:public modality:FINAL <T> ($receiver:<root>.C<T of <root>.<set-genericDelegatedProperty>>, <set-?>:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:genericDelegatedProperty visibility:public modality:FINAL [delegated,var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.C<T of <root>.<set-genericDelegatedProperty>>
VALUE_PARAMETER name:<set-?> index:0 type:kotlin.Int
BLOCK_BODY
+1 -1
View File
@@ -10,6 +10,6 @@ FILE fqName:<root> fileName:/kt27005.kt
CALL 'public final fun baz <T> (): T of <root>.baz [suspend] declared in <root>' type=kotlin.Any origin=null
<T>: kotlin.Any
FUN name:baz visibility:public modality:FINAL <T> () returnType:T of <root>.baz [suspend]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
BLOCK_BODY
CALL 'public final fun TODO (): kotlin.Nothing [inline] declared in kotlin.StandardKt' type=kotlin.Nothing origin=null
@@ -4,7 +4,7 @@ FILE fqName:<root> fileName:/kt35550.kt
PROPERTY name:id visibility:public modality:OPEN [val]
FUN name:<get-id> visibility:public modality:OPEN <T> ($this:<root>.I, $receiver:T of <root>.I.<get-id>) returnType:T of <root>.I.<get-id>
correspondingProperty: PROPERTY name:id visibility:public modality:OPEN [val]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.I
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.I.<get-id>
BLOCK_BODY
@@ -37,7 +37,7 @@ FILE fqName:<root> fileName:/kt35550.kt
correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val]
overridden:
public open fun <get-id> <T> (): T of <root>.I.<get-id> declared in <root>.I
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.A
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.A.<get-id>
BLOCK_BODY
+2 -2
View File
@@ -4,7 +4,7 @@ FILE fqName:<root> fileName:/kt35550.kt
PROPERTY name:id visibility:public modality:OPEN [val]
FUN name:<get-id> visibility:public modality:OPEN <T> ($this:<root>.I, $receiver:T of <root>.I.<get-id>) returnType:T of <root>.I.<get-id>
correspondingProperty: PROPERTY name:id visibility:public modality:OPEN [val]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.I
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.I.<get-id>
BLOCK_BODY
@@ -40,7 +40,7 @@ FILE fqName:<root> fileName:/kt35550.kt
correspondingProperty: PROPERTY DELEGATED_MEMBER name:id visibility:public modality:OPEN [val]
overridden:
public open fun <get-id> <T> (): T of <root>.I.<get-id> declared in <root>.I
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.A
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.A.<get-id>
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<T of <root>.TestInterface>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CLASS INTERFACE name:TestNestedInterface modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
$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?]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -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<T0 of <root>.Test>
TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T0 index:0 variance: superTypes:[kotlin.Any?] reified:false
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<T1 of <root>.Test.TestNested>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.Test.TestNested<T1 of <root>.Test.TestNested> [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<T2 of <root>.Test.TestInner, T0 of <root>.Test>
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> ($this:<root>.Test<T0 of <root>.Test>) returnType:<root>.Test.TestInner<T2 of <root>.Test.TestInner, T0 of <root>.Test> [primary]
$outer: VALUE_PARAMETER name:<this> type:<root>.Test<T0 of <root>.Test>
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<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:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -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<Z of <root>.Test2.TestInner>
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> ($this:<root>.Test2, z:Z of <root>.Test2.TestInner) returnType:<root>.Test2.TestInner<Z of <root>.Test2.TestInner> [primary]
$outer: VALUE_PARAMETER name:<this> type:<root>.Test2
VALUE_PARAMETER name:z index:0 type:Z of <root>.Test2.TestInner
@@ -165,7 +165,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<T of <root>.Test4>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test4<T of <root>.Test4> [primary]
VALUE_PARAMETER name:x index:0 type:kotlin.Int
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<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:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -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<Z of <root>.Test2.TestInner>
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:Z index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> ($this:<root>.Test2, z:Z of <root>.Test2.TestInner) returnType:<root>.Test2.TestInner<Z of <root>.Test2.TestInner> [primary]
$outer: VALUE_PARAMETER name:<this> type:<root>.Test2
VALUE_PARAMETER name:z index:0 type:Z of <root>.Test2.TestInner
@@ -165,7 +165,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<T of <root>.Test4>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> (x:kotlin.Int) returnType:<root>.Test4<T of <root>.Test4> [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<T of <root>.Test>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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
VALUE_PARAMETER name:y index:1 type:kotlin.String
@@ -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<T of <root>.Test>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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
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<T of <root>.InPrimaryCtor>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -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<T of <root>.IBase>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -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<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?]
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false
$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
@@ -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<TT of <root>.Test>
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -48,7 +48,7 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <X> ($this:<root>.Test<TT of <root>.Test>, t:TT of <root>.Test, x:X of <root>.Test.qux) returnType:kotlin.Unit
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?]
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.Test<TT of <root>.Test>
VALUE_PARAMETER name:t index:0 type:TT of <root>.Test
VALUE_PARAMETER name:x index:1 type:X of <root>.Test.qux
@@ -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<T of <root>.IBase>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -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<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?]
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false
$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
@@ -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<TT of <root>.Test>
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false
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
@@ -64,7 +64,7 @@ FILE fqName:<root> fileName:/delegatedMembers.kt
FUN DELEGATED_MEMBER name:qux visibility:public modality:OPEN <X> ($this:<root>.Test<TT of <root>.Test>, t:TT of <root>.Test, x:X of <root>.Test.qux) returnType:kotlin.Unit
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?]
TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.Test<TT of <root>.Test>
VALUE_PARAMETER name:t index:0 type:TT of <root>.Test
VALUE_PARAMETER name:x index:1 type:X of <root>.Test.qux
@@ -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:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
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:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$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<T1 of <root>.Outer>
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
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<T2 of <root>.Outer.Inner, T1 of <root>.Outer>
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T2 index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> ($this:<root>.Outer<T1 of <root>.Outer>) returnType:<root>.Outer.Inner<T2 of <root>.Outer.Inner, T1 of <root>.Outer> [primary]
$outer: VALUE_PARAMETER name:<this> type:<root>.Outer<T1 of <root>.Outer>
BLOCK_BODY
@@ -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:[kotlin.Any?]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false
BLOCK_BODY
FUN LOCAL_FUNCTION 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:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
VALUE_PARAMETER name:i index:0 type:kotlin.Int
VALUE_PARAMETER name:j index:1 type:T of <root>.outer.test1
BLOCK_BODY
@@ -37,7 +37,7 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
PROPERTY name:testExt3 visibility:public modality:FINAL [val]
FUN name:<get-testExt3> visibility:public modality:FINAL <T> ($receiver:T of <root>.<get-testExt3>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testExt3 visibility:public modality:FINAL [val]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.<get-testExt3>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testExt3> <T> (): kotlin.Int declared in <root>'
@@ -45,20 +45,20 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
PROPERTY name:testExt4 visibility:public modality:FINAL [var]
FUN name:<get-testExt4> visibility:public modality:FINAL <T> ($receiver:T of <root>.<get-testExt4>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.<get-testExt4>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-testExt4> <T> (): kotlin.Int declared in <root>'
CONST Int type=kotlin.Int value=42
FUN name:<set-testExt4> visibility:public modality:FINAL <T> ($receiver:T of <root>.<set-testExt4>, value:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:testExt4 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:T of <root>.<set-testExt4>
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<T of <root>.Host>
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.Host<T of <root>.Host> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -107,7 +107,7 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
PROPERTY name:testMemExt3 visibility:public modality:FINAL [val]
FUN name:<get-testMemExt3> visibility:public modality:FINAL <TT> ($this:<root>.Host<T of <root>.Host>, $receiver:TT of <root>.Host.<get-testMemExt3>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMemExt3 visibility:public modality:FINAL [val]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
$receiver: VALUE_PARAMETER name:<this> type:TT of <root>.Host.<get-testMemExt3>
BLOCK_BODY
@@ -116,7 +116,7 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
PROPERTY name:testMemExt4 visibility:public modality:FINAL [var]
FUN name:<get-testMemExt4> visibility:public modality:FINAL <TT> ($this:<root>.Host<T of <root>.Host>, $receiver:TT of <root>.Host.<get-testMemExt4>) returnType:kotlin.Int
correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
$receiver: VALUE_PARAMETER name:<this> type:TT of <root>.Host.<get-testMemExt4>
BLOCK_BODY
@@ -124,7 +124,7 @@ FILE fqName:<root> fileName:/propertyAccessors.kt
CONST Int type=kotlin.Int value=42
FUN name:<set-testMemExt4> visibility:public modality:FINAL <TT> ($this:<root>.Host<T of <root>.Host>, $receiver:TT of <root>.Host.<set-testMemExt4>, value:kotlin.Int) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:testMemExt4 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:TT index:0 variance: superTypes:[kotlin.Any?] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.Host<T of <root>.Host>
$receiver: VALUE_PARAMETER name:<this> type:TT of <root>.Host.<set-testMemExt4>
VALUE_PARAMETER name:value index:0 type:kotlin.Int
@@ -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<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:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.Test1] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.Test1<T of <root>.Test1, U of <root>.Test1> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -21,20 +21,20 @@ 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:[U of <root>.test2]
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.test2] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
BLOCK_BODY
PROPERTY name:test3 visibility:public modality:FINAL [var]
FUN name:<get-test3> visibility:public modality:FINAL <T, U> ($receiver:<root>.Test1<T of <root>.<get-test3>, U of <root>.<get-test3>>) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<get-test3>]
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<get-test3>] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.Test1<T of <root>.<get-test3>, U of <root>.<get-test3>>
BLOCK_BODY
FUN name:<set-test3> visibility:public modality:FINAL <T, U> ($receiver:<root>.Test1<T of <root>.<get-test3>, U of <root>.<get-test3>>, value:kotlin.Unit) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<get-test3>]
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<get-test3>] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.Test1<T of <root>.<get-test3>, U of <root>.<get-test3>>
VALUE_PARAMETER name:value index:0 type:kotlin.Unit
BLOCK_BODY
@@ -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<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:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.Test1] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.Test1<T of <root>.Test1, U of <root>.Test1> [primary]
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
@@ -21,20 +21,20 @@ 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:[U of <root>.test2]
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.test2] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
BLOCK_BODY
PROPERTY name:test3 visibility:public modality:FINAL [var]
FUN name:<get-test3> visibility:public modality:FINAL <T, U> ($receiver:<root>.Test1<T of <root>.<get-test3>, U of <root>.<get-test3>>) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<get-test3>]
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<get-test3>] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.Test1<T of <root>.<get-test3>, U of <root>.<get-test3>>
BLOCK_BODY
FUN name:<set-test3> visibility:public modality:FINAL <T, U> ($receiver:<root>.Test1<T of <root>.<set-test3>, U of <root>.<set-test3>>, value:kotlin.Unit) returnType:kotlin.Unit
correspondingProperty: PROPERTY name:test3 visibility:public modality:FINAL [var]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<set-test3>]
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?]
TYPE_PARAMETER name:T index:0 variance: superTypes:[U of <root>.<set-test3>] reified:false
TYPE_PARAMETER name:U index:1 variance: superTypes:[kotlin.Any?] reified:false
$receiver: VALUE_PARAMETER name:<this> type:<root>.Test1<T of <root>.<set-test3>, U of <root>.<set-test3>>
VALUE_PARAMETER name:value index:0 type:kotlin.Unit
BLOCK_BODY
@@ -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<T of <root>.Base1>
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived1]
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived1] reified:false
CONSTRUCTOR visibility:public <> () returnType:<root>.Base1<T of <root>.Base1> [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:[<root>.Derived2]
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived2] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.Base2
VALUE_PARAMETER name:x index:0 type:T of <root>.Base2.foo
BLOCK_BODY
@@ -72,7 +72,7 @@ FILE fqName:<root> fileName:/typeParameterBoundedBySubclass.kt
FUN FAKE_OVERRIDE name:foo visibility:public modality:FINAL <T> ($this:<root>.Base2, x:T of <root>.Derived2.foo) returnType:kotlin.Unit [fake_override]
overridden:
public final fun foo <T> (x: T of <root>.Base2.foo): kotlin.Unit declared in <root>.Base2
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived2]
TYPE_PARAMETER name:T index:0 variance: superTypes:[<root>.Derived2] reified:false
$this: VALUE_PARAMETER name:<this> type:<root>.Base2
VALUE_PARAMETER name:x index:0 type:T of <root>.Derived2.foo
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]