Class MethodData
- All Implemented Interfaces:
Printable
Method data for method members in a class of the Java Disassembler
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classMethodParamDataprivate static final recordNested classes/interfaces inherited from class MemberData
MemberData.AnnotationElementStateNested classes/interfaces inherited from class Indenter
Indenter.NotImplementedException -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate CodeDataprotected AnnotationElement.AnnotationValueprotected intprotected ExceptionDataprotected ParameterAnnotationDataprotected ArrayList<MethodData.MethodParameterData> protected intprotected ParameterAnnotationDataFields inherited from class MemberData
access, attributes, data, DEFAULT_VALUE_PREFIX, environment, invisibleAnnotations, invisibleTypeAnnotations, isDeprecated, isSynthetic, memberType, owner, pool, signature, visibleAnnotations, visibleTypeAnnotationsFields inherited from class Indenter
ARGUMENT_DELIMITER, bestEffort, BootstrapArgumentsBreakPositions, BootstrapMethodBreakPositions, CIRCULAR_COMMENT_OFFSET, COMMENT_PADDING, commentOffset, detailedOutput, dropCharacterRange, dropClasses, dropSignatures, dropSourceFile, extraDetailedOutput, hasSize, INDENT_CHAR, INDENT_OFFSET, INDENT_STEP, INDENT_STRING, INITIAL_COMMENT_OFFSET, INSTR_PREFIX_LENGTH, InvokeDynamicBreakPositions, LdwBreakPositions, LINE_SPLITTER, maxSize, maxSizeCalculated, NO_BSM_ARGUMENTS, NO_BSM_ARGUMENTS_REGEX, OPERAND_PLACEHOLDER_LENGTH, printable, printConstantPool, printCPIndex, printHEX, printLabelAsIdentifiers, printLineNumber, printLineTable, printLineTableLines, printLineTableNumbers, printLocalVariables, printLocalVariableTypes, printProgramCounter, printSourceLines, PROGRAM_COUNTER_PLACEHOLDER_LENGTH, REPLACEMENT_NO_BSM_ARGUMENTS, skipComments, STACKMAP_TYPE_PLACEHOLDER_LENGTH, sysInfo, TABLE_PADDING, tableFormat, tableToken, toolOutput, UNDEFINED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Stringprivate String[]getPrintableParameterNames(int maxParams) protected booleanhandleAttributes(DataInputStream in, EAttribute attributeTag, int attributeLength) private booleanprivate booleanprotected voidjasmPrint(int index, int size) Prints the method data to the current output stream.private voidprintAnnotationDataList(List<AnnotationData> annotationDataList, int offset) Prints a list of Visible/Invisible parameter annotationsvoidPrint The MethodParameters Attribute and the parameter annotations for this method.protected voidPrints system comments if the option -sysinfo is used.voidread(DataInputStream in) Read and resolve the method data called from ClassData.private voidvoidtablePrint(int index, int size) Methods inherited from class MemberData
calculateInlinedTitleShift, getAnnotationElementState, getAnnotationsCount, getConstantPool, getListOf, getPseudoFlagsAsString, handleUnrecognizedAttributes, init, printAnnotations, printAttributes, printVar, readAttributes, setElementState, setOwner, setSignatureMethods inherited from class Indenter
decIndent, decIndent, enlargedIndent, enlargedIndent, formatOperandLine, getCommentOffset, getIndentSize, getIndentStep, getIndentString, getLabelPrefix, getOffset, getPrintAttributeCommentPadding, getPrintAttributeKeyPadding, getTitle, incIndent, incIndent, Indent, IndentPadLeft, IndentPadRight, initIndent, isTableOutput, jasmPrint, nCopies, padLeft, PadLeft, padRight, PadRight, print, print, print, print, printIndent, printIndent, printIndent, printIndentLn, printIndentLn, printIndentLn, printIndentPadLeft, printIndentPadRight, println, println, println, println, printPadLeft, printPadRight, setCommentOffset, setHasSize, setOffset, setTheSame, tableFormatSupported, tablePrintMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Printable
isPrintable
-
Field Details
-
name_cpx
protected int name_cpx -
descriptor_cpx
protected int descriptor_cpx -
methodParameters
-
visibleParameterAnnotations
-
invisibleParameterAnnotations
-
defaultAnnotation
-
exceptions
-
code
-
parameterAnnotationsSizes
-
-
Constructor Details
-
MethodData
-
-
Method Details
-
handleAttributes
protected boolean handleAttributes(DataInputStream in, EAttribute attributeTag, int attributeLength) throws IOException - Overrides:
handleAttributesin classMemberData<ClassData>- Throws:
IOException
-
read
Read and resolve the method data called from ClassData. Precondition: Meth has already been read from the stream.- Throws:
IOException
-
readMethodParameters
- Throws:
IOException
-
ParameterAnnotationsSizes
-
hasAnnotationParameters
private boolean hasAnnotationParameters() -
hasDefaultAnnotation
private boolean hasDefaultAnnotation() -
printMethodParameters
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
-
getMethodModifiers
-
jasmPrint
Prints the method data to the current output stream. Called from ClassData.- Overrides:
jasmPrintin classIndenter- Throws:
IOException
-
tablePrint
- Overrides:
tablePrintin classIndenter- Throws:
IOException
-
printSysInfo
protected void printSysInfo()Description copied from class:MemberDataPrints system comments if the option -sysinfo is used.- Overrides:
printSysInfoin classMemberData<ClassData>
-