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 CodeUnitFormatDEFAULTDefault code unit formatstatic java.lang.StringEXTENDED_INDIRECT_REFERENCE_DELIMITERstatic java.lang.StringEXTENDED_REFERENCE_DELIMITERprotected CodeUnitFormatOptionsoptionsprotected static java.lang.StringPLUSprotected static java.lang.StringUNDERSCORE
-
Constructor Summary
Constructors Modifier Constructor Description protectedCodeUnitFormat()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.StringaddOffcutInformation(java.lang.String prefix, java.lang.String addressString, int diff, boolean decorate)OperandRepresentationListgetDataValueRepresentation(Data data)Returns a formatted data value for the specified data unit.java.lang.StringgetDataValueRepresentationString(Data data)Returns a formatted data value for the specified data unit.protected java.lang.StringgetDefaultOffcutString(Symbol symbol, CodeUnit cu, long diff, boolean decorate)java.lang.StringgetMnemonicRepresentation(CodeUnit cu)Returns a formatted code unit mnemonicprotected java.lang.StringgetOffcutDataString(Address offcutAddress, Data data)java.lang.StringgetOffcutLabelString(Address offcutAddress, CodeUnit cu)protected java.lang.StringgetOffcutLabelStringForInstruction(Address offcutAddress, Instruction instruction)OperandRepresentationListgetOperandRepresentationList(CodeUnit cu, int opIndex)Returns a formatted list of operand objects for the specified code unit operand.java.lang.StringgetOperandRepresentationString(CodeUnit cu, int opIndex)Returns a formatted string representation of the specified code unit operand.protected java.lang.StringgetPrefixForStringData(Data data, Address dataAddress, int diff, DataType dt)java.lang.StringgetReferenceRepresentationString(CodeUnit fromCodeUnit, Reference ref)Returns a marked-up representation of the reference destination.java.lang.StringgetRepresentationString(CodeUnit cu)Returns a formatted string representation of the specified code unit, including mnemonic and operand(s) only.java.lang.StringgetRepresentationString(CodeUnit cu, boolean includeEOLcomment)Returns a formatted string representation of the specified code unit mnemonic and operand(s).CodeUnitFormatOptions.ShowBlockNamegetShowBlockName()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
-
-