Class CodeUnitFormat

java.lang.Object
ghidra.program.model.listing.CodeUnitFormat
Direct Known Subclasses:
BrowserCodeUnitFormat

public class CodeUnitFormat extends Object
  • Field Details

  • Constructor Details

    • CodeUnitFormat

      protected CodeUnitFormat()
      Default constructor using default format options
    • CodeUnitFormat

      public CodeUnitFormat(CodeUnitFormatOptions.ShowBlockName showBlockName, CodeUnitFormatOptions.ShowNamespace showNamespace)
      Format constructor.
      Parameters:
      showBlockName - whether or not to display block name; {SHOW_BLOCKNAME_ALWAYS, SHOW_BLOCKNAME_NEVER, SHOW_SEGMENT_NON_LOCAL}
      showNamespace - if true display labels with their name-space path.
    • CodeUnitFormat

      public CodeUnitFormat(CodeUnitFormatOptions options)
      Format constructor with more options. Extended reference mark-up is enabled.
      Parameters:
      options - format options
  • Method Details

    • getRepresentationString

      public String getRepresentationString(CodeUnit cu)
      Returns a formatted string representation of the specified code unit, including mnemonic and operand(s) only.
      Parameters:
      cu - code unit
      Returns:
      formatted code unit representation
    • getRepresentationString

      public String getRepresentationString(CodeUnit cu, boolean includeEOLcomment)
      Returns a formatted string representation of the specified code unit mnemonic and operand(s).
      Parameters:
      cu - code unit
      includeEOLcomment - if true EOL comment will be appended to code unit representation
      Returns:
      formatted code unit representation
    • getMnemonicRepresentation

      public String getMnemonicRepresentation(CodeUnit cu)
      Returns a formatted code unit mnemonic
      Parameters:
      cu - code unit
      Returns:
      mnemonic representation
    • getOperandRepresentationString

      public String getOperandRepresentationString(CodeUnit cu, int opIndex)
      Returns a formatted string representation of the specified code unit operand.
      Parameters:
      cu - code unit
      opIndex -
      Returns:
      formatted code unit representation
    • getOperandRepresentationList

      public OperandRepresentationList getOperandRepresentationList(CodeUnit cu, int opIndex)
      Returns a formatted list of operand objects for the specified code unit operand. In the case of Data opIndex=1, this will be a list containing a single String object (see getDataValueRepresentation(Data)). In the case of an Instruction, the list will contain a list of Objects, including any combination of Character, String, VariableOffset, Register, Address, Scalar, List, LabelString etc.. All objects returned must support the toString() method.
      Parameters:
      cu - code unit
      opIndex - operand index
      Returns:
      list of representation objects or null for an unsupported language.
    • getDataValueRepresentation

      public OperandRepresentationList getDataValueRepresentation(Data data)
      Returns a formatted data value for the specified data unit. The return list will contain a single object which may be an instance of String, LabelString, Address, Scalar or Equate
      Parameters:
      data - data unit
      Returns:
      representation list containing a single object.
    • getDataValueRepresentationString

      public String getDataValueRepresentationString(Data data)
      Returns a formatted data value for the specified data unit.
      Parameters:
      data - data unit
      Returns:
      data value string
    • getReferenceRepresentationString

      public String getReferenceRepresentationString(CodeUnit fromCodeUnit, Reference ref)
      Returns a marked-up representation of the reference destination.
      Parameters:
      fromCodeUnit -
      ref -
      Returns:
      destination as a string or null if a suitable string could not be produced.
    • getOffcutLabelString

      public String getOffcutLabelString(Address offcutAddress, CodeUnit cu, Address markupAddress)
    • getOffcutDataString

      protected String getOffcutDataString(Address offcutAddress, Data data)
    • getOffcutLabelStringForInstruction

      protected String getOffcutLabelStringForInstruction(Address offcutAddress, Instruction instruction, Address markupAddress)
      Generate label string. This may serve two use cases:
      • Generating operand label at markupAddress for referenced instruction and offcutAddress
      • Generating offcut label for an offcutAddress with instruction (markupAddress=null)
      Parameters:
      offcutAddress - address for which generated label represents
      instruction - instruction containing offcut address
      markupAddress - address where a label will be referenced from (may be null)
      Returns:
      generated offcut label
    • addOffcutInformation

      protected String addOffcutInformation(String prefix, String addressString, int diff, boolean decorate)
    • getPrefixForStringData

      protected String getPrefixForStringData(Data data, Address dataAddress, int diff, DataType dt)
    • getDefaultOffcutString

      protected String getDefaultOffcutString(Symbol symbol, CodeUnit cu, long diff, boolean decorate)
    • getShowBlockName

      public CodeUnitFormatOptions.ShowBlockName getShowBlockName()
      Returns ShowBlockName setting