Package org.openjdk.asmtools.jdis
Class CodeData
java.lang.Object
org.openjdk.asmtools.jdis.Indenter
org.openjdk.asmtools.jdis.CodeData
Code data for a code attribute in method members in a class of the Java Disassembler
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionThe remaining attributes of this classprotected ClassDataprotected byte[]Raw byte array for the byte codes(parsed) reversed bytecode index hash, associates labels with ByteCode indexesprivate ArrayList<TypeAnnotationData> The invisible type annotations for this methodprivate ArrayList<CodeData.LineNumData> (parsed) Line Number table, describes source lines associated with ByteCode indexesprivate ArrayList<CodeData.LocVarData> (parsed) Local Variable table, describes variable scopes associated with ByteCode indexesprotected intLimit for the number of local varsprotected intLimit for the stack sizeprotected MethodDataprivate PrintWriterprivate ArrayList<StackMapData> (parsed) stack map table, describes compiler hints for stack rep, associated with ByteCode indexes(parsed) Trap table, describes exceptions caughtprivate ArrayList<TypeAnnotationData> The visible type annotations for this method -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static intalign(int n) private intcheckForLabelRef(int pc) protected iAttget_iAtt(int pc) private intgetbyte(int pc) private intgetInt(int pc) private intgetShort(int pc) private intgetUbyte(int pc) private intgetUShort(int pc) private voidprivate voidprivate voidprivate voidprivate voidvoidprint()printprivate voidPrintCommentedConstant(int cpx) private voidPrintConstant(int cpx) private intprintInstr(int pc) voidread(DataInputStream in, int codeattrlen) readprivate voidprivate voidprivate voidprivate voidprivate voidprivate voidreadTypeAnnotations(DataInputStream in, boolean isInvisible) Methods inherited from class org.openjdk.asmtools.jdis.Indenter
decreaseIndent, getIndentString, increaseIndent, indent, setIndent
-
Field Details
-
code
protected byte[] codeRaw byte array for the byte codes -
max_stack
protected int max_stackLimit for the stack size -
max_locals
protected int max_localsLimit for the number of local vars -
attrs
The remaining attributes of this class -
cls
-
meth
-
trap_table
(parsed) Trap table, describes exceptions caught -
lin_num_tb
(parsed) Line Number table, describes source lines associated with ByteCode indexes -
loc_var_tb
(parsed) Local Variable table, describes variable scopes associated with ByteCode indexes -
stack_map
(parsed) stack map table, describes compiler hints for stack rep, associated with ByteCode indexes -
visibleTypeAnnotations
The visible type annotations for this method -
invisibleTypeAnnotations
The invisible type annotations for this method -
iattrs
(parsed) reversed bytecode index hash, associates labels with ByteCode indexes -
out
-
-
Constructor Details
-
CodeData
-
-
Method Details
-
align
private static int align(int n) -
getbyte
private int getbyte(int pc) -
getUbyte
private int getUbyte(int pc) -
getShort
private int getShort(int pc) -
getUShort
private int getUShort(int pc) -
getInt
private int getInt(int pc) -
get_iAtt
-
readLineNumTable
- Throws:
IOException
-
readLocVarTable
- Throws:
IOException
-
readTrapTable
- Throws:
IOException
-
readStackMap
- Throws:
IOException
-
readStackMapTable
- Throws:
IOException
-
readTypeAnnotations
- Throws:
IOException
-
read
readread and resolve the code attribute data called from MethodData. precondition: NumFields has already been read from the stream.
- Throws:
IOException
-
checkForLabelRef
private int checkForLabelRef(int pc) -
loadLabelTable
private void loadLabelTable() -
loadLineNumTable
private void loadLineNumTable() -
loadStackMap
private void loadStackMap() -
loadLocVarTable
private void loadLocVarTable() -
loadTrapTable
private void loadTrapTable() -
PrintConstant
private void PrintConstant(int cpx) -
PrintCommentedConstant
private void PrintCommentedConstant(int cpx) -
printInstr
private int printInstr(int pc) -
print
printprints the code data to the current output stream. called from MethodData.
- Throws:
IOException
-