1/**
2 * @test  /nodynamiccopyright/
3 * @bug 4759494 4986256
4 * @compile/ref=DivZero.noLint.out                   -XDrawDiagnostics DivZero.java
5 * @compile/ref=DivZero.lint.out    -Xlint:divzero   -XDrawDiagnostics DivZero.java
6 * @compile/ref=DivZero.lint.out    -Xlint:all,-path -XDrawDiagnostics DivZero.java
7 */
8
9class DivZero
10{
11    public static final int ONE = 1;
12
13    public int i1 = 1 / 0;
14    public static final int i2 = 1 / 0;
15
16    public int i3 = 1 % 0;
17    public static final int i4 = 1 % 0;
18
19    public static final int i5 = 1 / (1 - 1);
20    public static final int i6 = 1 / (ONE - 1);
21    public static final int i7 = 1 / (ONE - ONE);
22
23    public  static final int i8 = 1 % (1 - 1);
24    public  static final int i9 = 1 % (ONE - 1);
25    public  static final int i10 = 1 % (ONE - ONE);
26
27    public static final long ONEL = 1L;
28
29    public long l1 = 1L / 0L;
30    public static final long l2 = 1L / 0L;
31
32    public long l3 = 1L % 0L;
33    public static final long l4 = 1L % 0L;
34
35    public static final long l5 = 1L / (1L - 1L);
36    public static final long l6 = 1L / (ONEL - 1L);
37    public static final long l7 = 1L / (ONEL - ONEL);
38
39    public  static final long l8 = 1L % (1L - 1L);
40    public  static final long l9 = 1L % (ONEL - 1L);
41    public  static final long l10 = 1L % (ONEL - ONEL);
42
43
44    static void m() {
45        int mi1 = 1 / 0;
46        int mi2 = 1 % 0;
47
48        mi1 /= 0;
49        mi1 %= 0;
50
51        long ml1 = 1L / 0L;
52        long ml2 = 1L % 0L;
53
54        ml1 /= 0L;
55        ml1 %= 0L;
56    }
57}
58
59@SuppressWarnings("divzero")
60class DivZero2
61{
62    public static final int ONE = 1;
63
64    public int i1 = 1 / 0;
65    public static final int i2 = 1 / 0;
66
67    public int i3 = 1 % 0;
68    public static final int i4 = 1 % 0;
69
70    public static final int i5 = 1 / (1 - 1);
71    public static final int i6 = 1 / (ONE - 1);
72    public static final int i7 = 1 / (ONE - ONE);
73
74    public  static final int i8 = 1 % (1 - 1);
75    public  static final int i9 = 1 % (ONE - 1);
76    public  static final int i10 = 1 % (ONE - ONE);
77
78    public static final long ONEL = 1L;
79
80    public long l1 = 1L / 0L;
81    public static final long l2 = 1L / 0L;
82
83    public long l3 = 1L % 0L;
84    public static final long l4 = 1L % 0L;
85
86    public static final long l5 = 1L / (1L - 1L);
87    public static final long l6 = 1L / (ONEL - 1L);
88    public static final long l7 = 1L / (ONEL - ONEL);
89
90    public  static final long l8 = 1L % (1L - 1L);
91    public  static final long l9 = 1L % (ONEL - 1L);
92    public  static final long l10 = 1L % (ONEL - ONEL);
93
94
95    static void m() {
96        int mi1 = 1 / 0;
97        int mi2 = 1 % 0;
98
99        mi1 /= 0;
100        mi1 %= 0;
101
102        long ml1 = 1L / 0L;
103        long ml2 = 1L % 0L;
104
105        ml1 /= 0L;
106        ml1 %= 0L;
107    }
108}
109
110class DivZero3
111{
112    @SuppressWarnings("divzero")
113    public int i1 = 1 / 0;
114    @SuppressWarnings("divzero")
115    public static final int i2 = 1 / 0;
116
117    @SuppressWarnings("divzero")
118    public int i3 = 1 % 0;
119    @SuppressWarnings("divzero")
120    public static final int i4 = 1 % 0;
121
122    @SuppressWarnings("divzero")
123    public long l1 = 1L / 0L;
124    @SuppressWarnings("divzero")
125    public static final long l2 = 1L / 0L;
126
127    @SuppressWarnings("divzero")
128    public long l3 = 1L % 0L;
129    @SuppressWarnings("divzero")
130    public static final long l4 = 1L % 0L;
131
132
133    @SuppressWarnings("divzero")
134    static void m() {
135        int mi1 = 1 / 0;
136        int mi2 = 1 % 0;
137
138        mi1 /= 0;
139        mi1 %= 0;
140
141        long ml1 = 1L / 0L;
142        long ml2 = 1L % 0L;
143
144        ml1 /= 0L;
145        ml1 %= 0L;
146    }
147}
148