TestCaseIfElse.java revision 2772:3bdbc3b8aa14
1/* /nodynamiccopyright/ */ 2 3public class TestCaseIfElse { 4 5 @AliveRange(varName="o", bytecodeStart=9, bytecodeLength=8) 6 @AliveRange(varName="o", bytecodeStart=20, bytecodeLength=9) 7 void m0(String[] args) { 8 Object o; 9 if (args[0] != null) { 10 o = "then"; 11 o.hashCode(); 12 } else { 13 o = "else"; 14 o.hashCode(); 15 } 16 o = "finish"; 17 } 18 19 @AliveRange(varName="o", bytecodeStart=10, bytecodeLength=8) 20 @AliveRange(varName="o", bytecodeStart=21, bytecodeLength=9) 21 void m1() { 22 Object o; 23 int i = 5; 24 if (i == 5) { 25 o = "then"; 26 o.hashCode(); 27 } else { 28 o = "else"; 29 o.hashCode(); 30 } 31 o = "finish"; 32 } 33 34 @AliveRange(varName="o", bytecodeStart=10, bytecodeLength=8) 35 @AliveRange(varName="o", bytecodeStart=21, bytecodeLength=9) 36 void m2() { 37 Object o; 38 int i = 5; 39 if (i != 5) { 40 o = "then"; 41 o.hashCode(); 42 } else { 43 o = "else"; 44 o.hashCode(); 45 } 46 o = "finish"; 47 } 48 49 @AliveRange(varName="o", bytecodeStart=11, bytecodeLength=3) 50 @AliveRange(varName="o", bytecodeStart=17, bytecodeLength=2) 51 Object m3(boolean cond1, boolean cond2) { 52 Object o; 53 if (cond1) { 54 if (cond2) { 55 o = "then"; 56 } else { 57 o = "else"; 58 return null; 59 } 60 } 61 return null; 62 } 63 64 @AliveRange(varName="i", bytecodeStart=6, bytecodeLength=2) 65 int m4(boolean flag) { 66 int i; 67 label: 68 { 69 if (flag) { 70 i = 1; 71 } else { 72 break label; 73 } 74 return i; 75 } 76 return -1; 77 } 78} 79