xref: /aosp_15_r20/external/javassist/src/test/test4/JIRA207.java (revision f1fbf3c2ab775ce834e0af96b7a85bdc7a0eac65)
1*f1fbf3c2SXin Li package test4;
2*f1fbf3c2SXin Li 
3*f1fbf3c2SXin Li public class JIRA207 {
run()4*f1fbf3c2SXin Li     public int run() {
5*f1fbf3c2SXin Li         int i = 3;
6*f1fbf3c2SXin Li         return foo(i);
7*f1fbf3c2SXin Li     }
8*f1fbf3c2SXin Li 
foo(int i)9*f1fbf3c2SXin Li     public int foo(int i) {
10*f1fbf3c2SXin Li         int k = i + 3;
11*f1fbf3c2SXin Li         if (k > 0)
12*f1fbf3c2SXin Li             return k * k;
13*f1fbf3c2SXin Li         else
14*f1fbf3c2SXin Li             return k;
15*f1fbf3c2SXin Li     }
16*f1fbf3c2SXin Li 
run2()17*f1fbf3c2SXin Li     public int run2() {
18*f1fbf3c2SXin Li         int i = 0;
19*f1fbf3c2SXin Li         int p = i;
20*f1fbf3c2SXin Li         int q = p;
21*f1fbf3c2SXin Li         int r = q;
22*f1fbf3c2SXin Li         for (int k = 1; k < 3; ++k)
23*f1fbf3c2SXin Li             p += k;
24*f1fbf3c2SXin Li 
25*f1fbf3c2SXin Li         for (int k = 3; k > 0; --k)
26*f1fbf3c2SXin Li             try {
27*f1fbf3c2SXin Li                 foo(k);
28*f1fbf3c2SXin Li                 p++;
29*f1fbf3c2SXin Li             }
30*f1fbf3c2SXin Li             finally {
31*f1fbf3c2SXin Li                 p++;
32*f1fbf3c2SXin Li             }
33*f1fbf3c2SXin Li 
34*f1fbf3c2SXin Li         try {
35*f1fbf3c2SXin Li             foo(p);
36*f1fbf3c2SXin Li         }
37*f1fbf3c2SXin Li         catch (RuntimeException e) {
38*f1fbf3c2SXin Li             if (p > 0)
39*f1fbf3c2SXin Li                 throw e;
40*f1fbf3c2SXin Li         }
41*f1fbf3c2SXin Li 
42*f1fbf3c2SXin Li         switch (p) {
43*f1fbf3c2SXin Li         case 1:
44*f1fbf3c2SXin Li             p = 100;
45*f1fbf3c2SXin Li             break;
46*f1fbf3c2SXin Li         default :
47*f1fbf3c2SXin Li             ++p;
48*f1fbf3c2SXin Li         }
49*f1fbf3c2SXin Li         return p + r;
50*f1fbf3c2SXin Li     }
51*f1fbf3c2SXin Li }
52