Class MethodData

All Implemented Interfaces:
Printable

public class MethodData extends MemberData<ClassData>
Method data for method members in a class of the Java Disassembler
  • Field Details

  • Constructor Details

    • MethodData

      public MethodData(ClassData classData)
  • Method Details

    • handleAttributes

      protected boolean handleAttributes(DataInputStream in, EAttribute attributeTag, int attributeLength) throws IOException
      Overrides:
      handleAttributes in class MemberData<ClassData>
      Throws:
      IOException
    • read

      public void read(DataInputStream in) throws IOException
      Read and resolve the method data called from ClassData. Precondition: Meth has already been read from the stream.
      Throws:
      IOException
    • readMethodParameters

      private void readMethodParameters(DataInputStream in) throws IOException
      Throws:
      IOException
    • ParameterAnnotationsSizes

      private MethodData.ParameterAnnotationsSizes ParameterAnnotationsSizes()
    • hasAnnotationParameters

      private boolean hasAnnotationParameters()
    • hasDefaultAnnotation

      private boolean hasDefaultAnnotation()
    • printMethodParameters

      public void printMethodParameters() throws IOException
      Print The MethodParameters Attribute and the parameter annotations for this method. Called from CodeAttr (since JASM code integrates the ParameterAnnotation Syntax inside the method body).
      Throws:
      IOException
    • printAnnotationDataList

      private void printAnnotationDataList(List<AnnotationData> annotationDataList, int offset) throws IOException
      Prints a list of Visible/Invisible parameter annotations
      Throws:
      IOException
    • getPrintableParameterNames

      private String[] getPrintableParameterNames(int maxParams)
    • getMethodModifiers

      private String getMethodModifiers()
    • jasmPrint

      protected void jasmPrint(int index, int size) throws IOException
      Prints the method data to the current output stream. Called from ClassData. [SystemInfo]? [@(=|-)Annotations]* [modifiers]* Method name:descriptor[:signature]?(1) [;]?(2) 1) :signature if !table 2) if !tableSignatureFormat AND !hasCode AND !hasAnnotationParameters AND !hasException [default(;|,)(3)] 3) ; if
      Overrides:
      jasmPrint in class Indenter
      Throws:
      IOException
    • tablePrint

      public void tablePrint(int index, int size) throws IOException
      Overrides:
      tablePrint in class Indenter
      Throws:
      IOException
    • printSysInfo

      protected void printSysInfo()
      Description copied from class: MemberData
      Prints system comments if the option -sysinfo is used.
      Overrides:
      printSysInfo in class MemberData<ClassData>