/* /nodynamiccopyright/ */ public class TestCaseSwitch { @AliveRange(varName="o", bytecodeStart=31, bytecodeLength=16) @AliveRange(varName="o", bytecodeStart=50, bytecodeLength=15) @AliveRange(varName="o", bytecodeStart=68, bytecodeLength=1) @AliveRange(varName="oo", bytecodeStart=39, bytecodeLength=8) @AliveRange(varName="uu", bytecodeStart=59, bytecodeLength=6) void m1(String[] args) { Object o; switch (args.length) { case 0: o = "0"; o.hashCode(); Object oo = "oo"; oo.hashCode(); break; case 1: o = "1"; o.hashCode(); Object uu = "uu"; uu.hashCode(); break; } o = "return"; } @AliveRange(varName="o", bytecodeStart=95, bytecodeLength=18) @AliveRange(varName="o", bytecodeStart=116, bytecodeLength=15) @AliveRange(varName="o", bytecodeStart=134, bytecodeLength=1) @AliveRange(varName="oo", bytecodeStart=104, bytecodeLength=9) @AliveRange(varName="uu", bytecodeStart=125, bytecodeLength=6) void m2(String[] args) { Object o; switch (args[0]) { case "string0": o = "0"; o.hashCode(); Object oo = "oo"; oo.hashCode(); break; case "string1": o = "1"; o.hashCode(); Object uu = "uu"; uu.hashCode(); break; } o = "return"; } @AliveRange(varName="o", bytecodeStart=35, bytecodeLength=8) @AliveRange(varName="o", bytecodeStart=46, bytecodeLength=8) @AliveRange(varName="o", bytecodeStart=78, bytecodeLength=5) @AliveRange(varName="o", bytecodeStart=86, bytecodeLength=1) @AliveRange(varName="oo", bytecodeStart=56, bytecodeLength=16) void m3(int i) { Object o; switch (i) { case 0: o = "0"; o.hashCode(); break; case 1: o = "1"; o.hashCode(); break; case 2: int oo = i; if (oo > 1) { System.out.println("greater"); } break; case 3: int uu = i; default: o = "default"; o.hashCode(); } o = "finish"; } @AliveRange(varName="oCache", bytecodeStart=30, bytecodeLength=6) @AliveRange(varName="cache", bytecodeStart=41, bytecodeLength=3) @AliveRange(varName="cache", bytecodeStart=54, bytecodeLength=2) @AliveRange(varName="service", bytecodeStart=39, bytecodeLength=5) Object m4(int i) { Object cache; switch (i) { case 0: Object oCache = null; if (oCache != null) { return oCache; } case 1: Object service = null; cache = null; break; default: throw new AssertionError(""); } return cache; } }