J2K: convert annotations in annotations parameters correctly
#KT-11126 Fixed
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
public @interface Ann {
|
||||
Inner[] value();
|
||||
InnerParam[] test1() default @InnerParam(C.class);
|
||||
}
|
||||
|
||||
public @interface Inner {
|
||||
|
||||
}
|
||||
|
||||
public @interface InnerParam {
|
||||
Class<?> value();
|
||||
}
|
||||
|
||||
@Ann(value = {@Inner, @Inner}, test1 = { @InnerParam(C.class) })
|
||||
public class C {
|
||||
}
|
||||
|
||||
@Ann({@Inner, @Inner})
|
||||
public class D {
|
||||
}
|
||||
|
||||
@Ann(value = @Inner)
|
||||
public class E {
|
||||
}
|
||||
|
||||
@Ann(value = {@Inner}, test1 = { @InnerParam(value = C.class) })
|
||||
public class F {
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann(vararg val value: Inner, val test1: Array<InnerParam> = arrayOf(InnerParam(C::class)))
|
||||
|
||||
annotation class Inner
|
||||
|
||||
annotation class InnerParam(val value: KClass<*>)
|
||||
|
||||
@Ann(value = *arrayOf(Inner(), Inner()), test1 = arrayOf(InnerParam(C::class)))
|
||||
class C
|
||||
|
||||
@Ann(Inner(), Inner())
|
||||
class D
|
||||
|
||||
@Ann(value = Inner())
|
||||
class E
|
||||
|
||||
@Ann(value = *arrayOf(Inner()), test1 = arrayOf(InnerParam(value = C::class)))
|
||||
class F
|
||||
@@ -0,0 +1,16 @@
|
||||
public @interface Ann {
|
||||
int i() default 1;
|
||||
int[] i2() default 1;
|
||||
int[] i3() default { 1 };
|
||||
Class<?> klass() default A.class;
|
||||
Class<?>[] klass2() default A.class;
|
||||
Class<?>[] klass3() default { A.class };
|
||||
Inner ann() default @Inner();
|
||||
Inner[] ann2() default @Inner;
|
||||
Inner[] ann3() default { @Inner, @Inner() };
|
||||
}
|
||||
|
||||
public class A
|
||||
public @interface Inner {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
annotation class Ann(val i: Int = 1, val i2: IntArray = intArrayOf(1), val i3: IntArray = intArrayOf(1), val klass: KClass<*> = A::class, val klass2: Array<KClass<*>> = arrayOf(A::class), val klass3: Array<KClass<*>> = arrayOf(A::class), val ann: Inner = Inner(), val ann2: Array<Inner> = arrayOf(Inner()), val ann3: Array<Inner> = arrayOf(Inner(), Inner()))
|
||||
|
||||
class A
|
||||
annotation class Inner
|
||||
Reference in New Issue
Block a user