store annotation info for fields and methods in dependency cache;

supported array values in annotation defaults
This commit is contained in:
Eugene Zhuravlev
2016-07-22 13:49:53 +02:00
parent 45f322dc00
commit 5437898e57
21 changed files with 598 additions and 157 deletions
@@ -0,0 +1,16 @@
Cleaning output files:
out/production/ChangeAnnotationTypeMemberTypeArray/A.class
End of files
Compiling files:
src/A.java
End of files
Cleaning output files:
out/production/ChangeAnnotationTypeMemberTypeArray/C.class
out/production/ChangeAnnotationTypeMemberTypeArray/C1.class
out/production/ChangeAnnotationTypeMemberTypeArray/C2.class
End of files
Compiling files:
src/C.java
src/C1.java
src/C2.java
End of files
@@ -0,0 +1,3 @@
public @interface A {
Class value() default String.class;
}
@@ -0,0 +1,3 @@
public @interface A {
Class[] value() default String.class;
}
@@ -0,0 +1,3 @@
@A(Integer.class)
public class C {
}
@@ -0,0 +1,6 @@
public class C1 {
@A({Long.class, String.class})
void foo() {
}
}
@@ -0,0 +1,5 @@
public class C2 {
@A({Long.class, Double.class})
int field;
}
@@ -0,0 +1,16 @@
Cleaning output files:
out/production/ChangeAnnotationTypeMemberTypeEnumArray/A.class
End of files
Compiling files:
src/A.java
End of files
Cleaning output files:
out/production/ChangeAnnotationTypeMemberTypeEnumArray/C.class
out/production/ChangeAnnotationTypeMemberTypeEnumArray/C1.class
out/production/ChangeAnnotationTypeMemberTypeEnumArray/C2.class
End of files
Compiling files:
src/C.java
src/C1.java
src/C2.java
End of files
@@ -0,0 +1,3 @@
public @interface A {
Val value() default Val.V1;
}
@@ -0,0 +1,3 @@
public @interface A {
Val[] value() default {Val.V1, Val.V2, Val.V3};
}
@@ -0,0 +1,6 @@
public class C1 {
@A({Val.V2, Val.V3})
void foo() {
}
}
@@ -0,0 +1,5 @@
public class C2 {
@A({Val.V1, Val.V2})
int field;
}