Minor. Add tests with arrays in annotations
This commit is contained in:
@@ -8,38 +8,108 @@ import kotlin.reflect.KClass
|
||||
@JvmInline
|
||||
value class ICInt(val i: Int)
|
||||
|
||||
@JvmInline
|
||||
value class ICIntArray(val i: IntArray)
|
||||
|
||||
@JvmInline
|
||||
value class ICIntN(val i: Int?)
|
||||
|
||||
@JvmInline
|
||||
value class ICIntNArray(val i: Array<Int?>)
|
||||
|
||||
@JvmInline
|
||||
value class ICAny(val a: Any)
|
||||
|
||||
@JvmInline
|
||||
value class ICAnyArray(val a: Array<Any>)
|
||||
|
||||
@JvmInline
|
||||
value class ICAnyNArray(val a: Array<Any?>)
|
||||
|
||||
annotation class Ann(val c: KClass<*>)
|
||||
annotation class AnnArray(val c: Array<KClass<*>>)
|
||||
|
||||
@Ann(ICInt::class)
|
||||
@AnnArray([ICInt::class])
|
||||
class CInt
|
||||
|
||||
@Ann(ICIntArray::class)
|
||||
@AnnArray([ICIntArray::class])
|
||||
class CIntArray
|
||||
|
||||
@Ann(ICIntN::class)
|
||||
@AnnArray([ICIntN::class])
|
||||
class CIntN
|
||||
|
||||
@Ann(ICIntNArray::class)
|
||||
@AnnArray([ICIntNArray::class])
|
||||
class CIntNArray
|
||||
|
||||
@Ann(ICAny::class)
|
||||
@AnnArray([ICAny::class])
|
||||
class CAny
|
||||
|
||||
@Ann(ICAnyArray::class)
|
||||
@AnnArray([ICAnyArray::class])
|
||||
class CAnyArray
|
||||
|
||||
@Ann(Result::class)
|
||||
@AnnArray([Result::class])
|
||||
class CResult
|
||||
|
||||
@Ann(ICAnyNArray::class)
|
||||
@AnnArray([ICAnyNArray::class])
|
||||
class CAnyNArray
|
||||
|
||||
fun box(): String {
|
||||
var klass = (CInt::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class test.ICInt") return "Expected class test.ICInt, got $klass"
|
||||
|
||||
klass = (CIntArray::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class test.ICIntArray") return "Expected class test.ICIntArray, got $klass"
|
||||
|
||||
klass = (CIntN::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class test.ICIntN") return "Expected class test.ICIntN, got $klass"
|
||||
|
||||
klass = (CIntNArray::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class test.ICIntNArray") return "Expected class test.ICIntNArray, got $klass"
|
||||
|
||||
klass = (CAny::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class test.ICAny") return "Expected class test.ICAny, got $klass"
|
||||
|
||||
klass = (CAnyArray::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class test.ICAnyArray") return "Expected class test.ICAnyArray, got $klass"
|
||||
|
||||
klass = (CResult::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class kotlin.Result") return "Expected class kotlin.Result, got $klass"
|
||||
|
||||
klass = (CAnyNArray::class.annotations.first() as Ann).c.toString()
|
||||
if (klass != "class test.ICAnyNArray") return "Expected class test.ICAnyNArray, got $klass"
|
||||
|
||||
|
||||
klass = (CInt::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class test.ICInt") return "Expected class test.ICInt, got $klass"
|
||||
|
||||
klass = (CIntArray::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class test.ICIntArray") return "Expected class test.ICIntArray, got $klass"
|
||||
|
||||
klass = (CIntN::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class test.ICIntN") return "Expected class test.ICIntN, got $klass"
|
||||
|
||||
klass = (CIntNArray::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class test.ICIntNArray") return "Expected class test.ICIntNArray, got $klass"
|
||||
|
||||
klass = (CAny::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class test.ICAny") return "Expected class test.ICAny, got $klass"
|
||||
|
||||
klass = (CAnyArray::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class test.ICAnyArray") return "Expected class test.ICAnyArray, got $klass"
|
||||
|
||||
klass = (CResult::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class kotlin.Result") return "Expected class kotlin.Result, got $klass"
|
||||
|
||||
klass = (CAnyNArray::class.annotations.last() as AnnArray).c[0].toString()
|
||||
if (klass != "class test.ICAnyNArray") return "Expected class test.ICAnyNArray, got $klass"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user