Package ghidra.program.util

# Class FunctionSignatureFieldLocation

java.lang.Object
ghidra.program.util.ProgramLocation
ghidra.program.util.FunctionLocation
ghidra.program.util.FunctionSignatureFieldLocation

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

Direct Known Subclasses:
  `FunctionCallingConventionFieldLocation`, `FunctionEndParametersFieldLocation`, `FunctionInlineFieldLocation`, `FunctionNameFieldLocation`, `FunctionNoReturnFieldLocation`, `FunctionParameterFieldLocation`, `FunctionReturnTypeFieldLocation`, `FunctionStartParametersFieldLocation`, `FunctionThunkFieldLocation`

public class FunctionSignatureFieldLocation extends FunctionLocation
The `FunctionSignatureFieldLocation` class provides specific information about the Function Signature field within a program location.

- ## Field Summary

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

  `functionAddr`

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

  `addr, program, refAddr`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FunctionSignatureFieldLocation()`
  Default constructor needed for restoring a program location from XML
  `FunctionSignatureFieldLocation(Program program, Address functionAddr)`
  Construct a new FunctionSignatureFieldLocation object with field-based positioning.
  `FunctionSignatureFieldLocation(Program program, Address functionAddr, int col, String signature)`
  Construct a new FunctionSignatureFieldLocation object.
  `FunctionSignatureFieldLocation(Program program, Address locationAddr, Address functionAddr, int charOffset, String signature)`
  Construct a new FunctionSignatureFieldLocation object.

- ## Method Summary

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

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

  `getFunctionAddress, 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

  - ### FunctionSignatureFieldLocation

    public FunctionSignatureFieldLocation(Program program, Address locationAddr, Address functionAddr, int charOffset, String signature)
    Construct a new FunctionSignatureFieldLocation object.
    Parameters:
      `program` - the program of the location
      `locationAddr` - the address of the listing location (i.e., referent code unit)
      `functionAddr` - the function address
      `charOffset` - the character position within the function signature string for this location.
      `signature` - the function signature String at this location.

  - ### FunctionSignatureFieldLocation

    public FunctionSignatureFieldLocation(Program program, Address functionAddr, int col, String signature)
    Construct a new FunctionSignatureFieldLocation object.
    Parameters:
      `program` - the program of the location
      `functionAddr` - the function address
      `col` - the character position within the function signature string for this location.
      `signature` - the function signature String at this location.

  - ### FunctionSignatureFieldLocation

    public FunctionSignatureFieldLocation(Program program, Address functionAddr)
    Construct a new FunctionSignatureFieldLocation object with field-based positioning.
    Parameters:
      `program` - the program of the location
      `functionAddr` - the function address

  - ### FunctionSignatureFieldLocation

    public FunctionSignatureFieldLocation()
    Default constructor needed for restoring a program location from XML

- ## Method Details

  - ### isFieldBasedPositioning

    public boolean isFieldBasedPositioning()

  - ### getSignature

    public String getSignature()
    Return the function signature string at this location.

  - ### toString

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

  - ### hashCode

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

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `FunctionLocation`
    See Also:
      - `Object.equals(java.lang.Object)`

  - ### saveState

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

  - ### restoreState

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