FIR: Add java.io.Serializable as supertypes to built-in classes

This commit is contained in:
Denis Zharkov
2020-04-06 18:16:23 +03:00
parent 168c7f306f
commit 81d9cf76f2
10 changed files with 106 additions and 71 deletions
+21 -21
View File
@@ -42,7 +42,7 @@ public open class Any {
}
public final class Array<T> : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class Array<T> : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|T|
public final operator fun iterator(): R|kotlin/collections/Iterator<T>|
@@ -58,7 +58,7 @@ public final class Array<T> : R|kotlin/Any|, R|kotlin/Cloneable| {
}
public final class Boolean : R|kotlin/Comparable<kotlin/Boolean>| {
public final class Boolean : R|kotlin/Comparable<kotlin/Boolean>|, R|java/io/Serializable| {
public final infix fun and(other: R|kotlin/Boolean|): R|kotlin/Boolean|
public open operator fun compareTo(other: R|kotlin/Boolean|): R|kotlin/Int|
@@ -78,7 +78,7 @@ public final class Boolean : R|kotlin/Comparable<kotlin/Boolean>| {
}
public final class BooleanArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class BooleanArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Boolean|
public final operator fun iterator(): R|kotlin/collections/BooleanIterator|
@@ -96,7 +96,7 @@ public final class BooleanArray : R|kotlin/Any|, R|kotlin/Cloneable| {
}
public final class Byte : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Byte>| {
public final class Byte : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Byte>|, R|java/io/Serializable| {
public open operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
@@ -220,7 +220,7 @@ public final class Byte : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Byte>| {
}
public final class ByteArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class ByteArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Byte|
public final operator fun iterator(): R|kotlin/collections/ByteIterator|
@@ -238,7 +238,7 @@ public final class ByteArray : R|kotlin/Any|, R|kotlin/Cloneable| {
}
public final class Char : R|kotlin/Comparable<kotlin/Char>| {
public final class Char : R|kotlin/Comparable<kotlin/Char>|, R|java/io/Serializable| {
public open operator fun compareTo(other: R|kotlin/Char|): R|kotlin/Int|
public final operator fun dec(): R|kotlin/Char|
@@ -306,7 +306,7 @@ public final class Char : R|kotlin/Comparable<kotlin/Char>| {
}
public final class CharArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class CharArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Char|
public final operator fun iterator(): R|kotlin/collections/CharIterator|
@@ -372,7 +372,7 @@ public final enum class DeprecationLevel : R|kotlin/Enum<kotlin/DeprecationLevel
}
public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>| {
public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>|, R|java/io/Serializable| {
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
public open operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
@@ -497,7 +497,7 @@ public final class Double : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Double>
}
public final class DoubleArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class DoubleArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Double|
public final operator fun iterator(): R|kotlin/collections/DoubleIterator|
@@ -520,7 +520,7 @@ public final class DoubleArray : R|kotlin/Any|, R|kotlin/Cloneable| {
}
public abstract class Enum<E> : R|kotlin/Comparable<E>| {
public abstract class Enum<E> : R|kotlin/Comparable<E>|, R|java/io/Serializable| {
protected final fun clone(): R|kotlin/Any|
public final operator fun compareTo(other: R|E|): R|kotlin/Int|
@@ -551,7 +551,7 @@ public abstract class Enum<E> : R|kotlin/Comparable<E>| {
}
public final class Float : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Float>| {
public final class Float : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Float>|, R|java/io/Serializable| {
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
@@ -676,7 +676,7 @@ public final class Float : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Float>|
}
public final class FloatArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class FloatArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Float|
public final operator fun iterator(): R|kotlin/collections/FloatIterator|
@@ -697,7 +697,7 @@ public final class FloatArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public abstract interface Function<out R> : R|kotlin/Any| {
}
public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>| {
public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>|, R|java/io/Serializable| {
public final infix fun and(other: R|kotlin/Int|): R|kotlin/Int|
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
@@ -835,7 +835,7 @@ public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>| {
}
public final class IntArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class IntArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Int|
public final operator fun iterator(): R|kotlin/collections/IntIterator|
@@ -853,7 +853,7 @@ public final class IntArray : R|kotlin/Any|, R|kotlin/Cloneable| {
}
public final class Long : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Long>| {
public final class Long : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Long>|, R|java/io/Serializable| {
public final infix fun and(other: R|kotlin/Long|): R|kotlin/Long|
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
@@ -991,7 +991,7 @@ public final class Long : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Long>| {
}
public final class LongArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class LongArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Long|
public final operator fun iterator(): R|kotlin/collections/LongIterator|
@@ -1014,7 +1014,7 @@ public final class Nothing {
}
public abstract class Number : R|kotlin/Any| {
public abstract class Number : R|kotlin/Any|, R|java/io/Serializable| {
public abstract fun toByte(): R|kotlin/Byte|
public abstract fun toChar(): R|kotlin/Char|
@@ -1057,7 +1057,7 @@ public abstract class Number : R|kotlin/Any| {
}
public final class Short : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Short>| {
public final class Short : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Short>|, R|java/io/Serializable| {
public final operator fun compareTo(other: R|kotlin/Byte|): R|kotlin/Int|
public final operator fun compareTo(other: R|kotlin/Double|): R|kotlin/Int|
@@ -1181,7 +1181,7 @@ public final class Short : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Short>|
}
public final class ShortArray : R|kotlin/Any|, R|kotlin/Cloneable| {
public final class ShortArray : R|kotlin/Any|, R|kotlin/Cloneable|, R|java/io/Serializable| {
public final operator fun get(index: R|kotlin/Int|): R|kotlin/Short|
public final operator fun iterator(): R|kotlin/collections/ShortIterator|
@@ -1207,7 +1207,7 @@ public final class ShortArray : R|kotlin/Any|, R|kotlin/Cloneable| {
}
public final class String : R|kotlin/Comparable<kotlin/String>|, R|kotlin/CharSequence| {
public final class String : R|kotlin/Comparable<kotlin/String>|, R|kotlin/CharSequence|, R|java/io/Serializable| {
public open operator fun compareTo(other: R|kotlin/String|): R|kotlin/Int|
public open operator fun get(index: R|kotlin/Int|): R|kotlin/Char|
@@ -1236,7 +1236,7 @@ public final class String : R|kotlin/Comparable<kotlin/String>|, R|kotlin/CharSe
}
public open class Throwable : R|kotlin/Any| {
public open class Throwable : R|kotlin/Any|, R|java/io/Serializable| {
public open val cause: R|kotlin/Throwable?|
public get(): R|kotlin/Throwable?|
+1 -1
View File
@@ -28,7 +28,7 @@ FILE: whenElse.kt
public get(): R|B|
}
public final fun get(f: R|kotlin/Boolean|): R|kotlin/Comparable<it(A & kotlin/String)>| {
public final fun get(f: R|kotlin/Boolean|): R|it(kotlin/Comparable<it(A & kotlin/String)> & java/io/Serializable)| {
^get when () {
R|<local>/f| -> {
Q|A|.R|/A.A1|
@@ -0,0 +1,6 @@
// FULL_JDK
fun foo(x: java.io.Serializable) {}
fun main() {
foo("")
}
@@ -0,0 +1,6 @@
FILE: serializableString.kt
public final fun foo(x: R|java/io/Serializable|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
R|/foo|(String())
}
@@ -13,8 +13,8 @@ FILE: withInInitializer.kt
super<R|kotlin/Any|>()
}
public final val list: R|kotlin/collections/List<kotlin/Comparable<it(kotlin/String & kotlin/Int)>>| = R|kotlin/collections/listOf|<R|kotlin/Comparable<it(kotlin/String & kotlin/Int)>|>(vararg(Int(1), Int(2), Int(3), String()))
public get(): R|kotlin/collections/List<kotlin/Comparable<it(kotlin/String & kotlin/Int)>>|
public final val list: R|kotlin/collections/List<it(kotlin/Comparable<it(kotlin/String & kotlin/Int)> & java/io/Serializable)>| = R|kotlin/collections/listOf|<R|it(kotlin/Comparable<it(kotlin/String & kotlin/Int)> & java/io/Serializable)|>(vararg(Int(1), Int(2), Int(3), String()))
public get(): R|kotlin/collections/List<it(kotlin/Comparable<it(kotlin/String & kotlin/Int)> & java/io/Serializable)>|
public final val data: R|First| = R|/First.First|(Int(42))
public get(): R|First|