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