FIR Java: map classes to make java type-parameters have correct bounds

Really, this commit implements early J2K mapping for all Java types.
It's questionable and probably wrong at least for super-types,
because, for example, we cannot resolve spliterator() in classes
derived from java.lang.Iterable
This commit is contained in:
Simon Ogorodnik
2019-04-23 04:22:12 +03:00
committed by Mikhail Glukhikh
parent cb91c6b977
commit 3e69838f48
279 changed files with 338 additions and 337 deletions

View File

@@ -1,4 +1,4 @@
public abstract interface LoadIterable<T> : R|java/lang/Object| {
public abstract interface LoadIterable<T> : R|kotlin/Any| {
@R|kotlin/annotations/jvm/Mutable|() public abstract operator fun getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/MutableIterable<ft<T, T?>>?>|!
public abstract operator fun setIterable(@R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/MutableIterable<ft<T, T?>>?>|!): R|kotlin/Unit|

View File

@@ -1,4 +1,4 @@
public abstract interface LoadIterableWithConflict<T> : R|java/lang/Object| {
public abstract interface LoadIterableWithConflict<T> : R|kotlin/Any| {
@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() public abstract operator fun getIterable(): R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>?>|!
public abstract operator fun setIterable(@R|kotlin/annotations/jvm/ReadOnly|() @R|kotlin/annotations/jvm/Mutable|() Iterable: R|ft<kotlin/collections/MutableIterable<ft<T, T?>>, kotlin/collections/Iterable<ft<T, T?>>?>|!): R|kotlin/Unit|

View File

@@ -1,4 +1,4 @@
public abstract interface LoadIterableWithNullability<T> : R|java/lang/Object| {
public abstract interface LoadIterableWithNullability<T> : R|kotlin/Any| {
@R|org/jetbrains/annotations/NotNull|() @R|kotlin/annotations/jvm/Mutable|() public abstract operator fun getIterable(): R|kotlin/collections/MutableIterable<ft<T, T?>>|
public abstract operator fun setIterable(@R|kotlin/annotations/jvm/Mutable|() @R|org/jetbrains/annotations/NotNull|() Iterable: R|kotlin/collections/MutableIterable<ft<T, T?>>|): R|kotlin/Unit|

View File

@@ -1,2 +1,2 @@
public abstract interface LoadIterableWithPropagation : R|java/lang/Object| {
public abstract interface LoadIterableWithPropagation : R|kotlin/Any| {
}

View File

@@ -1,6 +1,6 @@
public abstract interface ReadOnlyExtendsWildcard : R|java/lang/Object| {
public abstract interface ReadOnlyExtendsWildcard : R|kotlin/Any| {
public abstract operator fun bar(): R|kotlin/Unit|
public abstract operator fun 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|
public abstract operator fun foo(@R|kotlin/annotations/jvm/ReadOnly|() x: R|ft<kotlin/collections/List<out kotlin/CharSequence>, kotlin/collections/List<out kotlin/CharSequence>?>|!, @R|org/jetbrains/annotations/NotNull|() y: R|kotlin/Comparable<in kotlin/String>|): R|kotlin/Unit|
}