e4158a5571
Convert Java primitive and array types properly. Enums: ignore first two synthetic constructor parameters, do not generate super class constructor call, add ACC_ENUM flag to enum values, do not generate "values" and "valueOf" methods. Provide a JavaFileObject for JCCompilationUnit. Handle DefaultImpls, ignore empty DefaultImpls classes. Use a name table from Javac Names.
88 lines
1.7 KiB
Plaintext
Vendored
88 lines
1.7 KiB
Plaintext
Vendored
public abstract @interface Anno1 {
|
|
}
|
|
|
|
////////////////////
|
|
|
|
|
|
public enum Colors {
|
|
/*public static final*/ WHITE /* = null */,
|
|
/*public static final*/ BLACK /* = null */;
|
|
|
|
Colors() {
|
|
}
|
|
}
|
|
|
|
////////////////////
|
|
|
|
|
|
public abstract @interface Anno2 {
|
|
|
|
public abstract int i() default 5;
|
|
|
|
public abstract java.lang.String s() default "ABC";
|
|
|
|
public abstract int[] ii() default {1, 2, 3};
|
|
|
|
public abstract java.lang.String[] ss() default {"A", "B"};
|
|
|
|
public abstract Anno1 a();
|
|
|
|
public abstract Colors color() default Colors.BLACK;
|
|
|
|
public abstract Colors[] colors() default {Colors.BLACK, Colors.WHITE};
|
|
|
|
public abstract java.lang.Class clazz();
|
|
|
|
public abstract java.lang.Class[] classes();
|
|
}
|
|
|
|
////////////////////
|
|
|
|
|
|
public abstract @interface Anno3 {
|
|
|
|
public abstract java.lang.String value();
|
|
}
|
|
|
|
////////////////////
|
|
|
|
|
|
@Anno3(value = "value")
|
|
@Anno2(a = @Anno1(), clazz = TestAnno.class, classes = {TestAnno.class, Anno1.class})
|
|
@Anno1()
|
|
public final class TestAnno {
|
|
|
|
public TestAnno() {
|
|
super();
|
|
}
|
|
}
|
|
|
|
////////////////////
|
|
|
|
|
|
@Anno2(i = 6, s = "BCD", ii = {4, 5, 6}, ss = {"Z", "X"}, a = @Anno1(), color = Colors.WHITE, colors = {Colors.WHITE}, clazz = TestAnno.class, classes = {TestAnno.class, Anno1.class})
|
|
@Anno3(value = "value")
|
|
public final class TestAnno2 {
|
|
@Anno3(value = "field")
|
|
private java.lang.String b;
|
|
|
|
@Anno1()
|
|
public final void a(@Anno3(value = "param-pam-pam")
|
|
java.lang.String param) {
|
|
}
|
|
|
|
@Anno3(value = "getter")
|
|
public final java.lang.String getB() {
|
|
return null;
|
|
}
|
|
|
|
@Anno3(value = "setter")
|
|
public final void setB(@Anno3(value = "setparam")
|
|
java.lang.String p0) {
|
|
}
|
|
|
|
public TestAnno2() {
|
|
super();
|
|
}
|
|
}
|