Class Indenter

java.lang.Object
org.openjdk.asmtools.jdis.Indenter
All Implemented Interfaces:
Printable
Direct Known Subclasses:
AttributeData, ConstantPool, Container, Element, LineNumberData, LocalData, MemberData, ModuleContent, SourceDebugExtensionData

public abstract class Indenter extends Object implements Printable
  • Field Details

    • UNDEFINED

      public static final int UNDEFINED
      See Also:
    • INDENT_STEP

      public static final int INDENT_STEP
      See Also:
    • INDENT_OFFSET

      public static final int INDENT_OFFSET
      See Also:
    • INDENT_CHAR

      public static final String INDENT_CHAR
      See Also:
    • INDENT_STRING

      public static final String INDENT_STRING
    • ARGUMENT_DELIMITER

      public static final String ARGUMENT_DELIMITER
      See Also:
    • LINE_SPLITTER

      public static final String LINE_SPLITTER
      See Also:
    • NO_BSM_ARGUMENTS

      public static final String NO_BSM_ARGUMENTS
      See Also:
    • NO_BSM_ARGUMENTS_REGEX

      public static final String NO_BSM_ARGUMENTS_REGEX
      See Also:
    • REPLACEMENT_NO_BSM_ARGUMENTS

      public static final String REPLACEMENT_NO_BSM_ARGUMENTS
      See Also:
    • PROGRAM_COUNTER_PLACEHOLDER_LENGTH

      public static final int PROGRAM_COUNTER_PLACEHOLDER_LENGTH
      See Also:
    • INSTR_PREFIX_LENGTH

      public static final int INSTR_PREFIX_LENGTH
      See Also:
    • STACKMAP_TYPE_PLACEHOLDER_LENGTH

      public static final int STACKMAP_TYPE_PLACEHOLDER_LENGTH
      See Also:
    • OPERAND_PLACEHOLDER_LENGTH

      public static final int OPERAND_PLACEHOLDER_LENGTH
      See Also:
    • TABLE_PADDING

      public static int TABLE_PADDING
    • COMMENT_PADDING

      public static final int COMMENT_PADDING
    • INITIAL_COMMENT_OFFSET

      public static final int INITIAL_COMMENT_OFFSET
      See Also:
    • CIRCULAR_COMMENT_OFFSET

      public static final int CIRCULAR_COMMENT_OFFSET
      See Also:
    • tableFormat

      protected final boolean tableFormat
    • sysInfo

      protected final boolean sysInfo
    • detailedOutput

      protected final boolean detailedOutput
    • extraDetailedOutput

      protected final boolean extraDetailedOutput
    • bestEffort

      protected final boolean bestEffort
    • dropSourceFile

      protected final boolean dropSourceFile
    • dropClasses

      protected final boolean dropClasses
    • dropSignatures

      protected final boolean dropSignatures
    • dropCharacterRange

      protected final boolean dropCharacterRange
    • printLocalVariables

      protected final boolean printLocalVariables
    • printLocalVariableTypes

      protected final boolean printLocalVariableTypes
    • printLineNumber

      protected final boolean printLineNumber
    • printCPIndex

      protected final boolean printCPIndex
    • skipComments

      protected final boolean skipComments
    • printProgramCounter

      protected final boolean printProgramCounter
    • printLabelAsIdentifiers

      protected final boolean printLabelAsIdentifiers
    • printConstantPool

      protected final boolean printConstantPool
    • printSourceLines

      protected final boolean printSourceLines
    • printLineTable

      protected final boolean printLineTable
    • printLineTableLines

      protected final boolean printLineTableLines
    • printLineTableNumbers

      protected final boolean printLineTableNumbers
    • printHEX

      protected final boolean printHEX
    • printable

      protected boolean printable
    • hasSize

      protected boolean hasSize
    • tableToken

      protected TableFormatModel.Token tableToken
    • maxSize

      protected int maxSize
    • maxSizeCalculated

      protected boolean maxSizeCalculated
    • toolOutput

      protected ToolOutput toolOutput
    • LabelPrefix

      private final String LabelPrefix
    • commentOffset

      protected int commentOffset
    • length

      private int length
    • offset

      private int offset
    • step

      private int step
    • fillString

      private String fillString
    • InvokeDynamicBreakPositions

      protected static final Map<Integer, List<Integer>> InvokeDynamicBreakPositions
    • LdwBreakPositions

      protected static final Map<Integer, List<Integer>> LdwBreakPositions
    • BootstrapMethodBreakPositions

      protected static final Map<Integer, List<Integer>> BootstrapMethodBreakPositions
    • BootstrapArgumentsBreakPositions

      protected static final Map<Integer, List<Integer>> BootstrapArgumentsBreakPositions
  • Constructor Details

    • Indenter

      public Indenter(ToolOutput toolOutput)
    • Indenter

      protected Indenter()
  • Method Details

    • print

      public void print() throws IOException
      If a table format is supported and the tool option TABLE is set, prints an object as a table entry.
      Specified by:
      print in interface Printable
      Throws:
      IOException
    • isTableOutput

      public boolean isTableOutput()
    • tableFormatSupported

      public boolean tableFormatSupported()
      Specified by:
      tableFormatSupported in interface Printable
      Returns:
      true if a table format is supported
    • getTitle

      protected String getTitle()
    • tablePrint

      protected void tablePrint() throws IOException
      Throws:
      IOException
    • jasmPrint

      protected void jasmPrint() throws IOException
      Throws:
      IOException
    • tablePrint

      protected void tablePrint(int index, int size) throws IOException
      Throws:
      IOException
    • jasmPrint

      protected void jasmPrint(int index, int size) throws IOException
      Throws:
      IOException
    • print

      public void print(int index, int size) throws IOException
      Throws:
      IOException
    • getLabelPrefix

      protected String getLabelPrefix()
    • printIndentLn

      public Indenter printIndentLn(String s)
    • printIndentLn

      public Indenter printIndentLn()
    • getIndentStep

      public int getIndentStep()
    • printIndentLn

      public Indenter printIndentLn(String format, Object... args)
    • printIndent

      public Indenter printIndent(String format, Object... args)
    • printIndent

      public Indenter printIndent(String s)
    • printIndent

      public Indenter printIndent()
    • printPadRight

      public Indenter printPadRight(String s, int totalWidth)
    • printPadLeft

      public Indenter printPadLeft(String s, int totalWidth)
    • printIndentPadRight

      public Indenter printIndentPadRight(String str, int totalWidth)
    • printIndentPadLeft

      public Indenter printIndentPadLeft(String str, int totalWidth)
    • print

      public Indenter print(String s)
    • print

      public Indenter print(String format, Object... args)
    • println

      public Indenter println(String s)
    • println

      public Indenter println()
    • println

      public Indenter println(boolean isPrint)
    • println

      public Indenter println(String format, Object... args)
    • incIndent

      public Indenter incIndent()
    • decIndent

      public Indenter decIndent()
    • incIndent

      public Indenter incIndent(int count)
    • decIndent

      public Indenter decIndent(int count)
    • setTheSame

      public Indenter setTheSame(Indenter that)
    • initIndent

      public Indenter initIndent(int initialOffset)
    • getIndentSize

      public int getIndentSize()
    • nCopies

      public String nCopies(int n)
    • getIndentString

      public String getIndentString()
      Creates indent string based on current indent size.
    • IndentPadLeft

      public String IndentPadLeft(String str, int totalWidth)
      Formats input string by adding indent string and padding spaces from the left. "[indent][PaddingSpaces][string]" -----totalWidth-------
    • IndentPadRight

      public String IndentPadRight(String str, int totalWidth)
      Formats input string by adding indent string and padding spaces from the left. "[indent][string][PaddingSpaces]" -----totalWidth-------
    • PadLeft

      public String PadLeft(String str, int totalWidth)
      Formats input string by adding indent string and padding spaces from the left. "[PaddingSpaces][string]" -----totalWidth-------
    • PadRight

      public String PadRight(String str, int totalWidth)
    • padRight

      public String padRight(String value, int width, char pad)
    • padLeft

      public String padLeft(String value, int width, char pad)
    • Indent

      public String Indent(String str)
    • enlargedIndent

      public String enlargedIndent(String str, int shift)
    • enlargedIndent

      public String enlargedIndent(int shift)
    • getCommentOffset

      public int getCommentOffset()
      Returns:
      the common offset of comments for printing methods
    • setCommentOffset

      public Indenter setCommentOffset(int commentOffset)
    • getOffset

      public int getOffset()
      Returns:
      the common offset of the indent
    • setOffset

      public Indenter setOffset(int offset)
    • getPrintAttributeKeyPadding

      protected int getPrintAttributeKeyPadding()
      Calculates offsets for Class's attributes:

      12AAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCCCCCCCCCC SourceFile #126; // TestMethods0.java 12 - Indent AAA.A - getPrintAttributeKeyPadding() CCC.C - getPrintAttributeCommentPadding()

      Returns:
    • getPrintAttributeCommentPadding

      protected int getPrintAttributeCommentPadding()
    • setHasSize

      public Indenter setHasSize(boolean hasSize)
    • formatOperandLine

      protected String formatOperandLine(String str, int offset, String prefix, Map<Integer, List<Integer>> breakPositions)
      Formats invokedynamic/ldc dynamic operand line and Bootstrap arguments
      Parameters:
      str - non-formatted operand line
      offset - indent for new lines
      prefix - prefix placed upfront new lines
      breakPositions - numbers where after ":" a lineSeparator is added to wrap a very long operand lines
      Returns:
      formatted operand line