Package ghidra.program.model.listing
Class CodeUnitFormat
- java.lang.Object
-
- ghidra.program.model.listing.CodeUnitFormat
-
- Direct Known Subclasses:
BrowserCodeUnitFormat
public class CodeUnitFormat extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static CodeUnitFormat
DEFAULT
Default code unit formatstatic java.lang.String
EXTENDED_INDIRECT_REFERENCE_DELIMITER
static java.lang.String
EXTENDED_REFERENCE_DELIMITER
protected CodeUnitFormatOptions
options
protected static java.lang.String
PLUS
protected static java.lang.String
UNDERSCORE
-
Constructor Summary
Constructors Modifier Constructor Description protected
CodeUnitFormat()
Default constructor using default format optionsCodeUnitFormat(CodeUnitFormatOptions options)
Format constructor with more options.CodeUnitFormat(CodeUnitFormatOptions.ShowBlockName showBlockName, CodeUnitFormatOptions.ShowNamespace showNamespace)
Format constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
addOffcutInformation(java.lang.String prefix, java.lang.String addressString, int diff, boolean decorate)
OperandRepresentationList
getDataValueRepresentation(Data data)
Returns a formatted data value for the specified data unit.java.lang.String
getDataValueRepresentationString(Data data)
Returns a formatted data value for the specified data unit.protected java.lang.String
getDefaultOffcutString(Symbol symbol, CodeUnit cu, long diff, boolean decorate)
java.lang.String
getMnemonicRepresentation(CodeUnit cu)
Returns a formatted code unit mnemonicprotected java.lang.String
getOffcutDataString(Address offcutAddress, Data data)
java.lang.String
getOffcutLabelString(Address offcutAddress, CodeUnit cu)
protected java.lang.String
getOffcutLabelStringForInstruction(Address offcutAddress, Instruction instruction)
OperandRepresentationList
getOperandRepresentationList(CodeUnit cu, int opIndex)
Returns a formatted list of operand objects for the specified code unit operand.java.lang.String
getOperandRepresentationString(CodeUnit cu, int opIndex)
Returns a formatted string representation of the specified code unit operand.protected java.lang.String
getPrefixForStringData(Data data, Address dataAddress, int diff, DataType dt)
java.lang.String
getReferenceRepresentationString(CodeUnit fromCodeUnit, Reference ref)
Returns a marked-up representation of the reference destination.java.lang.String
getRepresentationString(CodeUnit cu)
Returns a formatted string representation of the specified code unit, including mnemonic and operand(s) only.java.lang.String
getRepresentationString(CodeUnit cu, boolean includeEOLcomment)
Returns a formatted string representation of the specified code unit mnemonic and operand(s).CodeUnitFormatOptions.ShowBlockName
getShowBlockName()
Returns ShowBlockName setting
-
-
-
Field Detail
-
PLUS
protected static final java.lang.String PLUS
- See Also:
- Constant Field Values
-
UNDERSCORE
protected static final java.lang.String UNDERSCORE
- See Also:
- Constant Field Values
-
EXTENDED_REFERENCE_DELIMITER
public static java.lang.String EXTENDED_REFERENCE_DELIMITER
-
EXTENDED_INDIRECT_REFERENCE_DELIMITER
public static java.lang.String EXTENDED_INDIRECT_REFERENCE_DELIMITER
-
DEFAULT
public static CodeUnitFormat DEFAULT
Default code unit format
-
options
protected CodeUnitFormatOptions options
-
-
Constructor Detail
-
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 Detail
-
getRepresentationString
public java.lang.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 java.lang.String getRepresentationString(CodeUnit cu, boolean includeEOLcomment)
Returns a formatted string representation of the specified code unit mnemonic and operand(s).- Parameters:
cu
- code unitincludeEOLcomment
- if true EOL comment will be appended to code unit representation- Returns:
- formatted code unit representation
-
getMnemonicRepresentation
public java.lang.String getMnemonicRepresentation(CodeUnit cu)
Returns a formatted code unit mnemonic- Parameters:
cu
- code unit- Returns:
- mnemonic representation
-
getOperandRepresentationString
public java.lang.String getOperandRepresentationString(CodeUnit cu, int opIndex)
Returns a formatted string representation of the specified code unit operand.- Parameters:
cu
- code unitopIndex
-- 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 unitopIndex
- 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 java.lang.String getDataValueRepresentationString(Data data)
Returns a formatted data value for the specified data unit.- Parameters:
data
- data unit- Returns:
- data value string
-
getReferenceRepresentationString
public java.lang.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 java.lang.String getOffcutLabelString(Address offcutAddress, CodeUnit cu)
-
getOffcutDataString
protected java.lang.String getOffcutDataString(Address offcutAddress, Data data)
-
getOffcutLabelStringForInstruction
protected java.lang.String getOffcutLabelStringForInstruction(Address offcutAddress, Instruction instruction)
-
addOffcutInformation
protected java.lang.String addOffcutInformation(java.lang.String prefix, java.lang.String addressString, int diff, boolean decorate)
-
getPrefixForStringData
protected java.lang.String getPrefixForStringData(Data data, Address dataAddress, int diff, DataType dt)
-
getDefaultOffcutString
protected java.lang.String getDefaultOffcutString(Symbol symbol, CodeUnit cu, long diff, boolean decorate)
-
getShowBlockName
public CodeUnitFormatOptions.ShowBlockName getShowBlockName()
Returns ShowBlockName setting
-
-