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) class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe remaining attributes of this classprotected ClassData
protected 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 int
Limit for the number of local varsprotected int
Limit for the stack sizeprotected MethodData
private PrintWriter
private 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 int
align
(int n) private int
checkForLabelRef
(int pc) protected iAtt
get_iAtt
(int pc) private int
getbyte
(int pc) private int
getInt
(int pc) private int
getShort
(int pc) private int
getUbyte
(int pc) private int
getUShort
(int pc) private void
private void
private void
private void
private void
void
print()
printprivate void
PrintCommentedConstant
(int cpx) private void
PrintConstant
(int cpx) private int
printInstr
(int pc) void
read
(DataInputStream in, int codeattrlen) readprivate void
private void
private void
private void
private void
private void
readTypeAnnotations
(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
-