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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classMethodData.ParamNameDataMethodParamData
-
Field Summary
Fields Modifier and Type Field Description private CodeDatacodeThe code data for this method.protected AnnotationElement.AnnotValuedefaultAnnotationThe invisible parameter annotations for this methodprivate int[]exc_tableThe exception table (thrown exceptions) for this method.protected ParameterAnnotationDatainvisibleParameterAnnotationsThe invisible parameter annotations for this methodprotected java.lang.StringlPprotected intname_cpxCP index to the method nameprotected java.util.ArrayList<MethodData.ParamNameData>paramNamesThe parameter names for this methodprotected intsig_cpxCP index to the method typeprotected ParameterAnnotationDatavisibleParameterAnnotationsThe 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 booleanhandleAttributes(java.io.DataInputStream in, Tables.AttrTag attrtag, int attrlen)voidprint()Prints the method data to the current output stream.private voidprintExceptionTable()voidprintPAnnotations()printPAnnotationsvoidread(java.io.DataInputStream in)read read and resolve the method data called from ClassData.private voidreadExceptions(java.io.DataInputStream in)private voidreadMethodParameters(java.io.DataInputStream in)-
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
-
-
-
-
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<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
-
code
private CodeData code
The code data for this method. May be null
-
exc_table
private int[] exc_table
The exception table (thrown exceptions) for this method. May be null
-
-
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:
handleAttributesin classMemberData- Throws:
java.io.IOException
-
read
public void read(java.io.DataInputStream in) throws java.io.IOExceptionread read and resolve the method data called from ClassData. Precondition: NumFields has already been read from the stream.- Throws:
java.io.IOException
-
readExceptions
private void readExceptions(java.io.DataInputStream in) throws java.io.IOException- Throws:
java.io.IOException
-
readMethodParameters
private void readMethodParameters(java.io.DataInputStream in) throws java.io.IOException- Throws:
java.io.IOException
-
printPAnnotations
public void printPAnnotations() throws java.io.IOExceptionprintPAnnotationsprints 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.IOExceptionPrints the method data to the current output stream. called from ClassData.- Specified by:
printin classMemberData- Throws:
java.io.IOException
-
printExceptionTable
private void printExceptionTable()
-
-