View Javadoc
1   package com.puppycrawl.tools.checkstyle.grammar.antlr4;
2   
3   import java.io.Serializable;
4   
5   public class InputAntlr4AstRegressionForLoops {
6      int k;
7       void method1()
8       {
9           //Violations:
10          for (int i = 0; i < 1; i++) {
11              i++;
12          }
13          for (int i = 0; i < 1; i++) {
14              i = i + 1;
15          }
16          for (int i = 0; i < 1; i++) {
17              for (int j = 0; j < 1; i++) {
18                  --i;
19              }
20          }
21          for (int i = 0, j = 0; i < 1; i++) {
22              j++;
23          }
24  
25          // Ok:
26          for (int i = 0; i < 1; i++) {
27          }
28          for (int i = 0; i < 1; i++) {
29              int x = i;
30          }
31          for (int i = 0; i < 1; i++) {
32              Serializable s = new Serializable() {
33                  int i = 3;
34                  void a() {
35                      System.identityHashCode(i++);
36                  }
37              };
38          }
39          for (int k = 0; k < 1; k++) {
40              this.k++;
41          }
42  
43          String[] sa = {"a", "b"};
44          for(String s:sa) {}
45          for(String s:sa) {
46              s = "new string";
47          }
48          for(int i=0;i < 10;) {
49              i++;
50          }
51          for (int i = 0, l = 0,m=0; l < 10; i++,m=m+2) {
52              l++;
53              m++;
54          }
55          for (int i = 0; i < 10; ) {
56              i = 11;
57          }
58          int w=0;
59          for (int i=0;i<10; java.sql.Date.valueOf(""),this.i++,w++) {
60              i++;
61              w++;
62          }
63          for (int i=0,k=0; i<10 && k < 10; ++i,++k) {
64              i = i + 3;
65              k = k + 4;
66          }
67          for (int i = 0,j = 0 ; i <10; i++) {
68              j++;
69          }
70  
71          for (String v : sa) {
72              new NestedClass() {
73                  public void method() {}
74              };
75              v = "bad";
76          }
77          for (int i = 0; i < 10; i += 1) {
78              for (i = 7; i < 10; i += 1) {}
79          }
80          for (String name: new String[] {}) {
81          }
82  
83          for (i = 0; i < 10; i++) {
84              String name;
85              name = "";
86          }
87          for (int EXPR = 0; EXPR < 1; EXPR++) {
88              for (int j = 0; j < 1; i++) {
89                  i++;
90              }
91          }
92      }
93      private int i;
94  }
95  
96  @SuppressWarnings(value = "this previously caused NullPointerException")
97  class VariableDeclaredBeforeTheFirstBlockBegins {
98      void foo(String[] requests) {
99          Class mUse4 = java.util.Enumeration[].class;
100         for (String eventDataType : requests) {
101             @SuppressWarnings(value = "this previously caused NullPointerException")
102             String eventData;
103         }
104     }
105 }
106 abstract class NestedClass {
107     public abstract void method();
108 }