Substitution implemented for flexible occurrences of Java type parameters

This commit is contained in:
Andrey Breslav
2014-08-12 21:03:20 +04:00
parent bf53222bd9
commit dd2e95b3bc
63 changed files with 177 additions and 117 deletions
@@ -2,5 +2,5 @@ package test
public final class ArrayTypeVariance {
public constructor ArrayTypeVariance()
public final fun toArray(/*0*/ p0: kotlin.Array<out kotlin.Any>?): kotlin.Array<kotlin.Any>?
public final fun toArray(/*0*/ p0: kotlin.Array<(out) kotlin.Any!>!): kotlin.Array<(out) kotlin.Any!>!
}
@@ -2,13 +2,13 @@ package test
public abstract class ClassDoesNotOverrideMethod : java.util.Date {
public constructor ClassDoesNotOverrideMethod()
invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date?
invisible_fake final override /*1*/ /*fake_override*/ var cdate: sun.util.calendar.BaseCalendar.Date!
invisible_fake final override /*1*/ /*fake_override*/ var fastTime: kotlin.Long
public open override /*1*/ /*fake_override*/ fun after(/*0*/ p0: java.util.Date): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun before(/*0*/ p0: java.util.Date): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun after(/*0*/ p0: java.util.Date!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun before(/*0*/ p0: java.util.Date!): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public open override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: java.util.Date): kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ fun getCalendarDate(): sun.util.calendar.BaseCalendar.Date?
public open override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: java.util.Date!): kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ fun getCalendarDate(): sun.util.calendar.BaseCalendar.Date!
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun getDate(): kotlin.Int
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun getDay(): kotlin.Int
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun getHours(): kotlin.Int
@@ -19,9 +19,9 @@ public abstract class ClassDoesNotOverrideMethod : java.util.Date {
invisible_fake final override /*1*/ /*fake_override*/ fun getTimeImpl(): kotlin.Long
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun getTimezoneOffset(): kotlin.Int
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun getYear(): kotlin.Int
invisible_fake final override /*1*/ /*fake_override*/ fun normalize(): sun.util.calendar.BaseCalendar.Date?
invisible_fake final override /*1*/ /*fake_override*/ fun normalize(/*0*/ p0: sun.util.calendar.BaseCalendar.Date?): sun.util.calendar.BaseCalendar.Date?
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ p0: java.io.ObjectInputStream?): kotlin.Unit
invisible_fake final override /*1*/ /*fake_override*/ fun normalize(): sun.util.calendar.BaseCalendar.Date!
invisible_fake final override /*1*/ /*fake_override*/ fun normalize(/*0*/ p0: sun.util.calendar.BaseCalendar.Date!): sun.util.calendar.BaseCalendar.Date!
invisible_fake open override /*1*/ /*fake_override*/ fun readObject(/*0*/ p0: java.io.ObjectInputStream!): kotlin.Unit
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun setDate(/*0*/ p0: kotlin.Int): kotlin.Unit
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun setHours(/*0*/ p0: kotlin.Int): kotlin.Unit
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun setMinutes(/*0*/ p0: kotlin.Int): kotlin.Unit
@@ -29,7 +29,7 @@ public abstract class ClassDoesNotOverrideMethod : java.util.Date {
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun setSeconds(/*0*/ p0: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun setTime(/*0*/ p0: kotlin.Long): kotlin.Unit
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun setYear(/*0*/ p0: kotlin.Int): kotlin.Unit
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun toGMTString(): kotlin.String
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun toLocaleString(): kotlin.String
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream?): kotlin.Unit
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun toGMTString(): kotlin.String!
kotlin.deprecated(value = "Deprecated in Java": kotlin.String) public open override /*1*/ /*fake_override*/ fun toLocaleString(): kotlin.String!
invisible_fake open override /*1*/ /*fake_override*/ fun writeObject(/*0*/ p0: java.io.ObjectOutputStream!): kotlin.Unit
}
@@ -1,6 +1,6 @@
package test
public abstract class ClassWithTypePExtendsIterableP</*0*/ P> : kotlin.MutableIterable<P> {
public abstract class ClassWithTypePExtendsIterableP</*0*/ P> : kotlin.MutableIterable<P!> {
public constructor ClassWithTypePExtendsIterableP</*0*/ P>()
public abstract override /*1*/ /*fake_override*/ fun iterator(): kotlin.MutableIterator<P>
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, /*1*/ Q : P!> {
public constructor ClassWithTypePP</*0*/ P, /*1*/ Q : P!>()
}
@@ -1,5 +1,5 @@
package test
public open class ClassWithTypePRefNext</*0*/ R : kotlin.Iterable<P>?, /*1*/ P> {
public constructor ClassWithTypePRefNext</*0*/ R : kotlin.Iterable<P>?, /*1*/ P>()
public open class ClassWithTypePRefNext</*0*/ R : kotlin.(Mutable)Iterable<P!>!, /*1*/ P> {
public constructor ClassWithTypePRefNext</*0*/ R : kotlin.(Mutable)Iterable<P!>!, /*1*/ P>()
}
@@ -1,5 +1,5 @@
package test
public final class ClassWithTypePRefSelf</*0*/ P : kotlin.Enum<P>?> {
public constructor ClassWithTypePRefSelf</*0*/ P : kotlin.Enum<P>?>()
public final class ClassWithTypePRefSelf</*0*/ P : kotlin.Enum<P!>!> {
public constructor ClassWithTypePRefSelf</*0*/ P : kotlin.Enum<P!>!>()
}
@@ -1,5 +1,5 @@
package test
public final class ClassWithTypePRefSelfAndClass</*0*/ P : test.ClassWithTypePRefSelfAndClass<P>?> {
public constructor ClassWithTypePRefSelfAndClass</*0*/ P : test.ClassWithTypePRefSelfAndClass<P>?>()
public final class ClassWithTypePRefSelfAndClass</*0*/ P : test.ClassWithTypePRefSelfAndClass<P!>!> {
public constructor ClassWithTypePRefSelfAndClass</*0*/ P : test.ClassWithTypePRefSelfAndClass<P!>!>()
}
@@ -2,5 +2,5 @@ package test
public open class FieldOfArrayType {
public constructor FieldOfArrayType()
public final var files: kotlin.Array<java.io.File>?
public final var files: kotlin.Array<(out) java.io.File!>!
}
@@ -4,17 +4,17 @@ public final class InheritMethodsDifferentReturnTypes {
public constructor InheritMethodsDifferentReturnTypes()
public trait Sub : test.InheritMethodsDifferentReturnTypes.Super1, test.InheritMethodsDifferentReturnTypes.Super2 {
public abstract override /*2*/ /*fake_override*/ fun bar(): kotlin.String?
public abstract override /*2*/ /*fake_override*/ fun foo(): kotlin.String?
public abstract override /*2*/ /*fake_override*/ fun bar(): kotlin.String!
public abstract override /*2*/ /*fake_override*/ fun foo(): kotlin.String!
}
public trait Super1 {
public abstract fun bar(): kotlin.String?
public abstract fun foo(): kotlin.CharSequence?
public abstract fun bar(): kotlin.String!
public abstract fun foo(): kotlin.CharSequence!
}
public trait Super2 {
public abstract fun bar(): kotlin.CharSequence?
public abstract fun foo(): kotlin.String?
public abstract fun bar(): kotlin.CharSequence!
public abstract fun foo(): kotlin.String!
}
}
@@ -3,18 +3,18 @@ package test
public final class InheritMethodsDifferentReturnTypesGeneric {
public constructor InheritMethodsDifferentReturnTypesGeneric()
public trait Sub : test.InheritMethodsDifferentReturnTypesGeneric.Super1<kotlin.String, kotlin.CharSequence>, test.InheritMethodsDifferentReturnTypesGeneric.Super2<kotlin.CharSequence, kotlin.String> {
public abstract override /*2*/ /*fake_override*/ fun bar(): kotlin.String?
public abstract override /*2*/ /*fake_override*/ fun foo(): kotlin.String?
public trait Sub : test.InheritMethodsDifferentReturnTypesGeneric.Super1<kotlin.String!, kotlin.CharSequence!>, test.InheritMethodsDifferentReturnTypesGeneric.Super2<kotlin.CharSequence!, kotlin.String!> {
public abstract override /*2*/ /*fake_override*/ fun bar(): kotlin.String!
public abstract override /*2*/ /*fake_override*/ fun foo(): kotlin.String!
}
public trait Super1</*0*/ F, /*1*/ B> {
public abstract fun bar(): B?
public abstract fun foo(): F?
public abstract fun bar(): B!
public abstract fun foo(): F!
}
public trait Super2</*0*/ FF, /*1*/ BB> {
public abstract fun bar(): BB?
public abstract fun foo(): FF?
public abstract fun bar(): BB!
public abstract fun foo(): FF!
}
}
@@ -9,6 +9,6 @@ public open class InnerClassesInGeneric</*0*/ P, /*1*/ Q> {
public open inner class Inner2 : test.InnerClassesInGeneric.Inner {
public constructor Inner2()
public open fun iterator(): kotlin.MutableIterator<P>?
public open fun iterator(): kotlin.(Mutable)Iterator<P!>!
}
}
@@ -5,6 +5,6 @@ public final class MethodReferencesOuterClassTP</*0*/ P> {
public final inner class Inner {
public constructor Inner()
public final fun </*0*/ Q : P> f(): kotlin.Unit
public final fun </*0*/ Q : P!> f(): kotlin.Unit
}
}
@@ -2,5 +2,5 @@ package test
public open class MethodTypePOneUpperBound {
public constructor MethodTypePOneUpperBound()
public open fun </*0*/ T : kotlin.Cloneable?> bar(): kotlin.Unit
public open fun </*0*/ T : kotlin.Cloneable!> bar(): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class MethodTypePTwoUpperBounds {
public constructor MethodTypePTwoUpperBounds()
public open fun </*0*/ T : kotlin.Cloneable?> foo(): kotlin.Unit where T : java.lang.Runnable?
public open fun </*0*/ T : kotlin.Cloneable!> foo(): kotlin.Unit where T : java.lang.Runnable!
}
@@ -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, /*1*/ Q : P!> f(): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class MethodWithTypePRefClassP</*0*/ P> {
public constructor MethodWithTypePRefClassP</*0*/ P>()
public final fun </*0*/ Q : P> f(): kotlin.Unit
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> f(/*0*/ p0: P!): kotlin.Unit
}
@@ -1,5 +1,5 @@
package test
public open class MyException {
public constructor MyException(/*0*/ p0: kotlin.String?, /*1*/ p1: kotlin.Throwable?)
public constructor MyException(/*0*/ p0: kotlin.String!, /*1*/ p1: kotlin.Throwable!)
}
@@ -3,12 +3,12 @@ package test
public trait RawTypeWithUpperBound {
public trait Bar {
public abstract fun f(/*0*/ p0: test.RawTypeWithUpperBound.Foo<out kotlin.CharSequence?>?): kotlin.Unit
public abstract fun f(/*0*/ p0: test.RawTypeWithUpperBound.Foo<out kotlin.CharSequence!>!): kotlin.Unit
}
public trait Foo</*0*/ T : kotlin.CharSequence?> {
public trait Foo</*0*/ T : kotlin.CharSequence!> {
}
// Static members
public final /*synthesized*/ fun Bar(/*0*/ function: (test.RawTypeWithUpperBound.Foo<out kotlin.CharSequence?>?) -> kotlin.Unit): test.RawTypeWithUpperBound.Bar
public /*synthesized*/ fun Bar(/*0*/ function: (test.RawTypeWithUpperBound.Foo<out kotlin.CharSequence!>!) -> kotlin.Unit): test.RawTypeWithUpperBound.Bar
}
@@ -1,6 +1,6 @@
package test
public trait RemoveRedundantProjectionKind {
public abstract fun f(/*0*/ p0: kotlin.Collection<kotlin.CharSequence?>?): kotlin.Unit
public abstract fun f(/*0*/ p0: kotlin.Comparable<kotlin.CharSequence?>?): kotlin.Unit
public abstract fun f(/*0*/ p0: (kotlin.MutableCollection<out kotlin.CharSequence!>..kotlin.Collection<kotlin.CharSequence!>?)): kotlin.Unit
public abstract fun f(/*0*/ p0: kotlin.Comparable<kotlin.CharSequence!>!): kotlin.Unit
}
@@ -2,8 +2,8 @@ package test
public final class UnboundWildcard {
public constructor UnboundWildcard()
public final fun foo(): test.UnboundWildcard.MyClass<out kotlin.CharSequence?>?
public final fun foo(): test.UnboundWildcard.MyClass<out kotlin.CharSequence!>!
public trait MyClass</*0*/ T : kotlin.CharSequence?> {
public trait MyClass</*0*/ T : kotlin.CharSequence!> {
}
}
@@ -1,5 +1,5 @@
package test
public open class ConstructorGenericDeep {
public constructor ConstructorGenericDeep(/*0*/ p0: java.lang.Class<kotlin.Any?>?)
public constructor ConstructorGenericDeep(/*0*/ p0: java.lang.Class<kotlin.Any!>!)
}
@@ -1,5 +1,5 @@
package test
public open class ConstructorGenericSimple {
public constructor ConstructorGenericSimple(/*0*/ p0: kotlin.Any?)
public constructor ConstructorGenericSimple(/*0*/ p0: kotlin.Any!)
}
@@ -1,5 +1,5 @@
package test
public open class ConstructorGenericUpperBound {
public constructor ConstructorGenericUpperBound(/*0*/ p0: java.util.RandomAccess?)
public constructor ConstructorGenericUpperBound(/*0*/ p0: java.util.RandomAccess!)
}
@@ -3,5 +3,5 @@ package test
public open class DifferentGetterAndSetter {
public constructor DifferentGetterAndSetter()
public open fun getSomething(): kotlin.Int
public open fun setSomething(/*0*/ p0: kotlin.String?): kotlin.Unit
public open fun setSomething(/*0*/ p0: kotlin.String!): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class JavaBeanVal {
public constructor JavaBeanVal()
public open fun getColor(): kotlin.String?
public open fun getColor(): kotlin.String!
}
@@ -2,6 +2,6 @@ package test
public open class JavaBeanVar {
public constructor JavaBeanVar()
public open fun getColor(): kotlin.String?
public open fun setColor(/*0*/ p0: kotlin.String?): kotlin.Unit
public open fun getColor(): kotlin.String!
public open fun setColor(/*0*/ p0: kotlin.String!): kotlin.Unit
}
@@ -2,6 +2,6 @@ package test
public open class JavaBeanVarOfGenericType</*0*/ P> {
public constructor JavaBeanVarOfGenericType</*0*/ P>()
public open fun getCharacters(): java.util.ArrayList<P>?
public open fun setCharacters(/*0*/ p0: java.util.ArrayList<P>?): kotlin.Unit
public open fun getCharacters(): java.util.ArrayList<P!>!
public open fun setCharacters(/*0*/ p0: java.util.ArrayList<P!>!): kotlin.Unit
}
@@ -3,5 +3,5 @@ package test
public open class TwoSetters {
public constructor TwoSetters()
public open fun setSize(/*0*/ p0: kotlin.Int): kotlin.Unit
public open fun setSize(/*0*/ p0: kotlin.String?): kotlin.Unit
public open fun setSize(/*0*/ p0: kotlin.String!): kotlin.Unit
}
@@ -3,5 +3,5 @@ package test
public open class PropertySimpleType {
public constructor PropertySimpleType()
public final var fieldOne: kotlin.String
public final var fieldTwo: kotlin.String?
public final var fieldTwo: kotlin.String!
}
@@ -2,8 +2,8 @@ package test
public final class StarProjection {
public constructor StarProjection()
public final fun foo(): test.StarProjection.MyClass<out kotlin.CharSequence?>
public final fun foo(): test.StarProjection.MyClass<out kotlin.CharSequence!>
public trait MyClass</*0*/ T : kotlin.CharSequence?> {
public trait MyClass</*0*/ T : kotlin.CharSequence!> {
}
}
@@ -2,5 +2,5 @@ package test
public open class ConflictingProjectionKind {
public constructor ConflictingProjectionKind()
public open fun foo(/*0*/ p0: kotlin.List<kotlin.Number>?): kotlin.Unit
public open fun foo(/*0*/ p0: kotlin.(Mutable)List<kotlin.Number!>!): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class ExplicitFieldGettersAndSetters {
public constructor ExplicitFieldGettersAndSetters()
public final var foo: kotlin.String?
public final var foo: kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class ExtraUpperBound {
public constructor ExtraUpperBound()
public open fun </*0*/ A : java.lang.Runnable?> foo(): kotlin.String?
public open fun </*0*/ A : java.lang.Runnable!> foo(): kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class MissingUpperBound {
public constructor MissingUpperBound()
public open fun </*0*/ A : java.lang.Runnable?> foo(): kotlin.String? where A : kotlin.Cloneable?
public open fun </*0*/ A : java.lang.Runnable!> foo(): kotlin.String! where A : kotlin.Cloneable!
}
@@ -2,5 +2,5 @@ package test
public open class NoFieldTypeRef {
public constructor NoFieldTypeRef()
public final var foo: kotlin.String?
public final var foo: kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class NotVarargReplacedWithVararg {
public constructor NotVarargReplacedWithVararg()
public open fun foo(/*0*/ p0: kotlin.String?): kotlin.Unit
public open fun foo(/*0*/ p0: kotlin.String!): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class ReturnTypeMissing {
public constructor ReturnTypeMissing()
public open fun foo(/*0*/ p0: kotlin.String?): kotlin.Int
public open fun foo(/*0*/ p0: kotlin.String!): kotlin.Int
}
@@ -2,5 +2,5 @@ package test
public open class SyntaxError {
public constructor SyntaxError()
public open fun foo(): kotlin.Int?
public open fun foo(): kotlin.Int!
}
@@ -2,5 +2,5 @@ package test
public open class SyntaxErrorInFieldAnnotation {
public constructor SyntaxErrorInFieldAnnotation()
public final var foo: kotlin.String?
public final var foo: kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class VarargReplacedWithNotVararg {
public constructor VarargReplacedWithNotVararg()
public open fun foo(/*0*/ vararg p0: kotlin.String? /*kotlin.Array<kotlin.String?>*/): kotlin.Unit
public open fun foo(/*0*/ vararg p0: kotlin.String! /*kotlin.Array<(out) kotlin.String!>!*/): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class WrongFieldInitializer {
public constructor WrongFieldInitializer()
public final var foo: kotlin.String?
public final var foo: kotlin.String!
}
@@ -2,6 +2,6 @@ package test
public open class WrongFieldMutability {
public constructor WrongFieldMutability()
public final val fooFinal: kotlin.String? = "Test"
public final var fooNotFinal: kotlin.String?
public final val fooFinal: kotlin.String! = "Test"
public final var fooNotFinal: kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class WrongFieldName {
public constructor WrongFieldName()
public final var foo: kotlin.String?
public final var foo: kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class WrongMethodName {
public constructor WrongMethodName()
public open fun foo(): kotlin.String?
public open fun foo(): kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class WrongTypeName1 {
public constructor WrongTypeName1()
public open fun foo(/*0*/ p0: kotlin.String?): kotlin.String?
public open fun foo(/*0*/ p0: kotlin.String!): kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class WrongTypeName2 {
public constructor WrongTypeName2()
public open fun foo(/*0*/ p0: kotlin.String?): kotlin.String?
public open fun foo(/*0*/ p0: kotlin.String!): kotlin.String!
}
@@ -2,5 +2,5 @@ package test
public open class WrongTypeName3 {
public constructor WrongTypeName3()
public open fun foo(/*0*/ p0: kotlin.String?): kotlin.String?
public open fun foo(/*0*/ p0: kotlin.String!): kotlin.String!
}
@@ -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*/ p0: A?, /*1*/ p1: kotlin.List<B>?): kotlin.Unit where B : kotlin.List<kotlin.Cloneable>?
public open fun </*0*/ A, /*1*/ B : java.lang.Runnable!> foo(/*0*/ p0: A!, /*1*/ p1: (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*/ p0: A?, /*1*/ p1: kotlin.List<B>?): kotlin.Unit where B : kotlin.List<kotlin.Cloneable>?
public open fun </*0*/ A, /*1*/ B : java.lang.Runnable!> foo(/*0*/ p0: A!, /*1*/ p1: (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.List<B>?): kotlin.Unit
public open fun </*0*/ A, /*1*/ B> foo(/*0*/ p0: A!, /*1*/ p1: (kotlin.MutableList<out B!>..kotlin.List<B!>?)): kotlin.Unit
}
@@ -2,5 +2,5 @@ package test
public open class WrongValueParametersCount {
public constructor WrongValueParametersCount()
public open fun foo(): kotlin.Int?
public open fun foo(): kotlin.Int!
}
@@ -4,11 +4,11 @@ public trait NotNullToNullable {
public trait Sub : test.NotNullToNullable.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String!): kotlin.Unit
}
public trait Super {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.String): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.String!): kotlin.Unit
}
}
@@ -4,11 +4,11 @@ public trait NullableToNotNull {
public trait Sub : test.NullableToNotNull.Super {
public abstract override /*1*/ /*fake_override*/ fun dummy(): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String?): kotlin.Unit
public abstract override /*1*/ fun foo(/*0*/ p0: kotlin.String!): kotlin.Unit
}
public trait Super {
public abstract fun dummy(): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.String?): kotlin.Unit
public abstract fun foo(/*0*/ p0: kotlin.String!): kotlin.Unit
}
}
@@ -4,6 +4,6 @@ public open class SeveralSamParameters {
public constructor SeveralSamParameters()
// Static members
public /*synthesized*/ fun findMaxAndInvokeCallback(/*0*/ p0: ((kotlin.String, kotlin.String) -> kotlin.Int)?, /*1*/ p1: kotlin.String?, /*2*/ p2: kotlin.String?, /*3*/ p3: (() -> kotlin.Unit)?): kotlin.String?
public /*synthesized*/ fun findMaxAndInvokeCallback(/*0*/ p0: ((kotlin.String!, kotlin.String!) -> kotlin.Int)!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.String!, /*3*/ p3: (() -> kotlin.Unit)!): kotlin.String!
public open fun findMaxAndInvokeCallback(/*0*/ p0: java.util.Comparator<kotlin.String!>!, /*1*/ p1: kotlin.String!, /*2*/ p2: kotlin.String!, /*3*/ p3: java.lang.Runnable!): kotlin.String!
}
@@ -2,6 +2,6 @@ package test
public open class TypeParameterOfClass</*0*/ T> {
public constructor TypeParameterOfClass</*0*/ T>()
public final /*synthesized*/ fun foo(/*0*/ p0: ((T, T) -> kotlin.Int)?): kotlin.Unit
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,10 +4,10 @@ public open class TypeParameterOfMethod {
public constructor TypeParameterOfMethod()
// Static members
public /*synthesized*/ fun </*0*/ T> max(/*0*/ p0: ((T, T) -> kotlin.Int)?, /*1*/ p1: T?, /*2*/ p2: T?): T?
public /*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 /*synthesized*/ fun </*0*/ T : kotlin.CharSequence?> max2(/*0*/ p0: ((T, T) -> kotlin.Int)?, /*1*/ p1: T?, /*2*/ p2: T?): T?
public /*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 /*synthesized*/ fun </*0*/ A : kotlin.CharSequence?, /*1*/ B : kotlin.List<A>?> method(/*0*/ p0: ((A, A) -> kotlin.Int)?, /*1*/ p1: B?): kotlin.Unit
public /*synthesized*/ fun </*0*/ A : kotlin.CharSequence!, /*1*/ B : kotlin.(Mutable)List<A!>!> method(/*0*/ p0: ((A!, A!) -> kotlin.Int)!, /*1*/ p1: B!): kotlin.Unit
public open fun </*0*/ A : kotlin.CharSequence!, /*1*/ B : kotlin.(Mutable)List<A!>!> method(/*0*/ p0: java.util.Comparator<A!>!, /*1*/ p1: B!): kotlin.Unit
}
@@ -5,7 +5,7 @@ public open class TypeParameterOfOuterClass</*0*/ T> {
public open inner class Inner {
public constructor Inner()
public final /*synthesized*/ fun foo(/*0*/ p0: ((T, T) -> kotlin.Int)?): kotlin.Unit
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
}
}
@@ -3,28 +3,28 @@ package test
public trait InheritedSameAdaptersWithSubstitution {
public trait Sub : test.InheritedSameAdaptersWithSubstitution.Super1, test.InheritedSameAdaptersWithSubstitution.Super2Substituted {
public final override /*2*/ /*fake_override*/ fun foo(/*0*/ p0: ((kotlin.String, kotlin.String) -> kotlin.Int)?): kotlin.Unit
public abstract override /*2*/ /*fake_override*/ fun foo(/*0*/ p0: java.util.Comparator<kotlin.String>?): kotlin.Unit
public final override /*2*/ /*fake_override*/ fun foo(/*0*/ p0: ((kotlin.String!, kotlin.String!) -> kotlin.Int)!): kotlin.Unit
public abstract override /*2*/ /*fake_override*/ fun foo(/*0*/ p0: java.util.Comparator<kotlin.String!>!): kotlin.Unit
}
public trait Super1 {
public final /*synthesized*/ fun foo(/*0*/ p0: ((kotlin.String, kotlin.String) -> kotlin.Int)?): kotlin.Unit
public abstract fun foo(/*0*/ p0: java.util.Comparator<kotlin.String>?): kotlin.Unit
public final /*synthesized*/ fun foo(/*0*/ p0: ((kotlin.String!, kotlin.String!) -> kotlin.Int)!): kotlin.Unit
public abstract fun foo(/*0*/ p0: java.util.Comparator<kotlin.String!>!): kotlin.Unit
}
public trait Super2</*0*/ T> {
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
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
}
public trait Super2Substituted : test.InheritedSameAdaptersWithSubstitution.Super2<kotlin.String> {
public final override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: ((kotlin.String, kotlin.String) -> kotlin.Int)?): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: java.util.Comparator<kotlin.String>?): kotlin.Unit
public trait Super2Substituted : test.InheritedSameAdaptersWithSubstitution.Super2<kotlin.String!> {
public final override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: ((kotlin.String!, kotlin.String!) -> kotlin.Int)!): kotlin.Unit
public abstract override /*1*/ /*fake_override*/ fun foo(/*0*/ p0: java.util.Comparator<kotlin.String!>!): kotlin.Unit
}
// 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 Super2Substituted(/*0*/ function: (java.util.Comparator<kotlin.String>?) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super2Substituted
public /*synthesized*/ fun Sub(/*0*/ function: (java.util.Comparator<kotlin.String!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Sub
public /*synthesized*/ fun Super1(/*0*/ function: (java.util.Comparator<kotlin.String!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super1
public /*synthesized*/ fun </*0*/ T> Super2(/*0*/ function: (java.util.Comparator<T!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super2<T>
public /*synthesized*/ fun Super2Substituted(/*0*/ function: (java.util.Comparator<kotlin.String!>!) -> kotlin.Unit): test.InheritedSameAdaptersWithSubstitution.Super2Substituted
}