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