43 import com.sun.tools.classfile.Exceptions_attribute; |
43 import com.sun.tools.classfile.Exceptions_attribute; |
44 import com.sun.tools.classfile.InnerClasses_attribute; |
44 import com.sun.tools.classfile.InnerClasses_attribute; |
45 import com.sun.tools.classfile.LineNumberTable_attribute; |
45 import com.sun.tools.classfile.LineNumberTable_attribute; |
46 import com.sun.tools.classfile.LocalVariableTable_attribute; |
46 import com.sun.tools.classfile.LocalVariableTable_attribute; |
47 import com.sun.tools.classfile.LocalVariableTypeTable_attribute; |
47 import com.sun.tools.classfile.LocalVariableTypeTable_attribute; |
48 import com.sun.tools.classfile.ModuleExportTable_attribute; |
|
49 import com.sun.tools.classfile.ModuleMemberTable_attribute; |
|
50 import com.sun.tools.classfile.Module_attribute; |
|
51 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; |
48 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute; |
52 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; |
49 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute; |
53 import com.sun.tools.classfile.RuntimeInvisibleTypeAnnotations_attribute; |
50 import com.sun.tools.classfile.RuntimeInvisibleTypeAnnotations_attribute; |
54 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute; |
51 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute; |
55 import com.sun.tools.classfile.RuntimeVisibleParameterAnnotations_attribute; |
52 import com.sun.tools.classfile.RuntimeVisibleParameterAnnotations_attribute; |
370 } |
367 } |
371 indent(-1); |
368 indent(-1); |
372 return null; |
369 return null; |
373 } |
370 } |
374 |
371 |
375 public Void visitModule(Module_attribute attr, Void ignore) { |
|
376 print("Module: #" + attr.module_name); |
|
377 tab(); |
|
378 println("// " + getModuleName(attr)); |
|
379 return null; |
|
380 } |
|
381 |
|
382 String getModuleName(Module_attribute attr) { |
|
383 try { |
|
384 return attr.getModuleName(constant_pool); |
|
385 } catch (ConstantPoolException e) { |
|
386 return report(e); |
|
387 } |
|
388 } |
|
389 |
|
390 public Void visitModuleExportTable(ModuleExportTable_attribute attr, Void ignore) { |
|
391 println("ModuleExportTable:"); |
|
392 indent(+1); |
|
393 println("Types: (" + attr.export_type_table.length + ")"); |
|
394 for (int i = 0; i < attr.export_type_table.length; i++) { |
|
395 print("#" + attr.export_type_table[i]); |
|
396 tab(); |
|
397 println("// " + getExportTypeName(attr, i)); |
|
398 } |
|
399 indent(-1); |
|
400 return null; |
|
401 } |
|
402 |
|
403 String getExportTypeName(ModuleExportTable_attribute attr, int index) { |
|
404 try { |
|
405 return attr.getExportTypeName(index, constant_pool); |
|
406 } catch (ConstantPoolException e) { |
|
407 return report(e); |
|
408 } |
|
409 } |
|
410 |
|
411 public Void visitModuleMemberTable(ModuleMemberTable_attribute attr, Void ignore) { |
|
412 println("ModuleMemberTable:"); |
|
413 indent(+1); |
|
414 println("Packages: (" + attr.package_member_table.length + ")"); |
|
415 for (int i = 0; i < attr.package_member_table.length; i++) { |
|
416 print("#" + attr.package_member_table[i]); |
|
417 tab(); |
|
418 println("// " + getPackageMemberName(attr, i)); |
|
419 } |
|
420 indent(-1); |
|
421 return null; |
|
422 } |
|
423 |
|
424 String getPackageMemberName(ModuleMemberTable_attribute attr, int index) { |
|
425 try { |
|
426 return attr.getPackageMemberName(index, constant_pool); |
|
427 } catch (ConstantPoolException e) { |
|
428 return report(e); |
|
429 } |
|
430 } |
|
431 |
|
432 public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { |
372 public Void visitRuntimeVisibleAnnotations(RuntimeVisibleAnnotations_attribute attr, Void ignore) { |
433 println("RuntimeVisibleAnnotations:"); |
373 println("RuntimeVisibleAnnotations:"); |
434 indent(+1); |
374 indent(+1); |
435 for (int i = 0; i < attr.annotations.length; i++) { |
375 for (int i = 0; i < attr.annotations.length; i++) { |
436 print(i + ": "); |
376 print(i + ": "); |