< prev index next >

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

Print this page




  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:");


< prev index next >