Package org.openjdk.asmtools.jdis
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 org.openjdk.asmtools.jdis.MemberData
MemberData.AnnotationElementStateNested classes/interfaces inherited from class org.openjdk.asmtools.jdis.Indenter
Indenter.NotImplementedException -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate CodeDataprotected AnnotationElement.AnnotationValueprotected intprotected ExceptionDataprotected ParameterAnnotationDataprotected ArrayList<MethodData.MethodParameterData> protected intprotected ParameterAnnotationDataFields inherited from class org.openjdk.asmtools.jdis.MemberData
access, attributes, data, DEFAULT_VALUE_PREFIX, environment, invisibleAnnotations, invisibleTypeAnnotations, isDeprecated, isSynthetic, memberType, owner, pool, signature, visibleAnnotations, visibleTypeAnnotationsFields inherited from class org.openjdk.asmtools.jdis.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 org.openjdk.asmtools.jdis.MemberData
calculateInlinedTitleShift, getAnnotationElementState, getAnnotationsCount, getConstantPool, getListOf, getPseudoFlagsAsString, handleUnrecognizedAttributes, init, printAnnotations, printAttributes, printVar, readAttributes, setElementState, setOwner, setSignatureMethods inherited from class org.openjdk.asmtools.jdis.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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.openjdk.asmtools.jdis.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>
-