Class FunctionLocation

java.lang.Object
ghidra.program.util.ProgramLocation
ghidra.program.util.FunctionLocation
All Implemented Interfaces:
Cloneable, Comparable<ProgramLocation>
Direct Known Subclasses:
FunctionCallFixupFieldLocation, FunctionRepeatableCommentFieldLocation, FunctionSignatureFieldLocation, FunctionSignatureSourceFieldLocation, FunctionTagFieldLocation, ThunkedFunctionFieldLocation, VariableLocation

public class FunctionLocation extends ProgramLocation
FunctionLocation provides information about the location in a program within a Function.
  • Field Details

    • functionAddr

      protected Address functionAddr
  • Constructor Details

    • FunctionLocation

      protected FunctionLocation(Program program, Address locationAddr, Address functionAddr, int row, int col, int charOffset)
      Create a new FunctionLocation.
      Parameters:
      program - the program of the location
      locationAddr - the address of the listing location (i.e., referent code unit)
      functionAddr - the function address
      row - the row in the field
      col - the display piece on the row
      charOffset - the character position within the display piece specifed by row,col
    • FunctionLocation

      protected FunctionLocation()
      Default constructor needed for restoring a program function location from XML
  • Method Details

    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class ProgramLocation
      See Also:
    • getFunctionAddress

      public Address getFunctionAddress()
      Return the Function symbol address which may differ from the "location address" when a function is indirectly inferred via a reference. WARNING: The ProgramLocation.getAddress() should not be used to obtain the function address!
      Returns:
      the function address corresponding to this program location
    • saveState

      public void saveState(SaveState obj)
      Save this function location to the given save state object.
      Overrides:
      saveState in class ProgramLocation
      Parameters:
      obj - the save state object for saving the location
    • restoreState

      public void restoreState(Program program1, SaveState obj)
      Restore this function location using the given program and save state object.
      Overrides:
      restoreState in class ProgramLocation
      Parameters:
      program1 - the program containing the function location
      obj - the save state object for saving the location
    • isValid

      public boolean isValid(Program p)
      Description copied from class: ProgramLocation
      Returns true if this location represents a valid location in the given program.
      Overrides:
      isValid in class ProgramLocation
      Parameters:
      p - the program to test if this location is valid.
      Returns:
      true if this location represents a valid location in the given program.
    • toString

      public String toString()
      Overrides:
      toString in class ProgramLocation