Class HighFunctionSymbol

java.lang.Object
ghidra.program.model.pcode.HighSymbol
ghidra.program.model.pcode.HighFunctionSymbol

public class HighFunctionSymbol extends HighSymbol
A function symbol that encapsulates detailed information about a particular function for the purposes of decompilation. The detailed model is provided by a backing HighFunction object.
  • Constructor Details

    • HighFunctionSymbol

      public HighFunctionSymbol(Address addr, int size, HighFunction function)
      Construct given an Address, size, and decompiler function model for the symbol. The Address is typically the entry point of the function but may be different if the function is getting mapped from elsewhere (i.e. the EXTERNAL space). The size is given in bytes but generally isn't the true size of the function. The size needs to make the symbol just big enough to absorb any off-cut Address queries.
      Parameters:
      addr - is the starting Address of the symbol
      size - is the pseudo-size of the function
      function - is the decompiler model of the function
  • Method Details

    • isGlobal

      public boolean isGlobal()
      Description copied from class: HighSymbol
      Is this symbol in the global scope or some other global namespace
      Overrides:
      isGlobal in class HighSymbol
      Returns:
      true if this is global
    • getNamespace

      public Namespace getNamespace()
      Description copied from class: HighSymbol
      Fetch the namespace owning this symbol, if it exists.
      Overrides:
      getNamespace in class HighSymbol
      Returns:
      the Namespace object or null
    • encode

      public void encode(Encoder encoder) throws IOException
      Description copied from class: HighSymbol
      Encode the symbol description as an element to the stream. This does NOT save the mappings.
      Overrides:
      encode in class HighSymbol
      Parameters:
      encoder - is the stream encoder
      Throws:
      IOException - for errors in the underlying stream