sun.tools.javap
Class JavapPrinter

java.lang.Object
  extended by sun.tools.javap.JavapPrinter

public class JavapPrinter
extends java.lang.Object

Program to print information about class files


Field Summary
(package private)  ClassData cls
           
(package private)  byte[] code
           
(package private)  JavapEnvironment env
           
(package private)  java.lang.String lP
           
(package private)  java.io.PrintWriter out
           
 
Constructor Summary
JavapPrinter(java.io.InputStream cname, java.io.PrintWriter out, JavapEnvironment env)
           
 
Method Summary
protected static int align(int n)
           
 boolean checkAccess(java.lang.String[] accflags)
          Checks access of class, field or method.
protected  int getbyte(int pc)
           
protected  int getInt(int pc)
           
(package private)  int getShort(int pc)
           
protected  int getUbyte(int pc)
           
(package private)  int getUShort(int pc)
           
 java.lang.String javaclassname(java.lang.String name)
           
 void print()
          Entry point to print class file information.
 void printAccess(java.lang.String[] accflags)
          Prints access of class, field or method.
 void printAttrData(AttrData attr)
          Print attribute data in hex.
 void printClassAttributes()
          Print class attribute information.
 void printclassHeader()
          Print a description of the class (not members).
 void printcodeSequence(MethodData method)
          Print code sequence.
(package private)  void PrintConstant(int cpx)
          Print constant value at that index.
 void printConstantValue(FieldData field)
          Print ConstantValue attribute information.
 void printcp()
          Print constant pool information.
 void printend()
           
 void printExceptions(MethodData method)
          Print exceptions.
(package private)  void printExceptionTable(MethodData method)
          Print the exception table for this method code
 void printFieldAttributes(FieldData field)
           
 void printfields()
          Print the fields
 void printFixedWidthInt(long x, int length)
          Print an integer so that it takes 'length' characters in the output.
 void printInnerClasses()
          Print InnerClass attribute information.
 int printInstr(int pc)
          Print instructions.
 void printLineNumTable(MethodData method)
          Print LineNumberTable attribute information.
 int PrintlnConstantEntry(int cpx)
          Print constant pool entry information.
 void printLocVarTable(MethodData method)
          Print LocalVariableTable attribute information.
(package private)  void printMap(java.lang.String name, int[] map)
           
 void printMethodAttributes(MethodData method)
          print method attribute information.
 void printMethods()
          Print the methods
 void printMethodSignature(MethodData method, java.lang.String[] accflags)
          Print method signature.
 void printStackMap(MethodData method)
          Print StackMap attribute information.
 void printStackMapTable(MethodData method)
          Print StackMapTable attribute information.
 void printverbosecls()
          Print verbose output.
 void printVerboseHeader(MethodData method)
          Print code attribute details.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

env

JavapEnvironment env

cls

ClassData cls

code

byte[] code

lP

java.lang.String lP

out

java.io.PrintWriter out
Constructor Detail

JavapPrinter

public JavapPrinter(java.io.InputStream cname,
                    java.io.PrintWriter out,
                    JavapEnvironment env)
Method Detail

print

public void print()
Entry point to print class file information.


printclassHeader

public void printclassHeader()
Print a description of the class (not members).


printverbosecls

public void printverbosecls()
Print verbose output.


printClassAttributes

public void printClassAttributes()
Print class attribute information.


printfields

public void printfields()
Print the fields


printFieldAttributes

public void printFieldAttributes(FieldData field)

printMethods

public void printMethods()
Print the methods


printMethodSignature

public void printMethodSignature(MethodData method,
                                 java.lang.String[] accflags)
Print method signature.


printMethodAttributes

public void printMethodAttributes(MethodData method)
print method attribute information.


printExceptions

public void printExceptions(MethodData method)
Print exceptions.


printcodeSequence

public void printcodeSequence(MethodData method)
Print code sequence.


printInstr

public int printInstr(int pc)
Print instructions.


printVerboseHeader

public void printVerboseHeader(MethodData method)
Print code attribute details.


printExceptionTable

void printExceptionTable(MethodData method)
Print the exception table for this method code


printLineNumTable

public void printLineNumTable(MethodData method)
Print LineNumberTable attribute information.


printLocVarTable

public void printLocVarTable(MethodData method)
Print LocalVariableTable attribute information.


printStackMap

public void printStackMap(MethodData method)
Print StackMap attribute information.


printStackMapTable

public void printStackMapTable(MethodData method)
Print StackMapTable attribute information.


printMap

void printMap(java.lang.String name,
              int[] map)

printConstantValue

public void printConstantValue(FieldData field)
Print ConstantValue attribute information.


printInnerClasses

public void printInnerClasses()
Print InnerClass attribute information.


printcp

public void printcp()
Print constant pool information.


PrintlnConstantEntry

public int PrintlnConstantEntry(int cpx)
Print constant pool entry information.


checkAccess

public boolean checkAccess(java.lang.String[] accflags)
Checks access of class, field or method.


printAccess

public void printAccess(java.lang.String[] accflags)
Prints access of class, field or method.


printFixedWidthInt

public void printFixedWidthInt(long x,
                               int length)
Print an integer so that it takes 'length' characters in the output. Temporary until formatting code is stable.


getbyte

protected int getbyte(int pc)

getUbyte

protected int getUbyte(int pc)

getShort

int getShort(int pc)

getUShort

int getUShort(int pc)

getInt

protected int getInt(int pc)

PrintConstant

void PrintConstant(int cpx)
Print constant value at that index.


align

protected static int align(int n)

printend

public void printend()

javaclassname

public java.lang.String javaclassname(java.lang.String name)

printAttrData

public void printAttrData(AttrData attr)
Print attribute data in hex.