FIR type enhancement: fold flexible types when it's possible

Related to KT-29937
This commit is contained in:
Mikhail Glukhikh
2019-03-06 18:01:42 +03:00
parent 3d29b31177
commit be412baf9f
25 changed files with 113 additions and 101 deletions
@@ -1,5 +1,5 @@
public open class ModalityOfFakeOverrides : R|java/util/AbstractList<java/lang/String>| {
@R|java/lang/Override|() @R|org/jetbrains/annotations/NotNull|() public open operator function get(index: R|kotlin/Int|): R|ft<kotlin/String, kotlin/String>|
@R|java/lang/Override|() @R|org/jetbrains/annotations/NotNull|() public open operator function get(index: R|kotlin/Int|): R|kotlin/String|
@R|java/lang/Override|() public open operator function size(): R|kotlin/Int|
@@ -1,6 +1,6 @@
public abstract interface ReadOnlyExtendsWildcard : R|java/lang/Object| {
public abstract operator function bar(): R|kotlin/Unit|
public abstract operator function foo(@R|kotlin/annotations/jvm/ReadOnly|() x: R|ft<kotlin/collections/List<out java/lang/CharSequence>, kotlin/collections/List<out java/lang/CharSequence>?>|!, @R|org/jetbrains/annotations/NotNull|() y: R|ft<kotlin/Comparable<in java/lang/String>, kotlin/Comparable<in java/lang/String>>|): R|kotlin/Unit|
public abstract operator function foo(@R|kotlin/annotations/jvm/ReadOnly|() x: R|ft<kotlin/collections/List<out java/lang/CharSequence>, kotlin/collections/List<out java/lang/CharSequence>?>|!, @R|org/jetbrains/annotations/NotNull|() y: R|kotlin/Comparable<in java/lang/String>|): R|kotlin/Unit|
}
@@ -1,6 +1,6 @@
public open class NotNullField : R|java/lang/Object| {
@R|org/jetbrains/annotations/NotNull|() public open property hi(var): R|ft<kotlin/String, kotlin/String>|
public get(): R|ft<kotlin/String, kotlin/String>|
public set(value: R|ft<kotlin/String, kotlin/String>|): kotlin/Unit
@R|org/jetbrains/annotations/NotNull|() public open property hi(var): R|kotlin/String|
public get(): R|kotlin/String|
public set(value: R|kotlin/String|): kotlin/Unit
}
@@ -1,4 +1,4 @@
public open class NotNullMethod : R|java/lang/Object| {
@R|org/jetbrains/annotations/NotNull|() public open operator function hi(): R|ft<kotlin/String, kotlin/String>|
@R|org/jetbrains/annotations/NotNull|() public open operator function hi(): R|kotlin/String|
}
@@ -1,4 +1,4 @@
public open class NotNullParameter : R|java/lang/Object| {
public open operator function hi(@R|org/jetbrains/annotations/NotNull|() param: R|ft<kotlin/String, kotlin/String>|): R|kotlin/Unit|
public open operator function hi(@R|org/jetbrains/annotations/NotNull|() param: R|kotlin/String|): R|kotlin/Unit|
}
@@ -1,4 +1,4 @@
public open class ConstructorWithAnnotations : R|java/lang/Object| {
public final function ConstructorWithAnnotations(r: R|ft<java/lang/Runnable, java/lang/Runnable?>|!, @R|org/jetbrains/annotations/NotNull|() s: R|ft<kotlin/String, kotlin/String>|): R|test/ConstructorWithAnnotations|
public final function ConstructorWithAnnotations(r: R|ft<java/lang/Runnable, java/lang/Runnable?>|!, @R|org/jetbrains/annotations/NotNull|() s: R|kotlin/String|): R|test/ConstructorWithAnnotations|
}