Class ClassData
java.lang.Object
org.openjdk.asmtools.jdec.ClassData
Class data of the Java Decoder
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate NestedByteArrayInputStreamprivate int[]private intprivate Object[](package private) booleanprivate Stringprivate Stringprivate static final char[]static I18NResourceBundleprivate DataInputStreamprivate PrintWriterprivate booleanprivate intprivate byte[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voiddecodeAnnotation(DataInputStream in, PrintWriter out) private voiddecodeAttr(DataInputStream in, PrintWriter out) private voiddecodeAttrs(DataInputStream in, PrintWriter out) private void(package private) voiddecodeClass(String fileName) private voiddecodeCPXAttr(DataInputStream in, int len, String attrname, PrintWriter out) private voiddecodeCPXAttrM(DataInputStream in, int len, String attrname, PrintWriter out, int expectedIndices) private voiddecodeElementValue(DataInputStream in, PrintWriter out) private voiddecodeElementValuePairs(int count, DataInputStream in, PrintWriter out) private voiddecodeInfo(DataInputStream in, PrintWriter out, String elementName, boolean hasAccessFlag) component_info { JEP 359 Record(Preview): class file 58.65535 u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count]; } or field_info { u2 access_flags; u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count]; } or method_info { u2 access_flags; u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count]; }private voiddecodeMembers(DataInputStream in, PrintWriter out, String groupName, String elementName) private voidprivate voiddecodeModuleStatement(String statementName, DataInputStream in) private voidProcesses 4.7.20 The RuntimeVisibleTypeAnnotations Attribute, 4.7.21 The RuntimeInvisibleTypeAnnotations Attributetype_annotationstructure.private voidprivate voiddecodeTypes(DataInputStream in, PrintWriter out, int count) private Stringprivate StringbooleanisPrintableChar(char c) private voidprivate voidprivate voidprivate voidprivate voidprintByteHex(PrintWriter out, int b) private voidprintBytes(PrintWriter out, DataInputStream in, int len) private voidprintCP(PrintWriter out) private voidprivate voidprintStackMap(DataInputStream in, int elementsNum) private voidprintUtf8InfoIndex(int index, String indexName) private voidprivate StringstartArray(int length) private voidstartArrayCmt(int length, String comment) private voidstartArrayCmtB(int length, String comment) private StringtoHex(long val) private StringtoHex(long val, int width) voidvoid
-
Field Details
-
types
private byte[] types -
cpool
-
CPlen
private int CPlen -
countedin
-
in
-
out
-
cpe_pos
private int[] cpe_pos -
printDetails
private boolean printDetails -
entityType
-
entityName
-
i18n
-
hexTable
private static final char[] hexTable -
shift
private int shift -
DebugFlag
boolean DebugFlag
-
-
Constructor Details
-
ClassData
ClassData(DataInputStream dis, int printFlags, PrintWriter out) throws IOException - Throws:
IOException
-
-
Method Details
-
toHex
-
toHex
-
printByteHex
-
printBytes
- Throws:
IOException
-
printRestOfBytes
private void printRestOfBytes() -
printUtf8InfoIndex
-
out_begin
-
out_print
-
out_println
-
out_end
-
startArray
-
startArrayCmt
-
startArrayCmtB
-
readCP
- Throws:
IOException
-
printCP
-
getStringPos
-
getCommentPosCond
-
decodeCPXAttr
private void decodeCPXAttr(DataInputStream in, int len, String attrname, PrintWriter out) throws IOException - Throws:
IOException
-
decodeCPXAttrM
private void decodeCPXAttrM(DataInputStream in, int len, String attrname, PrintWriter out, int expectedIndices) throws IOException - Throws:
IOException
-
printStackMap
- Throws:
IOException
-
decodeTargetTypeAndRefInfo
Processes 4.7.20 The RuntimeVisibleTypeAnnotations Attribute, 4.7.21 The RuntimeInvisibleTypeAnnotations Attributetype_annotationstructure.- Throws:
IOException
-
decodeElementValue
- Throws:
IOException
-
isPrintableChar
public boolean isPrintableChar(char c) -
decodeAnnotation
- Throws:
IOException
-
decodeElementValuePairs
private void decodeElementValuePairs(int count, DataInputStream in, PrintWriter out) throws IOException - Throws:
IOException
-
decodeInfo
private void decodeInfo(DataInputStream in, PrintWriter out, String elementName, boolean hasAccessFlag) throws IOException component_info { JEP 359 Record(Preview): class file 58.65535 u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count]; } or field_info { u2 access_flags; u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count]; } or method_info { u2 access_flags; u2 name_index; u2 descriptor_index; u2 attributes_count; attribute_info attributes[attributes_count]; }- Throws:
IOException
-
decodeTypeAnnotation
- Throws:
IOException
-
decodeBootstrapMethod
- Throws:
IOException
-
decodeAttr
- Throws:
IOException
-
decodeModuleStatement
- Throws:
IOException
-
decodeModule
- Throws:
IOException
-
decodeAttrs
- Throws:
IOException
-
decodeMembers
private void decodeMembers(DataInputStream in, PrintWriter out, String groupName, String elementName) throws IOException - Throws:
IOException
-
decodeClass
- Throws:
IOException
-
decodeTypes
- Throws:
IOException
-
trace
-
traceln
-