View Javadoc
1   /*
2   WhitespaceAround
3   allowEmptyConstructors = (default)false
4   allowEmptyMethods = (default)false
5   allowEmptyTypes = (default)false
6   allowEmptyLoops = (default)false
7   allowEmptyLambdas = (default)false
8   allowEmptyCatches = (default)false
9   ignoreEnhancedForColon = (default)true
10  tokens = (default)ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, \
11           BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND, \
12           LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, \
13           LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, \
14           LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, \
15           NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, \
16           SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND
17  
18  
19  */
20  
21  package com.puppycrawl.tools.checkstyle.checks.whitespace.whitespacearound;
22  
23  class InputWhitespaceAroundBraces
24  {
25      /** @return helper func **/
26      boolean condition()
27      {
28          return false;
29      }
30  
31      /** Test do/while loops **/
32      void testDoWhile()
33      {
34          // Valid
35          do {
36              testDoWhile();
37          }
38          while (condition());
39  
40          // Invalid
41          do testDoWhile(); while (condition());
42      }
43  
44      /** Test while loops **/
45      void testWhile()
46      {
47          // Valid
48          while (condition()) {
49              testWhile();
50          }
51  
52          // Invalid
53          while(condition()); // violation ''while' is not followed by whitespace'
54          while (condition())
55              testWhile();
56          while (condition())
57              if (condition())
58                  testWhile();
59      }
60  
61      /** Test for loops **/
62      void testFor()
63      {
64          // Valid
65          for (int i = 1; i < 5; i++) {
66              testFor();
67          }
68  
69          // Invalid
70          for(int i = 1;i < 5;i++); // violation  ''for' is not followed by whitespace'
71          for (int i = 1; i < 5; i++)
72              testFor();
73          for (int i = 1; i < 5;
74               i++)
75              if (i > 2)
76                  testFor();
77      }
78  
79      /** Test if constructs **/
80      public void testIf()
81      {
82          // Valid
83          if (condition()) {
84              testIf();
85          }
86          else if (condition()) {
87              testIf();
88          }
89          else {
90              testIf();
91          }
92  
93          // Invalid
94          if (condition());
95          if (condition())
96              testIf();
97          if (condition())
98              testIf();
99          else
100             testIf();
101         if (condition())
102             testIf();
103         else {
104             testIf();
105         }
106         if (condition()) {
107             testIf();
108         }
109         else
110             testIf();
111         if (condition())
112             if (condition())
113                 testIf();
114     }
115 
116     void whitespaceAfterSemi()
117     {
118         //reject
119         int i = 1;int j = 2;
120 
121         //accept
122         for (;;) {
123         }
124     }
125 
126     /** Empty constructor block. **/
127     public InputWhitespaceAroundBraces() {} // 2 violations
128 
129     /** Empty method block. **/
130     public void emptyImplementation() {} // 2 violations
131 
132     public void foo() {
133         boolean flag = true;
134         if(flag){} // 4 violations
135     }
136 }