src/share/classes/com/sun/tools/javap/AttributeWriter.java

changeset 432
a491ad1bb624
parent 349
bc0b1f404c40
child 554
9d9f26857129
equal deleted inserted replaced
428:2485f5641ed0 432:a491ad1bb624
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 + ": ");

mercurial