View Javadoc
1   package com.puppycrawl.tools.checkstyle.checks.indentation.indentation; //indent:0 exp:0
2   
3   import java.io.Closeable; //indent:0 exp:0
4   import java.util.stream.Stream; //indent:0 exp:0
5   
6   /**                                                                           //indent:0 exp:0
7    * This test-input is intended to be checked using following configuration:   //indent:1 exp:1
8    *                                                                            //indent:1 exp:1
9    * arrayInitIndent = 4                                                        //indent:1 exp:1
10   * basicOffset = 4                                                            //indent:1 exp:1
11   * braceAdjustment = 0                                                        //indent:1 exp:1
12   * caseIndent = 4                                                             //indent:1 exp:1
13   * forceStrictCondition = false                                               //indent:1 exp:1
14   * lineWrappingIndentation = 4                                                //indent:1 exp:1
15   * tabWidth = 4                                                               //indent:1 exp:1
16   * throwsIndent = 4                                                           //indent:1 exp:1
17   *                                                                            //indent:1 exp:1
18   * @author  jrichard                                                         //indent:1 exp:1
19   */                                                                           //indent:1 exp:1
20  public class InputIndentationValidBlockIndent { //indent:0 exp:0
21  
22      /** Creates a new instance of InputValidBlockIndent */ //indent:4 exp:4
23      public InputIndentationValidBlockIndent() { //indent:4 exp:4
24      } //indent:4 exp:4
25  
26      public void method1() { //indent:4 exp:4
27  
28          { } //indent:8 exp:8
29          { //indent:8 exp:8
30          } //indent:8 exp:8
31          { //indent:8 exp:8
32              int var = 3; //indent:12 exp:12
33  
34              var += 3; //indent:12 exp:12
35          } //indent:8 exp:8
36  
37  
38          {  int var = 5; } //indent:8 exp:8
39  
40          { //indent:8 exp:8
41              int var = 3; //indent:12 exp:12
42  
43              var += 3; //indent:12 exp:12
44  
45              { //indent:12 exp:12
46                  int innerVar = 4; //indent:16 exp:16
47  
48                  innerVar += var; //indent:16 exp:16
49              } //indent:12 exp:12
50          } //indent:8 exp:8
51  
52      } //indent:4 exp:4
53  
54      static { int var = 4; } //indent:4 exp:4
55  
56  
57      static { //indent:4 exp:4
58          int var = 4;  //indent:8 exp:8
59      } //indent:4 exp:4
60  
61      static  //indent:4 exp:4
62      { //indent:4 exp:4
63          int var = 4;  //indent:8 exp:8
64      } //indent:4 exp:4
65  
66      { int var = 4; } //indent:4 exp:4
67  
68  
69      { //indent:4 exp:4
70          int var = 4;  //indent:8 exp:8
71      } //indent:4 exp:4
72  
73      { //indent:4 exp:4
74          int var = 4;  //indent:8 exp:8
75      } //indent:4 exp:4
76  
77  
78  } //indent:0 exp:0
79  
80  enum EquivalenceTester { //indent:0 exp:0
81      /** //indent:4 exp:4
82       * An equivalenster that decides based on {@link Object#equals(Object) equals}. //indent:5 exp:5
83       */ //indent:5 exp:5
84      OBJECT_ATTRIBUTES { //indent:4 exp:4
85          /** //indent:8 exp:8
86           * {@inheritDoc} //indent:9 exp:9
87           */ //indent:9 exp:9
88          public boolean areEqual( final Object first, final Object second ) { //indent:8 exp:8
89              return true; //indent:12 exp:12
90          } //indent:8 exp:8
91  
92          /** //indent:8 exp:8
93           * {@inheritDoc} //indent:9 exp:9
94           */ //indent:9 exp:9
95          public int hashCode( final Object target ) { //indent:8 exp:8
96              return 1; //indent:12 exp:12
97          } //indent:8 exp:8
98      }, //indent:4 exp:4
99  
100     /** //indent:4 exp:4
101      * An equivalence tester that decides based on {@code ==}. //indent:5 exp:5
102      */ //indent:5 exp:5
103     OBJECT_IDENTITIES //indent:4 exp:4
104     { //indent:4 exp:4
105         /** //indent:8 exp:8
106          * {@inheritDoc} //indent:9 exp:9
107          */ //indent:9 exp:9
108         public boolean areEqual( final Object first, final Object second ) { //indent:8 exp:8
109             return first == second; //indent:12 exp:12
110         } //indent:8 exp:8
111 
112         /** //indent:8 exp:8
113          * {@inheritDoc} //indent:9 exp:9
114          */ //indent:9 exp:9
115         public int hashCode( final Object target ) { //indent:8 exp:8
116             return System.identityHashCode( target ); //indent:12 exp:12
117         } //indent:8 exp:8
118     }; //indent:4 exp:4
119 
120     /** //indent:4 exp:4
121      * Tells whether the two given objects are considered equivalent. //indent:5 exp:5
122      * //indent:5 exp:5
123      * @param first first comparand //indent:5 exp:5
124      * @param second second comparand //indent:5 exp:5
125      * @return whether {@code first} and {@code second} are considered equivalent //indent:5 exp:5
126      */ //indent:5 exp:5
127     public abstract boolean areEqual( Object first, Object second ); //indent:4 exp:4
128 
129     /** //indent:4 exp:4
130      * Computes a hash code for the given object. //indent:5 exp:5
131      * //indent:5 exp:5
132      * @param target object to compute a hash for //indent:5 exp:5
133      * @return the computed hash //indent:5 exp:5
134      */ //indent:5 exp:5
135     public abstract int hashCode( Object target ); //indent:4 exp:4
136 } //indent:0 exp:0
137 
138 class bug1251988 //indent:0 exp:0
139 { //indent:0 exp:0
140     private int a; //indent:4 exp:4
141 
142     // non static initializer //indent:4 exp:4
143     { //indent:4 exp:4
144         if (a == 1) //indent:8 exp:8
145         { //indent:8 exp:8
146         } //indent:8 exp:8
147     } //indent:4 exp:4
148 } //indent:0 exp:0
149 
150 class bug1260079 //indent:0 exp:0
151 { //indent:0 exp:0
152     public bug1260079() //indent:4 exp:4
153     { //indent:4 exp:4
154         new Thread() //indent:8 exp:8
155         { //indent:8 exp:8
156             public void run() //indent:12 exp:12
157             { //indent:12 exp:12
158                 System.identityHashCode("ran"); //indent:16 exp:16
159             } //indent:12 exp:12
160         }.start(); //indent:8 exp:8
161     } //indent:4 exp:4
162 } //indent:0 exp:0
163 
164 class bug1336737 { //indent:0 exp:0
165     private static enum Command { //indent:4 exp:4
166         IMPORT("import"), //indent:8 exp:8
167         LIST("list"); //indent:8 exp:8
168         private final String c; //indent:8 exp:8
169         Command(String c) { this.c = c; } //indent:8 exp:8
170         public String toString() { return c; } //indent:8 exp:8
171     } //indent:4 exp:4
172 } //indent:0 exp:0
173 
174 class AnonymousClassWithInitializer { //indent:0 exp:0
175     void create() { //indent:4 exp:4
176         new Object() { //indent:8 exp:8
177             { //indent:12 exp:12
178                 new Object(); //indent:16 exp:16
179             } //indent:12 exp:12
180         }; //indent:8 exp:8
181     } //indent:4 exp:4
182 } //indent:0 exp:0
183 
184 class OneLineCode { //indent:0 exp:0
185     void block() { //indent:4 exp:4
186         { if (true) return; }  //indent:8 exp:8
187     } //indent:4 exp:4
188     void lambda() { //indent:4 exp:4
189         Stream.of(false).map(x -> { if (x) return 0; else return 1; }); //indent:8 exp:8
190     } //indent:4 exp:4
191     void tryCatchDoWhile(Closeable is) throws Exception { //indent:4 exp:4
192         if (is != null) { try { is.close(); } catch (Exception e) {} } //indent:8 exp:8
193         if (is != null) { do { is.close(); } while (is != null); } //indent:8 exp:8
194     } //indent:4 exp:4
195 } //indent:0 exp:0