Load annotation parameter's type for ctr as contravariant

See comment in code
This commit is contained in:
Denis Zharkov
2015-04-15 21:39:05 +03:00
parent 8f0e290dec
commit 294eb1dceb
6 changed files with 23 additions and 14 deletions
@@ -4,13 +4,13 @@ public open class ClassObjectInParamRaw {
public constructor ClassObjectInParamRaw()
public final annotation class Anno : kotlin.Annotation {
public /*synthesized*/ constructor Anno(/*0*/ value: java.lang.Class<*>, /*1*/ arg: kotlin.Array<java.lang.Class<*>>)
public constructor Anno(/*0*/ value: kotlin.reflect.KClass<*>, /*1*/ arg: kotlin.Array<kotlin.reflect.KClass<*>>)
public /*synthesized*/ constructor Anno(/*0*/ value: java.lang.Class<*>, /*1*/ arg: kotlin.Array<out java.lang.Class<*>>)
public constructor Anno(/*0*/ value: kotlin.reflect.KClass<*>, /*1*/ arg: kotlin.Array<out kotlin.reflect.KClass<*>>)
public abstract fun arg(): kotlin.Array<kotlin.reflect.KClass<*>>
public abstract fun value(): kotlin.reflect.KClass<*>
}
test.ClassObjectInParamRaw.Anno(arg = {}: kotlin.Array<kotlin.reflect.KClass<*>>, value = test.ClassObjectInParamRaw.class: java.lang.Class<test.ClassObjectInParamRaw>) public open class Nested {
test.ClassObjectInParamRaw.Anno(arg = {}: kotlin.Array<out kotlin.reflect.KClass<*>>, value = test.ClassObjectInParamRaw.class: java.lang.Class<test.ClassObjectInParamRaw>) public open class Nested {
public constructor Nested()
}
}
@@ -4,8 +4,8 @@ public open class ClassObjectInParamVariance {
public constructor ClassObjectInParamVariance()
public final annotation class Anno : kotlin.Annotation {
public /*synthesized*/ constructor Anno(/*0*/ arg1: java.lang.Class<out kotlin.Int!>, /*1*/ arg2: java.lang.Class<in kotlin.Int!>, /*2*/ arg3: kotlin.Array<java.lang.Class<out kotlin.Int!>>, /*3*/ arg4: kotlin.Array<java.lang.Class<in kotlin.Int!>>, /*4*/ arg5: kotlin.Array<java.lang.Class<out java.lang.Class<*>!>>, /*5*/ arg6: kotlin.Array<java.lang.Class<in java.lang.Class<*>!>>, /*6*/ arg7: kotlin.Array<java.lang.Class<out java.lang.Class<kotlin.Int!>!>>, /*7*/ arg8: kotlin.Array<java.lang.Class<in java.lang.Class<kotlin.Int!>!>>)
public constructor Anno(/*0*/ arg1: kotlin.reflect.KClass<out kotlin.Int!>, /*1*/ arg2: kotlin.reflect.KClass<in kotlin.Int!>, /*2*/ arg3: kotlin.Array<kotlin.reflect.KClass<out kotlin.Int!>>, /*3*/ arg4: kotlin.Array<kotlin.reflect.KClass<in kotlin.Int!>>, /*4*/ arg5: kotlin.Array<kotlin.reflect.KClass<out java.lang.Class<*>!>>, /*5*/ arg6: kotlin.Array<kotlin.reflect.KClass<in java.lang.Class<*>!>>, /*6*/ arg7: kotlin.Array<kotlin.reflect.KClass<out java.lang.Class<kotlin.Int!>!>>, /*7*/ arg8: kotlin.Array<kotlin.reflect.KClass<in java.lang.Class<kotlin.Int!>!>>)
public /*synthesized*/ constructor Anno(/*0*/ arg1: java.lang.Class<out kotlin.Int!>, /*1*/ arg2: java.lang.Class<in kotlin.Int!>, /*2*/ arg3: kotlin.Array<out java.lang.Class<out kotlin.Int!>>, /*3*/ arg4: kotlin.Array<out java.lang.Class<in kotlin.Int!>>, /*4*/ arg5: kotlin.Array<out java.lang.Class<out java.lang.Class<*>!>>, /*5*/ arg6: kotlin.Array<out java.lang.Class<in java.lang.Class<*>!>>, /*6*/ arg7: kotlin.Array<out java.lang.Class<out java.lang.Class<kotlin.Int!>!>>, /*7*/ arg8: kotlin.Array<out java.lang.Class<in java.lang.Class<kotlin.Int!>!>>)
public constructor Anno(/*0*/ arg1: kotlin.reflect.KClass<out kotlin.Int!>, /*1*/ arg2: kotlin.reflect.KClass<in kotlin.Int!>, /*2*/ arg3: kotlin.Array<out kotlin.reflect.KClass<out kotlin.Int!>>, /*3*/ arg4: kotlin.Array<out kotlin.reflect.KClass<in kotlin.Int!>>, /*4*/ arg5: kotlin.Array<out kotlin.reflect.KClass<out java.lang.Class<*>!>>, /*5*/ arg6: kotlin.Array<out kotlin.reflect.KClass<in java.lang.Class<*>!>>, /*6*/ arg7: kotlin.Array<out kotlin.reflect.KClass<out java.lang.Class<kotlin.Int!>!>>, /*7*/ arg8: kotlin.Array<out kotlin.reflect.KClass<in java.lang.Class<kotlin.Int!>!>>)
public abstract fun arg1(): kotlin.reflect.KClass<out kotlin.Int!>
public abstract fun arg2(): kotlin.reflect.KClass<in kotlin.Int!>
public abstract fun arg3(): kotlin.Array<kotlin.reflect.KClass<out kotlin.Int!>>