xref: /aosp_15_r20/external/javassist/src/test/test4/JIRA181.java (revision f1fbf3c2ab775ce834e0af96b7a85bdc7a0eac65)
1*f1fbf3c2SXin Li package test4;
2*f1fbf3c2SXin Li 
3*f1fbf3c2SXin Li import java.util.ArrayList;
4*f1fbf3c2SXin Li 
5*f1fbf3c2SXin Li public class JIRA181<T extends Number> extends ArrayList<T> {
6*f1fbf3c2SXin Li     /** default serialVersionUID */
7*f1fbf3c2SXin Li     private static final long serialVersionUID = 1L;
8*f1fbf3c2SXin Li 
9*f1fbf3c2SXin Li     public @interface Condition {
condition()10*f1fbf3c2SXin Li     	Class<? extends ICondition> condition();
11*f1fbf3c2SXin Li     }
12*f1fbf3c2SXin Li 
13*f1fbf3c2SXin Li     public @interface Condition2 {
condition()14*f1fbf3c2SXin Li     	Class<?> condition();
15*f1fbf3c2SXin Li     }
16*f1fbf3c2SXin Li 
17*f1fbf3c2SXin Li     @Condition(condition = B.class)
18*f1fbf3c2SXin Li     public Object aField;
19*f1fbf3c2SXin Li 
20*f1fbf3c2SXin Li     @Condition2(condition = B[].class)
21*f1fbf3c2SXin Li     public Object aField2;
22*f1fbf3c2SXin Li 
23*f1fbf3c2SXin Li     public interface ICondition {
match(Object src)24*f1fbf3c2SXin Li         boolean match(Object src);
25*f1fbf3c2SXin Li     }
26*f1fbf3c2SXin Li 
27*f1fbf3c2SXin Li     private class B implements ICondition {
match(Object src)28*f1fbf3c2SXin Li         public boolean match(Object src) {
29*f1fbf3c2SXin Li             return JIRA181.this.size() > 0;
30*f1fbf3c2SXin Li         }
31*f1fbf3c2SXin Li     }
32*f1fbf3c2SXin Li }
33