Files
kotlin-fork/compiler/testData/javac/diagnostics/tests/Annotations.kt
T
2017-08-29 18:01:36 +03:00

80 lines
1.6 KiB
Kotlin
Vendored

// FILE: a/ann.java
package a;
public @interface ann {
Class value();
}
// FILE: a/x.java
package a;
@ann(String.class)
public class x {
@ann2(value = { @ann1(a = "a" + "b", i = 1 * 2), @ann1(a = "b", i = 2), @ann1(a = "c", i = 3) }, i = 42)
public String method() { return null; }
@ann3((1 + 1))
public String method2() { return null; }
@def
public String method3() { return null; }
@def(1)
public String method4() { return null; }
@def(firstDefault = "f", 5)
public String method5() { return null; }
@def(secondDefault = "s", 14)
public String method6() { return null; }
@def(firstDefault = "f", secondDefault = "s", 17)
public String method7() { return null; }
@def("1", "2", 3)
public String method8() { return null; }
}
// FILE: a/ann1.java
package a;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@interface ann1 {
public String a();
public int i();
}
// FILE: a/ann2.java
package a;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@interface ann2 {
public ann1[] value() default {};
public int i();
}
// FILE: a/ann3.java
package a;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(ElementType.METHOD)
@interface ann3 {
public int value();
}
// FILE: a/def.java
package a;
public @interface def {
String firstDefault() default "firstDefault";
String secondDefault() default "secondDefault";
int notDefault();
}