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
@@ -1,2 +1,2 @@
public open class DeeplyInnerClass : R|java/lang/Object| {
public open class DeeplyInnerClass : R|kotlin/Any| {
}
@@ -1,2 +1,2 @@
public open class DeeplyNestedStatic : R|java/lang/Object| {
public open class DeeplyNestedStatic : R|kotlin/Any| {
}
@@ -1,4 +1,4 @@
public final enum class Enum : R|java/lang/Enum<test/Enum>| {
public final enum class Enum : R|kotlin/Enum<test/Enum>| {
public final static val A: R|ft<test/Enum, test/Enum?>|!
public get(): R|ft<test/Enum, test/Enum?>|!
@@ -1,2 +1,2 @@
public open class InnerClass : R|java/lang/Object| {
public open class InnerClass : R|kotlin/Any| {
}
@@ -1,4 +1,4 @@
public open class Simple : R|java/lang/Object| {
public open class Simple : R|kotlin/Any| {
public open static operator fun bar(): R|kotlin/Unit|
public open operator fun foo(): R|kotlin/Unit|
@@ -1,4 +1,4 @@
public open class StaticFinal : R|java/lang/Object| {
public open class StaticFinal : R|kotlin/Any| {
public final static val publicNonNull: R|ft<kotlin/String, kotlin/String?>|!
public get(): R|ft<kotlin/String, kotlin/String?>|!
@@ -1,4 +1,4 @@
public final enum class StaticMembersInEnum : R|java/lang/Enum<test/StaticMembersInEnum>| {
public final enum class StaticMembersInEnum : R|kotlin/Enum<test/StaticMembersInEnum>| {
public final static val ENTRY: R|ft<test/StaticMembersInEnum, test/StaticMembersInEnum?>|!
public get(): R|ft<test/StaticMembersInEnum, test/StaticMembersInEnum?>|!
@@ -15,6 +15,4 @@ public final enum class StaticMembersInEnum : R|java/lang/Enum<test/StaticMember
public open static operator fun valueOf(x: R|kotlin/Int|): R|kotlin/Unit|
public open static operator fun <T : R|java/lang/Enum<T>|> valueOf(<anonymous Java parameter>: R|ft<java/lang/Class<ft<T, T?>>, java/lang/Class<ft<T, T?>>?>|!, <anonymous Java parameter>: R|ft<kotlin/String, kotlin/String?>|!): R|ft<T, T?>|!
}