1*f1fbf3c2SXin Li package test4; 2*f1fbf3c2SXin Li 3*f1fbf3c2SXin Li enum GetAllRefEnum { A, B }; 4*f1fbf3c2SXin Li 5*f1fbf3c2SXin Li @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) 6*f1fbf3c2SXin Li @interface GetAllRefAnno { getA()7*f1fbf3c2SXin Li GetAllRefEnum getA(); getC()8*f1fbf3c2SXin Li Class getC(); 9*f1fbf3c2SXin Li } 10*f1fbf3c2SXin Li 11*f1fbf3c2SXin Li @interface GetAllRefAnnoC {} 12*f1fbf3c2SXin Li 13*f1fbf3c2SXin Li @interface GetAllRefAnnoC2 {} 14*f1fbf3c2SXin Li 15*f1fbf3c2SXin Li @interface GetAllRefAnnoC3 {} 16*f1fbf3c2SXin Li 17*f1fbf3c2SXin Li @interface GetAllRefAnnoC4 {} 18*f1fbf3c2SXin Li 19*f1fbf3c2SXin Li @GetAllRefAnno(getA = GetAllRefEnum.A, getC = String.class) 20*f1fbf3c2SXin Li public class GetAllRef { 21*f1fbf3c2SXin Li } 22*f1fbf3c2SXin Li 23*f1fbf3c2SXin Li @GetAllRefAnno(getA = GetAllRefEnum.A, getC = String.class) 24*f1fbf3c2SXin Li class GetAllRefB { 25*f1fbf3c2SXin Li } 26*f1fbf3c2SXin Li 27*f1fbf3c2SXin Li @GetAllRefAnno(getA = GetAllRefEnum.A, getC = String.class) 28*f1fbf3c2SXin Li class GetAllRefC { bar(@etAllRefAnnoC3 int i, int j, @GetAllRefAnnoC2 @GetAllRefAnnoC4 boolean b)29*f1fbf3c2SXin Li void bar(@GetAllRefAnnoC3 int i, int j, 30*f1fbf3c2SXin Li @GetAllRefAnnoC2 @GetAllRefAnnoC4 boolean b) {} foo()31*f1fbf3c2SXin Li @GetAllRefAnnoC void foo() {} 32*f1fbf3c2SXin Li @GetAllRefAnnoC2 int value; 33*f1fbf3c2SXin Li } 34