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 open class WrongProjectionKind : R|java/lang/Object| {
public open operator fun copy(from: R|kotlin/Array<ft<java/lang/Number, java/lang/Number?>>|, to: R|kotlin/Array<ft<java/lang/Number, java/lang/Number?>>|): R|ft<kotlin/collections/MutableList<ft<kotlin/Number, kotlin/Number?>>, kotlin/collections/List<ft<kotlin/Number, kotlin/Number?>>?>|!
public open class WrongProjectionKind : R|kotlin/Any| {
public open operator fun copy(from: R|kotlin/Array<ft<kotlin/Number, kotlin/Number?>>|, to: R|kotlin/Array<ft<kotlin/Number, kotlin/Number?>>|): R|ft<kotlin/collections/MutableList<ft<kotlin/Number, kotlin/Number?>>, kotlin/collections/List<ft<kotlin/Number, kotlin/Number?>>?>|!
}

View File

@@ -1,4 +1,4 @@
public open class WrongReturnTypeStructure : R|java/lang/Object| {
public open class WrongReturnTypeStructure : R|kotlin/Any| {
public open operator fun foo(a: R|ft<kotlin/String, kotlin/String?>|!, b: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>?>|!): R|ft<kotlin/String, kotlin/String?>|!
}

View File

@@ -1,4 +1,4 @@
public open class WrongTypeParameterBoundStructure1 : R|java/lang/Object| {
public open operator fun <A, B : R|java/lang/Runnable|, R|java/util/List<java/lang/Cloneable>|> foo(a: R|ft<A, A?>|!, b: R|ft<kotlin/collections/MutableList<out B>, kotlin/collections/List<out B>?>|!): R|kotlin/Unit|
public open class WrongTypeParameterBoundStructure1 : R|kotlin/Any| {
public open operator fun <A, B : R|java/lang/Runnable|, R|kotlin/collections/List<kotlin/Cloneable>|> foo(a: R|ft<A, A?>|!, b: R|ft<kotlin/collections/MutableList<out B>, kotlin/collections/List<out B>?>|!): R|kotlin/Unit|
}

View File

@@ -1,4 +1,4 @@
public open class WrongValueParameterStructure1 : R|java/lang/Object| {
public open class WrongValueParameterStructure1 : R|kotlin/Any| {
public open operator fun foo(a: R|ft<kotlin/String, kotlin/String?>|!, b: R|ft<kotlin/collections/MutableList<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>, kotlin/collections/List<ft<kotlin/collections/MutableMap.MutableEntry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>, kotlin/collections/Map.Entry<ft<kotlin/String, kotlin/String?>, ft<kotlin/String, kotlin/String?>>?>>?>|!): R|ft<kotlin/String, kotlin/String?>|!
}