KT-6698 Bad class file when using a star-projection on a Java's recursive generic parameter

#KT-6698 Fixed
This commit is contained in:
Andrey Breslav
2015-01-30 18:49:30 +03:00
parent 8d5a6d729e
commit da639039bd
61 changed files with 996 additions and 847 deletions
@@ -3,8 +3,8 @@ package
package test {
internal final annotation class AnnClass : kotlin.Annotation {
public constructor AnnClass(/*0*/ a: java.lang.Class<out kotlin.Any?>)
internal final val a: java.lang.Class<out kotlin.Any?>
public constructor AnnClass(/*0*/ a: java.lang.Class<*>)
internal final val a: java.lang.Class<*>
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
@@ -24,8 +24,8 @@ internal final annotation class AnnAnn : kotlin.Annotation {
}
internal final annotation class AnnJC : kotlin.Annotation {
public constructor AnnJC(/*0*/ i: kotlin.Array<java.lang.Class<out kotlin.Any?>>)
internal final val i: kotlin.Array<java.lang.Class<out kotlin.Any?>>
public constructor AnnJC(/*0*/ i: kotlin.Array<java.lang.Class<*>>)
internal final val i: kotlin.Array<java.lang.Class<*>>
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
@@ -45,7 +45,7 @@ AnnAnn(i = {Ann(i = {IntegerValueType(1)}: kotlin.IntArray)}: kotlin.Array<Ann>)
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
AnnJC(i = {Test.class}: kotlin.Array<java.lang.Class<out kotlin.Any?>>) AnnJC(i = {}: kotlin.Array<java.lang.Class<out kotlin.Any?>>) internal final class TestJC {
AnnJC(i = {Test.class}: kotlin.Array<java.lang.Class<*>>) AnnJC(i = {}: kotlin.Array<java.lang.Class<*>>) internal final class TestJC {
public constructor TestJC()
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,6 +1,6 @@
package
internal val c: java.lang.Class<out kotlin.Any?>
internal val c: java.lang.Class<*>
internal final class A {
public constructor A()
@@ -10,8 +10,8 @@ internal final class A {
}
internal final annotation class AnnC : kotlin.Annotation {
public constructor AnnC(/*0*/ c: java.lang.Class<out kotlin.Any?>)
internal final val c: java.lang.Class<out kotlin.Any?>
public constructor AnnC(/*0*/ c: java.lang.Class<*>)
internal final val c: java.lang.Class<*>
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
@@ -24,8 +24,8 @@ internal final annotation class AnnAnn : kotlin.Annotation {
}
internal final annotation class AnnJC : kotlin.Annotation {
public constructor AnnJC(/*0*/ vararg i: java.lang.Class<out kotlin.Any?> /*kotlin.Array<out java.lang.Class<out kotlin.Any?>>*/)
internal final val i: kotlin.Array<out java.lang.Class<out kotlin.Any?>>
public constructor AnnJC(/*0*/ vararg i: java.lang.Class<*> /*kotlin.Array<out java.lang.Class<*>>*/)
internal final val i: kotlin.Array<out java.lang.Class<*>>
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
@@ -55,8 +55,8 @@ package a {
}
internal final annotation class annJavaClass : kotlin.Annotation {
public constructor annJavaClass(/*0*/ p: java.lang.Class<out kotlin.Any?> = ...)
internal final val p: java.lang.Class<out kotlin.Any?>
public constructor annJavaClass(/*0*/ p: java.lang.Class<*> = ...)
internal final val p: java.lang.Class<*>
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
@@ -10,10 +10,10 @@ private val INT: CompileTimeType<kotlin.Int>
private val LONG: CompileTimeType<kotlin.Long>
private val SHORT: CompileTimeType<kotlin.Short>
private val STRING: CompileTimeType<kotlin.String>
private val binaryOperations: java.util.HashMap<BinaryOperationKey<out kotlin.Any?, out kotlin.Any?>, kotlin.Pair<(kotlin.Any?, kotlin.Any?) -> kotlin.Any, (BigInteger, BigInteger) -> BigInteger>>
private val binaryOperations: java.util.HashMap<BinaryOperationKey<*, *>, kotlin.Pair<(kotlin.Any?, kotlin.Any?) -> kotlin.Any, (BigInteger, BigInteger) -> BigInteger>>
private val emptyBinaryFun: (BigInteger, BigInteger) -> BigInteger
private val emptyUnaryFun: (kotlin.Long) -> kotlin.Long
private val unaryOperations: java.util.HashMap<UnaryOperationKey<out kotlin.Any?>, kotlin.Pair<(kotlin.Any?) -> kotlin.Any, (kotlin.Long) -> kotlin.Long>>
private val unaryOperations: java.util.HashMap<UnaryOperationKey<*>, kotlin.Pair<(kotlin.Any?) -> kotlin.Any, (kotlin.Long) -> kotlin.Long>>
private fun </*0*/ A, /*1*/ B> binaryOperation(/*0*/ a: CompileTimeType<A>, /*1*/ b: CompileTimeType<B>, /*2*/ functionName: kotlin.String, /*3*/ operation: (A, B) -> kotlin.Any, /*4*/ checker: (BigInteger, BigInteger) -> BigInteger): kotlin.Pair<BinaryOperationKey<A, B>, kotlin.Pair<(kotlin.Any?, kotlin.Any?) -> kotlin.Any, (BigInteger, BigInteger) -> BigInteger>>
private fun </*0*/ A> unaryOperation(/*0*/ a: CompileTimeType<A>, /*1*/ functionName: kotlin.String, /*2*/ operation: (A) -> kotlin.Any, /*3*/ checker: (kotlin.Long) -> kotlin.Long): kotlin.Pair<UnaryOperationKey<A>, kotlin.Pair<(kotlin.Any?) -> kotlin.Any, (kotlin.Long) -> kotlin.Long>>
@@ -3,5 +3,5 @@ package
package j {
internal fun testArrays(/*0*/ ci: kotlin.List<kotlin.Int?>, /*1*/ cii: kotlin.List<kotlin.Int?>?): kotlin.Unit
internal fun </*0*/ T : kotlin.Any> T?.sure(): T
internal fun </*0*/ E> kotlin.List<kotlin.Any?>.toArray(/*0*/ ar: kotlin.Array<E>): kotlin.Array<E>
internal fun </*0*/ E> kotlin.List<*>.toArray(/*0*/ ar: kotlin.Array<E>): kotlin.Array<E>
}