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