1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.bcel.visitors;
21
22 import org.apache.bcel.classfile.AnnotationDefault;
23 import org.apache.bcel.classfile.AnnotationEntry;
24 import org.apache.bcel.classfile.Annotations;
25 import org.apache.bcel.classfile.BootstrapMethods;
26 import org.apache.bcel.classfile.Code;
27 import org.apache.bcel.classfile.CodeException;
28 import org.apache.bcel.classfile.ConstantClass;
29 import org.apache.bcel.classfile.ConstantDouble;
30 import org.apache.bcel.classfile.ConstantDynamic;
31 import org.apache.bcel.classfile.ConstantFieldref;
32 import org.apache.bcel.classfile.ConstantFloat;
33 import org.apache.bcel.classfile.ConstantInteger;
34 import org.apache.bcel.classfile.ConstantInterfaceMethodref;
35 import org.apache.bcel.classfile.ConstantInvokeDynamic;
36 import org.apache.bcel.classfile.ConstantLong;
37 import org.apache.bcel.classfile.ConstantMethodHandle;
38 import org.apache.bcel.classfile.ConstantMethodType;
39 import org.apache.bcel.classfile.ConstantMethodref;
40 import org.apache.bcel.classfile.ConstantModule;
41 import org.apache.bcel.classfile.ConstantNameAndType;
42 import org.apache.bcel.classfile.ConstantPackage;
43 import org.apache.bcel.classfile.ConstantPool;
44 import org.apache.bcel.classfile.ConstantString;
45 import org.apache.bcel.classfile.ConstantUtf8;
46 import org.apache.bcel.classfile.ConstantValue;
47 import org.apache.bcel.classfile.Deprecated;
48 import org.apache.bcel.classfile.EnclosingMethod;
49 import org.apache.bcel.classfile.ExceptionTable;
50 import org.apache.bcel.classfile.Field;
51 import org.apache.bcel.classfile.InnerClass;
52 import org.apache.bcel.classfile.InnerClasses;
53 import org.apache.bcel.classfile.JavaClass;
54 import org.apache.bcel.classfile.LineNumber;
55 import org.apache.bcel.classfile.LineNumberTable;
56 import org.apache.bcel.classfile.LocalVariable;
57 import org.apache.bcel.classfile.LocalVariableTable;
58 import org.apache.bcel.classfile.LocalVariableTypeTable;
59 import org.apache.bcel.classfile.Method;
60 import org.apache.bcel.classfile.MethodParameter;
61 import org.apache.bcel.classfile.MethodParameters;
62 import org.apache.bcel.classfile.Module;
63 import org.apache.bcel.classfile.ModuleExports;
64 import org.apache.bcel.classfile.ModuleMainClass;
65 import org.apache.bcel.classfile.ModuleOpens;
66 import org.apache.bcel.classfile.ModulePackages;
67 import org.apache.bcel.classfile.ModuleProvides;
68 import org.apache.bcel.classfile.ModuleRequires;
69 import org.apache.bcel.classfile.NestHost;
70 import org.apache.bcel.classfile.NestMembers;
71 import org.apache.bcel.classfile.ParameterAnnotationEntry;
72 import org.apache.bcel.classfile.ParameterAnnotations;
73 import org.apache.bcel.classfile.Record;
74 import org.apache.bcel.classfile.RecordComponentInfo;
75 import org.apache.bcel.classfile.Signature;
76 import org.apache.bcel.classfile.SourceFile;
77 import org.apache.bcel.classfile.StackMap;
78 import org.apache.bcel.classfile.StackMapEntry;
79 import org.apache.bcel.classfile.StackMapType;
80 import org.apache.bcel.classfile.Synthetic;
81 import org.apache.bcel.classfile.Unknown;
82 import org.apache.bcel.classfile.Visitor;
83
84 public class CountingVisitor implements Visitor {
85
86 public int unknownCount;
87
88 public int syntheticCount;
89
90 public int stackMapEntryCount;
91
92 public int stackMapTypeCount;
93
94 public int stackMapCount;
95
96 public int sourceFileCount;
97
98 public int signatureAnnotationCount;
99
100 public int parameterAnnotationCount;
101
102 public int methodCount;
103
104 public int localVariableTypeTableCount;
105
106 public int localVariableTableCount;
107
108 public int localVariableCount;
109
110 public int lineNumberTableCount;
111
112 public int lineNumberCount;
113
114 public int javaClassCount;
115
116 public int innerClassesCount;
117
118 public int innerClassCount;
119
120 public int fieldCount;
121
122 public int exceptionTableCount;
123
124 public int enclosingMethodCount;
125
126 public int deprecatedCount;
127
128 public int constantValueCount;
129
130 public int constantUtf8Count;
131
132 public int constantStringCount;
133
134 public int constantNameAndTypeCount;
135
136 public int constantPoolCount;
137
138 public int constantMethodrefCount;
139
140 public int constantLongCount;
141
142 public int constantIntegerCount;
143
144 public int constantInterfaceMethodrefCount;
145
146 public int constantFloatCount;
147
148 public int constantFieldrefCount;
149
150 public int constantClassCount;
151
152 public int constantDoubleCount;
153
154 public int codeExceptionCount;
155
156 public int codeCount;
157
158 public int annotationEntryCount;
159
160 public int annotationDefaultCount;
161
162 public int annotationCount;
163
164
165 public int bootstrapMethodsCount;
166
167
168 public int methodParameterCount;
169
170
171 public int methodParametersCount;
172
173
174 public int constantInvokeDynamic;
175
176
177 public int constantModuleCount;
178
179
180 public int constantPackageCount;
181
182
183 public int constantDynamicCount;
184
185
186 public int moduleCount;
187
188
189 public int moduleExportsCount;
190
191
192 public int moduleOpensCount;
193
194
195 public int moduleProvidesCount;
196
197
198 public int moduleRequiresCount;
199
200
201 public int moduleMainClassCount;
202
203
204 public int modulePackagesCount;
205
206
207 public int nestHostCount;
208
209
210 public int nestMembersCount;
211
212
213 public int recordCount;
214
215
216 public int recordComponentCount;
217
218
219
220 @Override
221 public void visitAnnotation(final Annotations obj) {
222 annotationCount++;
223 }
224
225 @Override
226 public void visitAnnotationDefault(final AnnotationDefault obj) {
227 annotationDefaultCount++;
228 }
229
230 @Override
231 public void visitAnnotationEntry(final AnnotationEntry obj) {
232 annotationEntryCount++;
233 }
234
235
236 @Override
237 public void visitBootstrapMethods(final BootstrapMethods obj) {
238 bootstrapMethodsCount++;
239 }
240
241 @Override
242 public void visitCode(final Code obj) {
243 codeCount++;
244 }
245
246 @Override
247 public void visitCodeException(final CodeException obj) {
248 codeExceptionCount++;
249 }
250
251 @Override
252 public void visitConstantClass(final ConstantClass obj) {
253 constantClassCount++;
254 }
255
256 @Override
257 public void visitConstantDouble(final ConstantDouble obj) {
258 constantDoubleCount++;
259 }
260
261
262 @Override
263 public void visitConstantDynamic(final ConstantDynamic constantDynamic) {
264 constantDynamicCount++;
265 }
266
267 @Override
268 public void visitConstantFieldref(final ConstantFieldref obj) {
269 constantFieldrefCount++;
270 }
271
272 @Override
273 public void visitConstantFloat(final ConstantFloat obj) {
274 constantFloatCount++;
275 }
276
277 @Override
278 public void visitConstantInteger(final ConstantInteger obj) {
279 constantIntegerCount++;
280 }
281
282 @Override
283 public void visitConstantInterfaceMethodref(final ConstantInterfaceMethodref obj) {
284 constantInterfaceMethodrefCount++;
285 }
286
287
288 @Override
289 public void visitConstantInvokeDynamic(final ConstantInvokeDynamic obj) {
290 constantInvokeDynamic++;
291 }
292
293 @Override
294 public void visitConstantLong(final ConstantLong obj) {
295 constantLongCount++;
296 }
297
298
299 @Override
300 public void visitConstantMethodHandle(final ConstantMethodHandle constantMethodHandle) {
301
302 }
303
304 @Override
305 public void visitConstantMethodref(final ConstantMethodref obj) {
306 constantMethodrefCount++;
307 }
308
309
310 @Override
311 public void visitConstantMethodType(final ConstantMethodType obj) {
312
313 }
314
315
316 @Override
317 public void visitConstantModule(final ConstantModule constantModule) {
318 constantModuleCount++;
319 }
320
321 @Override
322 public void visitConstantNameAndType(final ConstantNameAndType obj) {
323 constantNameAndTypeCount++;
324 }
325
326
327 @Override
328 public void visitConstantPackage(final ConstantPackage constantPackage) {
329 constantPackageCount++;
330 }
331
332 @Override
333 public void visitConstantPool(final ConstantPool obj) {
334 constantPoolCount++;
335 }
336
337 @Override
338 public void visitConstantString(final ConstantString obj) {
339 constantStringCount++;
340 }
341
342 @Override
343 public void visitConstantUtf8(final ConstantUtf8 obj) {
344 constantUtf8Count++;
345 }
346
347 @Override
348 public void visitConstantValue(final ConstantValue obj) {
349 constantValueCount++;
350 }
351
352 @Override
353 public void visitDeprecated(final Deprecated obj) {
354 deprecatedCount++;
355 }
356
357 @Override
358 public void visitEnclosingMethod(final EnclosingMethod obj) {
359 enclosingMethodCount++;
360 }
361
362 @Override
363 public void visitExceptionTable(final ExceptionTable obj) {
364 exceptionTableCount++;
365 }
366
367 @Override
368 public void visitField(final Field obj) {
369 fieldCount++;
370 }
371
372 @Override
373 public void visitInnerClass(final InnerClass obj) {
374 innerClassCount++;
375 }
376
377 @Override
378 public void visitInnerClasses(final InnerClasses obj) {
379 innerClassesCount++;
380 }
381
382 @Override
383 public void visitJavaClass(final JavaClass obj) {
384 javaClassCount++;
385 }
386
387 @Override
388 public void visitLineNumber(final LineNumber obj) {
389 lineNumberCount++;
390 }
391
392 @Override
393 public void visitLineNumberTable(final LineNumberTable obj) {
394 lineNumberTableCount++;
395 }
396
397 @Override
398 public void visitLocalVariable(final LocalVariable obj) {
399 localVariableCount++;
400 }
401
402 @Override
403 public void visitLocalVariableTable(final LocalVariableTable obj) {
404 localVariableTableCount++;
405 }
406
407 @Override
408 public void visitLocalVariableTypeTable(final LocalVariableTypeTable obj) {
409 localVariableTypeTableCount++;
410 }
411
412 @Override
413 public void visitMethod(final Method obj) {
414 methodCount++;
415 }
416
417
418 @Override
419 public void visitMethodParameter(final MethodParameter obj) {
420 methodParameterCount++;
421 }
422
423
424 @Override
425 public void visitMethodParameters(final MethodParameters obj) {
426 methodParametersCount++;
427 }
428
429
430 @Override
431 public void visitModule(final Module obj) {
432 moduleCount++;
433 }
434
435
436 @Override
437 public void visitModuleExports(final ModuleExports obj) {
438 moduleExportsCount++;
439 }
440
441
442 @Override
443 public void visitModuleMainClass(final ModuleMainClass obj) {
444 moduleMainClassCount++;
445 }
446
447
448 @Override
449 public void visitModuleOpens(final ModuleOpens obj) {
450 moduleOpensCount++;
451 }
452
453
454 @Override
455 public void visitModulePackages(final ModulePackages obj) {
456 modulePackagesCount++;
457 }
458
459
460 @Override
461 public void visitModuleProvides(final ModuleProvides obj) {
462 moduleProvidesCount++;
463 }
464
465
466 @Override
467 public void visitModuleRequires(final ModuleRequires obj) {
468 moduleRequiresCount++;
469 }
470
471
472 @Override
473 public void visitNestHost(final NestHost obj) {
474 nestHostCount++;
475 }
476
477
478 @Override
479 public void visitNestMembers(final NestMembers obj) {
480 nestMembersCount++;
481 }
482
483 @Override
484 public void visitParameterAnnotation(final ParameterAnnotations obj) {
485 parameterAnnotationCount++;
486 }
487
488
489 @Override
490 public void visitParameterAnnotationEntry(final ParameterAnnotationEntry parameterAnnotationEntry) {
491
492 }
493
494 @Override
495 public void visitRecord(final Record v) {
496 recordCount++;
497 }
498
499 @Override
500 public void visitRecordComponent(final RecordComponentInfo v) {
501 recordComponentCount++;
502 }
503
504 @Override
505 public void visitSignature(final Signature obj) {
506 signatureAnnotationCount++;
507 }
508
509 @Override
510 public void visitSourceFile(final SourceFile obj) {
511 sourceFileCount++;
512 }
513
514 @Override
515 public void visitStackMap(final StackMap obj) {
516 stackMapCount++;
517 }
518
519 @Override
520 public void visitStackMapEntry(final StackMapEntry obj) {
521 stackMapEntryCount++;
522 }
523
524
525
526
527 @Override
528 public void visitStackMapType(final StackMapType obj) {
529 stackMapTypeCount++;
530 }
531
532 @Override
533 public void visitSynthetic(final Synthetic obj) {
534 syntheticCount++;
535 }
536
537 @Override
538 public void visitUnknown(final Unknown obj) {
539 unknownCount++;
540 }
541 }