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 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| public/*package*/ constructor(): R|kotlin/collections/ArraysUtilJVM|
@@ -3,9 +3,9 @@
} }
public open class NonNullNever : R|kotlin/Any| { 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| public constructor(): R|NonNullNever|
@@ -1,7 +1,7 @@
public open class Simple : R|kotlin/Any| { 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| @R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,7 +1,7 @@
public open class Strange : R|kotlin/Any| { 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| @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| { @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| @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| @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| { @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| public constructor(): R|A|
@@ -1,11 +1,11 @@
@R|spr/NonNullApi|() public open class A : R|kotlin/Any|, R|B| { @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| public constructor(): R|A|
@@ -1,55 +1,55 @@
@R|NonNullApi|() public open class A : R|kotlin/Any| { @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| public constructor(): R|A|
} }
@R|NonNullApi|() public abstract interface AInt : R|kotlin/Any| { @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| { @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| @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| public constructor(): R|B|
} }
@R|NonNullApi|() public open class C : R|A|, R|AInt| { @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| public constructor(): R|C|
@@ -1,13 +1,13 @@
@R|NonNullApi|() public open class A : R|kotlin/Any| { @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| public constructor(): R|A|
@@ -1,7 +1,7 @@
@R|javax/annotation/ParametersAreNonnullByDefault|() public open class A : R|kotlin/Any| { @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| @R|javax/annotation/Nonnull|() public open fun bar(): R|@EnhancedNullability kotlin/String|
@@ -1,7 +1,7 @@
public open class A : R|kotlin/Any| { 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| @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| { 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| @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| { @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| public constructor(): R|A|
@@ -1,11 +1,11 @@
public open class A : R|kotlin/Any| { 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| 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| public constructor(): R|AbstractMap|
} }
@@ -1,17 +1,17 @@
public/*package*/ open class A : R|kotlin/Any| { 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/*package*/ constructor(): R|A|
} }
public final enum class Mixed : R|kotlin/Enum<ft<Mixed, Mixed?>!>| { public final enum class Mixed : R|kotlin/Enum<ft<@FlexibleNullability Mixed, Mixed?>!>| {
public final static enum entry NOT_ENTRY_EITHER: R|Mixed| public final static enum entry NOT_ENTRY_EITHER: R|@FlexibleNullability Mixed|
public final static fun values(): R|kotlin/Array<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 enum class Signs : R|kotlin/Enum<ft<@FlexibleNullability Signs, Signs?>!>| {
public final static enum entry HELLO: R|Signs| public final static enum entry HELLO: R|@FlexibleNullability Signs|
public final static enum entry WORLD: R|Signs| public final static enum entry WORLD: R|@FlexibleNullability Signs|
public final static field X: R|ft<Signs, Signs?>!| public final static field X: R|ft<@FlexibleNullability Signs, Signs?>!|
public final static fun values(): R|kotlin/Array<Signs>| { public final static fun values(): R|kotlin/Array<Signs>| {
} }
@@ -1,23 +1,23 @@
public open class A : R|kotlin/Any| { 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 constructor(): R|A|
} }
public open class B : R|kotlin/Any| { 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| public constructor(): R|B|
@@ -1,5 +1,5 @@
public open class A : R|kotlin/Any| { 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| 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 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>| 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 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 constructor(): R|A|
} }
public abstract interface AInt : R|kotlin/Any| { 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 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| public constructor(): R|B|
@@ -1,13 +1,13 @@
public/*package*/ open class A : R|kotlin/Any| { 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| public/*package*/ constructor(): R|A|
@@ -1,9 +1,9 @@
public/*package*/ open class A : R|kotlin/Any| { 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| public/*package*/ constructor(): R|A|
@@ -1,5 +1,5 @@
public open class A : R|kotlin/Any| { 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| public constructor(): R|A|
@@ -1,5 +1,5 @@
public open class A : R|kotlin/Any| { 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| public constructor(): R|A|
@@ -1,7 +1,7 @@
public open class A : R|kotlin/Any| { 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| public constructor(): R|A|
@@ -1,5 +1,5 @@
public/*package*/ open class A : R|kotlin/Any| { 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| public/*package*/ constructor(): R|A|
@@ -1,6 +1,6 @@
FILE: flexibleTypeBug.kt FILE: flexibleTypeBug.kt
public final fun foo(): R|kotlin/Unit| { 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)) 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|) 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| { 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|) { lval s: R|kotlin/String| = when (R|<local>/e|) {
==($subj$, Null(null)) -> { ==($subj$, Null(null)) -> {
^test_1 Unit ^test_1 Unit
@@ -34,7 +34,7 @@ FILE: main.kt
R|<local>/s|.R|kotlin/String.length| R|<local>/s|.R|kotlin/String.length|
} }
public final fun test_2(): R|kotlin/Unit| { 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|) { lval s: R|kotlin/String| = when (R|<local>/e|) {
==($subj$, Q|E|.R|/E.A|) -> { ==($subj$, Q|E|.R|/E.A|) -> {
String() 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 final val DERIVED_FACTORY: R|DiagnosticFactory0<ft<DerivedElement, DerivedElement?>!>| = R|/DiagnosticFactory0.DiagnosticFactory0|<R|ft<DerivedElement, DerivedElement?>!|>()
private get(): R|DiagnosticFactory0<ft<DerivedElement, DerivedElement?>!>| private get(): R|DiagnosticFactory0<ft<DerivedElement, DerivedElement?>!>|
public final fun createViaFactory(d: R|EmptyDiagnostic|): R|kotlin/Unit| { 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| lval element: R|DerivedElement| = R|<local>/casted|.R|/Diagnostic.element|
R|/Fix.Fix|(R|<local>/element|) R|/Fix.Fix|(R|<local>/element|)
} }
@@ -1,5 +1,5 @@
FILE: test.kt FILE: test.kt
public final fun test(): R|kotlin/Unit| { public final fun test(): R|kotlin/Unit| {
lval staticReference: R|kotlin/reflect/KMutableProperty0<ft<kotlin/String, kotlin/String?>!>| = Q|JavaClass|::R|/JavaClass.staticField| 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<kotlin/String, kotlin/String?>!>| = Q|JavaClass|::R|/JavaClass.nonStaticField| 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| { 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| { public final val oo: R|<anonymous>| = object : R|kotlin/Any| {
@@ -66,7 +66,7 @@ FILE: O.kt
} }
public final fun local(): R|kotlin/Unit| { 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| R|<local>/x|.R|/AnotherClass.bar|
} }
public final fun test2(x: R|SomeClass?|): R|kotlin/Unit| { 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| R|<local>/x|.R|/SomeClass.bar|
} }
public final fun test3(x: R|AnotherClass?|): R|kotlin/Unit| { 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| { 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 () { when () {
!=(R|<local>/bar|, Null(null)) -> { !=(R|<local>/bar|, Null(null)) -> {
R|<local>/x|.R|/SomeClass.bar|.<Inapplicable(INAPPLICABLE_WRONG_RECEIVER): kotlin/CharSequence.length># 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 <D : R|A|> foo(b: R|B<D>|): R|kotlin/Unit| {
} }
public final fun main(b: R|B<*>|): 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 FILE: main.kt
public final fun test(a: R|A|): R|kotlin/Unit| { public final fun test(a: R|A|): R|kotlin/Unit| {
lval int: R|kotlin/Int| = R|<local>/a|.R|/A.x| 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 FILE: main.kt
public final fun main(): R|kotlin/Unit| { 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 FILE: main.kt
public final fun test_1(x: R|A|): R|kotlin/Unit| { 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># 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| { 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># 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| { public final fun test_3(x: R|C|): R|kotlin/Unit| {
@@ -1,6 +1,6 @@
FILE: main.kt FILE: main.kt
public final fun foo(): R|kotlin/Unit| { 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))) ^ CMP(>, R|<local>/it|.R|kotlin/CharSequence.length|.R|kotlin/Int.compareTo|(Int(0)))
} }
) )
@@ -1,14 +1,14 @@
FILE: main.kt FILE: main.kt
public final fun main(): R|kotlin/Unit| { 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|() ^ 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|() ^ 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|() ^ 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 foo(m: R|MyRunnable|): R|kotlin/Unit| {
} }
public final fun main(): 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))) ^ 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))) ^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
} }
) )
@@ -5,7 +5,7 @@ FILE: main.kt
} }
public final fun main(): R|kotlin/Unit| { 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 () { when () {
==(R|<local>/c1|.R|/TypeConstructor.x|, R|<local>/c2|.R|/TypeConstructor.x|) -> { ==(R|<local>/c1|.R|/TypeConstructor.x|, R|<local>/c2|.R|/TypeConstructor.x|) -> {
^@l1 Boolean(true) ^@l1 Boolean(true)
@@ -16,7 +16,7 @@ FILE: Main.kt
R|/takeStrings|(R|<local>/list|) R|/takeStrings|(R|<local>/list|)
} }
public final fun testFromJava(): R|kotlin/Unit| { 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 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<kotlin/String, kotlin/String?>!>| = R|/myListOf|<R|ft<kotlin/String, kotlin/String?>!|>(vararg(*R|<local>/values|)) 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|) R|/takeStrings|(R|<local>/list|)
} }
@@ -1,5 +1,5 @@
FILE: main.kt FILE: main.kt
public final fun main(): R|kotlin/Unit| { 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<@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<kotlin/String, kotlin/String?>!|>(Q|Keys|.R|/Keys.Y|).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 FILE: main.kt
public final fun main(x: R|kotlin/collections/MutableCollection<kotlin/collections/Set<kotlin/String>>|): R|kotlin/Unit| { 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| 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 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 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<JavaEnum, JavaEnum?>!, ft<kotlin/String, kotlin/String?>!>| 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| { public final fun test(): R|kotlin/Unit| {
lval x: R|kotlin/String| = this@R|/User|.R|/AnnotatedDerived.foo|(String(123)) lval x: R|@FlexibleNullability kotlin/String| = this@R|/User|.R|/AnnotatedDerived.foo|(String(123))
lval y: R|kotlin/String| = this@R|/User|.R|/AnnotatedDerived.foo|(Null(null)) 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| { public final fun test(): R|kotlin/Unit| {
lval res1: R|kotlin/Boolean| = this@R|/A|.R|/Some.foo|(Int(1)) 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 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 FILE: main.kt
public final fun main(): R|kotlin/Unit| { 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) ^ 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|() ^ 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|() ^ 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.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|() ^ R|<local>/it|.R|kotlin/Int.plus|(Int(4)).R|kotlin/Any.toString|()
} }
, Int(5)) , Int(5))
@@ -1,8 +1,8 @@
FILE: Test.kt FILE: Test.kt
public final fun test(): R|kotlin/Unit| { public final fun test(): R|kotlin/Unit| {
lval jc: R|JavaClass| = R|/JavaClass.JavaClass|() 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| { 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 FILE: test.kt
public final val x: R|ft<kotlin/String, kotlin/String?>!| = R|/JavaClass.JavaClass|().R|/JavaClass.foo| public final val x: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|/JavaClass.JavaClass|().R|/JavaClass.foo|
public get(): R|ft<kotlin/String, kotlin/String?>!| public get(): R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!|
@@ -16,7 +16,7 @@ FILE: K2.kt
} }
public final fun bar(): R|kotlin/Unit| { 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|() this@R|/K2|.R|/J1.baz|()
} }
@@ -7,7 +7,7 @@ FILE: K1.kt
} }
FILE: K2.kt FILE: K2.kt
public final fun main(): R|kotlin/Unit| { 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|.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>#(R|/KotlinClass.KotlinClass|<R|kotlin/String|>())
Q|JavaClass|.<Inapplicable(INAPPLICABLE): /JavaClass.baz>#(String()) Q|JavaClass|.<Inapplicable(INAPPLICABLE): /JavaClass.baz>#(String())
@@ -1,6 +1,6 @@
FILE: test.kt FILE: test.kt
public final fun test(): R|kotlin/Unit| { 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 final class MyTest : R|kotlin/Any| {
public constructor(): R|MyTest| { 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 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 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 final val logger: R|ft<@FlexibleNullability Logger, Logger?>!| = Q|Logger|.R|/Logger.getInstance|(this@R|/MyTest|.R|/MyTest.klass|)
private get(): R|ft<Logger, Logger?>!| private get(): R|ft<@FlexibleNullability Logger, Logger?>!|
} }
@@ -7,7 +7,7 @@ FILE: main.kt
} }
public final fun test(): R|kotlin/Unit| { public final fun test(): R|kotlin/Unit| {
lval b: R|MyMapEntry| = R|/MyMapEntry.MyMapEntry|() lval b: R|MyMapEntry| = R|/MyMapEntry.MyMapEntry|()
lval key: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/b|.R|/Test.MapEntryImpl.key| lval key: R|ft<@FlexibleNullability 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 value: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|<local>/b|.R|/Test.MapEntryImpl.value|
R|<local>/b|.R|/Test.MapEntryImpl.setValue|(Null(null)) 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| { 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>/e|.R|java/lang/Throwable.printStackTrace|(R|<local>/stream|) 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| { 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>/e|.R|java/lang/Throwable.printStackTrace|(R|<local>/stream|) 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| { 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>/e|.R|java/lang/Throwable.printStackTrace|(R|<local>/stream|) 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 abstract interface UseIterable : R|MyIterable<kotlin/String>| {
public open fun test(): R|kotlin/Unit| { 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 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| { 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 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 FILE: test.kt
public final fun test(map: R|MyMap|): R|kotlin/Unit| { 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) ^ 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 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|kotlin/String?| = R|<local>/map|.R|SubstitutionOverride</MyMap.replace: R|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<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| { 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|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>/key|.R|kotlin/String.length|
R|<local>/value|.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> { 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<kotlin/String, kotlin/String?>!| = R|<local>/<destruct>|.R|kotlin/collections/component1|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<kotlin/String, kotlin/String?>!|>() 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<kotlin/String, kotlin/String?>!| = R|<local>/<destruct>|.R|kotlin/collections/component2|<R|ft<kotlin/String, kotlin/String?>!|, R|ft<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|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>/key|.R|kotlin/String.length|
R|<local>/value|.R|kotlin/String.length| R|<local>/value|.R|kotlin/String.length|
@@ -1,5 +1,5 @@
FILE: main.kt FILE: main.kt
public final fun test(): R|kotlin/Unit| { public final fun test(): R|kotlin/Unit| {
lval project: R|ft<kotlin/String, kotlin/String?>!| = Q|PlatformDataKeys|.R|/CommonDataKeys.PROJECT| lval project: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = Q|PlatformDataKeys|.R|/CommonDataKeys.PROJECT|
lval member: R|ft<kotlin/String, kotlin/String?>!| = R|/PlatformDataKeys.PlatformDataKeys|().R|/CommonDataKeys.MEMBER| lval member: R|ft<@FlexibleNullability kotlin/String, kotlin/String?>!| = R|/PlatformDataKeys.PlatformDataKeys|().R|/CommonDataKeys.MEMBER|
} }
@@ -1,13 +1,13 @@
FILE: test.kt FILE: test.kt
public final fun <D : R|kotlin/Any|> R|Call<D>|.testForEach(): R|kotlin/Unit| { 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>/key|.R|kotlin/String.length|
R|<local>/value|.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> { 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<kotlin/String, kotlin/String?>!|>|.R|kotlin/String.length| 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<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 FILE: capturedFlexible.kt
public final fun foo(z: R|java/util/zip/ZipFile|): R|kotlin/Unit| { 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 FILE: main.kt
public final fun bar(bindingContext: R|BindingContext|): R|kotlin/Unit| { 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>| public final typealias ImmutableLinkedHashSet<E> = R|imm/LinkedHashSet<E>|
private final typealias ImmutableMultimap<K, V> = R|ImmutableMap<K, ImmutableSet<V>>| 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| { 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" 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>() { object UnsafeVariance : ConeAttribute<UnsafeVariance>() {
val ANNOTATION_CLASS_ID = ClassId(FqName("kotlin"), Name.identifier("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.noInfer: CompilerConeAttributes.NoInfer? by ConeAttributes.attributeAccessor<CompilerConeAttributes.NoInfer>()
val ConeAttributes.enhancedNullability: CompilerConeAttributes.EnhancedNullability? by ConeAttributes.attributeAccessor<CompilerConeAttributes.EnhancedNullability>() val ConeAttributes.enhancedNullability: CompilerConeAttributes.EnhancedNullability? by ConeAttributes.attributeAccessor<CompilerConeAttributes.EnhancedNullability>()
val ConeAttributes.extensionFunctionType: CompilerConeAttributes.ExtensionFunctionType? by ConeAttributes.attributeAccessor<CompilerConeAttributes.ExtensionFunctionType>() 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 ConeAttributes.unsafeVarianceType: CompilerConeAttributes.UnsafeVariance? by ConeAttributes.attributeAccessor<CompilerConeAttributes.UnsafeVariance>()
val ConeKotlinType.hasEnhancedNullability: Boolean val ConeKotlinType.hasEnhancedNullability: Boolean
@@ -83,3 +96,6 @@ val ConeKotlinType.hasEnhancedNullability: Boolean
val ConeKotlinType.isExtensionFunctionType: Boolean val ConeKotlinType.isExtensionFunctionType: Boolean
get() = attributes.extensionFunctionType != null 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 Empty: ConeAttributes = ConeAttributes(emptyList())
val WithFlexibleNullability: ConeAttributes = ConeAttributes(listOf(CompilerConeAttributes.FlexibleNullability))
fun create(attributes: List<ConeAttribute<*>>): ConeAttributes { fun create(attributes: List<ConeAttribute<*>>): ConeAttributes {
return if (attributes.isEmpty()) { return if (attributes.isEmpty()) {
@@ -48,8 +49,17 @@ class ConeAttributes private constructor(attributes: List<ConeAttribute<*>>) : A
for (attribute in attributes) { for (attribute in attributes) {
registerComponent(attribute.key, attribute) 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 { fun union(other: ConeAttributes): ConeAttributes {
return perform(other) { this.union(it) } return perform(other) { this.union(it) }
} }
@@ -58,6 +68,13 @@ class ConeAttributes private constructor(attributes: List<ConeAttribute<*>>) : A
return perform(other) { this.intersect(it) } 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<*>> { override fun iterator(): Iterator<ConeAttribute<*>> {
return arrayMap.iterator() return arrayMap.iterator()
} }
@@ -10,11 +10,15 @@ import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.backend.Fir2IrSpecialSymbolProvider import org.jetbrains.kotlin.fir.backend.Fir2IrSpecialSymbolProvider
import org.jetbrains.kotlin.ir.builders.declarations.addConstructor import org.jetbrains.kotlin.ir.builders.declarations.addConstructor
import org.jetbrains.kotlin.ir.builders.declarations.buildClass 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.declarations.impl.IrExternalPackageFragmentImpl
import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns
import org.jetbrains.kotlin.ir.symbols.IrClassSymbol import org.jetbrains.kotlin.ir.symbols.IrClassSymbol
import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol import org.jetbrains.kotlin.ir.symbols.impl.DescriptorlessExternalPackageFragmentSymbol
import org.jetbrains.kotlin.load.java.JvmAnnotationNames import org.jetbrains.kotlin.load.java.JvmAnnotationNames
import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.Name
class Fir2IrJvmSpecialAnnotationSymbolProvider : Fir2IrSpecialSymbolProvider() { class Fir2IrJvmSpecialAnnotationSymbolProvider : Fir2IrSpecialSymbolProvider() {
@@ -25,21 +29,35 @@ class Fir2IrJvmSpecialAnnotationSymbolProvider : Fir2IrSpecialSymbolProvider() {
) )
} }
override fun getClassSymbolById(id: ClassId): IrClassSymbol? { private val kotlinInternalIrPackage by lazy {
if (id != ENHANCED_NULLABILITY_ID) return null IrExternalPackageFragmentImpl(
return components.irFactory.buildClass { 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 kind = ClassKind.ANNOTATION_CLASS
name = ENHANCED_NULLABILITY_ID.shortClassName name = shortClassName
}.apply { }.apply {
createImplicitParameterDeclarationWithWrappedDescriptor() createImplicitParameterDeclarationWithWrappedDescriptor()
this.parent = kotlinJvmInternalPackage this.parent = parent
addConstructor { addConstructor {
isPrimary = true isPrimary = true
} }
}.symbol }
}
companion object { companion object {
private val ENHANCED_NULLABILITY_ID = ClassId.topLevel(JvmAnnotationNames.ENHANCED_NULLABILITY_ANNOTATION) 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? = internal fun enhancedNullabilityAnnotationConstructorCall(): IrConstructorCall? =
enhancedNullabilityAnnotationSymbol?.toConstructorCall() 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? = private fun annotationSymbolById(id: ClassId): IrClassSymbol? =
provider?.getClassSymbolById(id) ?: session.firSymbolProvider.getClassLikeSymbolByFqName(id)?.toSymbol( provider?.getClassSymbolById(id) ?: session.firSymbolProvider.getClassLikeSymbolByFqName(id)?.toSymbol(
session, classifierStorage, ConversionTypeContext.DEFAULT session, classifierStorage, ConversionTypeContext.DEFAULT
@@ -99,6 +99,11 @@ class Fir2IrTypeConverter(
typeAnnotations += it typeAnnotations += it
} }
} }
if (hasFlexibleNullability) {
builtIns.flexibleNullabilityAnnotationConstructorCall()?.let {
typeAnnotations += it
}
}
IrSimpleTypeImpl( IrSimpleTypeImpl(
irSymbol, !typeContext.definitelyNotNull && this.isMarkedNullable, irSymbol, !typeContext.definitelyNotNull && this.isMarkedNullable,
fullyExpandedType(session).typeArguments.map { it.toIrTypeArgument(typeContext) }, fullyExpandedType(session).typeArguments.map { it.toIrTypeArgument(typeContext) },
@@ -197,7 +197,11 @@ private fun ClassId.toConeFlexibleType(
typeArgumentsForUpper: Array<ConeTypeProjection> = typeArguments, typeArgumentsForUpper: Array<ConeTypeProjection> = typeArguments,
attributes: ConeAttributes = ConeAttributes.Empty attributes: ConeAttributes = ConeAttributes.Empty
) = ConeFlexibleType( ) = ConeFlexibleType(
toConeKotlinType(typeArguments, isNullable = false, attributes), toConeKotlinType(
typeArguments,
isNullable = false,
attributes.intersectUnless(ConeAttributes.WithFlexibleNullability) { it.hasEnhancedNullability }
),
toConeKotlinType(typeArgumentsForUpper, isNullable = true, attributes) toConeKotlinType(typeArgumentsForUpper, isNullable = true, attributes)
) )
@@ -233,7 +237,15 @@ private fun JavaClassifierType.toConeKotlinTypeWithoutEnhancement(
attributes = attributes 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( private fun computeRawProjection(
@@ -303,7 +315,9 @@ private fun getErasedVersionOfFirstUpperBound(
if (firstUpperBound.upperBound is ConeTypeParameterType) { if (firstUpperBound.upperBound is ConeTypeParameterType) {
// Avoid exponential complexity // Avoid exponential complexity
ConeFlexibleType( ConeFlexibleType(
lowerBound, lowerBound.withAttributes(
lowerBound.attributes.intersectUnless(ConeAttributes.WithFlexibleNullability) { it.hasEnhancedNullability }
),
lowerBound.withNullability(ConeNullability.NULLABLE) lowerBound.withNullability(ConeNullability.NULLABLE)
) )
} else { } else {
@@ -88,22 +88,29 @@ private fun ConeKotlinType.enhanceConeKotlinType(
): ConeKotlinType { ): ConeKotlinType {
return when (this) { return when (this) {
is ConeFlexibleType -> { is ConeFlexibleType -> {
val needsFlexibleNullabilityAttribute = lowerBound.nullability != upperBound.nullability && !lowerBound.hasEnhancedNullability
val lowerResult = lowerBound.enhanceInflexibleType( 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( val upperResult = upperBound.enhanceInflexibleType(
session, TypeComponentPosition.FLEXIBLE_UPPER, qualifiers, index session, TypeComponentPosition.FLEXIBLE_UPPER, qualifiers, index, upperBound.attributes
) )
when { when {
lowerResult === lowerBound && upperResult === upperBound -> this !needsFlexibleNullabilityAttribute && lowerResult === lowerBound && upperResult === upperBound -> this
this is ConeRawType -> ConeRawType(lowerResult, upperResult) this is ConeRawType -> ConeRawType(lowerResult, upperResult)
else -> coneFlexibleOrSimpleType( else -> coneFlexibleOrSimpleType(
session, lowerResult, upperResult, isNotNullTypeParameter = qualifiers(index).isNotNullTypeParameter 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 else -> this
} }
} }
@@ -158,7 +165,8 @@ private fun ConeKotlinType.enhanceInflexibleType(
session: FirSession, session: FirSession,
position: TypeComponentPosition, position: TypeComponentPosition,
qualifiers: IndexedJavaTypeQualifiers, qualifiers: IndexedJavaTypeQualifiers,
index: Int index: Int,
attributes: ConeAttributes = this.attributes
): ConeKotlinType { ): ConeKotlinType {
require(this !is ConeFlexibleType) { require(this !is ConeFlexibleType) {
"$this should not be flexible" "$this should not be flexible"
@@ -198,7 +206,7 @@ private fun ConeKotlinType.enhanceInflexibleType(
if (!wereChangesInArgs && originalTag == enhancedTag && enhancedNullability == isNullable) return this 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 // TODO: why all of these is needed
// val enhancement = if (effectiveQualifiers.isNotNullTypeParameter) NotNullTypeParameter(enhancedType) else enhancedType // val enhancement = if (effectiveQualifiers.isNotNullTypeParameter) NotNullTypeParameter(enhancedType) else enhancedType
@@ -104,7 +104,14 @@ class JavaClassMembersEnhancementScope(
emptyArray(), valueParameter.returnTypeRef.isMarkedNullable == true emptyArray(), valueParameter.returnTypeRef.isMarkedNullable == true
) )
if (valueParameter.returnTypeRef.coneType is ConeFlexibleType) { 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 { } else {
type type
} }
@@ -129,8 +136,8 @@ class JavaClassMembersEnhancementScope(
newParameterTypes = valueParameters.zip(newParameterTypes).map { (valueParameter, newType) -> newParameterTypes = valueParameters.zip(newParameterTypes).map { (valueParameter, newType) ->
newType ?: valueParameter.returnTypeRef.coneType newType ?: valueParameter.returnTypeRef.coneType
}, },
newDispatchReceiverType = dispatchReceiverType, newDispatchReceiverType = dispatchReceiverType,
) )
} }
return this return this
@@ -105,8 +105,12 @@ fun ConeTypeContext.hasNullableSuperType(type: ConeKotlinType): Boolean {
return false return false
} }
fun <T : ConeKotlinType> T.withNullability(nullability: ConeNullability, typeContext: ConeInferenceContext? = null): T { fun <T : ConeKotlinType> T.withNullability(
if (this.nullability == nullability) { nullability: ConeNullability,
typeContext: ConeInferenceContext? = null,
attributes: ConeAttributes = this.attributes,
): T {
if (this.nullability == nullability && this.attributes == attributes) {
return this return this
} }
@@ -188,6 +192,9 @@ fun FirTypeRef.isUnsafeVarianceType(session: FirSession): Boolean {
fun FirTypeRef.hasEnhancedNullability(): Boolean = fun FirTypeRef.hasEnhancedNullability(): Boolean =
coneTypeSafe<ConeKotlinType>()?.hasEnhancedNullability == true coneTypeSafe<ConeKotlinType>()?.hasEnhancedNullability == true
fun FirTypeRef.hasFlexibleNullability(): Boolean =
coneTypeSafe<ConeKotlinType>()?.hasFlexibleNullability == true
fun FirTypeRef.withoutEnhancedNullability(): FirTypeRef { fun FirTypeRef.withoutEnhancedNullability(): FirTypeRef {
require(this is FirResolvedTypeRef) require(this is FirResolvedTypeRef)
if (!hasEnhancedNullability()) return this if (!hasEnhancedNullability()) return this
@@ -15,11 +15,12 @@ import org.jetbrains.kotlin.name.ClassId
fun ConeClassifierLookupTag.constructType( fun ConeClassifierLookupTag.constructType(
typeArguments: Array<out ConeTypeProjection>, typeArguments: Array<out ConeTypeProjection>,
isNullable: Boolean isNullable: Boolean,
attributes: ConeAttributes = ConeAttributes.Empty
): ConeLookupTagBasedType { ): ConeLookupTagBasedType {
return when (this) { return when (this) {
is ConeTypeParameterLookupTag -> ConeTypeParameterTypeImpl(this, isNullable) is ConeTypeParameterLookupTag -> ConeTypeParameterTypeImpl(this, isNullable, attributes)
is ConeClassLikeLookupTag -> this.constructClassType(typeArguments, isNullable) is ConeClassLikeLookupTag -> this.constructClassType(typeArguments, isNullable, attributes)
else -> error("! ${this::class}") else -> error("! ${this::class}")
} }
} }
@@ -75,5 +75,5 @@ fun test() {
} }
// TODO: FIR // TODO: FIR
// {AbstractAssert<*, out Any!>! & EnumerableAssert<*, {Comparable<*> & java.io.Serializable!}>!} with unfolded flexible nullability // {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 $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 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 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: 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 $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 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 $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 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 FUN DELEGATED_MEMBER name:takeFlexible visibility:public modality:OPEN <> ($this:<root>.Test, x:kotlin.String?) returnType:kotlin.Unit
overridden: overridden:
public abstract fun takeFlexible (x: kotlin.String?): kotlin.Unit declared in <root>.J 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 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 $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 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: 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 $this: VALUE_PARAMETER name:<this> type:<root>.Test
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public open fun returnNullable (): kotlin.String? declared in <root>.Test' RETURN type=kotlin.Nothing from='public open fun returnNullable (): @[FlexibleNullability] kotlin.String? declared in <root>.Test'
CALL 'public abstract fun returnNullable (): kotlin.String? declared in <root>.J' type=kotlin.String? origin=null 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 $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 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? 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 BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.JFoo' 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]' 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: 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 $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] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
@@ -45,13 +45,13 @@ FILE fqName:<root> fileName:/implicitNotNullOnDelegatedImplementation.kt
BLOCK_BODY BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in <root>.JFoo' 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]' 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: 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 $this: VALUE_PARAMETER name:<this> type:<root>.K2
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String declared in <root>.K2' RETURN type=kotlin.Nothing from='public final fun foo (): @[FlexibleNullability] 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 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 $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] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden: 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]' 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] FUN name:get visibility:public modality:FINAL <> ($this:<root>.A.b.<no name provided>) returnType:kotlin.Double [operator]
overridden: 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> $this: VALUE_PARAMETER name:<this> type:<root>.A.b.<no name provided>
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun get (): kotlin.Double [operator] declared in <root>.A.b.<no name provided>' 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]' 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] FUN name:get visibility:public modality:FINAL <> ($this:<root>.C) returnType:kotlin.Double [operator]
overridden: 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 $this: VALUE_PARAMETER name:<this> type:<root>.C
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun get (): kotlin.Double [operator] declared in <root>.C' 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] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any 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 $this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 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] 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] FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden: overridden:
public open fun toString (): kotlin.String declared in kotlin.Any 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 $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] 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: overridden:
@@ -152,7 +152,7 @@ FILE fqName:<root> fileName:/ClashResolutionDescriptor.kt
BLOCK type=kotlin.collections.Collection<<root>.ComponentDescriptor> origin=ELVIS BLOCK type=kotlin.collections.Collection<<root>.ComponentDescriptor> origin=ELVIS
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlin.collections.Collection<<root>.ComponentDescriptor>? [val] 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> 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 $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 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 $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 abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList 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> $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: overridden:
public abstract fun iterator (): kotlin.collections.Iterator<<root>.Some<T of <root>.MyList>> [fake_override,operator] declared in <root>.MyList 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> $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] 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: 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 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> $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> 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: overridden:
public abstract fun listIterator (): kotlin.collections.ListIterator<<root>.Some<T of <root>.MyList>> [fake_override] declared in <root>.MyList 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> $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: overridden:
public abstract fun listIterator (index: kotlin.Int): kotlin.collections.ListIterator<<root>.Some<T of <root>.MyList>> [fake_override] declared in <root>.MyList 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> $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: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: 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 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> $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:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 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] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any 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 $this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 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] 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] FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden: overridden:
public open fun toString (): kotlin.String declared in kotlin.Any 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 $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] 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: 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 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> $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: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: 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> $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] 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: overridden:
@@ -321,17 +321,17 @@ FILE fqName:<root> fileName:/MultiList.kt
overridden: overridden:
public open fun clear (): kotlin.Unit declared in java.util.ArrayList 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> $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: 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> $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>?> 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: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:kotlin.Int, p1:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<T of <root>.SomeList>?>) returnType:kotlin.Boolean [fake_override]
overridden: 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> $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: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] 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: overridden:
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList 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 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> $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>?>? 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: overridden:
public open fun spliterator (): java.util.Spliterator<<root>.Some<T of <root>.MyList>?> declared in <root>.MyList public open fun spliterator (): @[FlexibleNullability] 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<E of java.util.ArrayList?> declared in java.util.ArrayList
$this: VALUE_PARAMETER name:<this> type:java.util.Collection<E of 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<T of <root>.SomeList>?>?) returnType:kotlin.Boolean [fake_override] 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: overridden:
public open fun removeIf (p0: java.util.function.Predicate<in E of java.util.ArrayList?>?): kotlin.Boolean declared in java.util.ArrayList 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> $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>?>? 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: 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> $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] 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: overridden:
public open fun sort (p0: java.util.Comparator<in E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList 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 abstract fun isEmpty (): kotlin.Boolean declared in kotlin.collections.List
public open fun isEmpty (): kotlin.Boolean declared in java.util.ArrayList 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> $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: 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> $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] 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: overridden:
public abstract fun lastIndexOf (element: E of kotlin.collections.List): kotlin.Int declared in kotlin.collections.List 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> $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> 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: 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> $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: 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> $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: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: 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> $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:p0 index:0 type:kotlin.Int
VALUE_PARAMETER name:p1 index:1 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] FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden: overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [operator] declared in kotlin.Any 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 $this: VALUE_PARAMETER name:<this> type:kotlin.Any
VALUE_PARAMETER name:other index:0 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] 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] FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
overridden: overridden:
public open fun toString (): kotlin.String declared in kotlin.Any 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 $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] 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: 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 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> $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: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: 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> $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] 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: overridden:
@@ -521,17 +521,17 @@ FILE fqName:<root> fileName:/MultiList.kt
overridden: overridden:
public open fun clear (): kotlin.Unit declared in java.util.ArrayList 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> $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: 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> $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>?> 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: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:kotlin.Int, p1:@[FlexibleNullability] kotlin.collections.Collection<out <root>.Some<kotlin.String>?>) returnType:kotlin.Boolean [fake_override]
overridden: 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> $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: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] 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: overridden:
protected/*protected and package*/ open fun removeRange (p0: kotlin.Int, p1: kotlin.Int): kotlin.Unit declared in java.util.ArrayList 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 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> $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>?>? 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: 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> $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] 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: overridden:
public open fun removeIf (p0: java.util.function.Predicate<in E of java.util.ArrayList?>?): kotlin.Boolean declared in java.util.ArrayList 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> $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>?>? 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: 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> $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] 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: overridden:
public open fun sort (p0: java.util.Comparator<in E of java.util.ArrayList?>?): kotlin.Unit declared in java.util.ArrayList 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 then: CONST Boolean type=kotlin.Boolean value=false
body: BLOCK type=kotlin.Unit origin=null body: BLOCK type=kotlin.Unit origin=null
TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit 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 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 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 arg0: TYPE_OP type=kotlin.Char origin=IMPLICIT_CAST typeOperand=kotlin.Char
@@ -14,6 +14,6 @@ FILE fqName:<root> fileName:/typeParametersInImplicitCast.kt
BLOCK_BODY 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' 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?> 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? <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 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 BLOCK_BODY
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.plus' 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 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 $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 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 $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 FILE fqName:<root> fileName:/javaEnum.kt
PROPERTY name:test visibility:public modality:FINAL [val] 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 EXPRESSION_BODY
GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_JAVA_DECLARATION_STUB name:ONE' type=<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:<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] correspondingProperty: PROPERTY name:test visibility:public modality:FINAL [val]
BLOCK_BODY BLOCK_BODY
RETURN type=kotlin.Nothing from='public final fun <get-test> (): <root>.JEnum declared in <root>' 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:<root>.JEnum visibility:private [final,static]' type=<root>.JEnum origin=null 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? <T>: kotlin.String?
$receiver: GET_VAR 'val nonnullStr: kotlin.String? [val] declared in <root>.test' type=kotlin.String? origin=null $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 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? <T>: kotlin.String?
$receiver: GET_VAR 'val nullStr: kotlin.String? [val] declared in <root>.test' type=kotlin.String? origin=null $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 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? <T>: kotlin.String?
$receiver: GET_VAR 'val nonnullStr: kotlin.String? [val] declared in <root>.test' type=kotlin.String? origin=null $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] 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 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 FUN name:test2 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:<root>.Q<kotlin.String, kotlin.String?>? [val] VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:<root>.Q<@[FlexibleNullability] 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 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:kotlin.String [val] VAR name:x type:@[FlexibleNullability] kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String origin=null 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<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
VAR name:y type:kotlin.String? [val] 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 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 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 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 FUN name:test2Desugared visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR name:tmp type:<root>.Q<kotlin.String, kotlin.String?>? [val] VAR name:tmp type:<root>.Q<@[FlexibleNullability] 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 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:kotlin.String [val] VAR name:x type:@[FlexibleNullability] kotlin.String [val]
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String origin=null 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<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
VAR name:y type:kotlin.String? [val] 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 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 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 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 FUN name:test3 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY BLOCK_BODY
VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.Q<kotlin.String, kotlin.String?> [val] VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:<root>.Q<@[FlexibleNullability] 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 TYPE_OP type=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?> origin=IMPLICIT_NOTNULL typeOperand=<root>.Q<@[FlexibleNullability] kotlin.String, kotlin.String?>
VAR name:x type:kotlin.String [val] 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
CALL 'public final fun component1 (): T1 of <root>.Q [operator] declared in <root>.Q' type=kotlin.String origin=null VAR name:x type:@[FlexibleNullability] kotlin.String [val]
$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 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] 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 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 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 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 FUN name:test4 visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY BLOCK_BODY
@@ -1,9 +1,9 @@
public open class ArrayInGenericArguments : R|kotlin/Any| { 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| public constructor(): R|ArrayInGenericArguments|
@@ -1,5 +1,5 @@
public final class ArrayTypeVariance : R|kotlin/Any| { 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| 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>| 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 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<P, P?>!|>(): R|test/ClassWithTypePP<P, Q>| 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 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<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 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 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<kotlin/Enum<ft<P, P?>!>, kotlin/Enum<ft<P, P?>!>?>!|>(): R|test/ClassWithTypePRefSelf<P>| 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 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<test/ClassWithTypePRefSelfAndClass<ft<P, P?>!>, test/ClassWithTypePRefSelfAndClass<ft<P, P?>!>?>!|>(): R|test/ClassWithTypePRefSelfAndClass<P>| 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 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| public constructor(): R|test/FieldOfArrayType|
@@ -1,5 +1,5 @@
public open class InnerClassTypeMultipleGeneric : R|kotlin/Any| { 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| public constructor(): R|test/InnerClassTypeMultipleGeneric|
@@ -1,12 +1,12 @@
public abstract interface IntrinsicCompanionObject : R|kotlin/Any| { 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 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| public constructor(): R|test/MethodTypePOneUpperBound|
@@ -1,5 +1,5 @@
public open class MethodTypePTwoUpperBounds : R|kotlin/Any| { 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| public constructor(): R|test/MethodTypePTwoUpperBounds|
@@ -1,5 +1,5 @@
public final class MethodWithTypePP : R|kotlin/Any| { 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| public constructor(): R|test/MethodWithTypePP|
@@ -1,5 +1,5 @@
public open class MethodWithTypePRefClassP<P : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| { 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>| 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 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| public constructor(): R|test/MethosWithPRefTP|
@@ -1,4 +1,4 @@
public open class MyException : R|kotlin/Any| { 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 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 constructor(): R|awt/Frame|
} }
public open class JFrame : 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| public constructor(): R|test/JFrame|
@@ -1,6 +1,6 @@
public abstract interface RemoveRedundantProjectionKind : R|kotlin/Any| { 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