View Javadoc
1   /*
2   UnusedLocalVariable
3   allowUnnamedVariables = false
4   
5   */
6   
7   package com.puppycrawl.tools.checkstyle.checks.coding.unusedlocalvariable;
8   
9   import java.lang.annotation.ElementType;
10  import java.lang.annotation.Target;
11  
12  public class InputUnusedLocalVariableNestedClasses3 {
13      void method() {
14          final OuterClass outerClass = new OuterClass();
15          final OuterClass.InnerClass innerClass = outerClass.new InnerClass();
16          System.out.println(innerClass);
17      }
18  
19      class OuterClass {
20          class InnerClass {
21              InnerClass() { }
22          }
23      }
24  
25  
26  }
27  
28  class Outer {
29      public class Inner { }
30  }
31  
32  class Test {
33      void m() {
34          @A Outer p1 = new @A Outer();
35          // violation below 'Unused local variable 'p2'.'
36          @A Outer.@B Inner p2 = p1.new @B Inner();
37      }
38  
39      @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
40      @interface A { }
41  
42      @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
43      @interface B { }
44  }
45  
46  class H006_ComplexConstructors<T> {
47      public <V> H006_ComplexConstructors(T t, V v) { }
48  
49      class Inner3 {
50          Inner3(int x) {
51              H006_ComplexConstructors<Integer> instance =
52                      new <String>H006_ComplexConstructors<Integer>(0, "");
53              // violation below 'Unused local variable 'o'.'
54              Object o = instance.new Inner3(5).new <String>InnerInner3("hey");
55          }
56  
57          class InnerInner3 {
58              <D> InnerInner3(D in) { }
59          }
60      }
61  }
62  
63  class NullQualifiedNew2 {
64      class Inner {
65          Inner(int i) {}
66      }
67  
68      public static void main(String[] args) {
69          int i = 1;
70          a: try {
71              NullQualifiedNew2 c = null;
72              c.new Inner(i++) {};
73          } catch (NullPointerException e) {
74              break a;
75          }
76          if (i != 1) throw new Error("i = " + i);
77      }
78  }
79  
80  class T7090499<E> {
81  
82      static class B<X> { }
83  
84      class A<X> {
85          class X { }
86  
87          class Z<Y> { }
88      }
89  
90      T7090499 t = new T7090499() {
91          void test(Object arg1, B arg2) {
92              // violation below 'Unused local variable 'b'.'
93              boolean b = arg1 instanceof A;
94              // violation below 'Unused local variable 'a'.'
95              Object a = (A) arg1;
96              A a2 = new A() { };
97              a2.new Z() { };
98          }
99      };
100 }