KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > testdata > bugs > SwitchStatement


1 package testdata.bugs;
2
3 /**
4  * BCEL Buggy at switch statement
5  * @version $Id: SwitchStatement.java,v 1.2 2002/08/31 10:09:30 hchacha Exp $
6  * @author Hidetoshi Ohuchi <hchacha@users.sourceforge.net>
7  */

8 public class SwitchStatement {
9    public SwitchStatement() {
10    }
11
12    private int n = 0;
13    private int m = 1;
14    
15    public void method1(int type, int param) {
16       if (type == 100) {
17           switch (param) {
18           case Enum1.EN_0: m += 1; break;
19           case Enum1.EN_1: m += 1; break;
20           case Enum1.EN_2: m += 2; break;
21           case Enum1.EN_3: m += 3; break;
22           case Enum1.EN_4: m += 4; break;
23           case Enum1.EN_5: m += 5; break;
24           case Enum1.EN_6: m += 6; break;
25           case Enum1.EN_7: m += 7; break;
26           case Enum1.EN_8: m += 8; break;
27           case Enum1.EN_9: m += 9; break;
28           case Enum1.EN_10: m += 10; break;
29           case Enum1.EN_11: m += 11; break;
30           case Enum1.EN_12: m += 12; break;
31           case Enum1.EN_13: m += 13; break;
32           case Enum1.EN_14: m += 14; break;
33           case Enum1.EN_15: m += 15; break;
34           case Enum1.EN_16: m += 16; break;
35           case Enum1.EN_17: m += 17; break;
36           case Enum1.EN_18: m += 18; break;
37           case Enum1.EN_19: m += 19; break;
38           case Enum1.EN_20: m += 20; break;
39           case Enum1.EN_21: m += 21; break;
40           case Enum1.EN_22: m += 22; break;
41           default:
42                   m = 0;
43           }
44       }
45       else if (type == 101) {
46           switch (param) {
47           case Enum1.EN_1: m += 10; break;
48           case Enum1.EN_2: m += 20; break;
49           case Enum1.EN_3: m += 30; break;
50           case Enum1.EN_4: m += 40; break;
51           case Enum1.EN_5: m += 50; break;
52           case Enum1.EN_6: m += 60; break;
53           case Enum1.EN_7: m += 70; break;
54           default:
55                   m = 0;
56           }
57       }
58    }
59 }
60
61 class Enum1 {
62     public static final byte EN_0 = 0;
63     public static final byte EN_1 = 1;
64     public static final byte EN_2 = 2;
65     public static final byte EN_3 = 3;
66     public static final byte EN_4 = 4;
67     public static final byte EN_5 = 5;
68     public static final byte EN_6 = 6;
69     public static final byte EN_7 = 7;
70     public static final byte EN_8 = 8;
71     public static final byte EN_9 = 9;
72     public static final byte EN_10 = 10;
73     public static final byte EN_11 = 11;
74     public static final byte EN_12 = 12;
75     public static final byte EN_13 = 13;
76     public static final byte EN_14 = 14;
77     public static final byte EN_15 = 15;
78     public static final byte EN_16 = 16;
79     public static final byte EN_17 = 17;
80     public static final byte EN_18 = 18;
81     public static final byte EN_19 = 19;
82     public static final byte EN_20 = 20;
83     public static final byte EN_21 = 21;
84     public static final byte EN_22 = 22;
85 }
86
Popular Tags