[FIR] Add flexible default upper bound for java type parameters

This commit is contained in:
Dmitriy Novozhilov
2020-03-25 17:17:56 +03:00
parent c23a11a6fc
commit 3acb64c536
35 changed files with 63 additions and 53 deletions
@@ -1,4 +1,4 @@
public abstract interface Comparator<T> : R|kotlin/Any| {
public abstract interface Comparator<T : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| {
public abstract fun compare(o1: R|ft<T, T?>!|, o2: R|ft<T, T?>!|): R|kotlin/Int|
public abstract operator fun equals(obj: R|kotlin/Any?|): R|kotlin/Boolean|
@@ -1,6 +1,6 @@
public open class TypeParameterOfClass<T> : R|kotlin/Any| {
public open class TypeParameterOfClass<T : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| {
public open fun foo(comparator: R|ft<java/util/Comparator<ft<T, T?>!>, java/util/Comparator<ft<T, T?>!>?>!|): R|kotlin/Unit|
public constructor<T>(): R|test/TypeParameterOfClass<T>|
public constructor<T : R|ft<kotlin/Any, kotlin/Any?>!|>(): R|test/TypeParameterOfClass<T>|
}
@@ -1,5 +1,5 @@
public open class TypeParameterOfMethod : R|kotlin/Any| {
public open static fun <T> max(comparator: R|ft<java/util/Comparator<ft<T, T?>!>, java/util/Comparator<ft<T, T?>!>?>!|, value1: R|ft<T, T?>!|, value2: R|ft<T, T?>!|): R|ft<T, T?>!|
public open static fun <T : R|ft<kotlin/Any, kotlin/Any?>!|> max(comparator: R|ft<java/util/Comparator<ft<T, T?>!>, java/util/Comparator<ft<T, T?>!>?>!|, value1: R|ft<T, T?>!|, value2: R|ft<T, T?>!|): R|ft<T, T?>!|
public open static fun <T : R|ft<kotlin/CharSequence, kotlin/CharSequence?>!|> max2(comparator: R|ft<java/util/Comparator<ft<T, T?>!>, java/util/Comparator<ft<T, T?>!>?>!|, value1: R|ft<T, T?>!|, value2: R|ft<T, T?>!|): R|ft<T, T?>!|
@@ -1,4 +1,4 @@
public open class TypeParameterOfOuterClass<T> : R|kotlin/Any| {
public constructor<T>(): R|test/TypeParameterOfOuterClass<T>|
public open class TypeParameterOfOuterClass<T : R|ft<kotlin/Any, kotlin/Any?>!|> : R|kotlin/Any| {
public constructor<T : R|ft<kotlin/Any, kotlin/Any?>!|>(): R|test/TypeParameterOfOuterClass<T>|
}