Package org.openjdk.asmtools.jdec
Class ClassData
- java.lang.Object
-
- org.openjdk.asmtools.jdec.ClassData
-
class ClassData extends java.lang.Object
Class data of the Java Decoder
-
-
Field Summary
Fields Modifier and Type Field Description private NestedByteArrayInputStream
countedin
private int[]
cpe_pos
private int
CPlen
private java.lang.Object[]
cpool
(package private) boolean
DebugFlag
private java.lang.String
entityName
private java.lang.String
entityType
private static char[]
hexTable
static I18NResourceBundle
i18n
private java.io.DataInputStream
in
private java.io.PrintWriter
out
private boolean
printDetails
private int
shift
private byte[]
types
-
Constructor Summary
Constructors Constructor Description ClassData(java.io.DataInputStream dis, int printFlags, java.io.PrintWriter out)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
decodeAnnotation(java.io.DataInputStream in, java.io.PrintWriter out)
private void
decodeAttr(java.io.DataInputStream in, java.io.PrintWriter out)
private void
decodeAttrs(java.io.DataInputStream in, java.io.PrintWriter out)
private void
decodeBootstrapMethod(java.io.DataInputStream in)
(package private) void
decodeClass(java.lang.String fileName)
private void
decodeCPXAttr(java.io.DataInputStream in, int len, java.lang.String attrname, java.io.PrintWriter out)
private void
decodeCPXAttrM(java.io.DataInputStream in, int len, java.lang.String attrname, java.io.PrintWriter out, int expectedIndices)
private void
decodeElementValue(java.io.DataInputStream in, java.io.PrintWriter out)
private void
decodeElementValuePairs(int count, java.io.DataInputStream in, java.io.PrintWriter out)
private void
decodeInfo(java.io.DataInputStream in, java.io.PrintWriter out, java.lang.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 void
decodeMembers(java.io.DataInputStream in, java.io.PrintWriter out, java.lang.String groupName, java.lang.String elementName)
private void
decodeModule(java.io.DataInputStream in)
private void
decodeModuleStatement(java.lang.String statementName, java.io.DataInputStream in)
private void
decodeTargetTypeAndRefInfo(java.io.DataInputStream in)
Processes 4.7.20 The RuntimeVisibleTypeAnnotations Attribute, 4.7.21 The RuntimeInvisibleTypeAnnotations Attributetype_annotation
structure.private void
decodeTypeAnnotation(java.io.DataInputStream in, java.io.PrintWriter out)
private void
decodeTypes(java.io.DataInputStream in, java.io.PrintWriter out, int count)
private java.lang.String
getCommentPosCond()
private java.lang.String
getStringPos()
boolean
isPrintableChar(char c)
private void
out_begin(java.lang.String s)
private void
out_end(java.lang.String s)
private void
out_print(java.lang.String s)
private void
out_println(java.lang.String s)
private void
printByteHex(java.io.PrintWriter out, int b)
private void
printBytes(java.io.PrintWriter out, java.io.DataInputStream in, int len)
private void
printCP(java.io.PrintWriter out)
private void
printRestOfBytes()
private void
printStackMap(java.io.DataInputStream in, int elementsNum)
private void
printUtf8InfoIndex(int index, java.lang.String indexName)
private void
readCP(java.io.DataInputStream in)
private java.lang.String
startArray(int length)
private void
startArrayCmt(int length, java.lang.String comment)
private void
startArrayCmtB(int length, java.lang.String comment)
private java.lang.String
toHex(long val)
private java.lang.String
toHex(long val, int width)
void
trace(java.lang.String s)
void
traceln(java.lang.String s)
-
-
-
Field Detail
-
types
private byte[] types
-
cpool
private java.lang.Object[] cpool
-
CPlen
private int CPlen
-
countedin
private NestedByteArrayInputStream countedin
-
in
private java.io.DataInputStream in
-
out
private java.io.PrintWriter out
-
cpe_pos
private int[] cpe_pos
-
printDetails
private boolean printDetails
-
entityType
private java.lang.String entityType
-
entityName
private java.lang.String entityName
-
i18n
public static I18NResourceBundle i18n
-
hexTable
private static final char[] hexTable
-
shift
private int shift
-
DebugFlag
boolean DebugFlag
-
-
Method Detail
-
toHex
private java.lang.String toHex(long val, int width)
-
toHex
private java.lang.String toHex(long val)
-
printByteHex
private void printByteHex(java.io.PrintWriter out, int b)
-
printBytes
private void printBytes(java.io.PrintWriter out, java.io.DataInputStream in, int len) throws java.io.IOException
- Throws:
java.io.IOException
-
printRestOfBytes
private void printRestOfBytes()
-
printUtf8InfoIndex
private void printUtf8InfoIndex(int index, java.lang.String indexName)
-
out_begin
private void out_begin(java.lang.String s)
-
out_print
private void out_print(java.lang.String s)
-
out_println
private void out_println(java.lang.String s)
-
out_end
private void out_end(java.lang.String s)
-
startArray
private java.lang.String startArray(int length)
-
startArrayCmt
private void startArrayCmt(int length, java.lang.String comment)
-
startArrayCmtB
private void startArrayCmtB(int length, java.lang.String comment)
-
readCP
private void readCP(java.io.DataInputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
printCP
private void printCP(java.io.PrintWriter out)
-
getStringPos
private java.lang.String getStringPos()
-
getCommentPosCond
private java.lang.String getCommentPosCond()
-
decodeCPXAttr
private void decodeCPXAttr(java.io.DataInputStream in, int len, java.lang.String attrname, java.io.PrintWriter out) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeCPXAttrM
private void decodeCPXAttrM(java.io.DataInputStream in, int len, java.lang.String attrname, java.io.PrintWriter out, int expectedIndices) throws java.io.IOException
- Throws:
java.io.IOException
-
printStackMap
private void printStackMap(java.io.DataInputStream in, int elementsNum) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeTargetTypeAndRefInfo
private void decodeTargetTypeAndRefInfo(java.io.DataInputStream in) throws java.io.IOException
Processes 4.7.20 The RuntimeVisibleTypeAnnotations Attribute, 4.7.21 The RuntimeInvisibleTypeAnnotations Attributetype_annotation
structure.- Throws:
java.io.IOException
-
decodeElementValue
private void decodeElementValue(java.io.DataInputStream in, java.io.PrintWriter out) throws java.io.IOException
- Throws:
java.io.IOException
-
isPrintableChar
public boolean isPrintableChar(char c)
-
decodeAnnotation
private void decodeAnnotation(java.io.DataInputStream in, java.io.PrintWriter out) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeElementValuePairs
private void decodeElementValuePairs(int count, java.io.DataInputStream in, java.io.PrintWriter out) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeInfo
private void decodeInfo(java.io.DataInputStream in, java.io.PrintWriter out, java.lang.String elementName, boolean hasAccessFlag) throws java.io.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:
java.io.IOException
-
decodeTypeAnnotation
private void decodeTypeAnnotation(java.io.DataInputStream in, java.io.PrintWriter out) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeBootstrapMethod
private void decodeBootstrapMethod(java.io.DataInputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeAttr
private void decodeAttr(java.io.DataInputStream in, java.io.PrintWriter out) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeModuleStatement
private void decodeModuleStatement(java.lang.String statementName, java.io.DataInputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeModule
private void decodeModule(java.io.DataInputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeAttrs
private void decodeAttrs(java.io.DataInputStream in, java.io.PrintWriter out) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeMembers
private void decodeMembers(java.io.DataInputStream in, java.io.PrintWriter out, java.lang.String groupName, java.lang.String elementName) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeClass
void decodeClass(java.lang.String fileName) throws java.io.IOException
- Throws:
java.io.IOException
-
decodeTypes
private void decodeTypes(java.io.DataInputStream in, java.io.PrintWriter out, int count) throws java.io.IOException
- Throws:
java.io.IOException
-
trace
public void trace(java.lang.String s)
-
traceln
public void traceln(java.lang.String s)
-
-