Package org.openjdk.asmtools.jdis

## Class MethodData

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

-     public class MethodData
      extends MemberData

  Method data for method members in a class of the Java Disassembler

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected AnnotationElement.AnnotValue` | `defaultAnnotation` | The invisible parameter annotations for this method
    `protected ParameterAnnotationData` | `invisibleParameterAnnotations` | The invisible parameter annotations for this method
    `protected java.lang.String` | `lP` |
    `protected int` | `name_cpx` | CP index to the method name
    `protected java.util.ArrayList<org.openjdk.asmtools.jdis.MethodData.ParamNameData>` | `paramNames` | The parameter names for this method
    `protected int` | `sig_cpx` | CP index to the method type
    `protected ParameterAnnotationData` | `visibleParameterAnnotations` | The visible parameter annotations for this method

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

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

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MethodData​(ClassData cls)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected boolean` | `handleAttributes​(java.io.DataInputStream in, Tables.AttrTag attrtag, int attrlen)` |
    `void` | `print()` | Prints the method data to the current output stream. called from ClassData.
    `void` | `printPAnnotations()` | printPAnnotations
    `void` | `read​(java.io.DataInputStream in)` | read read and resolve the method data called from ClassData.

    - ### 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

    - #### name_cpx

          protected int name_cpx

      CP index to the method name

    - #### sig_cpx

          protected int sig_cpx

      CP index to the method type

    - #### lP

          protected java.lang.String lP

    - #### paramNames

          protected java.util.ArrayList<org.openjdk.asmtools.jdis.MethodData.ParamNameData> paramNames

      The parameter names for this method

    - #### visibleParameterAnnotations

          protected ParameterAnnotationData visibleParameterAnnotations

      The visible parameter annotations for this method

    - #### invisibleParameterAnnotations

          protected ParameterAnnotationData invisibleParameterAnnotations

      The invisible parameter annotations for this method

    - #### defaultAnnotation

          protected AnnotationElement.AnnotValue defaultAnnotation

      The invisible parameter annotations for this method

  - ### Constructor Detail

    - #### MethodData

          public MethodData​(ClassData cls)

  - ### Method Detail

    - #### handleAttributes

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

      Overrides:
        `handleAttributes` in class `MemberData`
      Throws:
        `java.io.IOException`

    - #### read

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

      read read and resolve the method data called from ClassData. Precondition: NumFields has already been read from the stream.
      Throws:
        `java.io.IOException`

    - #### printPAnnotations

          public void printPAnnotations()
                                 throws java.io.IOException

      printPAnnotations

      prints the parameter annotations for this method. called from CodeAttr (since JASM code integrates the PAnnotation Syntax inside the method body).

      Throws:
        `java.io.IOException`

    - #### print

          public void print()
                     throws java.io.IOException

      Prints the method data to the current output stream. called from ClassData.
      Specified by:
        `print` in class `MemberData`
      Throws:
        `java.io.IOException`