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
+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()