Class LineNumberData
java.lang.Object
org.openjdk.asmtools.jdis.Indenter
org.openjdk.asmtools.jdis.LineNumberData
- All Implemented Interfaces:
Printable
Represents a single line number data entry within a Line Number Table attribute.
This class extends the Indenter class to provide indentation functionality.
-
Nested Class Summary
Nested classes/interfaces inherited from class Indenter
Indenter.NotImplementedException -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected StringA format string used for printing the line number data.protected shortThe line number corresponding to the start_pc.protected shortThe starting program counter of this line number entry.Fields 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
ConstructorsConstructorDescriptionLineNumberData(DataInputStream in, MethodData methodData) Constructs a new LineNumberData instance from the given DataInputStream and MethodData. -
Method Summary
Modifier and TypeMethodDescriptionprotected StringgetTitle()booleanChecks if this LineNumberData instance should be printed.protected voidjasmPrint(int index, int size) Prints this LineNumberData instance in JASM format.protected voidtablePrint(int index, int size) Prints this LineNumberData instance in Table(javap) format.Methods inherited from class Indenter
decIndent, decIndent, enlargedIndent, enlargedIndent, formatOperandLine, getCommentOffset, getIndentSize, getIndentStep, getIndentString, getLabelPrefix, getOffset, getPrintAttributeCommentPadding, getPrintAttributeKeyPadding, 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, tablePrint
-
Field Details
-
start_pc
protected short start_pcThe starting program counter of this line number entry. -
line_number
protected short line_numberThe line number corresponding to the start_pc. -
format
A format string used for printing the line number data.
-
-
Constructor Details
-
LineNumberData
Constructs a new LineNumberData instance from the given DataInputStream and MethodData.- Parameters:
in- the DataInputStream containing the line number datamethodData- the MethodData instance associated with this LineNumberData- Throws:
IOException- if an I/O error occurs during construction
-
-
Method Details
-
isPrintable
public boolean isPrintable()Checks if this LineNumberData instance should be printed.- Returns:
- true if either printLineTable or tableFormat is enabled, false otherwise.
-
jasmPrint
Prints this LineNumberData instance in JASM format.- Overrides:
jasmPrintin classIndenter- Parameters:
index- the index of this entry in the Line Number Tablesize- the total number of entries in the Line Number Table- Throws:
IOException- if an I/O error occurs during printing
-
getTitle
-
tablePrint
Prints this LineNumberData instance in Table(javap) format.- Overrides:
tablePrintin classIndenter- Parameters:
index- the index of this entry in the Line Number Tablesize- the total number of entries in the Line Number Table- Throws:
IOException- if an I/O error occurs during printing
-