30 import com.sun.tools.classfile.Attribute;
31 import com.sun.tools.classfile.Attributes;
32 import com.sun.tools.classfile.BootstrapMethods_attribute;
33 import com.sun.tools.classfile.CharacterRangeTable_attribute;
34 import com.sun.tools.classfile.CharacterRangeTable_attribute.Entry;
35 import com.sun.tools.classfile.Code_attribute;
36 import com.sun.tools.classfile.CompilationID_attribute;
37 import com.sun.tools.classfile.ConstantPool;
38 import com.sun.tools.classfile.ConstantPool.CONSTANT_Class_info;
39 import com.sun.tools.classfile.ConstantPoolException;
40 import com.sun.tools.classfile.ConstantValue_attribute;
41 import com.sun.tools.classfile.DefaultAttribute;
42 import com.sun.tools.classfile.Deprecated_attribute;
43 import com.sun.tools.classfile.EnclosingMethod_attribute;
44 import com.sun.tools.classfile.Exceptions_attribute;
45 import com.sun.tools.classfile.InnerClasses_attribute;
46 import com.sun.tools.classfile.InnerClasses_attribute.Info;
47 import com.sun.tools.classfile.LineNumberTable_attribute;
48 import com.sun.tools.classfile.LocalVariableTable_attribute;
49 import com.sun.tools.classfile.LocalVariableTypeTable_attribute;
50 import com.sun.tools.classfile.MemberOfNest_attribute;
51 import com.sun.tools.classfile.MethodParameters_attribute;
52 import com.sun.tools.classfile.Module_attribute;
53 import com.sun.tools.classfile.ModuleHashes_attribute;
54 import com.sun.tools.classfile.ModuleMainClass_attribute;
55 import com.sun.tools.classfile.ModulePackages_attribute;
56 import com.sun.tools.classfile.ModuleResolution_attribute;
57 import com.sun.tools.classfile.ModuleTarget_attribute;
58 import com.sun.tools.classfile.NestMembers_attribute;
59 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute;
60 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute;
61 import com.sun.tools.classfile.RuntimeInvisibleTypeAnnotations_attribute;
62 import com.sun.tools.classfile.RuntimeParameterAnnotations_attribute;
63 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute;
64 import com.sun.tools.classfile.RuntimeVisibleParameterAnnotations_attribute;
65 import com.sun.tools.classfile.RuntimeVisibleTypeAnnotations_attribute;
66 import com.sun.tools.classfile.Signature_attribute;
67 import com.sun.tools.classfile.SourceDebugExtension_attribute;
68 import com.sun.tools.classfile.SourceFile_attribute;
69 import com.sun.tools.classfile.SourceID_attribute;
70 import com.sun.tools.classfile.StackMapTable_attribute;
71 import com.sun.tools.classfile.StackMap_attribute;
72 import com.sun.tools.classfile.Synthetic_attribute;
73
74 import static com.sun.tools.classfile.AccessFlags.*;
75
76 import com.sun.tools.javac.util.Assert;
77 import com.sun.tools.javac.util.StringUtils;
384 indent(-1);
385 return null;
386 }
387
388 @Override
389 public Void visitLocalVariableTypeTable(LocalVariableTypeTable_attribute attr, Void ignore) {
390 println("LocalVariableTypeTable:");
391 indent(+1);
392 println("Start Length Slot Name Signature");
393 for (LocalVariableTypeTable_attribute.Entry entry : attr.local_variable_table) {
394 println(String.format("%5d %7d %5d %5s %s",
395 entry.start_pc, entry.length, entry.index,
396 constantWriter.stringValue(entry.name_index),
397 constantWriter.stringValue(entry.signature_index)));
398 }
399 indent(-1);
400 return null;
401 }
402
403 @Override
404 public Void visitMemberOfNest(MemberOfNest_attribute attr, Void aVoid) {
405 print("MemberOfNest: ");
406 constantWriter.write(attr.top_index);
407 println();
408 return null;
409 }
410
411 private String getJavaClassName(ModuleMainClass_attribute a) {
412 try {
413 return getJavaName(a.getMainClassName(constant_pool));
414 } catch (ConstantPoolException e) {
415 return report(e);
416 }
417 }
418
419 private static final String format = "%-31s%s";
420
421 @Override
422 public Void visitMethodParameters(MethodParameters_attribute attr,
423 Void ignore) {
424 final String header = String.format(format, "Name", "Flags");
425 println("MethodParameters:");
|
30 import com.sun.tools.classfile.Attribute;
31 import com.sun.tools.classfile.Attributes;
32 import com.sun.tools.classfile.BootstrapMethods_attribute;
33 import com.sun.tools.classfile.CharacterRangeTable_attribute;
34 import com.sun.tools.classfile.CharacterRangeTable_attribute.Entry;
35 import com.sun.tools.classfile.Code_attribute;
36 import com.sun.tools.classfile.CompilationID_attribute;
37 import com.sun.tools.classfile.ConstantPool;
38 import com.sun.tools.classfile.ConstantPool.CONSTANT_Class_info;
39 import com.sun.tools.classfile.ConstantPoolException;
40 import com.sun.tools.classfile.ConstantValue_attribute;
41 import com.sun.tools.classfile.DefaultAttribute;
42 import com.sun.tools.classfile.Deprecated_attribute;
43 import com.sun.tools.classfile.EnclosingMethod_attribute;
44 import com.sun.tools.classfile.Exceptions_attribute;
45 import com.sun.tools.classfile.InnerClasses_attribute;
46 import com.sun.tools.classfile.InnerClasses_attribute.Info;
47 import com.sun.tools.classfile.LineNumberTable_attribute;
48 import com.sun.tools.classfile.LocalVariableTable_attribute;
49 import com.sun.tools.classfile.LocalVariableTypeTable_attribute;
50 import com.sun.tools.classfile.MethodParameters_attribute;
51 import com.sun.tools.classfile.Module_attribute;
52 import com.sun.tools.classfile.ModuleHashes_attribute;
53 import com.sun.tools.classfile.ModuleMainClass_attribute;
54 import com.sun.tools.classfile.ModulePackages_attribute;
55 import com.sun.tools.classfile.ModuleResolution_attribute;
56 import com.sun.tools.classfile.ModuleTarget_attribute;
57 import com.sun.tools.classfile.NestHost_attribute;
58 import com.sun.tools.classfile.NestMembers_attribute;
59 import com.sun.tools.classfile.RuntimeInvisibleAnnotations_attribute;
60 import com.sun.tools.classfile.RuntimeInvisibleParameterAnnotations_attribute;
61 import com.sun.tools.classfile.RuntimeInvisibleTypeAnnotations_attribute;
62 import com.sun.tools.classfile.RuntimeParameterAnnotations_attribute;
63 import com.sun.tools.classfile.RuntimeVisibleAnnotations_attribute;
64 import com.sun.tools.classfile.RuntimeVisibleParameterAnnotations_attribute;
65 import com.sun.tools.classfile.RuntimeVisibleTypeAnnotations_attribute;
66 import com.sun.tools.classfile.Signature_attribute;
67 import com.sun.tools.classfile.SourceDebugExtension_attribute;
68 import com.sun.tools.classfile.SourceFile_attribute;
69 import com.sun.tools.classfile.SourceID_attribute;
70 import com.sun.tools.classfile.StackMapTable_attribute;
71 import com.sun.tools.classfile.StackMap_attribute;
72 import com.sun.tools.classfile.Synthetic_attribute;
73
74 import static com.sun.tools.classfile.AccessFlags.*;
75
76 import com.sun.tools.javac.util.Assert;
77 import com.sun.tools.javac.util.StringUtils;
384 indent(-1);
385 return null;
386 }
387
388 @Override
389 public Void visitLocalVariableTypeTable(LocalVariableTypeTable_attribute attr, Void ignore) {
390 println("LocalVariableTypeTable:");
391 indent(+1);
392 println("Start Length Slot Name Signature");
393 for (LocalVariableTypeTable_attribute.Entry entry : attr.local_variable_table) {
394 println(String.format("%5d %7d %5d %5s %s",
395 entry.start_pc, entry.length, entry.index,
396 constantWriter.stringValue(entry.name_index),
397 constantWriter.stringValue(entry.signature_index)));
398 }
399 indent(-1);
400 return null;
401 }
402
403 @Override
404 public Void visitNestHost(NestHost_attribute attr, Void aVoid) {
405 print("NestHost: ");
406 constantWriter.write(attr.top_index);
407 println();
408 return null;
409 }
410
411 private String getJavaClassName(ModuleMainClass_attribute a) {
412 try {
413 return getJavaName(a.getMainClassName(constant_pool));
414 } catch (ConstantPoolException e) {
415 return report(e);
416 }
417 }
418
419 private static final String format = "%-31s%s";
420
421 @Override
422 public Void visitMethodParameters(MethodParameters_attribute attr,
423 Void ignore) {
424 final String header = String.format(format, "Name", "Flags");
425 println("MethodParameters:");
|