test/tools/javac/flow/tests/TestCaseSwitch.java

Wed, 08 Oct 2014 14:16:40 -0700

author
asaha
date
Wed, 08 Oct 2014 14:16:40 -0700
changeset 2586
f5e5ca7505e2
parent 2534
71a31843f550
child 2709
dca7f60e618d
permissions
-rw-r--r--

Merge

aoqi@0 1 /* /nodynamiccopyright/ */
aoqi@0 2
aoqi@0 3 public class TestCaseSwitch {
aoqi@0 4
aoqi@0 5 @AliveRange(varName="o", bytecodeStart=31, bytecodeLength=16)
aoqi@0 6 @AliveRange(varName="o", bytecodeStart=50, bytecodeLength=15)
aoqi@0 7 @AliveRange(varName="o", bytecodeStart=68, bytecodeLength=1)
vromero@2534 8 @AliveRange(varName="oo", bytecodeStart=39, bytecodeLength=8)
aoqi@0 9 @AliveRange(varName="uu", bytecodeStart=59, bytecodeLength=6)
aoqi@0 10 void m1(String[] args) {
aoqi@0 11 Object o;
aoqi@0 12 switch (args.length) {
aoqi@0 13 case 0:
aoqi@0 14 o = "0";
aoqi@0 15 o.hashCode();
aoqi@0 16 Object oo = "oo";
aoqi@0 17 oo.hashCode();
aoqi@0 18 break;
aoqi@0 19 case 1:
aoqi@0 20 o = "1";
aoqi@0 21 o.hashCode();
aoqi@0 22 Object uu = "uu";
aoqi@0 23 uu.hashCode();
aoqi@0 24 break;
aoqi@0 25 }
aoqi@0 26 o = "return";
aoqi@0 27 }
aoqi@0 28
aoqi@0 29 @AliveRange(varName="o", bytecodeStart=95, bytecodeLength=18)
aoqi@0 30 @AliveRange(varName="o", bytecodeStart=116, bytecodeLength=15)
aoqi@0 31 @AliveRange(varName="o", bytecodeStart=134, bytecodeLength=1)
vromero@2534 32 @AliveRange(varName="oo", bytecodeStart=104, bytecodeLength=9)
aoqi@0 33 @AliveRange(varName="uu", bytecodeStart=125, bytecodeLength=6)
aoqi@0 34 void m2(String[] args) {
aoqi@0 35 Object o;
aoqi@0 36 switch (args[0]) {
aoqi@0 37 case "string0":
aoqi@0 38 o = "0";
aoqi@0 39 o.hashCode();
aoqi@0 40 Object oo = "oo";
aoqi@0 41 oo.hashCode();
aoqi@0 42 break;
aoqi@0 43 case "string1":
aoqi@0 44 o = "1";
aoqi@0 45 o.hashCode();
aoqi@0 46 Object uu = "uu";
aoqi@0 47 uu.hashCode();
aoqi@0 48 break;
aoqi@0 49 }
aoqi@0 50 o = "return";
aoqi@0 51 }
aoqi@0 52
vromero@2534 53 @AliveRange(varName="o", bytecodeStart=35, bytecodeLength=8)
vromero@2534 54 @AliveRange(varName="o", bytecodeStart=46, bytecodeLength=8)
vromero@2534 55 @AliveRange(varName="o", bytecodeStart=78, bytecodeLength=5)
vromero@2534 56 @AliveRange(varName="o", bytecodeStart=86, bytecodeLength=1)
vromero@2534 57 @AliveRange(varName="oo", bytecodeStart=56, bytecodeLength=16)
vromero@2534 58 void m3(int i) {
aoqi@0 59 Object o;
vromero@2534 60 switch (i) {
aoqi@0 61 case 0:
aoqi@0 62 o = "0";
aoqi@0 63 o.hashCode();
aoqi@0 64 break;
aoqi@0 65 case 1:
aoqi@0 66 o = "1";
aoqi@0 67 o.hashCode();
aoqi@0 68 break;
vromero@2534 69 case 2:
vromero@2534 70 int oo = i;
vromero@2534 71 if (oo > 1) {
vromero@2534 72 System.out.println("greater");
vromero@2534 73 }
vromero@2534 74 break;
vromero@2534 75 case 3:
vromero@2534 76 int uu = i;
aoqi@0 77 default:
aoqi@0 78 o = "default";
aoqi@0 79 o.hashCode();
aoqi@0 80 }
aoqi@0 81 o = "finish";
aoqi@0 82 }
vromero@2534 83
aoqi@0 84 }

mercurial