Class ClassData


  • class ClassData
    extends java.lang.Object
    Class data of the Java Decoder
    • 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 Attribute type_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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • types

        private byte[] types
      • cpool

        private java.lang.Object[] cpool
      • CPlen

        private int CPlen
      • 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
      • hexTable

        private static final char[] hexTable
      • shift

        private int shift
      • DebugFlag

        boolean DebugFlag
    • Constructor Detail

      • ClassData

        ClassData​(java.io.DataInputStream dis,
                  int printFlags,
                  java.io.PrintWriter out)
           throws java.io.IOException
        Throws:
        java.io.IOException
    • 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 Attribute type_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)