View Javadoc
1   package com.google.checkstyle.test.chapter4formatting.rule411bracesareused;
2   
3   import java.io.*;
4   import javax.script.*;
5   import java.util.concurrent.*;
6   import java.nio.channels.*;
7   import java.awt.print.*;
8   import java.lang.management.*;
9   import javax.lang.model.element.*;
10  
11  class InputNeedBraces
12  {
13      /** @return helper func **/
14      boolean condition()
15      {
16          return false;
17      }
18  
19      /** Test do/while loops **/
20      void testDoWhile()
21      {
22          // Valid
23          do {
24              testDoWhile();
25          }
26          while (condition());
27  
28          // Invalid
29          do testDoWhile(); while (condition()); //warn
30      }
31  
32      /** Test while loops **/
33      void testWhile()
34      {
35          // Valid
36          while (condition()) {
37              testWhile();
38          }
39  
40          // Invalid
41          while(condition()); //warn
42          while (condition()) //warn
43              testWhile();
44          while (condition()) //warn
45              if (condition()) //warn
46                  testWhile();
47      }
48  
49      /** Test for loops **/
50      void testFor()
51      {
52          // Valid
53          for (int i = 1; i < 5; i++) {
54              testFor();
55          }
56  
57          // Invalid
58          for(int i = 1;i < 5;i++); //warn
59          for (int i = 1; i < 5; i++) //warn
60              testFor();
61          for (int i = 1; i < 5; //warn
62               i++)
63              if (i > 2) //warn
64                  testFor();
65      }
66  
67      /** Test if constructs **/
68      public void testIf()
69      {
70          // Valid
71          if (condition()) {
72              testIf();
73          }
74          else if (condition()) {
75              testIf();
76          }
77          else {
78              testIf();
79          }
80  
81          // Invalid
82          if (condition()); //warn
83          if (condition()) //warn
84              testIf();
85          if (condition()) //warn
86              testIf();
87          else //warn
88              testIf();
89          if (condition()) //warn
90              testIf();
91          else {
92              testIf();
93          }
94          if (condition()) {
95              testIf();
96          }
97          else //warn
98              testIf();
99          if (condition()) //warn
100             if (condition()) //warn
101                 testIf();
102     }
103 
104     void whitespaceAfterSemi()
105     {
106         //reject
107         int i = 1;int j = 2;
108 
109         //accept
110         for (;;) {
111         }
112     }
113 
114     /** Empty constructor block. **/
115     public InputNeedBraces() {}
116     
117     /** Empty method block. **/
118     public void emptyImplementation() {}
119 }
120 
121 class EmptyBlocks {
122     boolean flag = true;    
123     int[] a = {1, 2, 3, 4, };
124 
125     void foo() {
126         while(flag); //warn
127         while(flag) {}
128         while(flag) {/*foo*/}
129         do; //warn
130         while(flag);
131         do {}
132         while(flag);
133         do {/*foo*/}
134         while(flag);
135         if(flag); //warn
136         if(flag){}
137         if(flag) {/*foo*/}
138         if(flag); //warn
139         else; //warn
140         if(flag){}
141         else {}
142         if(flag){/*foo*/}
143         else {/*foo*/}
144         for(int i = 0; i < 10; i++); //warn
145         for(int i = 0; i < 10; i++) {}
146         for(int i = 0; i < 10; i++) {/*foo*/}
147         for(int b : a); //warn
148         for(int b : a) {}
149         for(int b : a) {/*foo*/}
150     }
151     
152     class InnerEmptyBlocks {
153         boolean flag = true;    
154         int[] a = {1, 2, 3, 4, };
155 
156         void foo() {
157             while(flag); //warn
158             while(flag) {}
159             while(flag) {/*foo*/}
160             do; //warn
161             while(flag);
162             do {}
163             while(flag);
164             do {/*foo*/}
165             while(flag);
166             if(flag); //warn
167             if(flag){}
168             if(flag) {/*foo*/}
169             if(flag); //warn
170             else; //warn
171             if(flag){}
172             else {}
173             if(flag){/*foo*/}
174             else {/*foo*/}
175             for(int i = 0; i < 10; i++); //warn
176             for(int i = 0; i < 10; i++) {}
177             for(int i = 0; i < 10; i++) {/*foo*/}
178             for(int b : a); //warn
179             for(int b : a) {}
180             for(int b : a) {/*foo*/}
181         }
182     }
183 
184     InnerEmptyBlocks anon = new InnerEmptyBlocks() {
185         boolean flag = true;    
186         int[] a = {1, 2, 3, 4, };
187 
188         void foo() {
189             while(flag); //warn
190             while(flag) {}
191             while(flag) {/*foo*/}
192             do; //warn
193             while(flag);
194             do {}
195             while(flag);
196             do {/*foo*/}
197             while(flag);
198             if(flag); //warn
199             if(flag){}
200             if(flag) {/*foo*/}
201             if(flag); //warn
202             else; //warn
203             if(flag){}
204             else {}
205             if(flag){/*foo*/}
206             else {/*foo*/}
207             for(int i = 0; i < 10; i++); //warn
208             for(int i = 0; i < 10; i++) {}
209             for(int i = 0; i < 10; i++) {/*foo*/}
210             for(int b : a); //warn
211             for(int b : a) {}
212             for(int b : a) {/*foo*/}
213         }
214     };
215 }