1 package com.puppycrawl.tools.checkstyle.grammar.antlr4;
2
3 import java.awt.*;
4 import java.lang.annotation.ElementType;
5 import java.lang.annotation.Target;
6 import java.lang.reflect.AnnotatedElement;
7 import java.util.List;
8 import java.util.Map;
9 import java.util.TreeSet;
10
11 import javax.net.ssl.KeyManager;
12
13 public class InputAntlr4AstRegressionNewTypeTree {
14 private static class Slot {
15 double sin2Phi = 2 * StrictMath.sin(1.618033988749895);
16 public int[] ci;
17 }
18
19 private static class Transformer {
20
21 }
22
23 private static class Ef {
24 Transformer[] transformers = new Transformer[10];
25 static boolean forward = true;
26 }
27
28 void goodMethod() {
29 Slot slot = new Slot();
30 slot.ci[5] = 10;
31 slot.ci = new int[6];
32 double[] cZ = {1.1, 1.2};
33 final double dnZ = slot.sin2Phi * cZ[1];
34
35 final Ef ef = new Ef();
36 final Transformer transformer =
37 ef.forward ? ef.transformers[ef.transformers.length - 1]
38 : ef.transformers[0];
39
40 }
41
42 void badMethod() {
43 Slot slot = new Slot();
44 slot.ci [5] = 10;
45 slot.ci = new int [6];
46 double [] cZ = {1.1, 1.2};
47 final double dnZ = slot.sin2Phi * cZ [1];
48
49 final Ef ef = new Ef();
50 final Transformer transformer =
51 ef.forward ? ef.transformers [ef.transformers.length - 1]
52 : ef.transformers [0];
53
54 int[][
55 ]
56 a
57 []
58 [] ;
59 int[][
60 ]
61 b
62 []
63 [] ;
64 }
65
66 void varargLong(@I String @L [] @K [] @J ... vararg2) { }
67 @SuppressWarnings("unused")
68 void withUpperBound(List<? extends int[][]> list) {}
69
70 private static class SSLSecurity {
71 static KeyManager[] truncateArray(KeyManager[] kmaw,
72 KeyManager[] keyManagers) {
73 return null;
74 }
75 }
76
77
78 void method3(int x) {
79 KeyManager[] kmaw = null;
80 if (x == 1) {
81 kmaw = (javax.net.ssl.KeyManager[])
82 SSLSecurity.truncateArray(kmaw,
83 new javax.net.ssl.KeyManager [3]);
84 }
85 }
86
87 enum FPMethodArgs {
88
89 IGNN,
90 IIGNN,
91 GNNII,
92 GNNC;
93
94 public Class<?>[] getMethodArguments(boolean isFPType) {
95 Class<?> N = (isFPType) ? Float.TYPE : Integer.TYPE;
96 Class<?> G = (isFPType) ? Graphics2D.class : Graphics.class;
97 switch (this) {
98 case IGNN:
99 return new Class<?>[]{Integer.TYPE, G, N, N};
100 case IIGNN:
101 return new Class<?>[]{Integer.TYPE, Integer.TYPE, G, N, N};
102 case GNNII:
103 return new Class<?>[]{G, N, N, Integer.TYPE, Integer.TYPE};
104 case GNNC:
105 return new Class<?>[]{G, N, N, Character.TYPE};
106 default:
107 throw new RuntimeException("Unknown method arguments!");
108 }
109 }
110 }
111
112 public static class IntData {
113 int[] xorData;
114
115 IntData(Object srcPixel, Object xorPixel) {
116 this.xorData = (int[]) srcPixel;
117 this.xorData = (int[]) xorPixel;
118 }
119
120 protected void xorPixel(Object pixData) {
121 int[] dstData = (int[]) pixData;
122 for (int i = 0; i < dstData.length; i++) {
123 dstData[i] ^= xorData[i];
124 }
125 }
126
127 Object[] getXorData() {
128 return new Object[5];
129 }
130
131 void method6() {
132 if (getXorData().length == 5
133 && this.getXorData()[1] != IntData.class
134 || this.getXorData()[5] != IntData.class) {
135 System.out.println(getXorData().length);
136 }
137 }
138
139 }
140 protected TreeSet<byte []> sortedPrefixes = createTreeSet();
141
142 TreeSet<byte[]> createTreeSet() {
143 return null;
144 }
145
146 public Object newInstance(Object[] objects){
147
148 InputAntlr4AstRegressionNewTypeTree tmpConstructor = null;
149 return tmpConstructor.newInstance((Object[])null);
150 }
151
152 public TypeVariable<Class<String>>[] getTypeParameters() {
153 ClassRepository info = getGenericInfo();
154 if (info != null)
155 return (TypeVariable<Class<String>>[])info.getTypeParameters();
156 else
157 return (TypeVariable<Class<String>>[])new TypeVariable<?>[0];
158 }
159 class ClassRepository {
160
161 public Object getTypeParameters() {
162 return null;
163 }
164 }
165 class TypeVariable<E> {
166
167 }
168
169 private ClassRepository getGenericInfo() {
170 return null;
171 }
172 String[] c, d[];
173 String [] e, f [];
174
175 public enum Stooge {
176 MOE, CURLY, LARRY,
177 }
178 static void checkArrayTypes1(ArrayTypes at, AnnotatedElement e) {
179 if (!(at.cls()[0] == Map.class &&
180 at.e()[0] == Stooge.MOE )) {
181
182 }
183 }
184
185 static class ArrayTypes {
186 Object[] cls;
187
188 public Stooge[] e() {
189 return null;
190 }
191
192
193
194 Object[] cls() {
195 return cls;
196 }
197
198 public int[] a() {
199 return null;
200 }
201 }
202 int[][
203 ]
204 w
205 []
206 [] ;
207 int[][
208 ]
209 z
210 []
211 [] ;
212
213 static class P {
214 private int x;
215
216 public void set3(P p) {
217 synchronized (this) {
218 p.x = get()[0];
219 }
220 }
221
222 public void set4(P p) {
223 synchronized(this) {
224 p.x = get()[0];
225 }
226 }
227
228 private int[] get() {
229 return null;
230 }
231 }
232
233 private @Nullable int array2 @Nullable [] @Nullable [];
234 }
235
236
237 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
238 @interface Nullable{}
239
240 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
241 @interface I {}
242
243 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
244 @interface J {}
245
246 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
247 @interface K {}
248
249 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
250 @interface L {}