Package ghidra.program.util

# Class MnemonicFieldLocation

java.lang.Object
ghidra.program.util.ProgramLocation
ghidra.program.util.CodeUnitLocation
ghidra.program.util.MnemonicFieldLocation

All Implemented Interfaces:
  `Cloneable`, `Comparable<ProgramLocation>`

public class MnemonicFieldLocation extends CodeUnitLocation
The `MnemonicFieldLocation` class contains specific location information within the MNEMONIC field of a CodeUnitLocation object.

- ## Field Summary

  ### Fields inherited from class ghidra.program.util.ProgramLocation

  `addr, program, refAddr`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MnemonicFieldLocation()`
  Default constructor needed for restoring a mnemonic field location from XML.
  `MnemonicFieldLocation(Program program, Address address)`
  `MnemonicFieldLocation(Program program, Address addr, int[] componentPath, String mnemonicString, int charOffset)`
  Construct a new MnemonicFieldLocation.
  `MnemonicFieldLocation(Program program, Address addr, Address refAddr, int[] componentPath, String mnemonicString, int charOffset)`
  Construct a new MnemonicFieldLocation.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  `String`
  `getMnemonic()`
  Returns the mnemonic string at this location.
  `int`
  `hashCode()`
  `void`
  `restoreState(Program p, SaveState obj)`
  Restore this program location using the given program and save state object.
  `void`
  `saveState(SaveState obj)`
  Save this program location to the given save state object.
  `String`
  `toString()`
  Returns a String representation of this location.

  ### Methods inherited from class ghidra.program.util.CodeUnitLocation

  `isValid`

  ### Methods inherited from class ghidra.program.util.ProgramLocation

  `clone, compareAddr, compareTo, getAddress, getByteAddress, getCharOffset, getColumn, getComponentPath, getLocation, getProgram, getRefAddress, getRow, getTranslatedCopy`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### MnemonicFieldLocation

    public MnemonicFieldLocation(Program program, Address addr, int[] componentPath, String mnemonicString, int charOffset)
    Construct a new MnemonicFieldLocation.
    Parameters:
      `program` - the program of the location
      `addr` - address of the location; should not be null
      `componentPath` - array of indexes for each nested data component; the index is the data component's index within its parent; may be null
      `mnemonicString` - the mnemonic string
      `charOffset` - the character position within the mnemonic string for this location.

  - ### MnemonicFieldLocation

    public MnemonicFieldLocation(Program program, Address addr, Address refAddr, int[] componentPath, String mnemonicString, int charOffset)
    Construct a new MnemonicFieldLocation.
    Parameters:
      `program` - the program of the location
      `addr` - address of the location; should not be null
      `refAddr` - the "referred to" address if the location is over a reference; may be null
      `componentPath` - array of indexes for each nested data component; the index is the data component's index within its parent; may be null
      `mnemonicString` - the mnemonic string
      `charOffset` - the character position within the mnemonic string for this location.

  - ### MnemonicFieldLocation

    public MnemonicFieldLocation(Program program, Address address)
    See Also:
      - `ProgramLocation(Program, Address)`

  - ### MnemonicFieldLocation

    public MnemonicFieldLocation()
    Default constructor needed for restoring a mnemonic field location from XML.

- ## Method Details

  - ### getMnemonic

    public String getMnemonic()
    Returns the mnemonic string at this location.

  - ### toString

    public String toString()
    Returns a String representation of this location.
    Overrides:
      `toString` in class `ProgramLocation`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `ProgramLocation`

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `ProgramLocation`

  - ### restoreState

    public void restoreState(Program p, SaveState obj)
    Description copied from class: `ProgramLocation`
    Restore this program location using the given program and save state object.
    Overrides:
      `restoreState` in class `ProgramLocation`
    Parameters:
      `p` - program to restore from
      `obj` - the save state to restore from

  - ### saveState

    public void saveState(SaveState obj)
    Description copied from class: `ProgramLocation`
    Save this program location to the given save state object.
    Overrides:
      `saveState` in class `ProgramLocation`
    Parameters:
      `obj` - the save state object for saving the location