Deprecate java.lang.Class as annotation parameter

This commit is contained in:
Denis Zharkov
2015-04-20 15:27:52 +03:00
parent fa2af69942
commit fc5236244b
17 changed files with 91 additions and 2 deletions
@@ -0,0 +1,10 @@
annotation class Ann(
val x1: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>Class<*><!>,
val x2: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>Class<in String?><!>,
val x3: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>Class<out String?><!>,
val x4: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>java.lang.Class<*><!>,
val x5: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>Array<Class<*>><!>,
val x6: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>Array<in Class<*>><!>,
val x7: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>Array<out Class<*>><!>,
vararg val x8: <!JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION!>Class<*><!>
)
@@ -0,0 +1,16 @@
package
internal final annotation class Ann : kotlin.Annotation {
public constructor Ann(/*0*/ x1: java.lang.Class<*>, /*1*/ x2: java.lang.Class<in kotlin.String?>, /*2*/ x3: java.lang.Class<out kotlin.String?>, /*3*/ x4: java.lang.Class<*>, /*4*/ x5: kotlin.Array<java.lang.Class<*>>, /*5*/ x6: kotlin.Array<in java.lang.Class<*>>, /*6*/ x7: kotlin.Array<out java.lang.Class<*>>, /*7*/ vararg x8: java.lang.Class<*> /*kotlin.Array<out java.lang.Class<*>>*/)
internal final val x1: java.lang.Class<*>
internal final val x2: java.lang.Class<in kotlin.String?>
internal final val x3: java.lang.Class<out kotlin.String?>
internal final val x4: java.lang.Class<*>
internal final val x5: kotlin.Array<java.lang.Class<*>>
internal final val x6: kotlin.Array<in java.lang.Class<*>>
internal final val x7: kotlin.Array<out java.lang.Class<*>>
internal final val x8: 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
}
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION
package test
import java.lang.annotation.RetentionPolicy
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION
package test
annotation class AnnClass(val a: Class<*>)
@@ -0,0 +1,11 @@
package test
import kotlin.reflect.KClass
annotation class AnnClass(val a: KClass<*>)
class MyClass {
AnnClass(MyClass::class) companion object {
}
}
@@ -0,0 +1,26 @@
package
package test {
internal final annotation class AnnClass : kotlin.Annotation {
public constructor AnnClass(/*0*/ a: kotlin.reflect.KClass<*>)
internal final val a: kotlin.reflect.KClass<*>
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
}
internal final class MyClass {
public constructor MyClass()
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
test.AnnClass(a = test.MyClass::class: kotlin.reflect.KClass<test.MyClass>) internal companion object Companion {
private constructor Companion()
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
}
}
}
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION
annotation class Ann(val i: IntArray)
Ann(intArrayOf(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>))
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION
annotation class AnnC(val c: Class<*>)
AnnC(<!ANNOTATION_PARAMETER_MUST_BE_CLASS_LITERAL!>c<!>)
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION
annotation class Ann(vararg val i: Int)
Ann(<!ANNOTATION_PARAMETER_MUST_BE_CONST!>i<!>)
@@ -1,3 +1,4 @@
// !DIAGNOSTICS: -JAVA_LANG_CLASS_PARAMETER_IN_ANNOTATION
package a.b.c
kotlin.deprecated("aaa")