View Javadoc
1   /*
2   NoWhitespaceAfter
3   allowLineBreaks = (default)true
4   tokens = LITERAL_SYNCHRONIZED
5   
6   
7   */
8   package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespaceafter;
9   
10  import java.lang.annotation.ElementType;
11  import java.lang.annotation.Target;
12  
13  public class InputNoWhitespaceAfterSynchronized<T> {
14  
15      private final Object lock = new Object();
16  
17      void m1() {
18          synchronized (lock) {} // violation
19          synchronized(lock) {} // ok
20      }
21  
22      synchronized int m2() { // ok
23          return 2;
24      }
25  
26      synchronized private int[] m3() { // ok
27          return new int[]{2};
28      }
29  
30      synchronized int[] m4() { // ok
31          return new int[]{2};
32      }
33  
34      private final synchronized int m5() { // ok
35          return 2;
36      }
37  
38      synchronized T m6() { // ok
39          return null;
40      }
41  
42      @SyncAnno synchronized T m7() { // ok
43          return null;
44      }
45  
46      @SyncAnno private synchronized T m8() { // ok
47          return null;
48      }
49  
50      // Note that we do not check 'synchronized' as a modifier,
51      // convention is to have type parameters of a generic method
52      // be surrounded by whitespace.
53      synchronized <T2> void m9() {} // ok
54      synchronized<T2> void m10() {} // ok
55  }
56  
57  @Target(ElementType.METHOD)
58  @interface SyncAnno {
59  }