Change default upper bound of Java type parameters to Any!

#KT-7672 Fixed
This commit is contained in:
Denis Zharkov
2015-07-17 12:11:56 +03:00
parent 0e69ebb288
commit 97af85da9c
119 changed files with 326 additions and 205 deletions
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.types.TypeSubstitutor;
import org.jetbrains.kotlin.types.TypeUtils;
import org.jetbrains.kotlin.types.Variance;
import org.jetbrains.kotlin.types.checker.JetTypeChecker;
import org.jetbrains.kotlin.types.typeUtil.TypeUtilPackage;
import java.util.*;
@@ -254,7 +255,8 @@ public class AlternativeMethodSignatureData extends ElementAlternativeSignatureD
List<JetTypeReference> altUpperBounds = getUpperBounds(altFunDeclaration, altTypeParameter);
if (altUpperBounds.size() != originalUpperBounds.size()) {
if (altUpperBounds.isEmpty()
&& originalUpperBounds.equals(Collections.singleton(KotlinBuiltIns.getInstance().getDefaultBound()))) {
&& originalUpperBounds.size() == 1
&& TypeUtilPackage.isDefaultBound(originalUpperBounds.iterator().next())) {
// Only default bound => no error
}
else {
@@ -32,5 +32,5 @@ internal abstract class Mine</*0*/ T> : java.util.AbstractList<T> {
public abstract /*fake_override*/ fun size(): kotlin.Int
public open /*fake_override*/ fun subList(/*0*/ kotlin.Int, /*1*/ kotlin.Int): kotlin.MutableList<T!>
public open /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open /*fake_override*/ fun </*0*/ T> toArray(/*0*/ kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
}
@@ -24,7 +24,7 @@ internal abstract class Mine : java.util.List<kotlin.String> {
public abstract /*fake_override*/ fun size(): kotlin.Int
public abstract /*fake_override*/ fun subList(/*0*/ kotlin.Int, /*1*/ kotlin.Int): kotlin.(Mutable)List<kotlin.String!>!
public abstract /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public abstract /*fake_override*/ fun </*0*/ T> toArray(/*0*/ kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public abstract /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
}
public/*package*/ open class PlainExtendsListString {
@@ -6,5 +6,5 @@ public/*package*/ open class Question {
public/*package*/ constructor Question()
// Static members
public/*package*/ open fun </*0*/ T> id2(/*0*/ T!): T!
public/*package*/ open fun </*0*/ T : kotlin.Any!> id2(/*0*/ T!): T!
}
@@ -6,5 +6,5 @@ public/*package*/ open class Question {
public/*package*/ constructor Question()
// Static members
public/*package*/ open fun </*0*/ T> id2(/*0*/ T!): T!
public/*package*/ open fun </*0*/ T : kotlin.Any!> id2(/*0*/ T!): T!
}
@@ -59,7 +59,7 @@ internal final class Foo1 : java.util.ArrayList<kotlin.Int> {
public open override /*1*/ /*fake_override*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<kotlin.Int>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open override /*1*/ /*fake_override*/ fun trimToSize(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
@@ -2,8 +2,8 @@ package
package p {
public open class Base</*0*/ T> {
public constructor Base</*0*/ T>()
public open class Base</*0*/ T : kotlin.Any!> {
public constructor Base</*0*/ T : kotlin.Any!>()
public/*package*/ open fun coll(/*0*/ r: kotlin.(Mutable)Collection<*>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -2,8 +2,8 @@ package
package p {
public open class Base</*0*/ T> {
public constructor Base</*0*/ T>()
public open class Base</*0*/ T : kotlin.Any!> {
public constructor Base</*0*/ T : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun foo(/*0*/ r: p.R<*>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -10,6 +10,6 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public open fun </*0*/ T> bar(/*0*/ clazz: java.lang.Class<T!>!): java.lang.Class<java.lang.Class<T!>!>!
public open fun </*0*/ T> foo(/*0*/ clazz: java.lang.Class<T!>!): java.lang.Class<T!>!
public open fun </*0*/ T : kotlin.Any!> bar(/*0*/ clazz: java.lang.Class<T!>!): java.lang.Class<java.lang.Class<T!>!>!
public open fun </*0*/ T : kotlin.Any!> foo(/*0*/ clazz: java.lang.Class<T!>!): java.lang.Class<T!>!
}
@@ -41,7 +41,7 @@ internal abstract class AL : java.util.ArrayList<p.P> {
public open override /*1*/ /*fake_override*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<p.P>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open override /*1*/ /*fake_override*/ fun trimToSize(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
@@ -64,23 +64,23 @@ package p {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class B</*0*/ TB> : p.A<TB!> {
public constructor B</*0*/ TB>()
public open class B</*0*/ TB : kotlin.Any!> : p.A<TB!> {
public constructor B</*0*/ TB : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open override /*1*/ fun foo(/*0*/ p: p.A<TB!>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class C</*0*/ TC> : p.B<TC!>, p.A<TC!> {
public constructor C</*0*/ TC>()
public open class C</*0*/ TC : kotlin.Any!> : p.B<TC!>, p.A<TC!> {
public constructor C</*0*/ TC : kotlin.Any!>()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun foo(/*0*/ p: p.A<TC!>): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface G</*0*/ TG> {
public interface G</*0*/ TG : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -3,7 +3,7 @@ package
internal abstract class K : p.C {
public constructor K()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun </*0*/ TB> foo(/*0*/ p: TB!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun </*0*/ TB : kotlin.Any!> foo(/*0*/ p: TB!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -9,8 +9,8 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class X</*0*/ T> {
public constructor X</*0*/ T>()
public open class X</*0*/ T : kotlin.Any!> {
public constructor X</*0*/ T : kotlin.Any!>()
public/*package*/ open fun barN(/*0*/ org.jetbrains.annotations.NotNull() a: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
org.jetbrains.annotations.NotNull() public/*package*/ open fun fooN(): T
@@ -9,8 +9,8 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class X</*0*/ T> {
public constructor X</*0*/ T>()
public open class X</*0*/ T : kotlin.Any!> {
public constructor X</*0*/ T : kotlin.Any!>()
public/*package*/ open fun barN(/*0*/ org.jetbrains.annotations.NotNull() a: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
org.jetbrains.annotations.NotNull() public/*package*/ open fun fooN(): T
@@ -9,8 +9,8 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class X</*0*/ T> {
public constructor X</*0*/ T>()
public open class X</*0*/ T : kotlin.Any!> {
public constructor X</*0*/ T : kotlin.Any!>()
public/*package*/ open fun bar(/*0*/ a: T!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun foo(): T!
@@ -9,8 +9,8 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class X</*0*/ T> {
public constructor X</*0*/ T>()
public open class X</*0*/ T : kotlin.Any!> {
public constructor X</*0*/ T : kotlin.Any!>()
public/*package*/ open fun bar(/*0*/ a: T!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun foo(): T!
+2 -2
View File
@@ -3,8 +3,8 @@ package
package a {
internal fun foo(): kotlin.Unit
public open class Test</*0*/ T> {
public constructor Test</*0*/ T>()
public open class Test</*0*/ T : kotlin.Any!> {
public constructor Test</*0*/ T : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public/*package*/ open fun t(): T!
@@ -1,11 +1,11 @@
package
public /*synthesized*/ fun </*0*/ K, /*1*/ V> ConcMap(/*0*/ function: (K!, MyFunc<in K!, out V!>!) -> V!): ConcMap<K, V>
public /*synthesized*/ fun </*0*/ K, /*1*/ V> MyFunc(/*0*/ function: (K!) -> V!): MyFunc<K, V>
public /*synthesized*/ fun </*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> ConcMap(/*0*/ function: (K!, MyFunc<in K!, out V!>!) -> V!): ConcMap<K, V>
public /*synthesized*/ fun </*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> MyFunc(/*0*/ function: (K!) -> V!): MyFunc<K, V>
public fun concurrentMap(): kotlin.Unit
public open class ConcHashMap</*0*/ K, /*1*/ V> : ConcMap<K!, V!> {
public constructor ConcHashMap</*0*/ K, /*1*/ V>()
public open class ConcHashMap</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> : ConcMap<K!, V!> {
public constructor ConcHashMap</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!>()
java.lang.Override() public/*package*/ final override /*1*/ /*synthesized*/ fun computeIfAbsent(/*0*/ key: K!, /*1*/ mappingFunction: ((K!) -> V!)!): V!
java.lang.Override() public/*package*/ open override /*1*/ fun computeIfAbsent(/*0*/ key: K!, /*1*/ mappingFunction: MyFunc<in K!, out V!>!): V!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -13,7 +13,7 @@ public open class ConcHashMap</*0*/ K, /*1*/ V> : ConcMap<K!, V!> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface ConcMap</*0*/ K, /*1*/ V> {
public interface ConcMap</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> {
public final /*synthesized*/ fun computeIfAbsent(/*0*/ key: K!, /*1*/ mappingFunction: ((K!) -> V!)!): V!
public abstract fun computeIfAbsent(/*0*/ key: K!, /*1*/ mappingFunction: MyFunc<in K!, out V!>!): V!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -21,7 +21,7 @@ public interface ConcMap</*0*/ K, /*1*/ V> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface MyFunc</*0*/ K, /*1*/ V> {
public interface MyFunc</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> {
public abstract fun apply(/*0*/ String: K!): V!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,10 +1,10 @@
package
public /*synthesized*/ fun </*0*/ K> A(/*0*/ function: (K!, MyFunc!) -> K!): A<K>
public /*synthesized*/ fun </*0*/ K : kotlin.Any!> A(/*0*/ function: (K!, MyFunc!) -> K!): A<K>
public /*synthesized*/ fun MyFunc(/*0*/ function: (kotlin.String!) -> kotlin.String!): MyFunc
internal fun main(): kotlin.Unit
public interface A</*0*/ K> {
public interface A</*0*/ K : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final /*synthesized*/ fun foo(/*0*/ key: K!, /*1*/ f: ((kotlin.String!) -> kotlin.String!)!): K!
public abstract fun foo(/*0*/ key: K!, /*1*/ f: MyFunc!): K!
@@ -12,8 +12,8 @@ public interface A</*0*/ K> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class B</*0*/ E> : A<E!> {
public constructor B</*0*/ E>()
public open class B</*0*/ E : kotlin.Any!> : A<E!> {
public constructor B</*0*/ E : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
java.lang.Override() public final override /*1*/ /*synthesized*/ fun foo(/*0*/ key: E!, /*1*/ f: ((kotlin.String!) -> kotlin.String!)!): E!
java.lang.Override() public open override /*1*/ fun foo(/*0*/ key: E!, /*1*/ f: MyFunc!): E!
@@ -1,7 +1,7 @@
package
public/*package*/ open class J</*0*/ T> : ML<T!> {
public/*package*/ constructor J</*0*/ T>()
public/*package*/ open class J</*0*/ T : kotlin.Any!> : ML<T!> {
public/*package*/ constructor J</*0*/ T : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun foo(): kotlin.MutableList<T!>
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -2,7 +2,7 @@ package
public/*package*/ interface J : K {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract override /*1*/ fun </*0*/ T> foo(/*0*/ t: T): kotlin.Unit
public abstract override /*1*/ fun </*0*/ T : kotlin.Any!> foo(/*0*/ t: T): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -2,8 +2,8 @@ package
internal fun </*0*/ M2 : WithFoo> foo(/*0*/ delegateResolver: ResolverForProject<M2?>): ResolverForProject<M2?>
public/*package*/ open class MyMap</*0*/ K, /*1*/ V> : java.util.AbstractMap<K!, V!> {
public/*package*/ constructor MyMap</*0*/ K, /*1*/ V>()
public/*package*/ open class MyMap</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> : java.util.AbstractMap<K!, V!> {
public/*package*/ constructor MyMap</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!>()
invisible_fake final override /*1*/ /*fake_override*/ var keySet: kotlin.(Mutable)Set<K!>!
invisible_fake final override /*1*/ /*fake_override*/ var values: kotlin.(Mutable)Collection<V!>!
public open override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
@@ -0,0 +1,25 @@
// FILE: Derived.java
import kotlin.jvm.functions.Function0;
import org.jetbrains.annotations.NotNull;
public class Derived implements Base {
@Override
public <V> void foo() {}
}
// FILE: main.kt
interface Base {
fun <V: Any> foo()
}
class KotlinDerived1 : Derived() {
override fun <V: Any?> foo() {}
}
class KotlinDerived2 : Derived() {
override fun <V: Any> foo() {}
}
fun main(args: Array<String>) {
Derived().foo<String>()
}
@@ -0,0 +1,34 @@
package
internal fun main(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
internal interface Base {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal abstract fun </*0*/ V : kotlin.Any> foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Derived : Base {
public constructor Derived()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
java.lang.Override() public open override /*1*/ fun </*0*/ V : kotlin.Any!> foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal final class KotlinDerived1 : Derived {
public constructor KotlinDerived1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun </*0*/ V> foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
internal final class KotlinDerived2 : Derived {
public constructor KotlinDerived2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun </*0*/ V : kotlin.Any> foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -8,36 +8,36 @@ public/*package*/ open class Outer {
public/*package*/ open inner class A {
public/*package*/ constructor A()
public/*package*/ open fun </*0*/ T> bar(/*0*/ x: Y<T!>!): X<T!>!
public/*package*/ open fun </*0*/ T : kotlin.Any!> bar(/*0*/ x: Y<T!>!): X<T!>!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun </*0*/ K, /*1*/ V> foo(/*0*/ x: K!): V!
public/*package*/ open fun </*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> foo(/*0*/ x: K!): V!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public/*package*/ open inner class B : Outer.A {
public/*package*/ constructor B()
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ R> bar(/*0*/ org.jetbrains.annotations.NotNull() x: Y<R>): X<R!>?
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ R : kotlin.Any!> bar(/*0*/ org.jetbrains.annotations.NotNull() x: Y<R>): X<R!>?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ T1, /*1*/ T2> foo(/*0*/ org.jetbrains.annotations.Nullable() x: T1?): T2
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ T1 : kotlin.Any!, /*1*/ T2 : kotlin.Any!> foo(/*0*/ org.jetbrains.annotations.Nullable() x: T1?): T2
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public/*package*/ open inner class C : Outer.B {
public/*package*/ constructor C()
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ E> bar(/*0*/ x: Y<E>): X<E!>?
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ E : kotlin.Any!> bar(/*0*/ x: Y<E>): X<E!>?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ I, /*1*/ J> foo(/*0*/ x: I?): J
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ I : kotlin.Any!, /*1*/ J : kotlin.Any!> foo(/*0*/ x: I?): J
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public/*package*/ open inner class D : Outer.C {
public/*package*/ constructor D()
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ F> bar(/*0*/ org.jetbrains.annotations.Nullable() x: Y<F!>!): X<F!>
java.lang.Override() public/*package*/ open override /*1*/ fun </*0*/ F : kotlin.Any!> bar(/*0*/ org.jetbrains.annotations.Nullable() x: Y<F!>!): X<F!>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
java.lang.Override() org.jetbrains.annotations.NotNull() public/*package*/ open override /*1*/ fun </*0*/ U, /*1*/ W> foo(/*0*/ org.jetbrains.annotations.Nullable() x: U?): W
java.lang.Override() org.jetbrains.annotations.NotNull() public/*package*/ open override /*1*/ fun </*0*/ U : kotlin.Any!, /*1*/ W : kotlin.Any!> foo(/*0*/ org.jetbrains.annotations.Nullable() x: U?): W
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,11 +1,11 @@
package
public/*package*/ /*synthesized*/ fun </*0*/ T> A(/*0*/ function: (T!, T!) -> kotlin.Unit): A<T>
public/*package*/ /*synthesized*/ fun </*0*/ T : kotlin.Any!> A(/*0*/ function: (T!, T!) -> kotlin.Unit): A<T>
public/*package*/ /*synthesized*/ fun B1(/*0*/ function: (kotlin.String!, kotlin.String?) -> kotlin.Unit): B1
public/*package*/ /*synthesized*/ fun B2(/*0*/ function: (kotlin.String!, kotlin.String!) -> kotlin.Unit): B2
public/*package*/ /*synthesized*/ fun B3(/*0*/ function: (kotlin.String!, kotlin.String!) -> kotlin.Unit): B3
public/*package*/ interface A</*0*/ T> {
public/*package*/ interface A</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public abstract fun foo(/*0*/ org.jetbrains.annotations.NotNull() x: T, /*1*/ org.jetbrains.annotations.Nullable() y: T?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
+1 -1
View File
@@ -72,7 +72,7 @@ package b {
public open override /*1*/ /*fake_override*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<java.lang.Integer>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ fun toString(): kotlin.String
public open override /*1*/ /*fake_override*/ fun trimToSize(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
+1 -1
View File
@@ -43,7 +43,7 @@ internal final class MyListOfPairs</*0*/ T> : java.util.ArrayList<Pair<T, T>> {
public open override /*1*/ /*fake_override*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<Pair<T, T>>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open override /*1*/ /*fake_override*/ fun trimToSize(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
@@ -6,7 +6,7 @@ public open class JavaClass {
public constructor JavaClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getSomething1(/*0*/ p: kotlin.Int): kotlin.Int
public open fun </*0*/ T> getSomething2(): T!
public open fun </*0*/ T : kotlin.Any!> getSomething2(): T!
public open fun getSomethingVoid(): kotlin.Unit
public open fun getter(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -15,7 +15,7 @@ public open class JavaClass {
public open fun setSomething1(/*0*/ value: kotlin.Int, /*1*/ c: kotlin.Char): kotlin.Unit
public open fun setSomething2(/*0*/ value: kotlin.String!): kotlin.Unit
public open fun setSomething3(/*0*/ value: kotlin.Int): kotlin.Int
public open fun </*0*/ T> setSomething4(/*0*/ value: kotlin.Int): kotlin.Unit
public open fun </*0*/ T : kotlin.Any!> setSomething4(/*0*/ value: kotlin.Int): kotlin.Unit
public open fun setSomething6(/*0*/ vararg value: kotlin.Int /*kotlin.IntArray!*/): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
@@ -2,8 +2,8 @@ package
internal fun foo(/*0*/ javaClass: JavaClass<kotlin.String>): kotlin.Unit
public open class JavaClass</*0*/ T> {
public constructor JavaClass</*0*/ T>()
public open class JavaClass</*0*/ T : kotlin.Any!> {
public constructor JavaClass</*0*/ T : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun getSomething(): T!
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -0,0 +1,17 @@
// FILE: Derived.java
import kotlin.jvm.functions.Function0;
import org.jetbrains.annotations.NotNull;
public class Derived implements Base {
@Override
public <V> void foo(@NotNull Function0<? extends V> compute) {}
}
// FILE: main.kt
interface Base {
fun <V: Any> foo(compute: () -> V?)
}
fun main(args: Array<String>) {
Derived().foo<String> { "" }
}
@@ -0,0 +1,18 @@
package
internal fun main(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
internal interface Base {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
internal abstract fun </*0*/ V : kotlin.Any> foo(/*0*/ compute: () -> V?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open class Derived : Base {
public constructor Derived()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
java.lang.Override() public open override /*1*/ fun </*0*/ V : kotlin.Any!> foo(/*0*/ org.jetbrains.annotations.NotNull() compute: () -> V?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -3,8 +3,8 @@ package
internal fun bar(): kotlin.String?
internal fun foo(): kotlin.Unit
kotlin.jvm.PurelyImplements(value = "kotlin.MutableCollection") public/*package*/ open class A</*0*/ T> : java.util.AbstractCollection<T!>, kotlin.MutableCollection<T> {
public/*package*/ constructor A</*0*/ T>()
kotlin.jvm.PurelyImplements(value = "kotlin.MutableCollection") public/*package*/ open class A</*0*/ T : kotlin.Any!> : java.util.AbstractCollection<T!>, kotlin.MutableCollection<T> {
public/*package*/ constructor A</*0*/ T : kotlin.Any!>()
public open override /*2*/ /*fake_override*/ fun add(/*0*/ e: T): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<T>): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun clear(): kotlin.Unit
@@ -19,6 +19,6 @@ kotlin.jvm.PurelyImplements(value = "kotlin.MutableCollection") public/*package*
public open override /*2*/ /*fake_override*/ fun retainAll(/*0*/ c: kotlin.Collection<kotlin.Any?>): kotlin.Boolean
java.lang.Override() public open override /*2*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -3,8 +3,8 @@ package
internal fun bar(): kotlin.String?
internal fun foo(): kotlin.Unit
kotlin.jvm.PurelyImplements(value = "kotlin.MutableList") public/*package*/ open class A</*0*/ T> : java.util.AbstractList<T!>, kotlin.MutableList<T> {
public/*package*/ constructor A</*0*/ T>()
kotlin.jvm.PurelyImplements(value = "kotlin.MutableList") public/*package*/ open class A</*0*/ T : kotlin.Any!> : java.util.AbstractList<T!>, kotlin.MutableList<T> {
public/*package*/ constructor A</*0*/ T : kotlin.Any!>()
protected/*protected and package*/ final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
public open override /*2*/ /*fake_override*/ fun add(/*0*/ e: T): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: T): kotlin.Unit
@@ -33,6 +33,6 @@ kotlin.jvm.PurelyImplements(value = "kotlin.MutableList") public/*package*/ open
java.lang.Override() public open override /*2*/ fun size(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<T>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -3,8 +3,8 @@ package
internal fun bar(): kotlin.String?
internal fun foo(): kotlin.Unit
kotlin.jvm.PurelyImplements(value = "kotlin.MutableList") public/*package*/ open class A</*0*/ T, /*1*/ V> : java.util.AbstractList<T!> {
public/*package*/ constructor A</*0*/ T, /*1*/ V>()
kotlin.jvm.PurelyImplements(value = "kotlin.MutableList") public/*package*/ open class A</*0*/ T : kotlin.Any!, /*1*/ V : kotlin.Any!> : java.util.AbstractList<T!> {
public/*package*/ constructor A</*0*/ T : kotlin.Any!, /*1*/ V : kotlin.Any!>()
protected/*protected and package*/ final override /*1*/ /*fake_override*/ var modCount: kotlin.Int
public open override /*1*/ /*fake_override*/ fun add(/*0*/ e: T!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: T!): kotlin.Unit
@@ -33,6 +33,6 @@ kotlin.jvm.PurelyImplements(value = "kotlin.MutableList") public/*package*/ open
java.lang.Override() public open override /*1*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<T!>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
+2 -2
View File
@@ -1,5 +1,5 @@
package test
public final class ClassWithTypeP</*0*/ P> {
public constructor ClassWithTypeP</*0*/ P>()
public final class ClassWithTypeP</*0*/ P : kotlin.Any!> {
public constructor ClassWithTypeP</*0*/ P : kotlin.Any!>()
}
@@ -1,6 +1,6 @@
package test
public abstract class ClassWithTypePExtendsIterableP</*0*/ P> : kotlin.MutableIterable<P!> {
public constructor ClassWithTypePExtendsIterableP</*0*/ P>()
public abstract class ClassWithTypePExtendsIterableP</*0*/ P : kotlin.Any!> : kotlin.MutableIterable<P!> {
public constructor ClassWithTypePExtendsIterableP</*0*/ P : kotlin.Any!>()
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<P!>
}
@@ -1,5 +1,5 @@
package test
public final class ClassWithTypePP</*0*/ P, /*1*/ Q : P!> {
public constructor ClassWithTypePP</*0*/ P, /*1*/ Q : P!>()
public final class ClassWithTypePP</*0*/ P : kotlin.Any!, /*1*/ Q : P!> {
public constructor ClassWithTypePP</*0*/ P : kotlin.Any!, /*1*/ Q : P!>()
}
@@ -1,5 +1,5 @@
package test
public open class ClassWithTypePRefNext</*0*/ R : kotlin.(Mutable)Iterable<P!>!, /*1*/ P> {
public constructor ClassWithTypePRefNext</*0*/ R : kotlin.(Mutable)Iterable<P!>!, /*1*/ P>()
public open class ClassWithTypePRefNext</*0*/ R : kotlin.(Mutable)Iterable<P!>!, /*1*/ P : kotlin.Any!> {
public constructor ClassWithTypePRefNext</*0*/ R : kotlin.(Mutable)Iterable<P!>!, /*1*/ P : kotlin.Any!>()
}
@@ -8,12 +8,12 @@ public final class InheritMethodsDifferentReturnTypesGeneric {
public abstract override /*2*/ /*fake_override*/ fun foo(): kotlin.String!
}
public interface Super1</*0*/ F, /*1*/ B> {
public interface Super1</*0*/ F : kotlin.Any!, /*1*/ B : kotlin.Any!> {
public abstract fun bar(): B!
public abstract fun foo(): F!
}
public interface Super2</*0*/ FF, /*1*/ BB> {
public interface Super2</*0*/ FF : kotlin.Any!, /*1*/ BB : kotlin.Any!> {
public abstract fun bar(): BB!
public abstract fun foo(): FF!
}
@@ -1,7 +1,7 @@
package test
public open class InnerClassReferencesOuterTP</*0*/ P> {
public constructor InnerClassReferencesOuterTP</*0*/ P>()
public open class InnerClassReferencesOuterTP</*0*/ P : kotlin.Any!> {
public constructor InnerClassReferencesOuterTP</*0*/ P : kotlin.Any!>()
public open inner class Inner</*0*/ Q : P!> {
public constructor Inner</*0*/ Q : P!>()
@@ -1,7 +1,7 @@
package test
public open class InnerClassesInGeneric</*0*/ P, /*1*/ Q> {
public constructor InnerClassesInGeneric</*0*/ P, /*1*/ Q>()
public open class InnerClassesInGeneric</*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!> {
public constructor InnerClassesInGeneric</*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!>()
public open inner class Inner {
public constructor Inner()
+6 -6
View File
@@ -3,8 +3,8 @@ package test
public open class InnerOfGeneric {
public constructor InnerOfGeneric()
public abstract inner class A</*0*/ K> {
public constructor A</*0*/ K>()
public abstract inner class A</*0*/ K : kotlin.Any!> {
public constructor A</*0*/ K : kotlin.Any!>()
public abstract inner class Inner : test.InnerOfGeneric.S<K!> {
public constructor Inner()
@@ -12,8 +12,8 @@ public open class InnerOfGeneric {
}
}
public open inner class B</*0*/ L> : test.InnerOfGeneric.A<L!> {
public constructor B</*0*/ L>()
public open inner class B</*0*/ L : kotlin.Any!> : test.InnerOfGeneric.A<L!> {
public constructor B</*0*/ L : kotlin.Any!>()
public open inner class SubInner : test.InnerOfGeneric.A.Inner {
public constructor SubInner()
@@ -21,8 +21,8 @@ public open class InnerOfGeneric {
}
}
public open inner class S</*0*/ E> {
public constructor S</*0*/ E>()
public open inner class S</*0*/ E : kotlin.Any!> {
public constructor S</*0*/ E : kotlin.Any!>()
public open fun iterator(): kotlin.(Mutable)Iterator<E!>!
}
}
@@ -1,7 +1,7 @@
package test
public final class MethodReferencesOuterClassTP</*0*/ P> {
public constructor MethodReferencesOuterClassTP</*0*/ P>()
public final class MethodReferencesOuterClassTP</*0*/ P : kotlin.Any!> {
public constructor MethodReferencesOuterClassTP</*0*/ P : kotlin.Any!>()
public final inner class Inner {
public constructor Inner()
@@ -2,5 +2,5 @@ package test
public final class MethodWithTypeP {
public constructor MethodWithTypeP()
public final fun </*0*/ P> f(): kotlin.Unit
public final fun </*0*/ P : kotlin.Any!> f(): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public final class MethodWithTypePP {
public constructor MethodWithTypePP()
public final fun </*0*/ P, /*1*/ Q : P!> f(): kotlin.Unit
public final fun </*0*/ P : kotlin.Any!, /*1*/ Q : P!> f(): kotlin.Unit
}
@@ -1,6 +1,6 @@
package test
public open class MethodWithTypePRefClassP</*0*/ P> {
public constructor MethodWithTypePRefClassP</*0*/ P>()
public open class MethodWithTypePRefClassP</*0*/ P : kotlin.Any!> {
public constructor MethodWithTypePRefClassP</*0*/ P : kotlin.Any!>()
public final fun </*0*/ Q : P!> f(): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public final class MethosWithPRefTP {
public constructor MethosWithPRefTP()
public final fun </*0*/ P> f(/*0*/ p0: P!): kotlin.Unit
public final fun </*0*/ P : kotlin.Any!> f(/*0*/ p0: P!): kotlin.Unit
}
@@ -1,7 +1,7 @@
package test
public open class JavaBeanVarOfGenericType</*0*/ P> {
public constructor JavaBeanVarOfGenericType</*0*/ P>()
public open class JavaBeanVarOfGenericType</*0*/ P : kotlin.Any!> {
public constructor JavaBeanVarOfGenericType</*0*/ P : kotlin.Any!>()
public open fun getCharacters(): java.util.ArrayList<P!>!
public open fun setCharacters(/*0*/ p0: java.util.ArrayList<P!>!): kotlin.Unit
}
@@ -1,5 +1,5 @@
package test
public open class ConstructorWithNewTypeParams</*0*/ T> {
public constructor ConstructorWithNewTypeParams</*0*/ T>(/*0*/ first: kotlin.Any!)
public open class ConstructorWithNewTypeParams</*0*/ T : kotlin.Any!> {
public constructor ConstructorWithNewTypeParams</*0*/ T : kotlin.Any!>(/*0*/ first: kotlin.Any!)
}
@@ -1,5 +1,5 @@
package test
public open class ConstructorWithParentTypeParams</*0*/ T> {
public constructor ConstructorWithParentTypeParams</*0*/ T>(/*0*/ first: T!)
public open class ConstructorWithParentTypeParams</*0*/ T : kotlin.Any!> {
public constructor ConstructorWithParentTypeParams</*0*/ T : kotlin.Any!>(/*0*/ first: T!)
}
@@ -2,5 +2,5 @@ package test
public open class MethodWithMappedClasses {
public constructor MethodWithMappedClasses()
public open fun </*0*/ T> copy(/*0*/ dest: (kotlin.MutableList<in T!>..kotlin.List<*>?), /*1*/ src: kotlin.(Mutable)List<T!>!): kotlin.Unit
public open fun </*0*/ T : kotlin.Any!> copy(/*0*/ dest: (kotlin.MutableList<in T!>..kotlin.List<*>?), /*1*/ src: kotlin.(Mutable)List<T!>!): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class MethodWithTypeParameters {
public constructor MethodWithTypeParameters()
public open fun </*0*/ A, /*1*/ B : java.lang.Runnable!> foo(/*0*/ a: A!, /*1*/ b: (kotlin.MutableList<out B!>..kotlin.List<B!>?), /*2*/ c: (kotlin.MutableList<in kotlin.String!>..kotlin.List<*>?)): kotlin.Unit where B : kotlin.(Mutable)List<kotlin.Cloneable!>!
public open fun </*0*/ A : kotlin.Any!, /*1*/ B : java.lang.Runnable!> foo(/*0*/ a: A!, /*1*/ b: (kotlin.MutableList<out B!>..kotlin.List<B!>?), /*2*/ c: (kotlin.MutableList<in kotlin.String!>..kotlin.List<*>?)): kotlin.Unit where B : kotlin.(Mutable)List<kotlin.Cloneable!>!
}
@@ -1,7 +1,7 @@
package test
public open class PropertyArrayTypes</*0*/ T> {
public constructor PropertyArrayTypes</*0*/ T>()
public open class PropertyArrayTypes</*0*/ T : kotlin.Any!> {
public constructor PropertyArrayTypes</*0*/ T : kotlin.Any!>()
public final var array: kotlin.Array<(out) kotlin.String!>!
public final var arrayOfArrays: kotlin.Array<(out) kotlin.Array<(out) kotlin.String!>!>!
public final var genericArray: kotlin.Array<(out) T!>!
@@ -1,7 +1,7 @@
package test
public open class PropertyComplexTypes</*0*/ T> {
public constructor PropertyComplexTypes</*0*/ T>()
public open class PropertyComplexTypes</*0*/ T : kotlin.Any!> {
public constructor PropertyComplexTypes</*0*/ T : kotlin.Any!>()
public final var genericType: T!
public final var listDefinedGeneric: java.util.ArrayList<kotlin.String!>!
public final var listGeneric: java.util.ArrayList<T!>!
@@ -2,5 +2,5 @@ package test
public open class WrongTypeParameterBoundStructure1 {
public constructor WrongTypeParameterBoundStructure1()
public open fun </*0*/ A, /*1*/ B : java.lang.Runnable!> foo(/*0*/ a: A!, /*1*/ b: (kotlin.MutableList<out B!>..kotlin.List<B!>?)): kotlin.Unit where B : kotlin.(Mutable)List<kotlin.Cloneable!>!
public open fun </*0*/ A : kotlin.Any!, /*1*/ B : java.lang.Runnable!> foo(/*0*/ a: A!, /*1*/ b: (kotlin.MutableList<out B!>..kotlin.List<B!>?)): kotlin.Unit where B : kotlin.(Mutable)List<kotlin.Cloneable!>!
}
@@ -2,5 +2,5 @@ package test
public open class WrongTypeParameterBoundStructure2 {
public constructor WrongTypeParameterBoundStructure2()
public open fun </*0*/ A, /*1*/ B : java.lang.Runnable!> foo(/*0*/ a: A!, /*1*/ b: (kotlin.MutableList<out B!>..kotlin.List<B!>?)): kotlin.Unit where B : kotlin.(Mutable)List<kotlin.Cloneable!>!
public open fun </*0*/ A : kotlin.Any!, /*1*/ B : java.lang.Runnable!> foo(/*0*/ a: A!, /*1*/ b: (kotlin.MutableList<out B!>..kotlin.List<B!>?)): kotlin.Unit where B : kotlin.(Mutable)List<kotlin.Cloneable!>!
}
@@ -2,5 +2,5 @@ package test
public open class WrongTypeParametersCount {
public constructor WrongTypeParametersCount()
public open fun </*0*/ A, /*1*/ B> foo(/*0*/ p0: A!, /*1*/ p1: (kotlin.MutableList<out B!>..kotlin.List<B!>?)): kotlin.Unit
public open fun </*0*/ A : kotlin.Any!, /*1*/ B : kotlin.Any!> foo(/*0*/ p0: A!, /*1*/ p1: (kotlin.MutableList<out B!>..kotlin.List<B!>?)): kotlin.Unit
}
@@ -2,7 +2,7 @@ package test
public interface DeeplySubstitutedClassParameter {
public interface Middle</*0*/ E> : test.DeeplySubstitutedClassParameter.Super<E!> {
public interface Middle</*0*/ E : kotlin.Any!> : test.DeeplySubstitutedClassParameter.Super<E!> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ t: E!): kotlin.Unit
}
@@ -12,7 +12,7 @@ public interface DeeplySubstitutedClassParameter {
public abstract override /*1*/ fun foo(/*0*/ t: kotlin.String!): kotlin.Unit
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ t: T!): kotlin.Unit
}
@@ -2,7 +2,7 @@ package test
public interface DeeplySubstitutedClassParameter2 {
public interface Middle</*0*/ E> : test.DeeplySubstitutedClassParameter2.Super<E!> {
public interface Middle</*0*/ E : kotlin.Any!> : test.DeeplySubstitutedClassParameter2.Super<E!> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ t: E!): kotlin.Unit
}
@@ -12,7 +12,7 @@ public interface DeeplySubstitutedClassParameter2 {
public abstract override /*1*/ fun foo(/*0*/ t: kotlin.String!): kotlin.Unit
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ t: T!): kotlin.Unit
}
@@ -12,7 +12,7 @@ public interface Kt3302 {
public abstract override /*2*/ fun put(/*0*/ key: kotlin.String, /*1*/ value: kotlin.Any): kotlin.Any!
}
public interface LinkedHashMap</*0*/ K, /*1*/ V> {
public interface LinkedHashMap</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun put(/*0*/ key: K!, /*1*/ value: V!): V!
}
@@ -2,13 +2,13 @@ package test
public interface OverrideWithErasedParameter {
public interface Sub</*0*/ T> : test.OverrideWithErasedParameter.Super<T!> {
public interface Sub</*0*/ T : kotlin.Any!> : test.OverrideWithErasedParameter.Super<T!> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: T!): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.Any!): kotlin.Unit
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: T!): kotlin.Unit
}
@@ -2,7 +2,7 @@ package test
public interface SubclassFromGenericAndNot {
public interface Generic</*0*/ T> {
public interface Generic</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ key: T!): kotlin.Unit
}
@@ -7,7 +7,7 @@ public interface SubstitutedClassParameter {
public abstract override /*1*/ fun foo(/*0*/ t: kotlin.String!): kotlin.Unit
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ t: T!): kotlin.Unit
}
@@ -7,12 +7,12 @@ public interface SubstitutedClassParameters {
public abstract override /*2*/ fun foo(/*0*/ t: kotlin.String!): kotlin.Unit
}
public interface Super1</*0*/ T> {
public interface Super1</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ t: T!): kotlin.Unit
}
public interface Super2</*0*/ E> {
public interface Super2</*0*/ E : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ t: E!): kotlin.Unit
}
@@ -2,7 +2,7 @@ package test
public interface DeeplySubstitutedClassParameter {
public interface Middle</*0*/ E> : test.DeeplySubstitutedClassParameter.Super<E!> {
public interface Middle</*0*/ E : kotlin.Any!> : test.DeeplySubstitutedClassParameter.Super<E!> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(): E!
}
@@ -12,7 +12,7 @@ public interface DeeplySubstitutedClassParameter {
public abstract override /*1*/ fun foo(): kotlin.String!
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(): T!
}
@@ -2,7 +2,7 @@ package test
public interface DeeplySubstitutedClassParameter2 {
public interface Middle</*0*/ E> : test.DeeplySubstitutedClassParameter2.Super<E!> {
public interface Middle</*0*/ E : kotlin.Any!> : test.DeeplySubstitutedClassParameter2.Super<E!> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun foo(): E!
}
@@ -12,7 +12,7 @@ public interface DeeplySubstitutedClassParameter2 {
public abstract override /*1*/ fun foo(): kotlin.String!
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(): T!
}
@@ -12,7 +12,7 @@ public interface HalfSubstitutedTypeParameters {
public abstract fun foo(): kotlin.(Mutable)List<kotlin.String!>!
}
public interface TrickyList</*0*/ X, /*1*/ E> : kotlin.MutableList<E!> {
public interface TrickyList</*0*/ X : kotlin.Any!, /*1*/ E : kotlin.Any!> : kotlin.MutableList<E!> {
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: E!): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ index: kotlin.Int, /*1*/ element: E!): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<E!>): kotlin.Boolean
@@ -2,7 +2,7 @@ package test
public interface SubclassFromGenericAndNot {
public interface Generic</*0*/ T> {
public interface Generic</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(): T!
}
@@ -1,6 +1,6 @@
package test
public interface SubclassOfCollection</*0*/ E> : kotlin.MutableCollection<E!> {
public interface SubclassOfCollection</*0*/ E : kotlin.Any!> : kotlin.MutableCollection<E!> {
public abstract override /*1*/ /*fake_override*/ fun add(/*0*/ e: E!): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun addAll(/*0*/ c: kotlin.Collection<E!>): kotlin.Boolean
public abstract override /*1*/ /*fake_override*/ fun clear(): kotlin.Unit
@@ -1,6 +1,6 @@
package test
public interface SubclassOfMapEntry</*0*/ K, /*1*/ V> : kotlin.MutableMap.MutableEntry<K!, V!> {
public interface SubclassOfMapEntry</*0*/ K : kotlin.Any!, /*1*/ V : kotlin.Any!> : kotlin.MutableMap.MutableEntry<K!, V!> {
public abstract override /*1*/ /*fake_override*/ fun getKey(): K!
public abstract override /*1*/ /*fake_override*/ fun getValue(): V!
public abstract override /*1*/ fun setValue(/*0*/ value: V!): V!
@@ -7,7 +7,7 @@ public interface SubstitutedClassParameter {
public abstract override /*1*/ fun foo(): kotlin.String!
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(): T!
}
@@ -7,12 +7,12 @@ public interface SubstitutedClassParameters {
public abstract override /*2*/ fun foo(): kotlin.String!
}
public interface Super1</*0*/ T> {
public interface Super1</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(): T!
}
public interface Super2</*0*/ E> {
public interface Super2</*0*/ E : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(): E!
}
@@ -2,12 +2,12 @@ package test
public interface TypeParamOfClass {
public interface Sub</*0*/ T> : test.TypeParamOfClass.Super<T!> {
public interface Sub</*0*/ T : kotlin.Any!> : test.TypeParamOfClass.Super<T!> {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(): T!
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
org.jetbrains.annotations.NotNull() public abstract fun foo(): T
}
@@ -7,7 +7,7 @@ public interface TypeParamOfClassSubstituted {
public abstract override /*1*/ fun foo(): kotlin.String!
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
org.jetbrains.annotations.NotNull() public abstract fun foo(): T
}
@@ -4,11 +4,11 @@ public interface TypeParamOfFun {
public interface Sub : test.TypeParamOfFun.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun </*0*/ E> foo(): E
public abstract override /*1*/ fun </*0*/ E : kotlin.Any!> foo(): E
}
public interface Super {
public abstract fun dummy(): kotlin.Unit
org.jetbrains.annotations.NotNull() public abstract fun </*0*/ T> foo(): T
org.jetbrains.annotations.NotNull() public abstract fun </*0*/ T : kotlin.Any!> foo(): T
}
}
@@ -3,10 +3,10 @@ package test
public interface UseParameterAsUpperBound {
public interface Sub : test.UseParameterAsUpperBound.Super {
public abstract override /*1*/ fun </*0*/ B, /*1*/ A : B!> foo(/*0*/ a: B!, /*1*/ b: A!): kotlin.Unit
public abstract override /*1*/ fun </*0*/ B : kotlin.Any!, /*1*/ A : B!> foo(/*0*/ a: B!, /*1*/ b: A!): kotlin.Unit
}
public interface Super {
public abstract fun </*0*/ A, /*1*/ B : A!> foo(/*0*/ a: A!, /*1*/ b: B!): kotlin.Unit
public abstract fun </*0*/ A : kotlin.Any!, /*1*/ B : A!> foo(/*0*/ a: A!, /*1*/ b: B!): kotlin.Unit
}
}
@@ -3,10 +3,10 @@ package test
public interface UseParameterInUpperBound {
public interface Sub : test.UseParameterInUpperBound.Super {
public abstract override /*1*/ fun </*0*/ B, /*1*/ A : kotlin.(Mutable)List<B!>!> foo(/*0*/ a: B!, /*1*/ b: A!): kotlin.Unit
public abstract override /*1*/ fun </*0*/ B : kotlin.Any!, /*1*/ A : kotlin.(Mutable)List<B!>!> foo(/*0*/ a: B!, /*1*/ b: A!): kotlin.Unit
}
public interface Super {
public abstract fun </*0*/ A, /*1*/ B : kotlin.(Mutable)List<A!>!> foo(/*0*/ a: A!, /*1*/ b: B!): kotlin.Unit
public abstract fun </*0*/ A : kotlin.Any!, /*1*/ B : kotlin.(Mutable)List<A!>!> foo(/*0*/ a: A!, /*1*/ b: B!): kotlin.Unit
}
}
@@ -3,10 +3,10 @@ package test
public interface UseParameterInUpperBoundWithKotlinSignature {
public interface Sub : test.UseParameterInUpperBoundWithKotlinSignature.Super {
public abstract override /*1*/ fun </*0*/ B, /*1*/ A : kotlin.(Mutable)List<B!>!> foo(/*0*/ b: B!, /*1*/ a: A!): kotlin.Unit
public abstract override /*1*/ fun </*0*/ B : kotlin.Any!, /*1*/ A : kotlin.(Mutable)List<B!>!> foo(/*0*/ b: B!, /*1*/ a: A!): kotlin.Unit
}
public interface Super {
public abstract fun </*0*/ A, /*1*/ B : kotlin.(Mutable)List<A!>!> foo(/*0*/ a: A!, /*1*/ b: B!): kotlin.Unit
public abstract fun </*0*/ A : kotlin.Any!, /*1*/ B : kotlin.(Mutable)List<A!>!> foo(/*0*/ a: A!, /*1*/ b: B!): kotlin.Unit
}
}
@@ -1,6 +1,6 @@
package test
public interface LoadIterable</*0*/ T> {
public interface LoadIterable</*0*/ T : kotlin.Any!> {
public abstract fun getIterable(): kotlin.(Mutable)Iterable<T!>!
public abstract fun setIterable(/*0*/ p0: kotlin.(Mutable)Iterable<T!>!): kotlin.Unit
}
@@ -1,6 +1,6 @@
package test
public interface LoadIterator</*0*/ T> {
public interface LoadIterator</*0*/ T : kotlin.Any!> {
public abstract fun getIterator(): kotlin.(Mutable)Iterator<T!>!
public abstract fun setIterator(/*0*/ p0: kotlin.(Mutable)Iterator<T!>!): kotlin.Unit
}
@@ -28,5 +28,5 @@ public open class ModalityOfFakeOverrides : java.util.AbstractList<kotlin.String
public open override /*1*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<kotlin.String!>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
}
@@ -1,6 +1,6 @@
package test
public interface LoadIterable</*0*/ T> {
public interface LoadIterable</*0*/ T : kotlin.Any!> {
org.jetbrains.annotations.Mutable() public abstract fun getIterable(): kotlin.MutableIterable<T!>!
org.jetbrains.annotations.ReadOnly() public abstract fun getReadOnlyIterable(): kotlin.Iterable<T!>!
public abstract fun setIterable(/*0*/ org.jetbrains.annotations.Mutable() p0: kotlin.MutableIterable<T!>!): kotlin.Unit
@@ -1,6 +1,6 @@
package test
public interface LoadIterableWithConflict</*0*/ T> {
public interface LoadIterableWithConflict</*0*/ T : kotlin.Any!> {
org.jetbrains.annotations.ReadOnly() org.jetbrains.annotations.Mutable() public abstract fun getIterable(): kotlin.(Mutable)Iterable<T!>!
public abstract fun setIterable(/*0*/ org.jetbrains.annotations.ReadOnly() org.jetbrains.annotations.Mutable() p0: kotlin.(Mutable)Iterable<T!>!): kotlin.Unit
}
@@ -1,6 +1,6 @@
package test
public interface LoadIterableWithNullability</*0*/ T> {
public interface LoadIterableWithNullability</*0*/ T : kotlin.Any!> {
org.jetbrains.annotations.NotNull() org.jetbrains.annotations.Mutable() public abstract fun getIterable(): kotlin.MutableIterable<T!>
org.jetbrains.annotations.NotNull() org.jetbrains.annotations.ReadOnly() public abstract fun getReadOnlyIterable(): kotlin.Iterable<T!>
public abstract fun setIterable(/*0*/ org.jetbrains.annotations.Mutable() org.jetbrains.annotations.NotNull() p0: kotlin.MutableIterable<T!>): kotlin.Unit
@@ -2,15 +2,15 @@ package test
public interface LoadIterableWithPropagation {
public interface LoadIterable</*0*/ T> {
public interface LoadIterable</*0*/ T : kotlin.Any!> {
org.jetbrains.annotations.Mutable() public abstract fun getIterable(): kotlin.MutableIterable<T!>!
org.jetbrains.annotations.ReadOnly() public abstract fun getReadOnlyIterable(): kotlin.Iterable<T!>!
public abstract fun setIterable(/*0*/ org.jetbrains.annotations.Mutable() p0: kotlin.MutableIterable<T!>!): kotlin.Unit
public abstract fun setReadOnlyIterable(/*0*/ org.jetbrains.annotations.ReadOnly() p0: kotlin.Iterable<T!>!): kotlin.Unit
}
public open class LoadIterableImpl</*0*/ T> : test.LoadIterableWithPropagation.LoadIterable<T!> {
public constructor LoadIterableImpl</*0*/ T>()
public open class LoadIterableImpl</*0*/ T : kotlin.Any!> : test.LoadIterableWithPropagation.LoadIterable<T!> {
public constructor LoadIterableImpl</*0*/ T : kotlin.Any!>()
public open override /*1*/ fun getIterable(): kotlin.MutableIterable<T!>!
public open override /*1*/ fun getReadOnlyIterable(): kotlin.Iterable<T!>!
public open override /*1*/ fun setIterable(/*0*/ p0: kotlin.MutableIterable<T!>!): kotlin.Unit
@@ -15,8 +15,8 @@ public open class Rendering {
public/*package*/ constructor C_Sub()
}
public/*package*/ open inner class D_SuperG</*0*/ T> {
public/*package*/ constructor D_SuperG</*0*/ T>()
public/*package*/ open inner class D_SuperG</*0*/ T : kotlin.Any!> {
public/*package*/ constructor D_SuperG</*0*/ T : kotlin.Any!>()
}
public/*package*/ open inner class E_SubG : test.Rendering.D_SuperG<kotlin.String!> {
+2 -2
View File
@@ -1,7 +1,7 @@
package test
public /*synthesized*/ fun </*0*/ T> Comparator(/*0*/ function: (T!, T!) -> kotlin.Int): test.Comparator<T>
public /*synthesized*/ fun </*0*/ T : kotlin.Any!> Comparator(/*0*/ function: (T!, T!) -> kotlin.Int): test.Comparator<T>
public interface Comparator</*0*/ T> {
public interface Comparator</*0*/ T : kotlin.Any!> {
public abstract fun compare(/*0*/ p0: T!, /*1*/ p1: T!): kotlin.Int
}
@@ -10,12 +10,12 @@ public interface SamSubinterfaceOfTwo {
public abstract fun f(): kotlin.CharSequence!
}
public interface Super2</*0*/ T> {
public interface Super2</*0*/ T : kotlin.Any!> {
public abstract fun f(): T!
}
// Static members
public final /*synthesized*/ fun Sub(/*0*/ function: () -> kotlin.String!): test.SamSubinterfaceOfTwo.Sub
public final /*synthesized*/ fun Super1(/*0*/ function: () -> kotlin.CharSequence!): test.SamSubinterfaceOfTwo.Super1
public final /*synthesized*/ fun </*0*/ T> Super2(/*0*/ function: () -> T!): test.SamSubinterfaceOfTwo.Super2<T>
public final /*synthesized*/ fun </*0*/ T : kotlin.Any!> Super2(/*0*/ function: () -> T!): test.SamSubinterfaceOfTwo.Super2<T>
}
@@ -1,7 +1,7 @@
package test
public open class TypeParameterOfClass</*0*/ T> {
public constructor TypeParameterOfClass</*0*/ T>()
public open class TypeParameterOfClass</*0*/ T : kotlin.Any!> {
public constructor TypeParameterOfClass</*0*/ T : kotlin.Any!>()
public final /*synthesized*/ fun foo(/*0*/ p0: ((T!, T!) -> kotlin.Int)!): kotlin.Unit
public open fun foo(/*0*/ p0: java.util.Comparator<T!>!): kotlin.Unit
}
@@ -4,8 +4,8 @@ public open class TypeParameterOfMethod {
public constructor TypeParameterOfMethod()
// Static members
public final /*synthesized*/ fun </*0*/ T> max(/*0*/ p0: ((T!, T!) -> kotlin.Int)!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public open fun </*0*/ T> max(/*0*/ p0: java.util.Comparator<T!>!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public final /*synthesized*/ fun </*0*/ T : kotlin.Any!> max(/*0*/ p0: ((T!, T!) -> kotlin.Int)!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public open fun </*0*/ T : kotlin.Any!> max(/*0*/ p0: java.util.Comparator<T!>!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public final /*synthesized*/ fun </*0*/ T : kotlin.CharSequence!> max2(/*0*/ p0: ((T!, T!) -> kotlin.Int)!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public open fun </*0*/ T : kotlin.CharSequence!> max2(/*0*/ p0: java.util.Comparator<T!>!, /*1*/ p1: T!, /*2*/ p2: T!): T!
public final /*synthesized*/ fun </*0*/ A : kotlin.CharSequence!, /*1*/ B : kotlin.(Mutable)List<A!>!> method(/*0*/ p0: ((A!, A!) -> kotlin.Int)!, /*1*/ p1: B!): kotlin.Unit
@@ -1,7 +1,7 @@
package test
public open class TypeParameterOfOuterClass</*0*/ T> {
public constructor TypeParameterOfOuterClass</*0*/ T>()
public open class TypeParameterOfOuterClass</*0*/ T : kotlin.Any!> {
public constructor TypeParameterOfOuterClass</*0*/ T : kotlin.Any!>()
public open inner class Inner {
public constructor Inner()
@@ -12,7 +12,7 @@ public interface InheritedSameAdaptersWithSubstitution {
public abstract fun foo(/*0*/ p0: java.util.Comparator<kotlin.String!>!): kotlin.Unit
}
public interface Super2</*0*/ T> {
public interface Super2</*0*/ T : kotlin.Any!> {
public final /*synthesized*/ fun foo(/*0*/ p0: ((T!, T!) -> kotlin.Int)!): kotlin.Unit
public abstract fun foo(/*0*/ p0: java.util.Comparator<T!>!): kotlin.Unit
}
@@ -25,6 +25,6 @@ public interface InheritedSameAdaptersWithSubstitution {
// Static members
public final /*synthesized*/ fun Sub(/*0*/ function: (java.util.Comparator<kotlin.String!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Sub
public final /*synthesized*/ fun Super1(/*0*/ function: (java.util.Comparator<kotlin.String!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super1
public final /*synthesized*/ fun </*0*/ T> Super2(/*0*/ function: (java.util.Comparator<T!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super2<T>
public final /*synthesized*/ fun </*0*/ T : kotlin.Any!> Super2(/*0*/ function: (java.util.Comparator<T!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super2<T>
public final /*synthesized*/ fun Super2Substituted(/*0*/ function: (java.util.Comparator<kotlin.String!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super2Substituted
}
@@ -2,7 +2,7 @@ package test
public interface ArraysInSubtypes {
public interface Sub</*0*/ T> : test.ArraysInSubtypes.Super {
public interface Sub</*0*/ T : kotlin.Any!> : test.ArraysInSubtypes.Super {
public abstract override /*1*/ fun array(): kotlin.Array<(out) kotlin.String!>!
public abstract override /*1*/ fun listOfArray(): (kotlin.MutableList<out kotlin.Array<(out) kotlin.String!>!>..kotlin.List<kotlin.Array<(out) kotlin.String!>!>?)
public abstract override /*1*/ fun objArray(): kotlin.Array<(out) T!>!
@@ -2,7 +2,7 @@ package test
public interface MethodTypeParameterErased {
public interface Bug</*0*/ T> {
public interface Bug</*0*/ T : kotlin.Any!> {
public abstract fun </*0*/ RET : test.MethodTypeParameterErased.Bug<T!>!> save(): RET!
}
@@ -3,13 +3,13 @@ package test
public open class RawSuperType {
public constructor RawSuperType()
public open inner class Derived : test.RawSuperType.Super<kotlin.Any?> {
public open inner class Derived : test.RawSuperType.Super<kotlin.Any!> {
public constructor Derived()
public open override /*1*/ fun dummy(): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: kotlin.Any?): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: kotlin.Any!): kotlin.Unit
}
public interface Super</*0*/ T> {
public interface Super</*0*/ T : kotlin.Any!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: T!): kotlin.Unit
}
@@ -3,14 +3,14 @@ package test
public open class RawSuperTypeWithRecursiveBoundMultipleParameters {
public constructor RawSuperTypeWithRecursiveBoundMultipleParameters()
public open inner class Derived : test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<kotlin.Any?, test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!> {
public open inner class Derived : test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<kotlin.Any!, test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!> {
public constructor Derived()
public open override /*1*/ fun dummy(): kotlin.Unit
public open fun foo(/*0*/ p0: kotlin.Any!, /*1*/ p1: kotlin.Any!): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: kotlin.Any?, /*1*/ p1: test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!): kotlin.Unit
public open override /*1*/ fun foo(/*0*/ p0: kotlin.Any!, /*1*/ p1: test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<*, *>!): kotlin.Unit
}
public interface Super</*0*/ R, /*1*/ T : test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<R!, T!>!> {
public interface Super</*0*/ R : kotlin.Any!, /*1*/ T : test.RawSuperTypeWithRecursiveBoundMultipleParameters.Super<R!, T!>!> {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: R!, /*1*/ p1: T!): kotlin.Unit
}
@@ -2,8 +2,8 @@ package test
public interface ReturnInnerSubclassOfSupersInner {
public open class Sub</*0*/ B> : test.ReturnInnerSubclassOfSupersInner.Super<B!> {
public constructor Sub</*0*/ B>()
public open class Sub</*0*/ B : kotlin.Any!> : test.ReturnInnerSubclassOfSupersInner.Super<B!> {
public constructor Sub</*0*/ B : kotlin.Any!>()
public/*package*/ open inner class Inner : test.ReturnInnerSubclassOfSupersInner.Super.Inner {
public/*package*/ constructor Inner()
@@ -11,8 +11,8 @@ public interface ReturnInnerSubclassOfSupersInner {
}
}
public open class Super</*0*/ A> {
public constructor Super</*0*/ A>()
public open class Super</*0*/ A : kotlin.Any!> {
public constructor Super</*0*/ A : kotlin.Any!>()
public/*package*/ open inner class Inner {
public/*package*/ constructor Inner()
@@ -28,5 +28,5 @@ public open class ModalityOfFakeOverrides : java.util.AbstractList<kotlin.String
public open override /*1*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<kotlin.String!>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
}
@@ -39,7 +39,7 @@ internal final class C : java.util.ArrayList<kotlin.String> {
public open override /*1*/ /*fake_override*/ fun size(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun subList(/*0*/ fromIndex: kotlin.Int, /*1*/ toIndex: kotlin.Int): kotlin.MutableList<kotlin.String>
public open override /*1*/ /*fake_override*/ fun toArray(): kotlin.Array<(out) kotlin.Any!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun trimToSize(): kotlin.Unit
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
}

Some files were not shown because too many files have changed in this diff Show More