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) class
MethodData.ParamNameData
MethodParamData
-
Field Summary
Fields Modifier and Type Field Description private CodeData
code
The code data for this method.protected AnnotationElement.AnnotValue
defaultAnnotation
The invisible parameter annotations for this methodprivate int[]
exc_table
The exception table (thrown exceptions) for this method.protected ParameterAnnotationData
invisibleParameterAnnotations
The invisible parameter annotations for this methodprotected java.lang.String
lP
protected int
name_cpx
CP index to the method nameprotected java.util.ArrayList<MethodData.ParamNameData>
paramNames
The parameter names for this methodprotected int
sig_cpx
CP index to the method typeprotected 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.private void
printExceptionTable()
void
printPAnnotations()
printPAnnotationsvoid
read(java.io.DataInputStream in)
read read and resolve the method data called from ClassData.private void
readExceptions(java.io.DataInputStream in)
private void
readMethodParameters(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:
handleAttributes
in classMemberData
- 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
-
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.IOException
printPAnnotationsprints 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 classMemberData
- Throws:
java.io.IOException
-
printExceptionTable
private void printExceptionTable()
-
-