Package org.openjdk.asmtools.jdis

## Class ClassData

- java.lang.Object
- - org.openjdk.asmtools.jdis.Indenter
  - - org.openjdk.asmtools.jdis.MemberData
    - - org.openjdk.asmtools.jdis.ClassData

-     public class ClassData
      extends MemberData

  Central class data for of the Java Disassembler

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.util.ArrayList<BootstrapMethodData>` | `bootstrapMethods` |
    `protected java.util.ArrayList<FieldData>` | `fields` |
    `protected java.util.ArrayList<org.openjdk.asmtools.jdis.InnerClassData>` | `innerClasses` |
    `protected int[]` | `interfaces` |
    `protected int` | `major_version` |
    `protected java.util.ArrayList<MethodData>` | `methods` |
    `protected int` | `minor_version` |
    `protected ModuleData` | `moduleData` |
    `protected NestHostData` | `nestHost` |
    `protected NestMembersData` | `nestMembers` |
    `protected java.io.PrintWriter` | `out` |
    `protected PermittedSubclassesData` | `permittedSubclassesData` |
    `protected java.lang.String` | `pkgPrefix` |
    `protected ConstantPool` | `pool` |
    `protected RecordData` | `record` |
    `protected int` | `source_cpx` |
    `protected int` | `super_cpx` |
    `protected int` | `this_cpx` |
    `protected Tool` | `tool` |

    - ### Fields inherited from class org.openjdk.asmtools.jdis.MemberData

      `access, attrs, cls, invisibleAnnotations, invisibleTypeAnnotations, isDeprecated, isSynthetic, memberType, options, pr_cpx, signature, visibleAnnotations, visibleTypeAnnotations`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ClassData​(java.io.PrintWriter out, Tool tool)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getSrcLine​(int lnum)` | Read and resolve the attribute data
    `protected boolean` | `handleAttributes​(java.io.DataInputStream in, Tables.AttrTag attrtag, int attrlen)` | Read and resolve the attribute data
    `void` | `print()` |
    `void` | `read​(java.io.File in)` |
    `void` | `read​(java.lang.String in)` |
    `protected void` | `readFields​(java.io.DataInputStream in)` | Read and resolve the field data
    `protected void` | `readInterfaces​(java.io.DataInputStream in)` | Read and resolve the interface data
    `protected void` | `readMethods​(java.io.DataInputStream in)` | Read and resolve the method data

    - ### Methods inherited from class org.openjdk.asmtools.jdis.MemberData

      `getAnnotationsCount, init, printAnnotations, printVar, readAttributes`

    - ### Methods inherited from class org.openjdk.asmtools.jdis.Indenter

      `decreaseIndent, getIndentString, increaseIndent, indent, setIndent`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### tool

          protected Tool tool

    - #### minor_version

          protected int minor_version

    - #### major_version

          protected int major_version

    - #### this_cpx

          protected int this_cpx

    - #### super_cpx

          protected int super_cpx

    - #### source_cpx

          protected int source_cpx

    - #### pool

          protected ConstantPool pool

    - #### interfaces

          protected int[] interfaces

    - #### fields

          protected java.util.ArrayList<FieldData> fields

    - #### methods

          protected java.util.ArrayList<MethodData> methods

    - #### record

          protected RecordData record

    - #### innerClasses

          protected java.util.ArrayList<org.openjdk.asmtools.jdis.InnerClassData> innerClasses

    - #### bootstrapMethods

          protected java.util.ArrayList<BootstrapMethodData> bootstrapMethods

    - #### moduleData

          protected ModuleData moduleData

    - #### nestHost

          protected NestHostData nestHost

    - #### nestMembers

          protected NestMembersData nestMembers

    - #### permittedSubclassesData

          protected PermittedSubclassesData permittedSubclassesData

    - #### out

          protected java.io.PrintWriter out

    - #### pkgPrefix

          protected java.lang.String pkgPrefix

  - ### Constructor Detail

    - #### ClassData

          public ClassData​(java.io.PrintWriter out,
                           Tool tool)

  - ### Method Detail

    - #### read

          public void read​(java.io.File in)
                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### read

          public void read​(java.lang.String in)
                    throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### readFields

          protected void readFields​(java.io.DataInputStream in)
                             throws java.io.IOException

      Read and resolve the field data
      Throws:
        `java.io.IOException`

    - #### readMethods

          protected void readMethods​(java.io.DataInputStream in)
                              throws java.io.IOException

      Read and resolve the method data
      Throws:
        `java.io.IOException`

    - #### readInterfaces

          protected void readInterfaces​(java.io.DataInputStream in)
                                 throws java.io.IOException

      Read and resolve the interface data
      Throws:
        `java.io.IOException`

    - #### handleAttributes

          protected boolean handleAttributes​(java.io.DataInputStream in,
                                             Tables.AttrTag attrtag,
                                             int attrlen)
                                      throws java.io.IOException

      Read and resolve the attribute data
      Overrides:
        `handleAttributes` in class `MemberData`
      Throws:
        `java.io.IOException`

    - #### getSrcLine

          public java.lang.String getSrcLine​(int lnum)

      Read and resolve the attribute data

    - #### print

          public void print()
                     throws java.io.IOException

      Specified by:
        `print` in class `MemberData`
      Throws:
        `java.io.IOException`