| /* /nodynamiccopyright/ */ |
| |
| public class TestCaseIfElse { |
| |
| @AliveRange(varName="o", bytecodeStart=9, bytecodeLength=8) |
| @AliveRange(varName="o", bytecodeStart=20, bytecodeLength=9) |
| void m0(String[] args) { |
| Object o; |
| if (args[0] != null) { |
| o = "then"; |
| o.hashCode(); |
| } else { |
| o = "else"; |
| o.hashCode(); |
| } |
| o = "finish"; |
| } |
| |
| @AliveRange(varName="o", bytecodeStart=10, bytecodeLength=8) |
| @AliveRange(varName="o", bytecodeStart=21, bytecodeLength=9) |
| void m1() { |
| Object o; |
| int i = 5; |
| if (i == 5) { |
| o = "then"; |
| o.hashCode(); |
| } else { |
| o = "else"; |
| o.hashCode(); |
| } |
| o = "finish"; |
| } |
| |
| @AliveRange(varName="o", bytecodeStart=10, bytecodeLength=8) |
| @AliveRange(varName="o", bytecodeStart=21, bytecodeLength=9) |
| void m2() { |
| Object o; |
| int i = 5; |
| if (i != 5) { |
| o = "then"; |
| o.hashCode(); |
| } else { |
| o = "else"; |
| o.hashCode(); |
| } |
| o = "finish"; |
| } |
| |
| @AliveRange(varName="o", bytecodeStart=11, bytecodeLength=3) |
| @AliveRange(varName="o", bytecodeStart=17, bytecodeLength=2) |
| Object m3(boolean cond1, boolean cond2) { |
| Object o; |
| if (cond1) { |
| if (cond2) { |
| o = "then"; |
| } else { |
| o = "else"; |
| return null; |
| } |
| } |
| return null; |
| } |
| |
| @AliveRange(varName="i", bytecodeStart=6, bytecodeLength=2) |
| int m4(boolean flag) { |
| int i; |
| label: |
| { |
| if (flag) { |
| i = 1; |
| } else { |
| break label; |
| } |
| return i; |
| } |
| return -1; |
| } |
| } |