Package ghidra.program.model.pcode

# Class HighExternalSymbol

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

public class HighExternalSymbol extends HighSymbol
A symbol, within a decompiler model, for a function without a body in the current Program. The Address of this symbol corresponds to the code location that CALL instructions refer to. In anticipation of a (not fully resolved) thunking mechanism, this symbol also has a separate resolve Address, which is where the decompiler expects to retrieve the detailed Function object.

- ## Field Summary

  ### Fields inherited from class ghidra.program.model.pcode.HighSymbol

  `category, categoryIndex, dtmanage, entryList, function, ID_BASE, name, type`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HighExternalSymbol(String nm, Address addr, Address resolveAddr, PcodeDataTypeManager dtmanage)`
  Construct the external reference symbol given a name, the symbol Address, and a resolving Address.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `encode(Encoder encoder)`
  Encode the symbol description as an element to the stream.

  ### Methods inherited from class ghidra.program.model.pcode.HighSymbol

  `addMapEntry, decode, decodeHeader, decodeMapSym, encodeHeader, encodeMapSym, getCategoryIndex, getDataType, getFirstUseOffset, getFirstWholeMap, getHighFunction, getHighVariable, getId, getMutability, getName, getNamespace, getPCAddress, getProgram, getSize, getStorage, getSymbol, isGlobal, isHiddenReturn, isIsolated, isNameLocked, isParameter, isThisPointer, isTypeLocked, setCategory, setNameLock, setTypeLock`

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### HighExternalSymbol

    public HighExternalSymbol(String nm, Address addr, Address resolveAddr, PcodeDataTypeManager dtmanage)
    Construct the external reference symbol given a name, the symbol Address, and a resolving Address.
    Parameters:
      `nm` - is the given name
      `addr` - is the symbol Address
      `resolveAddr` - is the resolve Address
      `dtmanage` - is a PcodeDataTypeManager for facilitating XML marshaling

- ## Method Details

  - ### 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