FIR Java: record Java types with flexible nullability

This commit is contained in:
Jinseong Jeon
2020-11-12 15:40:21 -08:00
committed by teamcityserver
parent 1f48092ec1
commit fc7f589caa
175 changed files with 545 additions and 444 deletions
@@ -1,5 +1,5 @@
public/*package*/ open class ArraysUtilJVM : R|kotlin/Any| {
public/*package*/ open static fun <T : R|ft<kotlin/Any, kotlin/Any?>!|> asList(p0: ):
public/*package*/ open static fun <T : R|ft<@FlexibleNullability kotlin/Any, kotlin/Any?>!|> asList(p0: ):
public/*package*/ constructor(): R|kotlin/collections/ArraysUtilJVM|
@@ -3,9 +3,9 @@
}
public open class NonNullNever : R|kotlin/Any| {
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) public open field field: R|kotlin/String?|
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) public open field field: R|@FlexibleNullability kotlin/String?|
@R|MyNullable|() public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) x: R|kotlin/String?|, @R|MyNullable|() y: R|kotlin/CharSequence?|): R|kotlin/String?|
@R|MyNullable|() public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) x: R|@FlexibleNullability kotlin/String?|, @R|MyNullable|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|@FlexibleNullability kotlin/String?|
public constructor(): R|NonNullNever|
@@ -1,7 +1,7 @@
public open class Simple : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@FlexibleNullability kotlin/String?|
@R|javax/annotation/Nullable|() public open fun foo(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun foo(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|@FlexibleNullability kotlin/String?|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,7 +1,7 @@
public open class Strange : R|kotlin/Any| {
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) public open field field: R|ft<kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) public open field field: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.ALWAYS|()) x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) y: R|kotlin/CharSequence?|): R|kotlin/String?|
@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.MAYBE|()) public open fun foo(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.ALWAYS|()) x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.NEVER|()) y: R|@FlexibleNullability kotlin/CharSequence?|): R|@FlexibleNullability kotlin/String?|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,9 +1,9 @@
@R|FieldsAreNullable|() public open class A : R|kotlin/Any| {
public open field field: R|kotlin/String?|
public open field field: R|@FlexibleNullability kotlin/String?|
@R|javax/annotation/Nonnull|() public open field nonNullField: R|@EnhancedNullability kotlin/String|
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
public open fun foo(q: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,7 +1,7 @@
@R|spr/NonNullApi|() public open class A : R|kotlin/Any| {
public open fun foo(x: R|kotlin/String|, @R|spr/Nullable|() y: R|kotlin/CharSequence?|): R|kotlin/String|
public open fun foo(x: R|@FlexibleNullability kotlin/String|, @R|spr/Nullable|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|@FlexibleNullability kotlin/String|
@R|spr/ForceFlexibility|() public open fun bar(x: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() y: R|@EnhancedNullability kotlin/CharSequence|): R|ft<kotlin/String, kotlin/String?>!|
@R|spr/ForceFlexibility|() public open fun bar(x: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() y: R|@EnhancedNullability kotlin/CharSequence|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
public constructor(): R|A|
@@ -1,11 +1,11 @@
@R|spr/NonNullApi|() public open class A : R|kotlin/Any|, R|B| {
@R|spr/ForceFlexibility|() public open fun foo(x: R|kotlin/String|): R|kotlin/Unit|
@R|spr/ForceFlexibility|() public open fun foo(x: R|@FlexibleNullability kotlin/String|): R|kotlin/Unit|
public open fun bar(@R|spr/ForceFlexibility|() x: R|kotlin/String|): R|kotlin/Unit|
public open fun bar(@R|spr/ForceFlexibility|() x: R|@FlexibleNullability kotlin/String|): R|kotlin/Unit|
public open fun baz(@R|spr/UnknownNullability|() x: R|kotlin/String|): R|kotlin/Unit|
public open fun baz(@R|spr/UnknownNullability|() x: R|@FlexibleNullability kotlin/String|): R|kotlin/Unit|
public open fun foobar(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) x: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun foobar(@R|javax/annotation/Nonnull|(R|javax/annotation/meta/When.UNKNOWN|()) x: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public constructor(): R|A|
@@ -1,55 +1,55 @@
@R|NonNullApi|() public open class A : R|kotlin/Any| {
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
public open fun foo1(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
public open fun foo2(x: R|kotlin/String|): R|kotlin/String|
public open fun foo2(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
public open fun foo3(x: R|kotlin/String|): R|kotlin/String|
public open fun foo3(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
@R|javax/annotation/Nullable|() public open fun bar1(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar1(@R|javax/annotation/Nullable|() x: R|@FlexibleNullability kotlin/String?|): R|@FlexibleNullability kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|@FlexibleNullability kotlin/String?|): R|@FlexibleNullability kotlin/String?|
public open fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/String|
public open fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
public constructor(): R|A|
}
@R|NonNullApi|() public abstract interface AInt : R|kotlin/Any| {
public abstract fun foo1(x: R|kotlin/String|): R|kotlin/CharSequence|
public abstract fun foo1(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/CharSequence|
public abstract fun foo2(x: R|kotlin/String|): R|kotlin/CharSequence|
public abstract fun foo2(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/CharSequence|
public abstract fun foo3(x: R|kotlin/String|): R|kotlin/CharSequence|
public abstract fun foo3(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/CharSequence|
@R|javax/annotation/Nullable|() public abstract fun bar1(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/CharSequence?|
@R|javax/annotation/Nullable|() public abstract fun bar1(@R|javax/annotation/Nullable|() x: R|@FlexibleNullability kotlin/String?|): R|@FlexibleNullability kotlin/CharSequence?|
@R|javax/annotation/Nullable|() public abstract fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/CharSequence?|
@R|javax/annotation/Nullable|() public abstract fun bar2(@R|javax/annotation/Nullable|() x: R|@FlexibleNullability kotlin/String?|): R|@FlexibleNullability kotlin/CharSequence?|
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/CharSequence|
public abstract fun baz(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|@FlexibleNullability kotlin/CharSequence|
}
@R|NullableApi|() public open class B : R|A|, R|AInt| {
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
public open fun foo1(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
@R|javax/annotation/Nonnull|() public open fun foo2(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|@EnhancedNullability kotlin/String|
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
public open fun bar1(x: R|@FlexibleNullability kotlin/String?|): R|@FlexibleNullability kotlin/String?|
public open fun baz(x: R|kotlin/String|): R|kotlin/String|
public open fun baz(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
public constructor(): R|B|
}
@R|NonNullApi|() public open class C : R|A|, R|AInt| {
public open fun foo1(x: R|kotlin/String|): R|kotlin/String|
public open fun foo1(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
public open fun foo2(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|kotlin/String|
public open fun foo2(@R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
public open fun bar1(x: R|kotlin/String?|): R|kotlin/String?|
public open fun bar1(x: R|@FlexibleNullability kotlin/String?|): R|@FlexibleNullability kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|kotlin/String?|): R|kotlin/String?|
@R|javax/annotation/Nullable|() public open fun bar2(@R|javax/annotation/Nullable|() x: R|@FlexibleNullability kotlin/String?|): R|@FlexibleNullability kotlin/String?|
public open fun baz(x: R|kotlin/String|): R|kotlin/String|
public open fun baz(x: R|@FlexibleNullability kotlin/String|): R|@FlexibleNullability kotlin/String|
public constructor(): R|C|
@@ -1,13 +1,13 @@
@R|NonNullApi|() public open class A : R|kotlin/Any| {
public open field field: R|kotlin/String|
public open field field: R|@FlexibleNullability kotlin/String|
public open fun foo(x: R|kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|kotlin/String|
public open fun foo(x: R|@FlexibleNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|@FlexibleNullability kotlin/String|
@R|NullableApi|() public open fun foobar(x: R|kotlin/String?|, @R|NonNullApi|() y: R|kotlin/CharSequence|): R|kotlin/String?|
@R|NullableApi|() public open fun foobar(x: R|@FlexibleNullability kotlin/String?|, @R|NonNullApi|() y: R|@FlexibleNullability kotlin/CharSequence|): R|@FlexibleNullability kotlin/String?|
public open fun bar(): R|kotlin/String|
public open fun bar(): R|@FlexibleNullability kotlin/String|
@R|javax/annotation/Nullable|() public open fun baz(): R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>?|
@R|javax/annotation/Nullable|() public open fun baz(): R|ft<@FlexibleNullability kotlin/collections/MutableList<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>?|
public constructor(): R|A|
@@ -1,7 +1,7 @@
@R|javax/annotation/ParametersAreNonnullByDefault|() public open class A : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@FlexibleNullability kotlin/String?|
public open fun foo(q: R|kotlin/String|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
public open fun foo(q: R|@FlexibleNullability kotlin/String|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,7 +1,7 @@
public open class A : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@FlexibleNullability kotlin/String?|
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
public open fun foo(q: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -9,9 +9,9 @@ public open class A : R|kotlin/Any| {
}
public open class A2 : R|kotlin/Any| {
@R|javax/annotation/Nullable|() public open field field: R|kotlin/String?|
@R|javax/annotation/Nullable|() public open field field: R|@FlexibleNullability kotlin/String?|
public open fun foo(q: R|ft<kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
public open fun foo(q: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|javax/annotation/Nonnull|() x: R|@EnhancedNullability kotlin/String|, @R|javax/annotation/CheckForNull|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,11 +1,11 @@
@R|spr/NonNullApi|() public open class A : R|kotlin/Any| {
public open field field: R|ft<kotlin/String, kotlin/String?>!|
public open field field: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
public open fun foo(x: R|kotlin/String|, @R|spr/Nullable|() y: R|kotlin/CharSequence?|): R|kotlin/String|
public open fun foo(x: R|@FlexibleNullability kotlin/String|, @R|spr/Nullable|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|@FlexibleNullability kotlin/String|
public open fun bar(): R|kotlin/String|
public open fun bar(): R|@FlexibleNullability kotlin/String|
@R|spr/Nullable|() public open fun baz(): R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>?|
@R|spr/Nullable|() public open fun baz(): R|ft<@FlexibleNullability kotlin/collections/MutableList<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>?|
public constructor(): R|A|
@@ -1,11 +1,11 @@
public open class A : R|kotlin/Any| {
public open field field: R|ft<kotlin/String, kotlin/String?>!|
public open field field: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
public open fun foo(x: R|ft<kotlin/String, kotlin/String?>!|, @R|spr/Nullable|() y: R|kotlin/CharSequence?|): R|ft<kotlin/String, kotlin/String?>!|
public open fun foo(x: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|spr/Nullable|() y: R|@FlexibleNullability kotlin/CharSequence?|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
public open fun bar(): R|ft<kotlin/String, kotlin/String?>!|
public open fun bar(): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@R|spr/Nullable|() public open fun baz(): R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>?|
@R|spr/Nullable|() public open fun baz(): R|ft<@FlexibleNullability kotlin/collections/MutableList<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?, kotlin/collections/List<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>?|
public constructor(): R|test/A|
@@ -1,4 +1,4 @@
public abstract class AbstractMap : R|kotlin/Any|, R|kotlin/collections/MutableMap<ft<kotlin/String, kotlin/String?>!, ft<kotlin/String, kotlin/String?>!>| {
public abstract class AbstractMap : R|kotlin/Any|, R|kotlin/collections/MutableMap<ft<@FlexibleNullability kotlin/String, kotlin/String?>!, ft<@FlexibleNullability kotlin/String, kotlin/String?>!>| {
public constructor(): R|AbstractMap|
}
@@ -1,17 +1,17 @@
public/*package*/ open class A : R|kotlin/Any| {
public open fun a(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(HELLO)) arg: R|ft<Signs, Signs?>!| = R|/Signs.HELLO|): R|ft<Signs, Signs?>!|
public open fun a(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(HELLO)) arg: R|ft<@FlexibleNullability Signs, Signs?>!| = R|/Signs.HELLO|): R|ft<@FlexibleNullability Signs, Signs?>!|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(X)) arg: R|ft<Signs, Signs?>!| = R|/Signs.X|): R|ft<Signs, Signs?>!|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(X)) arg: R|ft<@FlexibleNullability Signs, Signs?>!| = R|/Signs.X|): R|ft<@FlexibleNullability Signs, Signs?>!|
public open fun baz(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(NOT_ENTRY_EITHER)) arg: R|ft<Signs, Signs?>!|): R|ft<Signs, Signs?>!|
public open fun baz(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(NOT_ENTRY_EITHER)) arg: R|ft<@FlexibleNullability Signs, Signs?>!|): R|ft<@FlexibleNullability Signs, Signs?>!|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(NOT_ENTRY_EITHER)) arg: R|ft<Mixed, Mixed?>!| = R|/Mixed.NOT_ENTRY_EITHER|): R|ft<Mixed, Mixed?>!|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(NOT_ENTRY_EITHER)) arg: R|ft<@FlexibleNullability Mixed, Mixed?>!| = R|/Mixed.NOT_ENTRY_EITHER|): R|ft<@FlexibleNullability Mixed, Mixed?>!|
public/*package*/ constructor(): R|A|
}
public final enum class Mixed : R|kotlin/Enum<ft<Mixed, Mixed?>!>| {
public final static enum entry NOT_ENTRY_EITHER: R|Mixed|
public final enum class Mixed : R|kotlin/Enum<ft<@FlexibleNullability Mixed, Mixed?>!>| {
public final static enum entry NOT_ENTRY_EITHER: R|@FlexibleNullability Mixed|
public final static fun values(): R|kotlin/Array<Mixed>| {
}
@@ -19,10 +19,10 @@ public final enum class Mixed : R|kotlin/Enum<ft<Mixed, Mixed?>!>| {
}
}
public final enum class Signs : R|kotlin/Enum<ft<Signs, Signs?>!>| {
public final static enum entry HELLO: R|Signs|
public final static enum entry WORLD: R|Signs|
public final static field X: R|ft<Signs, Signs?>!|
public final enum class Signs : R|kotlin/Enum<ft<@FlexibleNullability Signs, Signs?>!>| {
public final static enum entry HELLO: R|@FlexibleNullability Signs|
public final static enum entry WORLD: R|@FlexibleNullability Signs|
public final static field X: R|ft<@FlexibleNullability Signs, Signs?>!|
public final static fun values(): R|kotlin/Array<Signs>| {
}
@@ -1,23 +1,23 @@
public open class A : R|kotlin/Any| {
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0x1F)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(31)): R|kotlin/Unit|
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0x1F)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!| = Long(31)): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0X1F)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(31)): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0X1F)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!| = Long(31)): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0b1010)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(10)): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0b1010)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!| = Long(10)): R|kotlin/Unit|
public open fun fourth(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0B1010)) value: R|ft<kotlin/Long, kotlin/Long?>!| = Long(10)): R|kotlin/Unit|
public open fun fourth(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0B1010)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!| = Long(10)): R|kotlin/Unit|
public constructor(): R|A|
}
public open class B : R|kotlin/Any| {
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0x)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0x)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0xZZ)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0xZZ)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0b)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0b)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun fourth(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0B1234)) value: R|ft<kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public open fun fourth(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(0B1234)) value: R|ft<@FlexibleNullability kotlin/Long, kotlin/Long?>!|): R|kotlin/Unit|
public constructor(): R|B|
@@ -1,5 +1,5 @@
public open class A : R|kotlin/Any| {
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() x: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() x: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() x: R|kotlin/Int| = Null(null)): R|kotlin/Unit|
@@ -7,7 +7,7 @@ public open class A : R|kotlin/Any| {
}
public open class B<T : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| {
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() t: R|ft<T, T?>!| = Null(null)): R|kotlin/Unit|
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() t: R|ft<@FlexibleNullability T, T?>!| = Null(null)): R|kotlin/Unit|
public constructor<T : R|ft<kotlin/Any, kotlin/Any?>!|>(): R|B<T>|
@@ -1,27 +1,27 @@
public open class A : R|kotlin/Any| {
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() i: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() i: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public open fun baz(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public open fun baz(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public constructor(): R|A|
}
public abstract interface AInt : R|kotlin/Any| {
public abstract fun foo(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) i: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public abstract fun foo(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) i: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public abstract fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
public abstract fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() a: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Null(null)): R|kotlin/Unit|
}
public open class B : R|A| {
public open fun foo(i: R|ft<kotlin/Int, kotlin/Int?>!|): R|kotlin/Unit|
public open fun foo(i: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!|): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public open fun bar(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultNull|() @R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public open fun bam(@R|kotlin/annotations/jvm/internal/DefaultNull|() @R|kotlin/annotations/jvm/internal/DefaultValue|(String(42)) a: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = Int(42)): R|kotlin/Unit|
public constructor(): R|B|
@@ -1,13 +1,13 @@
public/*package*/ open class A : R|kotlin/Any| {
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(hello)) value: R|ft<kotlin/String, kotlin/String?>!| = String(hello)): R|kotlin/Unit|
public open fun first(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(hello)) value: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = String(hello)): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(first)) a: R|ft<kotlin/String, kotlin/String?>!| = String(first), @R|kotlin/annotations/jvm/internal/DefaultValue|(String(second)) b: R|ft<kotlin/String, kotlin/String?>!| = String(second)): R|kotlin/Unit|
public open fun second(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(first)) a: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = String(first), @R|kotlin/annotations/jvm/internal/DefaultValue|(String(second)) b: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = String(second)): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(first)) a: R|ft<kotlin/String, kotlin/String?>!| = String(first), b: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun third(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(first)) a: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = String(first), b: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun fourth(first: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/DefaultValue|(String(second)) second: R|ft<kotlin/String, kotlin/String?>!| = String(second)): R|kotlin/Unit|
public open fun fourth(first: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/DefaultValue|(String(second)) second: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = String(second)): R|kotlin/Unit|
public open fun wrong(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(hello)) i: R|ft<kotlin/Int, kotlin/Int?>!|): R|kotlin/Unit|
public open fun wrong(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(hello)) i: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!|): R|kotlin/Unit|
public/*package*/ constructor(): R|A|
@@ -1,9 +1,9 @@
public/*package*/ open class A : R|kotlin/Any| {
public open fun emptyName(@R|kotlin/annotations/jvm/internal/ParameterName|(String()) first: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) second: R|kotlin/Int|): R|kotlin/Unit|
public open fun emptyName(@R|kotlin/annotations/jvm/internal/ParameterName|(String()) first: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) second: R|kotlin/Int|): R|kotlin/Unit|
public open fun missingName(@R|kotlin/annotations/jvm/internal/ParameterName|() first: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun missingName(@R|kotlin/annotations/jvm/internal/ParameterName|() first: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(Int(42)) first: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(Int(42)) first: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public/*package*/ constructor(): R|A|
@@ -1,5 +1,5 @@
public open class A : R|kotlin/Any| {
public open fun connect(@R|kotlin/annotations/jvm/internal/ParameterName|(String(host)) host: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(port)) port: R|kotlin/Int|): R|kotlin/Unit|
public open fun connect(@R|kotlin/annotations/jvm/internal/ParameterName|(String(host)) host: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(port)) port: R|kotlin/Int|): R|kotlin/Unit|
public constructor(): R|A|
@@ -1,5 +1,5 @@
public open class A : R|kotlin/Any| {
public open fun same(@R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) first: R|ft<kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) second: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun same(@R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) first: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, @R|kotlin/annotations/jvm/internal/ParameterName|(String(ok)) second: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public constructor(): R|A|
@@ -1,7 +1,7 @@
public open class A : R|kotlin/Any| {
public open fun dollarName(@R|kotlin/annotations/jvm/internal/ParameterName|(String($)) host: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun dollarName(@R|kotlin/annotations/jvm/internal/ParameterName|(String($)) host: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(String(42)) field: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public open fun numberName(@R|kotlin/annotations/jvm/internal/ParameterName|(String(42)) field: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|): R|kotlin/Unit|
public constructor(): R|A|
@@ -1,5 +1,5 @@
public/*package*/ open class A : R|kotlin/Any| {
public open static fun withDefault(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(OK)) arg: R|ft<kotlin/String, kotlin/String?>!| = String(OK)): R|ft<kotlin/String, kotlin/String?>!|
public open static fun withDefault(@R|kotlin/annotations/jvm/internal/DefaultValue|(String(OK)) arg: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = String(OK)): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
public/*package*/ constructor(): R|A|
@@ -1,6 +1,6 @@
FILE: flexibleTypeBug.kt
public final fun foo(): R|kotlin/Unit| {
lvar list1: R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>!| = Q|java/util/Collections|.R|java/util/Collections.emptyList|<R|ft<kotlin/String, kotlin/String?>!|>()
lvar list1: R|ft<@FlexibleNullability kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>!| = Q|java/util/Collections|.R|java/util/Collections.emptyList|<R|ft<kotlin/String, kotlin/String?>!|>()
lval list2: R|kotlin/collections/List<kotlin/String>| = R|kotlin/collections/listOf|<R|kotlin/String|>(String(b))
R|<local>/list1| = R|<local>/list1|.R|kotlin/collections/plus|<R|ft<kotlin/String, kotlin/String?>!|>(R|<local>/list2|)
}
@@ -15,7 +15,7 @@ FILE: main.kt
}
public final fun test_1(): R|kotlin/Unit| {
lval e: R|ft<E, E?>!| = Q|Utils|.R|/Utils.getEnum|()
lval e: R|ft<@FlexibleNullability E, E?>!| = Q|Utils|.R|/Utils.getEnum|()
lval s: R|kotlin/String| = when (R|<local>/e|) {
==($subj$, Null(null)) -> {
^test_1 Unit
@@ -34,7 +34,7 @@ FILE: main.kt
R|<local>/s|.R|kotlin/String.length|
}
public final fun test_2(): R|kotlin/Unit| {
lval e: R|ft<E, E?>!| = Q|Utils|.R|/Utils.getEnum|()
lval e: R|ft<@FlexibleNullability E, E?>!| = Q|Utils|.R|/Utils.getEnum|()
lval s: R|kotlin/String| = when (R|<local>/e|) {
==($subj$, Q|E|.R|/E.A|) -> {
String()
@@ -16,7 +16,7 @@ FILE: test.kt
private final val DERIVED_FACTORY: R|DiagnosticFactory0<ft<DerivedElement, DerivedElement?>!>| = R|/DiagnosticFactory0.DiagnosticFactory0|<R|ft<DerivedElement, DerivedElement?>!|>()
private get(): R|DiagnosticFactory0<ft<DerivedElement, DerivedElement?>!>|
public final fun createViaFactory(d: R|EmptyDiagnostic|): R|kotlin/Unit| {
lval casted: R|Diagnostic<ft<DerivedElement, DerivedElement?>!>| = R|/DERIVED_FACTORY|.R|SubstitutionOverride</DiagnosticFactory0.cast: R|Diagnostic<ft<DerivedElement, DerivedElement?>!>|>|(R|<local>/d|)
lval casted: R|@FlexibleNullability Diagnostic<ft<DerivedElement, DerivedElement?>!>| = R|/DERIVED_FACTORY|.R|SubstitutionOverride</DiagnosticFactory0.cast: R|@FlexibleNullability Diagnostic<ft<DerivedElement, DerivedElement?>!>|>|(R|<local>/d|)
lval element: R|DerivedElement| = R|<local>/casted|.R|/Diagnostic.element|
R|/Fix.Fix|(R|<local>/element|)
}
@@ -1,5 +1,5 @@
FILE: test.kt
public final fun test(): R|kotlin/Unit| {
lval staticReference: R|kotlin/reflect/KMutableProperty0<ft<kotlin/String, kotlin/String?>!>| = Q|JavaClass|::R|/JavaClass.staticField|
lval nonStaticReference: R|kotlin/reflect/KMutableProperty1<JavaClass, ft<kotlin/String, kotlin/String?>!>| = Q|JavaClass|::R|/JavaClass.nonStaticField|
lval staticReference: R|kotlin/reflect/KMutableProperty0<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>| = Q|JavaClass|::R|/JavaClass.staticField|
lval nonStaticReference: R|kotlin/reflect/KMutableProperty1<JavaClass, ft<@FlexibleNullability kotlin/String, kotlin/String?>!>| = Q|JavaClass|::R|/JavaClass.nonStaticField|
}
@@ -37,7 +37,7 @@ FILE: O.kt
}
public final fun local(): R|kotlin/Unit| {
lval y: R|ft<kotlin/String, kotlin/String?>!| = this@R|/O.Derived|.R|/Base.foo|()
lval y: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = this@R|/O.Derived|.R|/Base.foo|()
}
public final val oo: R|<anonymous>| = object : R|kotlin/Any| {
@@ -66,7 +66,7 @@ FILE: O.kt
}
public final fun local(): R|kotlin/Unit| {
lval y: R|ft<kotlin/String, kotlin/String?>!| = this@R|/O.Derived|.R|/Base.foo|()
lval y: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = this@R|/O.Derived|.R|/Base.foo|()
}
}
@@ -20,7 +20,7 @@ FILE: test.kt
R|<local>/x|.R|/AnotherClass.bar|
}
public final fun test2(x: R|SomeClass?|): R|kotlin/Unit| {
lval bar: R|kotlin/CharSequence| = R|<local>/x|?.{ $subj$.R|/SomeClass.bar| } ?: ^test2 Unit
lval bar: R|@FlexibleNullability kotlin/CharSequence| = R|<local>/x|?.{ $subj$.R|/SomeClass.bar| } ?: ^test2 Unit
R|<local>/x|.R|/SomeClass.bar|
}
public final fun test3(x: R|AnotherClass?|): R|kotlin/Unit| {
@@ -33,7 +33,7 @@ FILE: test.kt
}
public final fun test4(x: R|SomeClass?|): R|kotlin/Unit| {
lval bar: R|kotlin/CharSequence?| = R|<local>/x|?.{ $subj$.R|/SomeClass.bar| }
lval bar: R|@FlexibleNullability kotlin/CharSequence?| = R|<local>/x|?.{ $subj$.R|/SomeClass.bar| }
when () {
!=(R|<local>/bar|, Null(null)) -> {
R|<local>/x|.R|/SomeClass.bar|.<Inapplicable(INAPPLICABLE_WRONG_RECEIVER): kotlin/CharSequence.length>#
@@ -4,5 +4,5 @@ FILE: main.kt
public final fun <D : R|A|> foo(b: R|B<D>|): R|kotlin/Unit| {
}
public final fun main(b: R|B<*>|): R|kotlin/Unit| {
R|/foo|<R|ft<A, A?>!|>(R|<local>/b|)
R|/foo|<R|ft<@FlexibleNullability A, A?>!|>(R|<local>/b|)
}
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun test(a: R|A|): R|kotlin/Unit| {
lval int: R|kotlin/Int| = R|<local>/a|.R|/A.x|
lval string: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/a|.R|/A.getX|()
lval string: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/a|.R|/A.getX|()
}
@@ -1,4 +1,4 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
lval b: R|ft<B, B?>!| = Q|B|.R|/B.VALUE|
lval b: R|ft<@FlexibleNullability B, B?>!| = Q|B|.R|/B.VALUE|
}
@@ -1,10 +1,10 @@
FILE: main.kt
public final fun test_1(x: R|A|): R|kotlin/Unit| {
lval str1: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/x|.R|/A.vmParameters|
lval str1: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/x|.R|/A.vmParameters|
lval str2: R|ERROR CLASS: Unresolved name: vMParameters| = R|<local>/x|.<Unresolved name: vMParameters>#
}
public final fun test_2(x: R|B|): R|kotlin/Unit| {
lval int: R|ft<kotlin/Int, kotlin/Int?>!| = R|<local>/x|.R|/B.vmParameters|
lval int: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| = R|<local>/x|.R|/B.vmParameters|
lval error: R|ERROR CLASS: Unresolved name: vMParameters| = R|<local>/x|.<Unresolved name: vMParameters>#
}
public final fun test_3(x: R|C|): R|kotlin/Unit| {
@@ -1,6 +1,6 @@
FILE: main.kt
public final fun foo(): R|kotlin/Unit| {
Q|RawType|.R|/RawType.bar|(<L> = bar@fun <anonymous>(it: R|ft<kotlin/CharSequence, kotlin/CharSequence?>!|): R|kotlin/Boolean| {
Q|RawType|.R|/RawType.bar|(<L> = bar@fun <anonymous>(it: R|ft<@FlexibleNullability kotlin/CharSequence, @FlexibleNullability kotlin/CharSequence?>!|): R|kotlin/Boolean| {
^ CMP(>, R|<local>/it|.R|kotlin/CharSequence.length|.R|kotlin/Int.compareTo|(Int(0)))
}
)
@@ -1,14 +1,14 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaUsage|.R|/JavaUsage.foo1|(<L> = foo1@fun <anonymous>(x: R|ft<kotlin/Int, kotlin/Int?>!|): R|ft<kotlin/String, kotlin/String?>!| {
Q|JavaUsage|.R|/JavaUsage.foo1|(<L> = foo1@fun <anonymous>(x: R|ft<@FlexibleNullability kotlin/Int, @FlexibleNullability kotlin/Int?>!|): R|ft<@FlexibleNullability kotlin/String, @FlexibleNullability kotlin/String?>!| {
^ R|<local>/x|.R|kotlin/Int.toInt|().R|kotlin/Any.toString|()
}
)
Q|JavaUsage|.R|/JavaUsage.foo2|(<L> = foo2@fun <anonymous>(x: R|ft<kotlin/Number, kotlin/Number?>!|): R|ft<kotlin/CharSequence, kotlin/CharSequence?>!| {
Q|JavaUsage|.R|/JavaUsage.foo2|(<L> = foo2@fun <anonymous>(x: R|ft<@FlexibleNullability kotlin/Number, @FlexibleNullability kotlin/Number?>!|): R|ft<@FlexibleNullability kotlin/CharSequence, @FlexibleNullability kotlin/CharSequence?>!| {
^ R|<local>/x|.R|kotlin/Number.toInt|().R|kotlin/Any.toString|()
}
)
Q|JavaUsage|.<Inapplicable(INAPPLICABLE): /JavaUsage.foo2>#(<L> = foo2@fun <anonymous>(x: R|kotlin/Int|): R|ft<kotlin/CharSequence, kotlin/CharSequence?>!| {
Q|JavaUsage|.<Inapplicable(INAPPLICABLE): /JavaUsage.foo2>#(<L> = foo2@fun <anonymous>(x: R|kotlin/Int|): R|ft<@FlexibleNullability kotlin/CharSequence, @FlexibleNullability kotlin/CharSequence?>!| {
^ R|<local>/x|.R|kotlin/Any.toString|()
}
)
@@ -2,11 +2,11 @@ FILE: main.kt
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
Q|JavaUsage|.R|/JavaUsage.foo|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|ft<kotlin/Boolean, kotlin/Boolean?>!| {
Q|JavaUsage|.R|/JavaUsage.foo|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|ft<@FlexibleNullability kotlin/Boolean, kotlin/Boolean?>!| {
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
)
Q|JavaUsage|.R|/JavaUsage.foo|(foo@fun <anonymous>(it: R|kotlin/Int|): R|ft<kotlin/Boolean, kotlin/Boolean?>!| {
Q|JavaUsage|.R|/JavaUsage.foo|(foo@fun <anonymous>(it: R|kotlin/Int|): R|ft<@FlexibleNullability kotlin/Boolean, kotlin/Boolean?>!| {
^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
}
)
@@ -5,7 +5,7 @@ FILE: main.kt
}
public final fun main(): R|kotlin/Unit| {
Q|OverridingUtil|.R|/OverridingUtil.createWithEqualityAxioms|(<L> = l1@fun <anonymous>(c1: R|ft<TypeConstructor, TypeConstructor?>!|, c2: R|ft<TypeConstructor, TypeConstructor?>!|): R|kotlin/Boolean| {
Q|OverridingUtil|.R|/OverridingUtil.createWithEqualityAxioms|(<L> = l1@fun <anonymous>(c1: R|ft<@FlexibleNullability TypeConstructor, TypeConstructor?>!|, c2: R|ft<@FlexibleNullability TypeConstructor, TypeConstructor?>!|): R|kotlin/Boolean| {
when () {
==(R|<local>/c1|.R|/TypeConstructor.x|, R|<local>/c2|.R|/TypeConstructor.x|) -> {
^@l1 Boolean(true)
@@ -16,7 +16,7 @@ FILE: Main.kt
R|/takeStrings|(R|<local>/list|)
}
public final fun testFromJava(): R|kotlin/Unit| {
lval values: R|ft<kotlin/Array<ft<kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<kotlin/String, kotlin/String?>!>?>!| = Q|Utils|.R|/Utils.getStrings|()
lval list: R|kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>| = R|/myListOf|<R|ft<kotlin/String, kotlin/String?>!|>(vararg(*R|<local>/values|))
lval values: R|ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>!| = Q|Utils|.R|/Utils.getStrings|()
lval list: R|kotlin/collections/List<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>| = R|/myListOf|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>(vararg(*R|<local>/values|))
R|/takeStrings|(R|<local>/list|)
}
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|Keys|.R|/Keys.getData|<R|ft<kotlin/Array<ft<kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<kotlin/String, kotlin/String?>!>?>!|>(Q|Keys|.R|/Keys.X|).R|SubstitutionOverride<kotlin/Array.get: R|ft<kotlin/String, kotlin/String?>!|>|(Int(0)).R|kotlin/String.length|
Q|Keys|.R|/Keys.getData|<R|ft<kotlin/String, kotlin/String?>!|>(Q|Keys|.R|/Keys.Y|).R|kotlin/String.length|
Q|Keys|.R|/Keys.getData|<R|ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>!|>(Q|Keys|.R|/Keys.X|).R|SubstitutionOverride<kotlin/Array.get: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>|(Int(0)).R|kotlin/String.length|
Q|Keys|.R|/Keys.getData|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>(Q|Keys|.R|/Keys.Y|).R|kotlin/String.length|
}
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun main(x: R|kotlin/collections/MutableCollection<kotlin/collections/Set<kotlin/String>>|): R|kotlin/Unit| {
lval y: R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>!| = Q|ContainerUtil|.R|/ContainerUtil.flatten|<R|ft<kotlin/String, kotlin/String?>!|>(R|<local>/x|)
lval y: R|ft<@FlexibleNullability kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>!| = Q|ContainerUtil|.R|/ContainerUtil.flatten|<R|ft<kotlin/String, kotlin/String?>!|>(R|<local>/x|)
R|<local>/y|.R|SubstitutionOverride<kotlin/collections/MutableList.get: R|ft<kotlin/String, kotlin/String?>!|>|(Int(0)).R|kotlin/String.length|
}
@@ -1,3 +1,3 @@
FILE: main.kt
public final val enumMap: R|java/util/EnumMap<ft<JavaEnum, JavaEnum?>!, ft<kotlin/String, kotlin/String?>!>| = R|java/util/EnumMap.EnumMap|<R|ft<JavaEnum, JavaEnum?>!|, R|ft<kotlin/String, kotlin/String?>!|>(R|kotlin/collections/mapOf|<R|ft<JavaEnum, JavaEnum?>!|, R|kotlin/String|>(Q|JavaEnum|.R|/JavaEnum.A|.R|kotlin/to|<R|JavaEnum|, R|kotlin/String|>(String(A))))
public get(): R|java/util/EnumMap<ft<JavaEnum, JavaEnum?>!, ft<kotlin/String, kotlin/String?>!>|
public final val enumMap: R|java/util/EnumMap<ft<@FlexibleNullability JavaEnum, JavaEnum?>!, ft<kotlin/String, kotlin/String?>!>| = R|java/util/EnumMap.EnumMap|<R|ft<@FlexibleNullability JavaEnum, JavaEnum?>!|, R|ft<kotlin/String, kotlin/String?>!|>(R|kotlin/collections/mapOf|<R|ft<@FlexibleNullability JavaEnum, JavaEnum?>!|, R|kotlin/String|>(Q|JavaEnum|.R|/JavaEnum.A|.R|kotlin/to|<R|@FlexibleNullability JavaEnum|, R|kotlin/String|>(String(A))))
public get(): R|java/util/EnumMap<ft<@FlexibleNullability JavaEnum, JavaEnum?>!, ft<kotlin/String, kotlin/String?>!>|
@@ -5,8 +5,8 @@ FILE: jvm.kt
}
public final fun test(): R|kotlin/Unit| {
lval x: R|kotlin/String| = this@R|/User|.R|/AnnotatedDerived.foo|(String(123))
lval y: R|kotlin/String| = this@R|/User|.R|/AnnotatedDerived.foo|(Null(null))
lval x: R|@FlexibleNullability kotlin/String| = this@R|/User|.R|/AnnotatedDerived.foo|(String(123))
lval y: R|@FlexibleNullability kotlin/String| = this@R|/User|.R|/AnnotatedDerived.foo|(Null(null))
}
}
@@ -7,7 +7,7 @@ FILE: jvm.kt
public final fun test(): R|kotlin/Unit| {
lval res1: R|kotlin/Boolean| = this@R|/A|.R|/Some.foo|(Int(1))
lval res2: R|kotlin/Boolean| = this@R|/A|.R|/Some.foo|(Int(-1))
lval res3: R|ft<kotlin/Array<ft<kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<kotlin/String, kotlin/String?>!>?>!| = this@R|/A|.R|/Some.bar|(R|kotlin/intArrayOf|(vararg(Int(0), Int(2), Int(-2))))
lval res3: R|ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>!| = this@R|/A|.R|/Some.bar|(R|kotlin/intArrayOf|(vararg(Int(0), Int(2), Int(-2))))
}
}
@@ -1,14 +1,14 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaClass|.R|/JavaClass.foo1|(<L> = foo1@fun <anonymous>(): R|ft<kotlin/Int, kotlin/Int?>!| {
Q|JavaClass|.R|/JavaClass.foo1|(<L> = foo1@fun <anonymous>(): R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!| {
^ Int(123)
}
)
Q|JavaClass|.R|/JavaClass.foo2|(<L> = foo2@fun <anonymous>(it: R|ft<kotlin/Int, kotlin/Int?>!|): R|ft<kotlin/String, kotlin/String?>!| {
Q|JavaClass|.R|/JavaClass.foo2|(<L> = foo2@fun <anonymous>(it: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| {
^ R|<local>/it|.R|kotlin/Int.plus|(Int(2)).R|kotlin/Any.toString|()
}
)
Q|JavaClass|.R|/JavaClass.foo2|(foo2@fun <anonymous>(it: R|ft<kotlin/Int, kotlin/Int?>!|): R|ft<kotlin/String, kotlin/String?>!| {
Q|JavaClass|.R|/JavaClass.foo2|(foo2@fun <anonymous>(it: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| {
^ R|<local>/it|.R|kotlin/Int.plus|(Int(3)).R|kotlin/Any.toString|()
}
)
@@ -17,7 +17,7 @@ FILE: main.kt
}
Q|JavaClass|.R|/JavaClass.foo2|(R|<local>/y|)
Q|JavaClass|.R|/JavaClass.foo3|<R|ft<kotlin/Int, kotlin/Int?>!|>(foo3@fun <anonymous>(it: R|ft<kotlin/Int, kotlin/Int?>!|): R|ft<kotlin/String, kotlin/String?>!| {
Q|JavaClass|.R|/JavaClass.foo3|<R|ft<kotlin/Int, kotlin/Int?>!|>(foo3@fun <anonymous>(it: R|ft<kotlin/Int, kotlin/Int?>!|): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| {
^ R|<local>/it|.R|kotlin/Int.plus|(Int(4)).R|kotlin/Any.toString|()
}
, Int(5))
@@ -1,8 +1,8 @@
FILE: Test.kt
public final fun test(): R|kotlin/Unit| {
lval jc: R|JavaClass| = R|/JavaClass.JavaClass|()
lval result: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/jc|.R|/JavaClass.text|
lval result: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/jc|.R|/JavaClass.text|
}
public final fun otherTest(jc: R|JavaClass|): R|kotlin/Unit| {
lval result: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/jc|.R|/JavaClass.text|
lval result: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/jc|.R|/JavaClass.text|
}
@@ -1,3 +1,3 @@
FILE: test.kt
public final val x: R|ft<kotlin/String, kotlin/String?>!| = R|/JavaClass.JavaClass|().R|/JavaClass.foo|
public get(): R|ft<kotlin/String, kotlin/String?>!|
public final val x: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|/JavaClass.JavaClass|().R|/JavaClass.foo|
public get(): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@@ -16,7 +16,7 @@ FILE: K2.kt
}
public final fun bar(): R|kotlin/Unit| {
this@R|/K2|.R|SubstitutionOverride</J1.foo: R|ft<kotlin/Int, kotlin/Int?>!|>|(Int(1))
this@R|/K2|.R|SubstitutionOverride</J1.foo: R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!|>|(Int(1))
this@R|/K2|.R|/J1.baz|()
}
@@ -7,7 +7,7 @@ FILE: K1.kt
}
FILE: K2.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaClass|.R|/JavaClass.baz|(R|/KotlinClass.KotlinClass|<R|ft<kotlin/Int, kotlin/Int?>!|>())
Q|JavaClass|.R|/JavaClass.baz|(R|/KotlinClass.KotlinClass|<R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!|>())
Q|JavaClass|.R|/JavaClass.baz|(R|/KotlinClass.KotlinClass|<R|kotlin/Int|>())
Q|JavaClass|.<Inapplicable(INAPPLICABLE): /JavaClass.baz>#(R|/KotlinClass.KotlinClass|<R|kotlin/String|>())
Q|JavaClass|.<Inapplicable(INAPPLICABLE): /JavaClass.baz>#(String())
@@ -1,6 +1,6 @@
FILE: test.kt
public final fun test(): R|kotlin/Unit| {
lval logger: R|ft<Logger, Logger?>!| = Q|Logger|.R|/Logger.getInstance|(String(test))
lval logger: R|ft<@FlexibleNullability Logger, Logger?>!| = Q|Logger|.R|/Logger.getInstance|(String(test))
}
public final class MyTest : R|kotlin/Any| {
public constructor(): R|MyTest| {
@@ -10,7 +10,7 @@ FILE: test.kt
private final val klass: R|java/lang/Class<MyTest>| = <getClass>(this@R|/MyTest|).R|kotlin/jvm/java|<R|MyTest|>
private get(): R|java/lang/Class<MyTest>|
private final val logger: R|ft<Logger, Logger?>!| = Q|Logger|.R|/Logger.getInstance|(this@R|/MyTest|.R|/MyTest.klass|)
private get(): R|ft<Logger, Logger?>!|
private final val logger: R|ft<@FlexibleNullability Logger, Logger?>!| = Q|Logger|.R|/Logger.getInstance|(this@R|/MyTest|.R|/MyTest.klass|)
private get(): R|ft<@FlexibleNullability Logger, Logger?>!|
}
@@ -7,7 +7,7 @@ FILE: main.kt
}
public final fun test(): R|kotlin/Unit| {
lval b: R|MyMapEntry| = R|/MyMapEntry.MyMapEntry|()
lval key: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/b|.R|/Test.MapEntryImpl.key|
lval value: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/b|.R|/Test.MapEntryImpl.value|
lval key: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/b|.R|/Test.MapEntryImpl.key|
lval value: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/b|.R|/Test.MapEntryImpl.value|
R|<local>/b|.R|/Test.MapEntryImpl.setValue|(Null(null))
}
@@ -8,15 +8,15 @@ FILE: test.kt
public final fun test(e: R|MyException|, stream: R|java/io/PrintStream|): R|kotlin/Unit| {
R|<local>/e|.R|java/lang/Throwable.printStackTrace|()
R|<local>/e|.R|java/lang/Throwable.printStackTrace|(R|<local>/stream|)
lval result: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/e|.R|java/lang/Throwable.getLocalizedMessage|()
lval result: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/e|.R|java/lang/Throwable.getLocalizedMessage|()
}
public final fun test(e: R|YourException|, stream: R|java/io/PrintStream|): R|kotlin/Unit| {
R|<local>/e|.R|java/lang/Throwable.printStackTrace|()
R|<local>/e|.R|java/lang/Throwable.printStackTrace|(R|<local>/stream|)
lval result: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/e|.R|java/lang/Throwable.getLocalizedMessage|()
lval result: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/e|.R|java/lang/Throwable.getLocalizedMessage|()
}
public final fun test(e: R|kotlin/Exception|, stream: R|java/io/PrintStream|): R|kotlin/Unit| {
R|<local>/e|.R|java/lang/Throwable.printStackTrace|()
R|<local>/e|.R|java/lang/Throwable.printStackTrace|(R|<local>/stream|)
lval result: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/e|.R|java/lang/Throwable.getLocalizedMessage|()
lval result: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/e|.R|java/lang/Throwable.getLocalizedMessage|()
}
@@ -2,11 +2,11 @@ FILE: test.kt
public abstract interface UseIterable : R|MyIterable<kotlin/String>| {
public open fun test(): R|kotlin/Unit| {
lval it: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>!>| = this@R|/UseIterable|.R|SubstitutionOverride</UseIterable.iterator: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>!>|>|()
lval split: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = this@R|/UseIterable|.R|SubstitutionOverride</UseIterable.spliterator: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
lval split: R|@FlexibleNullability java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = this@R|/UseIterable|.R|SubstitutionOverride</UseIterable.spliterator: R|@FlexibleNullability java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
}
}
public final fun test(some: R|kotlin/collections/Iterable<kotlin/String>|): R|kotlin/Unit| {
lval it: R|kotlin/collections/Iterator<kotlin/String>| = R|<local>/some|.R|SubstitutionOverride<kotlin/collections/Iterable.iterator: R|kotlin/collections/Iterator<kotlin/String>|>|()
lval split: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = R|<local>/some|.R|SubstitutionOverride<kotlin/collections/Iterable.spliterator: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
lval split: R|@FlexibleNullability java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = R|<local>/some|.R|SubstitutionOverride<kotlin/collections/Iterable.spliterator: R|@FlexibleNullability java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
}
@@ -1,20 +1,20 @@
FILE: test.kt
public final fun test(map: R|MyMap|): R|kotlin/Unit| {
lval result: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/map|.R|kotlin/collections/getOrPut|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<kotlin/String, kotlin/String?>!|>(String(key), <L> = getOrPut@fun <anonymous>(): R|kotlin/String| <kind=UNKNOWN> {
lval result: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/map|.R|kotlin/collections/getOrPut|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>(String(key), <L> = getOrPut@fun <anonymous>(): R|kotlin/String| <kind=UNKNOWN> {
^ String(value)
}
)
lval otherResult: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/map|.R|SubstitutionOverride</MyMap.getOrDefault: R|ft<kotlin/String, kotlin/String?>!|>|(String(key), String(value))
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride</MyMap.replace: R|kotlin/String?|>|(String(key), String(value))
R|<local>/map|.R|SubstitutionOverride</MyMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
lval otherResult: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/map|.R|SubstitutionOverride</MyMap.getOrDefault: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>|(String(key), String(value))
lval anotherResult: R|@FlexibleNullability kotlin/String?| = R|<local>/map|.R|SubstitutionOverride</MyMap.replace: R|@FlexibleNullability kotlin/String?|>|(String(key), String(value))
R|<local>/map|.R|SubstitutionOverride</MyMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<@FlexibleNullability kotlin/String, @FlexibleNullability kotlin/String?>!|, value: R|ft<@FlexibleNullability kotlin/String, @FlexibleNullability kotlin/String?>!|): R|kotlin/Unit| {
R|kotlin/io/println|(<strcat>(R|<local>/key|.R|kotlin/Any.toString|(), String(: ), R|<local>/value|.R|kotlin/Any.toString|()))
R|<local>/key|.R|kotlin/String.length|
R|<local>/value|.R|kotlin/String.length|
}
)
R|<local>/map|.R|kotlin/collections/forEach|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<kotlin/String, kotlin/String?>!|>(<L> = forEach@fun <anonymous>(<destruct>: R|kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>!, ft<kotlin/String, kotlin/String?>!>|): R|kotlin/Unit| <kind=UNKNOWN> {
lval key: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/<destruct>|.R|kotlin/collections/component1|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<kotlin/String, kotlin/String?>!|>()
lval value: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/<destruct>|.R|kotlin/collections/component2|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<kotlin/String, kotlin/String?>!|>()
R|<local>/map|.R|kotlin/collections/forEach|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>(<L> = forEach@fun <anonymous>(<destruct>: R|kotlin/collections/Map.Entry<ft<@FlexibleNullability kotlin/String, kotlin/String?>!, ft<@FlexibleNullability kotlin/String, kotlin/String?>!>|): R|kotlin/Unit| <kind=UNKNOWN> {
lval key: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/<destruct>|.R|kotlin/collections/component1|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>()
lval value: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/<destruct>|.R|kotlin/collections/component2|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>()
R|kotlin/io/println|(<strcat>(R|<local>/key|.R|kotlin/Any.toString|(), String(: ), R|<local>/value|.R|kotlin/Any.toString|()))
R|<local>/key|.R|kotlin/String.length|
R|<local>/value|.R|kotlin/String.length|
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun test(): R|kotlin/Unit| {
lval project: R|ft<kotlin/String, kotlin/String?>!| = Q|PlatformDataKeys|.R|/CommonDataKeys.PROJECT|
lval member: R|ft<kotlin/String, kotlin/String?>!| = R|/PlatformDataKeys.PlatformDataKeys|().R|/CommonDataKeys.MEMBER|
lval project: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = Q|PlatformDataKeys|.R|/CommonDataKeys.PROJECT|
lval member: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|/PlatformDataKeys.PlatformDataKeys|().R|/CommonDataKeys.MEMBER|
}
@@ -1,13 +1,13 @@
FILE: test.kt
public final fun <D : R|kotlin/Any|> R|Call<D>|.testForEach(): R|kotlin/Unit| {
this@R|/testForEach|.R|/Call.arguments|.R|SubstitutionOverride<kotlin/collections/MutableMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
this@R|/testForEach|.R|/Call.arguments|.R|SubstitutionOverride<kotlin/collections/MutableMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<@FlexibleNullability kotlin/String, @FlexibleNullability kotlin/String?>!|, value: R|ft<@FlexibleNullability kotlin/String, @FlexibleNullability kotlin/String?>!|): R|kotlin/Unit| {
R|<local>/key|.R|kotlin/String.length|
R|<local>/value|.R|kotlin/String.length|
}
)
this@R|/testForEach|.R|/Call.arguments|.R|kotlin/collections/forEach|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<kotlin/String, kotlin/String?>!|>(<L> = forEach@fun <anonymous>(it: R|kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>!, ft<kotlin/String, kotlin/String?>!>|): R|kotlin/Unit| <kind=UNKNOWN> {
R|<local>/it|.R|SubstitutionOverride<kotlin/collections/Map.Entry.key: R|ft<kotlin/String, kotlin/String?>!|>|.R|kotlin/String.length|
R|<local>/it|.R|SubstitutionOverride<kotlin/collections/Map.Entry.value: R|ft<kotlin/String, kotlin/String?>!|>|.R|kotlin/String.length|
this@R|/testForEach|.R|/Call.arguments|.R|kotlin/collections/forEach|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>(<L> = forEach@fun <anonymous>(it: R|kotlin/collections/Map.Entry<ft<@FlexibleNullability kotlin/String, kotlin/String?>!, ft<@FlexibleNullability kotlin/String, kotlin/String?>!>|): R|kotlin/Unit| <kind=UNKNOWN> {
R|<local>/it|.R|SubstitutionOverride<kotlin/collections/Map.Entry.key: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>|.R|kotlin/String.length|
R|<local>/it|.R|SubstitutionOverride<kotlin/collections/Map.Entry.value: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>|.R|kotlin/String.length|
}
)
}
@@ -1,4 +1,4 @@
FILE: capturedFlexible.kt
public final fun foo(z: R|java/util/zip/ZipFile|): R|kotlin/Unit| {
R|<local>/z|.R|java/util/zip/ZipFile.entries|().R|kotlin/sequences/asSequence|<R|ft<java/util/zip/ZipEntry, java/util/zip/ZipEntry?>!|>()
R|<local>/z|.R|java/util/zip/ZipFile.entries|().R|kotlin/sequences/asSequence|<R|ft<@FlexibleNullability java/util/zip/ZipEntry, java/util/zip/ZipEntry?>!|>()
}
@@ -1,4 +1,4 @@
FILE: main.kt
public final fun bar(bindingContext: R|BindingContext|): R|kotlin/Unit| {
R|<local>/bindingContext|.R|/BindingContext.get|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<kotlin/Double, kotlin/Double?>!|>(Q|Slices|.R|/Slices.X|, R|<local>/bindingContext|.R|/BindingContext.get|<R|ft<kotlin/Int, kotlin/Int?>!|, R|ft<kotlin/String, kotlin/String?>!|>(Q|Slices|.R|/Slices.Y|, Int(1)))
R|<local>/bindingContext|.R|/BindingContext.get|<R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, R|ft<@FlexibleNullability kotlin/Double, kotlin/Double?>!|>(Q|Slices|.R|/Slices.X|, R|<local>/bindingContext|.R|/BindingContext.get|<R|ft<@FlexibleNullability kotlin/Int, kotlin/Int?>!|, R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|>(Q|Slices|.R|/Slices.Y|, Int(1)))
}
@@ -4,5 +4,5 @@ FILE: main.kt
public final typealias ImmutableLinkedHashSet<E> = R|imm/LinkedHashSet<E>|
private final typealias ImmutableMultimap<K, V> = R|ImmutableMap<K, ImmutableSet<V>>|
private final fun <K, V> R|ImmutableMultimap<K, V>|.put(key: R|K|, value: R|V|): R|kotlin/Unit| {
this@R|/put|.R|SubstitutionOverride<imm/Map.get: R|ft<imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>!>, imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>!>?>!|>|(R|<local>/key|).R|SubstitutionOverride<imm/Option.getOrElse: R|ft<ImmutableSet<V>, ImmutableSet<V>?>!|>|(Q|ImmutableLinkedHashSet|.R|imm/LinkedHashSet.empty|<R|ft<V, V?>!|>())
this@R|/put|.R|SubstitutionOverride<imm/Map.get: R|ft<@FlexibleNullability imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>!>, imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>!>?>!|>|(R|<local>/key|).R|SubstitutionOverride<imm/Option.getOrElse: R|ft<ImmutableSet<V>, ImmutableSet<V>?>!|>|(Q|ImmutableLinkedHashSet|.R|imm/LinkedHashSet.empty|<R|ft<V, V?>!|>())
}
@@ -59,6 +59,18 @@ object CompilerConeAttributes {
override fun toString(): String = "@ExtensionFunctionType"
}
object FlexibleNullability : ConeAttribute<FlexibleNullability>() {
val ANNOTATION_CLASS_ID = ClassId(FqName("kotlin.internal.ir"), Name.identifier("FlexibleNullability"))
override fun union(other: FlexibleNullability?): FlexibleNullability? = other
override fun intersect(other: FlexibleNullability?): FlexibleNullability? = this
override fun isSubtypeOf(other: FlexibleNullability?): Boolean = true
override val key: KClass<out FlexibleNullability> = FlexibleNullability::class
override fun toString(): String = "@FlexibleNullability"
}
object UnsafeVariance : ConeAttribute<UnsafeVariance>() {
val ANNOTATION_CLASS_ID = ClassId(FqName("kotlin"), Name.identifier("UnsafeVariance"))
@@ -76,6 +88,7 @@ val ConeAttributes.exact: CompilerConeAttributes.Exact? by ConeAttributes.attrib
val ConeAttributes.noInfer: CompilerConeAttributes.NoInfer? by ConeAttributes.attributeAccessor<CompilerConeAttributes.NoInfer>()
val ConeAttributes.enhancedNullability: CompilerConeAttributes.EnhancedNullability? by ConeAttributes.attributeAccessor<CompilerConeAttributes.EnhancedNullability>()
val ConeAttributes.extensionFunctionType: CompilerConeAttributes.ExtensionFunctionType? by ConeAttributes.attributeAccessor<CompilerConeAttributes.ExtensionFunctionType>()
val ConeAttributes.flexibleNullability: CompilerConeAttributes.FlexibleNullability? by ConeAttributes.attributeAccessor<CompilerConeAttributes.FlexibleNullability>()
val ConeAttributes.unsafeVarianceType: CompilerConeAttributes.UnsafeVariance? by ConeAttributes.attributeAccessor<CompilerConeAttributes.UnsafeVariance>()
val ConeKotlinType.hasEnhancedNullability: Boolean
@@ -83,3 +96,6 @@ val ConeKotlinType.hasEnhancedNullability: Boolean
val ConeKotlinType.isExtensionFunctionType: Boolean
get() = attributes.extensionFunctionType != null
val ConeKotlinType.hasFlexibleNullability: Boolean
get() = attributes.flexibleNullability != null
@@ -34,6 +34,7 @@ class ConeAttributes private constructor(attributes: List<ConeAttribute<*>>) : A
}
val Empty: ConeAttributes = ConeAttributes(emptyList())
val WithFlexibleNullability: ConeAttributes = ConeAttributes(listOf(CompilerConeAttributes.FlexibleNullability))
fun create(attributes: List<ConeAttribute<*>>): ConeAttributes {
return if (attributes.isEmpty()) {
@@ -48,8 +49,17 @@ class ConeAttributes private constructor(attributes: List<ConeAttribute<*>>) : A
for (attribute in attributes) {
registerComponent(attribute.key, attribute)
}
assert(!hasEnhancedNullability || !hasFlexibleNullability) {
"It doesn't make sense to have @EnhancedNullability and @FlexibleNullability at the same time."
}
}
val hasEnhancedNullability: Boolean
get() = enhancedNullability != null
val hasFlexibleNullability: Boolean
get() = flexibleNullability != null
fun union(other: ConeAttributes): ConeAttributes {
return perform(other) { this.union(it) }
}
@@ -58,6 +68,13 @@ class ConeAttributes private constructor(attributes: List<ConeAttribute<*>>) : A
return perform(other) { this.intersect(it) }
}
fun intersectUnless(other: ConeAttributes, predicate: (ConeAttributes) -> Boolean): ConeAttributes {
return if (predicate.invoke(this))
this
else
perform(other) { this.intersect(it) }
}
override fun iterator(): Iterator<ConeAttribute<*>> {
return arrayMap.iterator()
}
@@ -10,11 +10,15 @@ import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.backend.Fir2IrSpecialSymbolProvider
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
import org.jetbrains.kotlin.ir.builders.declarations.buildClass
import org.jetbrains.kotlin.ir.declarations.IrClass
import org.jetbrains.kotlin.ir.declarations.IrDeclarationParent
import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name
class Fir2IrJvmSpecialAnnotationSymbolProvider : Fir2IrSpecialSymbolProvider() {
@@ -25,21 +29,35 @@ class Fir2IrJvmSpecialAnnotationSymbolProvider : Fir2IrSpecialSymbolProvider() {
)
}
override fun getClassSymbolById(id: ClassId): IrClassSymbol? {
if (id != ENHANCED_NULLABILITY_ID) return null
return components.irFactory.buildClass {
private val kotlinInternalIrPackage by lazy {
IrExternalPackageFragmentImpl(
DescriptorlessExternalPackageFragmentSymbol(),
FLEXIBLE_NULLABILITY_ID.packageFqName
)
}
override fun getClassSymbolById(id: ClassId): IrClassSymbol? =
when (id) {
ENHANCED_NULLABILITY_ID -> id.toIrClass(kotlinJvmInternalPackage).symbol
FLEXIBLE_NULLABILITY_ID -> id.toIrClass(kotlinInternalIrPackage).symbol
else -> null
}
private fun ClassId.toIrClass(parent: IrDeclarationParent): IrClass =
components.irFactory.buildClass {
kind = ClassKind.ANNOTATION_CLASS
name = ENHANCED_NULLABILITY_ID.shortClassName
name = shortClassName
}.apply {
createImplicitParameterDeclarationWithWrappedDescriptor()
this.parent = kotlinJvmInternalPackage
this.parent = parent
addConstructor {
isPrimary = true
}
}.symbol
}
}
companion object {
private val ENHANCED_NULLABILITY_ID = ClassId.topLevel(JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION)
private val FLEXIBLE_NULLABILITY_ID =
ClassId.topLevel(IrBuiltIns.KOTLIN_INTERNAL_IR_FQN.child(Name.identifier("FlexibleNullability")))
}
}
@@ -37,6 +37,13 @@ class Fir2IrBuiltIns(
internal fun enhancedNullabilityAnnotationConstructorCall(): IrConstructorCall? =
enhancedNullabilityAnnotationSymbol?.toConstructorCall()
private val flexibleNullabilityAnnotationSymbol by lazy {
annotationSymbolById(CompilerConeAttributes.FlexibleNullability.ANNOTATION_CLASS_ID)
}
internal fun flexibleNullabilityAnnotationConstructorCall(): IrConstructorCall? =
flexibleNullabilityAnnotationSymbol?.toConstructorCall()
private fun annotationSymbolById(id: ClassId): IrClassSymbol? =
provider?.getClassSymbolById(id) ?: session.firSymbolProvider.getClassLikeSymbolByFqName(id)?.toSymbol(
session, classifierStorage, ConversionTypeContext.DEFAULT
@@ -99,6 +99,11 @@ class Fir2IrTypeConverter(
typeAnnotations += it
}
}
if (hasFlexibleNullability) {
builtIns.flexibleNullabilityAnnotationConstructorCall()?.let {
typeAnnotations += it
}
}
IrSimpleTypeImpl(
irSymbol, !typeContext.definitelyNotNull && this.isMarkedNullable,
fullyExpandedType(session).typeArguments.map { it.toIrTypeArgument(typeContext) },
@@ -197,7 +197,11 @@ private fun ClassId.toConeFlexibleType(
typeArgumentsForUpper: Array<ConeTypeProjection> = typeArguments,
attributes: ConeAttributes = ConeAttributes.Empty
) = ConeFlexibleType(
toConeKotlinType(typeArguments, isNullable = false, attributes),
toConeKotlinType(
typeArguments,
isNullable = false,
attributes.intersectUnless(ConeAttributes.WithFlexibleNullability) { it.hasEnhancedNullability }
),
toConeKotlinType(typeArgumentsForUpper, isNullable = true, attributes)
)
@@ -233,7 +237,15 @@ private fun JavaClassifierType.toConeKotlinTypeWithoutEnhancement(
attributes = attributes
)
return if (isRaw) ConeRawType(lowerBound, upperBound) else ConeFlexibleType(lowerBound, upperBound)
return if (isRaw)
ConeRawType(lowerBound, upperBound)
else
ConeFlexibleType(
lowerBound.withAttributes(
lowerBound.attributes.intersectUnless(ConeAttributes.WithFlexibleNullability) { it.hasEnhancedNullability }
),
upperBound
)
}
private fun computeRawProjection(
@@ -303,7 +315,9 @@ private fun getErasedVersionOfFirstUpperBound(
if (firstUpperBound.upperBound is ConeTypeParameterType) {
// Avoid exponential complexity
ConeFlexibleType(
lowerBound,
lowerBound.withAttributes(
lowerBound.attributes.intersectUnless(ConeAttributes.WithFlexibleNullability) { it.hasEnhancedNullability }
),
lowerBound.withNullability(ConeNullability.NULLABLE)
)
} else {
@@ -88,22 +88,29 @@ private fun ConeKotlinType.enhanceConeKotlinType(
): ConeKotlinType {
return when (this) {
is ConeFlexibleType -> {
val needsFlexibleNullabilityAttribute = lowerBound.nullability != upperBound.nullability && !lowerBound.hasEnhancedNullability
val lowerResult = lowerBound.enhanceInflexibleType(
session, TypeComponentPosition.FLEXIBLE_LOWER, qualifiers, index
session, TypeComponentPosition.FLEXIBLE_LOWER, qualifiers, index,
attributes = if (needsFlexibleNullabilityAttribute)
lowerBound.attributes.intersect(ConeAttributes.WithFlexibleNullability)
else
lowerBound.attributes
)
val upperResult = upperBound.enhanceInflexibleType(
session, TypeComponentPosition.FLEXIBLE_UPPER, qualifiers, index
session, TypeComponentPosition.FLEXIBLE_UPPER, qualifiers, index, upperBound.attributes
)
when {
lowerResult === lowerBound && upperResult === upperBound -> this
!needsFlexibleNullabilityAttribute && lowerResult === lowerBound && upperResult === upperBound -> this
this is ConeRawType -> ConeRawType(lowerResult, upperResult)
else -> coneFlexibleOrSimpleType(
session, lowerResult, upperResult, isNotNullTypeParameter = qualifiers(index).isNotNullTypeParameter
)
}
}
is ConeSimpleKotlinType -> enhanceInflexibleType(session, TypeComponentPosition.INFLEXIBLE, qualifiers, index)
is ConeSimpleKotlinType -> enhanceInflexibleType(
session, TypeComponentPosition.INFLEXIBLE, qualifiers, index, attributes
)
else -> this
}
}
@@ -158,7 +165,8 @@ private fun ConeKotlinType.enhanceInflexibleType(
session: FirSession,
position: TypeComponentPosition,
qualifiers: IndexedJavaTypeQualifiers,
index: Int
index: Int,
attributes: ConeAttributes = this.attributes
): ConeKotlinType {
require(this !is ConeFlexibleType) {
"$this should not be flexible"
@@ -198,7 +206,7 @@ private fun ConeKotlinType.enhanceInflexibleType(
if (!wereChangesInArgs && originalTag == enhancedTag && enhancedNullability == isNullable) return this
val enhancedType = enhancedTag.constructType(enhancedArguments, enhancedNullability)
val enhancedType = enhancedTag.constructType(enhancedArguments, enhancedNullability, attributes)
// TODO: why all of these is needed
// val enhancement = if (effectiveQualifiers.isNotNullTypeParameter) NotNullTypeParameter(enhancedType) else enhancedType
@@ -104,7 +104,14 @@ class JavaClassMembersEnhancementScope(
emptyArray(), valueParameter.returnTypeRef.isMarkedNullable == true
)
if (valueParameter.returnTypeRef.coneType is ConeFlexibleType) {
ConeFlexibleType(type, type.withNullability(ConeNullability.NULLABLE))
ConeFlexibleType(
type.withAttributes(
type.attributes.intersectUnless(ConeAttributes.WithFlexibleNullability) {
it.hasEnhancedNullability
}
),
type.withNullability(ConeNullability.NULLABLE)
)
} else {
type
}
@@ -129,8 +136,8 @@ class JavaClassMembersEnhancementScope(
newParameterTypes = valueParameters.zip(newParameterTypes).map { (valueParameter, newType) ->
newType ?: valueParameter.returnTypeRef.coneType
},
newDispatchReceiverType = dispatchReceiverType,
)
newDispatchReceiverType = dispatchReceiverType,
)
}
return this
@@ -105,8 +105,12 @@ fun ConeTypeContext.hasNullableSuperType(type: ConeKotlinType): Boolean {
return false
}
fun <T : ConeKotlinType> T.withNullability(nullability: ConeNullability, typeContext: ConeInferenceContext? = null): T {
if (this.nullability == nullability) {
fun <T : ConeKotlinType> T.withNullability(
nullability: ConeNullability,
typeContext: ConeInferenceContext? = null,
attributes: ConeAttributes = this.attributes,
): T {
if (this.nullability == nullability && this.attributes == attributes) {
return this
}
@@ -188,6 +192,9 @@ fun FirTypeRef.isUnsafeVarianceType(session: FirSession): Boolean {
fun FirTypeRef.hasEnhancedNullability(): Boolean =
coneTypeSafe<ConeKotlinType>()?.hasEnhancedNullability == true
fun FirTypeRef.hasFlexibleNullability(): Boolean =
coneTypeSafe<ConeKotlinType>()?.hasFlexibleNullability == true
fun FirTypeRef.withoutEnhancedNullability(): FirTypeRef {
require(this is FirResolvedTypeRef)
if (!hasEnhancedNullability()) return this
@@ -15,11 +15,12 @@ import org.jetbrains.kotlin.name.ClassId
fun ConeClassifierLookupTag.constructType(
typeArguments: Array<out ConeTypeProjection>,
isNullable: Boolean
isNullable: Boolean,
attributes: ConeAttributes = ConeAttributes.Empty
): ConeLookupTagBasedType {
return when (this) {
is ConeTypeParameterLookupTag -> ConeTypeParameterTypeImpl(this, isNullable)
is ConeClassLikeLookupTag -> this.constructClassType(typeArguments, isNullable)
is ConeTypeParameterLookupTag -> ConeTypeParameterTypeImpl(this, isNullable, attributes)
is ConeClassLikeLookupTag -> this.constructClassType(typeArguments, isNullable, attributes)
else -> error("! ${this::class}")
}
}
@@ -75,5 +75,5 @@ fun test() {
}
// TODO: FIR
// {AbstractAssert<*, out Any!>! & EnumerableAssert<*, {Comparable<*> & java.io.Serializable!}>!} with unfolded flexible nullability
<!DEBUG_INFO_EXPRESSION_TYPE("AbstractAssert<*, out ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, kotlin/String..ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, kotlin/String?!> & EnumerableAssert<*, out kotlin.Comparable<kotlin.String & kotlin.Char> & java.io.Serializable..kotlin.Comparable<kotlin.String & kotlin.Char>? & java.io.Serializable?>..AbstractAssert<*, out ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, kotlin/String..ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, kotlin/String?!>? & EnumerableAssert<*, out kotlin.Comparable<kotlin.String & kotlin.Char> & java.io.Serializable..kotlin.Comparable<kotlin.String & kotlin.Char>? & java.io.Serializable?>?")!>assertion<!>
<!DEBUG_INFO_EXPRESSION_TYPE("AbstractAssert<*, out ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, @FlexibleNullability kotlin/String..ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, @FlexibleNullability kotlin/String?!> & EnumerableAssert<*, out kotlin.Comparable<kotlin.String & kotlin.Char> & java.io.Serializable..kotlin.Comparable<kotlin.String & kotlin.Char>? & java.io.Serializable?>..AbstractAssert<*, out ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, @FlexibleNullability kotlin/String..ERROR CLASS: CST(ERROR CLASS: Unexpected classifier: null, @FlexibleNullability kotlin/String?!>? & EnumerableAssert<*, out kotlin.Comparable<kotlin.String & kotlin.Char> & java.io.Serializable..kotlin.Comparable<kotlin.String & kotlin.Char>? & java.io.Serializable?>?")!>assertion<!>
}
@@ -30,16 +30,16 @@ FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNotNull' type=<root>.Test origin=null
x: GET_VAR 'x: @[EnhancedNullability] kotlin.String declared in <root>.Test.takeNotNull' type=@[EnhancedNullability] kotlin.String origin=null
FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:<root>.Test, x:kotlin.String?) returnType:kotlin.Unit
FUN DELEGATED_MEMBER name:takeNullable visibility:public modality:OPEN <> ($this:<root>.Test, x:@[FlexibleNullability] kotlin.String?) returnType:kotlin.Unit
overridden:
public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in <root>.J
public abstract fun takeNullable (x: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.Test
VALUE_PARAMETER name:x index:0 type:kotlin.String?
VALUE_PARAMETER name:x index:0 type:@[FlexibleNullability] kotlin.String?
BLOCK_BODY
CALL 'public abstract fun takeNullable (x: kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
CALL 'public abstract fun takeNullable (x: @[FlexibleNullability] kotlin.String?): kotlin.Unit declared in <root>.J' type=kotlin.Unit origin=null
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.takeNullable' type=<root>.Test origin=null
x: GET_VAR 'x: kotlin.String? declared in <root>.Test.takeNullable' type=kotlin.String? origin=null
x: GET_VAR 'x: @[FlexibleNullability] kotlin.String? declared in <root>.Test.takeNullable' type=@[FlexibleNullability] kotlin.String? origin=null
FUN DELEGATED_MEMBER name:takeFlexible visibility:public modality:OPEN <> ($this:<root>.Test, x:kotlin.String?) returnType:kotlin.Unit
overridden:
public abstract fun takeFlexible (x: kotlin.String?): kotlin.Unit declared in <root>.J
@@ -59,13 +59,13 @@ FILE fqName:<root> fileName:/delegatedImplementationOfJavaInterface.kt
CALL 'public abstract fun returnNotNull (): @[EnhancedNullability] kotlin.String declared in <root>.J' type=@[EnhancedNullability] kotlin.String origin=null
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnNotNull' type=<root>.Test origin=null
FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:<root>.Test) returnType:kotlin.String?
FUN DELEGATED_MEMBER name:returnNullable visibility:public modality:OPEN <> ($this:<root>.Test) returnType:@[FlexibleNullability] kotlin.String?
overridden:
public abstract fun returnNullable (): kotlin.String? declared in <root>.J
public abstract fun returnNullable (): @[FlexibleNullability] kotlin.String? declared in <root>.J
$this: VALUE_PARAMETER name:<this> type:<root>.Test
BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun returnNullable (): kotlin.String? declared in <root>.Test'
CALL 'public abstract fun returnNullable (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null
RETURN type=kotlin.Nothing from='public open fun returnNullable (): @[FlexibleNullability] kotlin.String? declared in <root>.Test'
CALL 'public abstract fun returnNullable (): @[FlexibleNullability] kotlin.String? declared in <root>.J' type=@[FlexibleNullability] kotlin.String? origin=null
$this: GET_FIELD 'FIELD DELEGATE name:<$$delegate_0> type:<root>.J visibility:local [final]' type=<root>.J origin=null
receiver: GET_VAR '<this>: <root>.Test declared in <root>.Test.returnNullable' type=<root>.Test origin=null
FUN DELEGATED_MEMBER name:returnsFlexible visibility:public modality:OPEN <> ($this:<root>.Test) returnType:kotlin.String?
@@ -22,9 +22,9 @@ FILE fqName:<root> fileName:/implicitNotNullOnDelegatedImplementation.kt
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.JFoo'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K1 modality:FINAL visibility:public superTypes:[<root>.JFoo]'
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.JFoo) returnType:kotlin.String [fake_override]
FUN FAKE_OVERRIDE name:foo visibility:public modality:OPEN <> ($this:<root>.JFoo) returnType:@[FlexibleNullability] kotlin.String [fake_override]
overridden:
public open fun foo (): kotlin.String declared in <root>.JFoo
public open fun foo (): @[FlexibleNullability] kotlin.String declared in <root>.JFoo
$this: VALUE_PARAMETER name:<this> type:<root>.JFoo
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
@@ -45,13 +45,13 @@ FILE fqName:<root> fileName:/implicitNotNullOnDelegatedImplementation.kt
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.JFoo'
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:K2 modality:FINAL visibility:public superTypes:[<root>.JFoo]'
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.K2) returnType:kotlin.String
FUN name:foo visibility:public modality:FINAL <> ($this:<root>.K2) returnType:@[FlexibleNullability] kotlin.String
overridden:
public open fun foo (): kotlin.String declared in <root>.JFoo
public open fun foo (): @[FlexibleNullability] kotlin.String declared in <root>.JFoo
$this: VALUE_PARAMETER name:<this> type:<root>.K2
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String declared in <root>.K2'
CALL 'public open fun foo (): kotlin.String declared in <root>.JFoo' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JFoo modality:OPEN visibility:public superTypes:[kotlin.Any; <root>.IFoo]' type=kotlin.String origin=null
RETURN type=kotlin.Nothing from='public final fun foo (): @[FlexibleNullability] kotlin.String declared in <root>.K2'
CALL 'public open fun foo (): @[FlexibleNullability] kotlin.String declared in <root>.JFoo' superQualifier='CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:JFoo modality:OPEN visibility:public superTypes:[kotlin.Any; <root>.IFoo]' type=@[FlexibleNullability] kotlin.String origin=null
$this: GET_VAR '<this>: <root>.K2 declared in <root>.K2.foo' type=<root>.K2 origin=null
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
+2 -2
View File
@@ -17,7 +17,7 @@ FILE fqName:<root> fileName:/kt43217.kt
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:[<root>.DoubleExpression]'
FUN name:get visibility:public modality:FINAL <> ($this:<root>.A.b.<no name provided>) returnType:kotlin.Double [operator]
overridden:
public abstract fun get (): T of <root>.ObservableValue [operator] declared in <root>.ObservableValue
public abstract fun get (): @[FlexibleNullability] T of <root>.ObservableValue [operator] declared in <root>.ObservableValue
$this: VALUE_PARAMETER name:<this> type:<root>.A.b.<no name provided>
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun get (): kotlin.Double [operator] declared in <root>.A.b.<no name provided>'
@@ -69,7 +69,7 @@ FILE fqName:<root> fileName:/kt43217.kt
INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[<root>.DoubleExpression]'
FUN name:get visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Double [operator]
overridden:
public abstract fun get (): T of <root>.ObservableValue [operator] declared in <root>.ObservableValue
public abstract fun get (): @[FlexibleNullability] T of <root>.ObservableValue [operator] declared in <root>.ObservableValue
$this: VALUE_PARAMETER name:<this> type:<root>.C
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun get (): kotlin.Double [operator] declared in <root>.C'
@@ -104,7 +104,7 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
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
public open fun equals (p0: kotlin.Any?): kotlin.Boolean [operator] declared in java.util.AbstractMap
public open fun equals (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean [operator] declared in java.util.AbstractMap
$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]
@@ -115,7 +115,7 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
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
public open fun toString (): kotlin.String declared in java.util.AbstractMap
public open fun toString (): @[FlexibleNullability] kotlin.String declared in java.util.AbstractMap
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:keySet visibility:public modality:OPEN <> ($this:java.util.AbstractMap<K of java.util.AbstractMap, V of java.util.AbstractMap>) returnType:kotlin.collections.Set<K of <root>.MyMap?>? [fake_override]
overridden:
@@ -152,7 +152,7 @@ FILE fqName:<root> fileName:/ClashResolutionDescriptor.kt
BLOCK type=kotlin.collections.Collection<<root>.ComponentDescriptor> origin=ELVIS
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.collections.Collection<<root>.ComponentDescriptor>? [val]
TYPE_OP type=kotlin.collections.Collection<<root>.ComponentDescriptor>? origin=SAFE_CAST typeOperand=kotlin.collections.Collection<<root>.ComponentDescriptor>
CALL 'public open fun get (p0: K of java.util.HashMap?): V of java.util.HashMap? [operator] declared in java.util.HashMap' type=kotlin.Any? origin=null
CALL 'public open fun get (p0: K of java.util.HashMap?): @[FlexibleNullability] V of java.util.HashMap? [operator] declared in java.util.HashMap' type=kotlin.Any? origin=null
$this: CALL 'private final fun <get-registrationMap> (): java.util.HashMap<java.lang.reflect.Type, kotlin.Any> declared in <root>' type=java.util.HashMap<java.lang.reflect.Type, kotlin.Any> origin=GET_PROPERTY
p0: CALL 'public final fun <get-applicableTo> (): java.lang.Class<E of <root>.PlatformExtensionsClashResolver> declared in <root>.PlatformExtensionsClashResolver' type=java.lang.Class<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out <root>.PlatformSpecificExtension<out kotlin.Any?>>>>>> origin=GET_PROPERTY
$this: GET_VAR 'val resolver: <root>.PlatformExtensionsClashResolver<*> [val] declared in <root>.resolveClashesIfAny' type=<root>.PlatformExtensionsClashResolver<*> origin=null
+47 -47
View File
@@ -206,10 +206,10 @@ FILE fqName:<root> fileName:/MultiList.kt
public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.collections.MutableIterator<<root>.Some<T of <root>.SomeList>?> [fake_override,operator]
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[FlexibleNullability] kotlin.collections.MutableIterator<<root>.Some<T of <root>.SomeList>?> [fake_override,operator]
overridden:
public abstract fun iterator (): kotlin.collections.Iterator<<root>.Some<T of <root>.MyList>> [fake_override,operator] declared in <root>.MyList
public open fun iterator (): kotlin.collections.MutableIterator<E of java.util.ArrayList?> [operator] declared in java.util.ArrayList
public open fun iterator (): @[FlexibleNullability] kotlin.collections.MutableIterator<E of java.util.ArrayList?> [operator] declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:<root>.Some<T of <root>.SomeList>) returnType:kotlin.Int [fake_override]
overridden:
@@ -217,21 +217,21 @@ FILE fqName:<root> fileName:/MultiList.kt
public open fun lastIndexOf (p0: E of java.util.ArrayList?): kotlin.Int declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
VALUE_PARAMETER name:element index:0 type:<root>.Some<T of <root>.SomeList>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>?> [fake_override]
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[FlexibleNullability] kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>?> [fake_override]
overridden:
public abstract fun listIterator (): kotlin.collections.ListIterator<<root>.Some<T of <root>.MyList>> [fake_override] declared in <root>.MyList
public open fun listIterator (): kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun listIterator (): @[FlexibleNullability] kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>?> [fake_override]
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.collections.MutableListIterator<<root>.Some<T of <root>.SomeList>?> [fake_override]
overridden:
public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator<<root>.Some<T of <root>.MyList>> [fake_override] declared in <root>.MyList
public open fun listIterator (p0: kotlin.Int): kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun listIterator (p0: kotlin.Int): @[FlexibleNullability] kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.collections.MutableList<<root>.Some<T of <root>.SomeList>?> [fake_override]
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] kotlin.collections.MutableList<<root>.Some<T of <root>.SomeList>?> [fake_override]
overridden:
public abstract fun subList (fromIndex: kotlin.Int, toIndex: kotlin.Int): kotlin.collections.List<<root>.Some<T of <root>.MyList>> [fake_override] declared in <root>.MyList
public open fun subList (p0: kotlin.Int, p1: kotlin.Int): kotlin.collections.MutableList<E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.collections.MutableList<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
@@ -249,7 +249,7 @@ FILE fqName:<root> fileName:/MultiList.kt
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
public open fun equals (p0: kotlin.Any?): kotlin.Boolean [operator] declared in java.util.ArrayList
public open fun equals (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean [operator] declared in java.util.ArrayList
$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]
@@ -260,7 +260,7 @@ FILE fqName:<root> fileName:/MultiList.kt
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
public open fun toString (): kotlin.String declared in java.util.ArrayList
public open fun toString (): @[FlexibleNullability] kotlin.String declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:elementData visibility:public/*package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:<root>.Some<T of <root>.SomeList>? [fake_override]
overridden:
@@ -276,9 +276,9 @@ FILE fqName:<root> fileName:/MultiList.kt
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Any [fake_override]
FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[FlexibleNullability] kotlin.Any [fake_override]
overridden:
public open fun clone (): kotlin.Any declared in java.util.ArrayList
public open fun clone (): @[FlexibleNullability] kotlin.Any declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Array<out kotlin.Any?>? [fake_override]
overridden:
@@ -321,17 +321,17 @@ FILE fqName:<root> fileName:/MultiList.kt
overridden:
public open fun clear (): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override]
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun addAll (p0: kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
public open fun addAll (p0: @[FlexibleNullability] kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override]
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun addAll (p0: kotlin.Int, p1: kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
public open fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>
FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden:
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
@@ -354,21 +354,21 @@ FILE fqName:<root> fileName:/MultiList.kt
public open fun forEach (p0: java.util.function.Consumer<in E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.lang.Iterable<T of java.lang.Iterable>
VALUE_PARAMETER name:p0 index:0 type:java.util.function.Consumer<in <root>.Some<T of <root>.SomeList>?>?
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection<E of java.util.Collection>) returnType:java.util.Spliterator<<root>.Some<T of <root>.SomeList>?> [fake_override]
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection<E of java.util.Collection>) returnType:@[FlexibleNullability] java.util.Spliterator<<root>.Some<T of <root>.SomeList>?> [fake_override]
overridden:
public open fun spliterator (): java.util.Spliterator<<root>.Some<T of <root>.MyList>?> declared in <root>.MyList
public open fun spliterator (): java.util.Spliterator<E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun spliterator (): @[FlexibleNullability] java.util.Spliterator<<root>.Some<T of <root>.MyList>?> declared in <root>.MyList
public open fun spliterator (): @[FlexibleNullability] java.util.Spliterator<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.Collection<E of java.util.Collection>
FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:java.util.function.Predicate<in <root>.Some<T of <root>.SomeList>?>?) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun removeIf (p0: java.util.function.Predicate<in E of java.util.ArrayList?>?): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:java.util.function.Predicate<in <root>.Some<T of <root>.SomeList>?>?
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:java.util.function.UnaryOperator<<root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Unit [fake_override]
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.function.UnaryOperator<<root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Unit [fake_override]
overridden:
public open fun replaceAll (p0: java.util.function.UnaryOperator<E of java.util.ArrayList?>): kotlin.Unit declared in java.util.ArrayList
public open fun replaceAll (p0: @[FlexibleNullability] java.util.function.UnaryOperator<E of java.util.ArrayList?>): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:java.util.function.UnaryOperator<<root>.Some<T of <root>.SomeList>?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.UnaryOperator<<root>.Some<T of <root>.SomeList>?>
FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:java.util.Comparator<in <root>.Some<T of <root>.SomeList>?>?) returnType:kotlin.Unit [fake_override]
overridden:
public open fun sort (p0: java.util.Comparator<in E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
@@ -411,27 +411,27 @@ FILE fqName:<root> fileName:/MultiList.kt
public abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.collections.MutableIterator<<root>.Some<kotlin.String>?> [fake_override,operator]
FUN FAKE_OVERRIDE name:iterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[FlexibleNullability] kotlin.collections.MutableIterator<<root>.Some<kotlin.String>?> [fake_override,operator]
overridden:
public open fun iterator (): kotlin.collections.MutableIterator<E of java.util.ArrayList?> [operator] declared in java.util.ArrayList
public open fun iterator (): @[FlexibleNullability] kotlin.collections.MutableIterator<E of java.util.ArrayList?> [operator] declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:OPEN <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:<root>.Some<kotlin.String>) returnType:kotlin.Int [fake_override]
overridden:
public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
VALUE_PARAMETER name:element index:0 type:<root>.Some<kotlin.String>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.collections.MutableListIterator<<root>.Some<kotlin.String>?> [fake_override]
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[FlexibleNullability] kotlin.collections.MutableListIterator<<root>.Some<kotlin.String>?> [fake_override]
overridden:
public open fun listIterator (): kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun listIterator (): @[FlexibleNullability] kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:kotlin.collections.MutableListIterator<<root>.Some<kotlin.String>?> [fake_override]
FUN FAKE_OVERRIDE name:listIterator visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:@[FlexibleNullability] kotlin.collections.MutableListIterator<<root>.Some<kotlin.String>?> [fake_override]
overridden:
public open fun listIterator (p0: kotlin.Int): kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun listIterator (p0: kotlin.Int): @[FlexibleNullability] kotlin.collections.MutableListIterator<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.collections.MutableList<<root>.Some<kotlin.String>?> [fake_override]
FUN FAKE_OVERRIDE name:subList visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:@[FlexibleNullability] kotlin.collections.MutableList<<root>.Some<kotlin.String>?> [fake_override]
overridden:
public open fun subList (p0: kotlin.Int, p1: kotlin.Int): kotlin.collections.MutableList<E of java.util.ArrayList?> declared in java.util.ArrayList
public open fun subList (p0: kotlin.Int, p1: kotlin.Int): @[FlexibleNullability] kotlin.collections.MutableList<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.Int
@@ -449,7 +449,7 @@ FILE fqName:<root> fileName:/MultiList.kt
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
public open fun equals (p0: kotlin.Any?): kotlin.Boolean [operator] declared in java.util.ArrayList
public open fun equals (p0: @[FlexibleNullability] kotlin.Any?): kotlin.Boolean [operator] declared in java.util.ArrayList
$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]
@@ -460,7 +460,7 @@ FILE fqName:<root> fileName:/MultiList.kt
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
public open fun toString (): kotlin.String declared in java.util.ArrayList
public open fun toString (): @[FlexibleNullability] kotlin.String declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:elementData visibility:public/*package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int) returnType:<root>.Some<kotlin.String>? [fake_override]
overridden:
@@ -476,9 +476,9 @@ FILE fqName:<root> fileName:/MultiList.kt
public open fun ensureCapacity (p0: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Any [fake_override]
FUN FAKE_OVERRIDE name:clone visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:@[FlexibleNullability] kotlin.Any [fake_override]
overridden:
public open fun clone (): kotlin.Any declared in java.util.ArrayList
public open fun clone (): @[FlexibleNullability] kotlin.Any declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:toArray visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>) returnType:kotlin.Array<out kotlin.Any?>? [fake_override]
overridden:
@@ -521,17 +521,17 @@ FILE fqName:<root> fileName:/MultiList.kt
overridden:
public open fun clear (): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.collections.Collection<out <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override]
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun addAll (p0: kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
public open fun addAll (p0: @[FlexibleNullability] kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.collections.Collection<out <root>.Some<kotlin.String>?>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.collections.Collection<out <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override]
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>?>
FUN FAKE_OVERRIDE name:addAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun addAll (p0: kotlin.Int, p1: kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
public open fun addAll (p0: kotlin.Int, p1: @[FlexibleNullability] kotlin.collections.Collection<out E of java.util.ArrayList?>): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 type:kotlin.collections.Collection<out <root>.Some<kotlin.String>?>
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>?>
FUN FAKE_OVERRIDE name:removeRange visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:kotlin.Int, p1:kotlin.Int) returnType:kotlin.Unit [fake_override]
overridden:
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList
@@ -553,20 +553,20 @@ FILE fqName:<root> fileName:/MultiList.kt
public open fun forEach (p0: java.util.function.Consumer<in T of java.lang.Iterable?>?): kotlin.Unit declared in java.lang.Iterable
$this: VALUE_PARAMETER name:<this> type:java.lang.Iterable<T of java.lang.Iterable>
VALUE_PARAMETER name:p0 index:0 type:java.util.function.Consumer<in <root>.Some<kotlin.String>?>?
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection<E of java.util.Collection>) returnType:java.util.Spliterator<<root>.Some<kotlin.String>?> [fake_override]
FUN FAKE_OVERRIDE name:spliterator visibility:public modality:OPEN <> ($this:java.util.Collection<E of java.util.Collection>) returnType:@[FlexibleNullability] java.util.Spliterator<<root>.Some<kotlin.String>?> [fake_override]
overridden:
public open fun spliterator (): java.util.Spliterator<E of java.util.Collection?> declared in java.util.Collection
public open fun spliterator (): @[FlexibleNullability] java.util.Spliterator<E of java.util.Collection?> declared in java.util.Collection
$this: VALUE_PARAMETER name:<this> type:java.util.Collection<E of java.util.Collection>
FUN FAKE_OVERRIDE name:removeIf visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:java.util.function.Predicate<in <root>.Some<kotlin.String>?>?) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun removeIf (p0: java.util.function.Predicate<in E of java.util.ArrayList?>?): kotlin.Boolean declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:java.util.function.Predicate<in <root>.Some<kotlin.String>?>?
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:java.util.function.UnaryOperator<<root>.Some<kotlin.String>?>) returnType:kotlin.Unit [fake_override]
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:@[FlexibleNullability] java.util.function.UnaryOperator<<root>.Some<kotlin.String>?>) returnType:kotlin.Unit [fake_override]
overridden:
public open fun replaceAll (p0: java.util.function.UnaryOperator<E of java.util.ArrayList?>): kotlin.Unit declared in java.util.ArrayList
public open fun replaceAll (p0: @[FlexibleNullability] java.util.function.UnaryOperator<E of java.util.ArrayList?>): kotlin.Unit declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.ArrayList<E of java.util.ArrayList>
VALUE_PARAMETER name:p0 index:0 type:java.util.function.UnaryOperator<<root>.Some<kotlin.String>?>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.UnaryOperator<<root>.Some<kotlin.String>?>
FUN FAKE_OVERRIDE name:sort visibility:public modality:OPEN <> ($this:java.util.ArrayList<E of java.util.ArrayList>, p0:java.util.Comparator<in <root>.Some<kotlin.String>?>?) returnType:kotlin.Unit [fake_override]
overridden:
public open fun sort (p0: java.util.Comparator<in E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList
@@ -61,7 +61,7 @@ FILE fqName:<root> fileName:/coercionToUnitForNestedWhen.kt
then: CONST Boolean type=kotlin.Boolean value=false
body: BLOCK type=kotlin.Unit origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
WHEN type=java.lang.StringBuilder? origin=IF
WHEN type=@[FlexibleNullability] java.lang.StringBuilder? origin=IF
BRANCH
if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
arg0: TYPE_OP type=kotlin.Char origin=IMPLICIT_CAST typeOperand=kotlin.Char
@@ -14,6 +14,6 @@ FILE fqName:<root> fileName:/typeParametersInImplicitCast.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.collections.List<T of <root>.problematic>): kotlin.collections.Iterable<T of <root>.problematic> declared in <root>.problematic'
TYPE_OP type=kotlin.collections.List<T of <root>.problematic?> origin=IMPLICIT_NOTNULL typeOperand=kotlin.collections.List<T of <root>.problematic?>
CALL 'public/*package*/ open fun id <T> (v: kotlin.collections.List<T of <root>.ListId.id?>?): kotlin.collections.List<T of <root>.ListId.id?> declared in <root>.ListId' type=kotlin.collections.List<T of <root>.problematic?> origin=null
CALL 'public/*package*/ open fun id <T> (v: kotlin.collections.List<T of <root>.ListId.id?>?): @[EnhancedNullability] kotlin.collections.List<T of <root>.ListId.id?> declared in <root>.ListId' type=@[EnhancedNullability] kotlin.collections.List<T of <root>.problematic?> origin=null
<T>: T of <root>.problematic?
v: GET_VAR 'it: kotlin.collections.List<T of <root>.problematic> declared in <root>.problematic.<anonymous>' type=kotlin.collections.List<T of <root>.problematic> origin=null
+1 -1
View File
@@ -28,7 +28,7 @@ FILE fqName:<root> fileName:/builtinMap.kt
BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.plus'
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public open fun put (p0: K of java.util.LinkedHashMap?, p1: V of java.util.LinkedHashMap?): V of java.util.LinkedHashMap? declared in java.util.LinkedHashMap' type=V1 of <root>.plus? origin=null
CALL 'public open fun put (p0: @[FlexibleNullability] K of java.util.LinkedHashMap?, p1: @[FlexibleNullability] V of java.util.LinkedHashMap?): @[FlexibleNullability] V of java.util.LinkedHashMap? declared in java.util.LinkedHashMap' type=V1 of <root>.plus? origin=null
$this: GET_VAR '<this>: java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> declared in <root>.plus.<anonymous>' type=java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> origin=null
p0: CALL 'public final fun <get-first> (): A of kotlin.Pair declared in kotlin.Pair' type=K1 of <root>.plus origin=GET_PROPERTY
$this: GET_VAR 'pair: kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> declared in <root>.plus' type=kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> origin=null
+5 -5
View File
@@ -1,10 +1,10 @@
FILE fqName:<root> fileName:/javaEnum.kt
PROPERTY name:test visibility:public modality:FINAL [val]
FIELD PROPERTY_BACKING_FIELD name:test type:<root>.JEnum visibility:private [final,static]
FIELD PROPERTY_BACKING_FIELD name:test type:@[FlexibleNullability] <root>.JEnum visibility:private [final,static]
EXPRESSION_BODY
GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_JAVA_DECLARATION_STUB name:ONE' type=<root>.JEnum
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> () returnType:<root>.JEnum
GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_JAVA_DECLARATION_STUB name:ONE' type=@[FlexibleNullability] <root>.JEnum
FUN DEFAULT_PROPERTY_ACCESSOR name:<get-test> visibility:public modality:FINAL <> () returnType:@[FlexibleNullability] <root>.JEnum
correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val]
BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test> (): <root>.JEnum declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:<root>.JEnum visibility:private [final,static]' type=<root>.JEnum origin=null
RETURN type=kotlin.Nothing from='public final fun <get-test> (): @[FlexibleNullability] <root>.JEnum declared in <root>'
GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:test type:@[FlexibleNullability] <root>.JEnum visibility:private [final,static]' type=@[FlexibleNullability] <root>.JEnum origin=null
+2 -2
View File
@@ -14,11 +14,11 @@ FILE fqName:<root> fileName:/asOnPlatformType.kt
<T>: kotlin.String?
$receiver: GET_VAR 'val nonnullStr: kotlin.String? [val] declared in <root>.test' type=kotlin.String? origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun fooN <T> (): T of <root>.fooN? [inline] declared in <root>' type=kotlin.String? origin=null
CALL 'public final fun fooN <T> (): T of <root>.fooN? [inline] declared in <root>' type=@[FlexibleNullability] kotlin.String? origin=null
<T>: kotlin.String?
$receiver: GET_VAR 'val nullStr: kotlin.String? [val] declared in <root>.test' type=kotlin.String? origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
CALL 'public final fun fooN <T> (): T of <root>.fooN? [inline] declared in <root>' type=kotlin.String? origin=null
CALL 'public final fun fooN <T> (): T of <root>.fooN? [inline] declared in <root>' type=@[FlexibleNullability] kotlin.String? origin=null
<T>: kotlin.String?
$receiver: GET_VAR 'val nonnullStr: kotlin.String? [val] declared in <root>.test' type=kotlin.String? origin=null
FUN name:foo visibility:public modality:FINAL <T> ($receiver:T of <root>.foo) returnType:T of <root>.foo [inline]
@@ -131,42 +131,43 @@ FILE fqName:<root> fileName:/enhancedNullabilityInDestructuringAssignment.kt
y: GET_VAR 'val y: kotlin.Int [val] declared in <root>.test1' type=kotlin.Int origin=null
FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:<root>.Q<kotlin.String, kotlin.String?>? [val]
CALL 'public open fun notNullComponents (): <root>.Q<kotlin.String, kotlin.String?>? declared in <root>.J' type=<root>.Q<kotlin.String, kotlin.String?>? origin=null
VAR name:x type:kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String origin=null
$this: GET_VAR 'val tmp_1: <root>.Q<kotlin.String, kotlin.String?>? [val] declared in <root>.test2' type=<root>.Q<kotlin.String, kotlin.String?>? origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? [val]
CALL 'public open fun notNullComponents (): <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? declared in <root>.J' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? origin=null
VAR name:x type:@[FlexibleNullability] kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[FlexibleNullability] kotlin.String origin=null
$this: GET_VAR 'val tmp_1: <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? [val] declared in <root>.test2' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? origin=null
VAR name:y type:kotlin.String? [val]
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String? origin=null
$this: GET_VAR 'val tmp_1: <root>.Q<kotlin.String, kotlin.String?>? [val] declared in <root>.test2' type=<root>.Q<kotlin.String, kotlin.String?>? origin=null
$this: GET_VAR 'val tmp_1: <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? [val] declared in <root>.test2' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? origin=null
CALL 'public final fun use (x: kotlin.Any, y: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
x: GET_VAR 'val x: kotlin.String [val] declared in <root>.test2' type=kotlin.String origin=null
x: GET_VAR 'val x: @[FlexibleNullability] kotlin.String [val] declared in <root>.test2' type=@[FlexibleNullability] kotlin.String origin=null
y: GET_VAR 'val y: kotlin.String? [val] declared in <root>.test2' type=kotlin.String? origin=null
FUN name:test2Desugared visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR name:tmp type:<root>.Q<kotlin.String, kotlin.String?>? [val]
CALL 'public open fun notNullComponents (): <root>.Q<kotlin.String, kotlin.String?>? declared in <root>.J' type=<root>.Q<kotlin.String, kotlin.String?>? origin=null
VAR name:x type:kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String origin=null
$this: GET_VAR 'val tmp: <root>.Q<kotlin.String, kotlin.String?>? [val] declared in <root>.test2Desugared' type=<root>.Q<kotlin.String, kotlin.String?>? origin=null
VAR name:tmp type:<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? [val]
CALL 'public open fun notNullComponents (): <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? declared in <root>.J' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? origin=null
VAR name:x type:@[FlexibleNullability] kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[FlexibleNullability] kotlin.String origin=null
$this: GET_VAR 'val tmp: <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? [val] declared in <root>.test2Desugared' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? origin=null
VAR name:y type:kotlin.String? [val]
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String? origin=null
$this: GET_VAR 'val tmp: <root>.Q<kotlin.String, kotlin.String?>? [val] declared in <root>.test2Desugared' type=<root>.Q<kotlin.String, kotlin.String?>? origin=null
$this: GET_VAR 'val tmp: <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? [val] declared in <root>.test2Desugared' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>? origin=null
CALL 'public final fun use (x: kotlin.Any, y: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
x: GET_VAR 'val x: kotlin.String [val] declared in <root>.test2Desugared' type=kotlin.String origin=null
x: GET_VAR 'val x: @[FlexibleNullability] kotlin.String [val] declared in <root>.test2Desugared' type=@[FlexibleNullability] kotlin.String origin=null
y: GET_VAR 'val y: kotlin.String? [val] declared in <root>.test2Desugared' type=kotlin.String? origin=null
FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.Q<kotlin.String, kotlin.String?> [val]
CALL 'public open fun notNullQAndComponents (): <root>.Q<kotlin.String, kotlin.String?> declared in <root>.J' type=<root>.Q<kotlin.String, kotlin.String?> origin=null
VAR name:x type:kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String origin=null
$this: GET_VAR 'val tmp_2: <root>.Q<kotlin.String, kotlin.String?> [val] declared in <root>.test3' type=<root>.Q<kotlin.String, kotlin.String?> origin=null
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> [val]
TYPE_OP type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>
CALL 'public open fun notNullQAndComponents (): @[EnhancedNullability] <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> declared in <root>.J' type=@[EnhancedNullability] <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> origin=null
VAR name:x type:@[FlexibleNullability] kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=@[FlexibleNullability] kotlin.String origin=null
$this: GET_VAR 'val tmp_2: <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> [val] declared in <root>.test3' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> origin=null
VAR name:y type:kotlin.String? [val]
CALL 'public final fun component2 (): T2 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String? origin=null
$this: GET_VAR 'val tmp_2: <root>.Q<kotlin.String, kotlin.String?> [val] declared in <root>.test3' type=<root>.Q<kotlin.String, kotlin.String?> origin=null
$this: GET_VAR 'val tmp_2: <root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> [val] declared in <root>.test3' type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> origin=null
CALL 'public final fun use (x: kotlin.Any, y: kotlin.Any): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
x: GET_VAR 'val x: kotlin.String [val] declared in <root>.test3' type=kotlin.String origin=null
x: GET_VAR 'val x: @[FlexibleNullability] kotlin.String [val] declared in <root>.test3' type=@[FlexibleNullability] kotlin.String origin=null
y: GET_VAR 'val y: kotlin.String? [val] declared in <root>.test3' type=kotlin.String? origin=null
FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
@@ -1,9 +1,9 @@
public open class ArrayInGenericArguments : R|kotlin/Any| {
public final static field X: R|ft<ArrayInGenericArguments.DataKey<ft<kotlin/Array<ft<kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<kotlin/String, kotlin/String?>!>?>!>, ArrayInGenericArguments.DataKey<ft<kotlin/Array<ft<kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<kotlin/String, kotlin/String?>!>?>!>?>!|
public final static field X: R|ft<@FlexibleNullability ArrayInGenericArguments.DataKey<ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>!>, ArrayInGenericArguments.DataKey<ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/String, kotlin/String?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/String, kotlin/String?>!>?>!>?>!|
public final static field Y: R|ft<ArrayInGenericArguments.DataKey<ft<kotlin/IntArray, kotlin/IntArray?>!>, ArrayInGenericArguments.DataKey<ft<kotlin/IntArray, kotlin/IntArray?>!>?>!|
public final static field Y: R|ft<@FlexibleNullability ArrayInGenericArguments.DataKey<ft<@FlexibleNullability kotlin/IntArray, kotlin/IntArray?>!>, ArrayInGenericArguments.DataKey<ft<@FlexibleNullability kotlin/IntArray, kotlin/IntArray?>!>?>!|
public final static field Z: R|ft<ArrayInGenericArguments.DataKey<out ft<kotlin/Array<ft<kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/Array<out ft<kotlin/CharSequence, kotlin/CharSequence?>!>?>!>, ArrayInGenericArguments.DataKey<out ft<kotlin/Array<ft<kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/Array<out ft<kotlin/CharSequence, kotlin/CharSequence?>!>?>!>?>!|
public final static field Z: R|ft<@FlexibleNullability ArrayInGenericArguments.DataKey<out ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>?>!>, ArrayInGenericArguments.DataKey<out ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>?>!>?>!|
public constructor(): R|ArrayInGenericArguments|
@@ -1,5 +1,5 @@
public final class ArrayTypeVariance : R|kotlin/Any| {
public final fun toArray(p0: R|ft<kotlin/Array<ft<kotlin/Any, kotlin/Any?>!>, kotlin/Array<out ft<kotlin/Any, kotlin/Any?>!>?>!|): R|ft<kotlin/Array<ft<kotlin/Any, kotlin/Any?>!>, kotlin/Array<out ft<kotlin/Any, kotlin/Any?>!>?>!|
public final fun toArray(p0: R|ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/Any, kotlin/Any?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/Any, kotlin/Any?>!>?>!|): R|ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability kotlin/Any, kotlin/Any?>!>, kotlin/Array<out ft<@FlexibleNullability kotlin/Any, kotlin/Any?>!>?>!|
public constructor(): R|test/ArrayTypeVariance|
@@ -1,4 +1,4 @@
public abstract class ClassWithTypePExtendsIterableP<P : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any|, R|kotlin/collections/MutableIterable<ft<P, P?>!>| {
public abstract class ClassWithTypePExtendsIterableP<P : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any|, R|kotlin/collections/MutableIterable<ft<@FlexibleNullability P, P?>!>| {
public constructor<P : R|ft<kotlin/Any, kotlin/Any?>!|>(): R|test/ClassWithTypePExtendsIterableP<P>|
}
@@ -1,4 +1,4 @@
public final class ClassWithTypePP<P : R|ft<kotlin/Any, kotlin/Any?>!|, Q : R|ft<P, P?>!|> : R|kotlin/Any| {
public constructor<P : R|ft<kotlin/Any, kotlin/Any?>!|, Q : R|ft<P, P?>!|>(): R|test/ClassWithTypePP<P, Q>|
public final class ClassWithTypePP<P : R|ft<kotlin/Any, kotlin/Any?>!|, Q : R|ft<@FlexibleNullability P, P?>!|> : R|kotlin/Any| {
public constructor<P : R|ft<kotlin/Any, kotlin/Any?>!|, Q : R|ft<@FlexibleNullability P, P?>!|>(): R|test/ClassWithTypePP<P, Q>|
}
@@ -1,4 +1,4 @@
public open class ClassWithTypePRefNext<R : R|ft<kotlin/collections/MutableIterable<ft<P, P?>!>, kotlin/collections/Iterable<ft<P, P?>!>?>!|, P : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| {
public constructor<R : R|ft<kotlin/collections/MutableIterable<ft<P, P?>!>, kotlin/collections/Iterable<ft<P, P?>!>?>!|, P : R|ft<kotlin/Any, kotlin/Any?>!|>(): R|test/ClassWithTypePRefNext<R, P>|
public open class ClassWithTypePRefNext<R : R|ft<@FlexibleNullability kotlin/collections/MutableIterable<ft<@FlexibleNullability P, P?>!>, kotlin/collections/Iterable<ft<@FlexibleNullability P, P?>!>?>!|, P : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| {
public constructor<R : R|ft<@FlexibleNullability kotlin/collections/MutableIterable<ft<@FlexibleNullability P, P?>!>, kotlin/collections/Iterable<ft<@FlexibleNullability P, P?>!>?>!|, P : R|ft<kotlin/Any, kotlin/Any?>!|>(): R|test/ClassWithTypePRefNext<R, P>|
}
@@ -1,4 +1,4 @@
public final class ClassWithTypePRefSelf<P : R|ft<kotlin/Enum<ft<P, P?>!>, kotlin/Enum<ft<P, P?>!>?>!|> : R|kotlin/Any| {
public constructor<P : R|ft<kotlin/Enum<ft<P, P?>!>, kotlin/Enum<ft<P, P?>!>?>!|>(): R|test/ClassWithTypePRefSelf<P>|
public final class ClassWithTypePRefSelf<P : R|ft<@FlexibleNullability kotlin/Enum<ft<@FlexibleNullability P, P?>!>, kotlin/Enum<ft<@FlexibleNullability P, P?>!>?>!|> : R|kotlin/Any| {
public constructor<P : R|ft<@FlexibleNullability kotlin/Enum<ft<@FlexibleNullability P, P?>!>, kotlin/Enum<ft<@FlexibleNullability P, P?>!>?>!|>(): R|test/ClassWithTypePRefSelf<P>|
}
@@ -1,4 +1,4 @@
public final class ClassWithTypePRefSelfAndClass<P : R|ft<test/ClassWithTypePRefSelfAndClass<ft<P, P?>!>, test/ClassWithTypePRefSelfAndClass<ft<P, P?>!>?>!|> : R|kotlin/Any| {
public constructor<P : R|ft<test/ClassWithTypePRefSelfAndClass<ft<P, P?>!>, test/ClassWithTypePRefSelfAndClass<ft<P, P?>!>?>!|>(): R|test/ClassWithTypePRefSelfAndClass<P>|
public final class ClassWithTypePRefSelfAndClass<P : R|ft<@FlexibleNullability test/ClassWithTypePRefSelfAndClass<ft<@FlexibleNullability P, P?>!>, test/ClassWithTypePRefSelfAndClass<ft<@FlexibleNullability P, P?>!>?>!|> : R|kotlin/Any| {
public constructor<P : R|ft<@FlexibleNullability test/ClassWithTypePRefSelfAndClass<ft<@FlexibleNullability P, P?>!>, test/ClassWithTypePRefSelfAndClass<ft<@FlexibleNullability P, P?>!>?>!|>(): R|test/ClassWithTypePRefSelfAndClass<P>|
}
@@ -1,5 +1,5 @@
public open class FieldOfArrayType : R|kotlin/Any| {
public open field files: R|ft<kotlin/Array<ft<java/io/File, java/io/File?>!>, kotlin/Array<out ft<java/io/File, java/io/File?>!>?>!|
public open field files: R|ft<@FlexibleNullability kotlin/Array<ft<@FlexibleNullability java/io/File, java/io/File?>!>, kotlin/Array<out ft<@FlexibleNullability java/io/File, java/io/File?>!>?>!|
public constructor(): R|test/FieldOfArrayType|
@@ -1,5 +1,5 @@
public open class InnerClassTypeMultipleGeneric : R|kotlin/Any| {
public open fun staticType(): R|ft<test/InnerClassTypeMultipleGeneric.Outer.Inner<ft<kotlin/Byte, kotlin/Byte?>!, ft<kotlin/Char, kotlin/Char?>!, ft<kotlin/Boolean, kotlin/Boolean?>!>, test/InnerClassTypeMultipleGeneric.Outer.Inner<ft<kotlin/Byte, kotlin/Byte?>!, ft<kotlin/Char, kotlin/Char?>!, ft<kotlin/Boolean, kotlin/Boolean?>!>?>!|
public open fun staticType(): R|ft<@FlexibleNullability test/InnerClassTypeMultipleGeneric.Outer.Inner<ft<@FlexibleNullability kotlin/Byte, kotlin/Byte?>!, ft<@FlexibleNullability kotlin/Char, kotlin/Char?>!, ft<@FlexibleNullability kotlin/Boolean, kotlin/Boolean?>!>, test/InnerClassTypeMultipleGeneric.Outer.Inner<ft<@FlexibleNullability kotlin/Byte, kotlin/Byte?>!, ft<@FlexibleNullability kotlin/Char, kotlin/Char?>!, ft<@FlexibleNullability kotlin/Boolean, kotlin/Boolean?>!>?>!|
public constructor(): R|test/InnerClassTypeMultipleGeneric|
@@ -1,12 +1,12 @@
public abstract interface IntrinsicCompanionObject : R|kotlin/Any| {
public abstract fun testInt(i: R|ft<kotlin/Int.Companion, kotlin/Int.Companion?>!|): R|kotlin/Unit|
public abstract fun testInt(i: R|ft<@FlexibleNullability kotlin/Int.Companion, kotlin/Int.Companion?>!|): R|kotlin/Unit|
public abstract fun testChar(c: R|ft<kotlin/Char.Companion, kotlin/Char.Companion?>!|): R|kotlin/Unit|
public abstract fun testChar(c: R|ft<@FlexibleNullability kotlin/Char.Companion, kotlin/Char.Companion?>!|): R|kotlin/Unit|
public abstract fun testString(s: R|ft<kotlin/String.Companion, kotlin/String.Companion?>!|): R|kotlin/Unit|
public abstract fun testString(s: R|ft<@FlexibleNullability kotlin/String.Companion, kotlin/String.Companion?>!|): R|kotlin/Unit|
public abstract fun testBoolean(b: R|ft<kotlin/Boolean.Companion, kotlin/Boolean.Companion?>!|): R|kotlin/Unit|
public abstract fun testBoolean(b: R|ft<@FlexibleNullability kotlin/Boolean.Companion, kotlin/Boolean.Companion?>!|): R|kotlin/Unit|
public abstract fun testEnum(e: R|ft<kotlin/Enum.Companion, kotlin/Enum.Companion?>!|): R|kotlin/Unit|
public abstract fun testEnum(e: R|ft<@FlexibleNullability kotlin/Enum.Companion, kotlin/Enum.Companion?>!|): R|kotlin/Unit|
}
@@ -1,5 +1,5 @@
public open class MethodTypePOneUpperBound : R|kotlin/Any| {
public open fun <T : R|ft<kotlin/Cloneable, kotlin/Cloneable?>!|> bar(): R|kotlin/Unit|
public open fun <T : R|ft<@FlexibleNullability kotlin/Cloneable, kotlin/Cloneable?>!|> bar(): R|kotlin/Unit|
public constructor(): R|test/MethodTypePOneUpperBound|
@@ -1,5 +1,5 @@
public open class MethodTypePTwoUpperBounds : R|kotlin/Any| {
public open fun <T : R|ft<kotlin/Cloneable, kotlin/Cloneable?>!|, R|ft<java/lang/Runnable, java/lang/Runnable?>!|> foo(): R|kotlin/Unit|
public open fun <T : R|ft<@FlexibleNullability kotlin/Cloneable, kotlin/Cloneable?>!|, R|ft<@FlexibleNullability java/lang/Runnable, java/lang/Runnable?>!|> foo(): R|kotlin/Unit|
public constructor(): R|test/MethodTypePTwoUpperBounds|
@@ -1,5 +1,5 @@
public final class MethodWithTypePP : R|kotlin/Any| {
public final fun <P : R|ft<kotlin/Any, kotlin/Any?>!|, Q : R|ft<P, P?>!|> f(): R|kotlin/Unit|
public final fun <P : R|ft<kotlin/Any, kotlin/Any?>!|, Q : R|ft<@FlexibleNullability P, P?>!|> f(): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypePP|
@@ -1,5 +1,5 @@
public open class MethodWithTypePRefClassP<P : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| {
public final fun <Q : R|ft<P, P?>!|> f(): R|kotlin/Unit|
public final fun <Q : R|ft<@FlexibleNullability P, P?>!|> f(): R|kotlin/Unit|
public constructor<P : R|ft<kotlin/Any, kotlin/Any?>!|>(): R|test/MethodWithTypePRefClassP<P>|
@@ -1,5 +1,5 @@
public final class MethosWithPRefTP : R|kotlin/Any| {
public final fun <P : R|ft<kotlin/Any, kotlin/Any?>!|> f(p: R|ft<P, P?>!|): R|kotlin/Unit|
public final fun <P : R|ft<kotlin/Any, kotlin/Any?>!|> f(p: R|ft<@FlexibleNullability P, P?>!|): R|kotlin/Unit|
public constructor(): R|test/MethosWithPRefTP|
@@ -1,4 +1,4 @@
public open class MyException : R|kotlin/Any| {
public constructor(message: R|ft<kotlin/String, kotlin/String?>!|, cause: R|ft<kotlin/Throwable, kotlin/Throwable?>!|): R|test/MyException|
public constructor(message: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|, cause: R|ft<@FlexibleNullability kotlin/Throwable, kotlin/Throwable?>!|): R|test/MyException|
}
@@ -1,11 +1,11 @@
public open class Frame : R|kotlin/Any| {
public/*package*/ open field accessibleContext: R|ft<kotlin/String, kotlin/String?>!|
public/*package*/ open field accessibleContext: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
public constructor(): R|awt/Frame|
}
public open class JFrame : R|awt/Frame| {
protected/*protected and package*/ open field accessibleContext: R|ft<kotlin/String, kotlin/String?>!|
protected/*protected and package*/ open field accessibleContext: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
public constructor(): R|test/JFrame|
@@ -1,6 +1,6 @@
public abstract interface RemoveRedundantProjectionKind : R|kotlin/Any| {
public abstract fun f(collection: R|ft<kotlin/collections/MutableCollection<out ft<kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/collections/Collection<out ft<kotlin/CharSequence, kotlin/CharSequence?>!>?>!|): R|kotlin/Unit|
public abstract fun f(collection: R|ft<@FlexibleNullability kotlin/collections/MutableCollection<out ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/collections/Collection<out ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>?>!|): R|kotlin/Unit|
public abstract fun f(comparator: R|ft<kotlin/Comparable<in ft<kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/Comparable<in ft<kotlin/CharSequence, kotlin/CharSequence?>!>?>!|): R|kotlin/Unit|
public abstract fun f(comparator: R|ft<@FlexibleNullability kotlin/Comparable<in ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>, kotlin/Comparable<in ft<@FlexibleNullability kotlin/CharSequence, kotlin/CharSequence?>!>?>!|): R|kotlin/Unit|
}

Some files were not shown because too many files have changed in this diff Show More