Package ghidra.program.model.pcode

# Class HighParamID

java.lang.Object
ghidra.program.model.pcode.PcodeSyntaxTree
ghidra.program.model.pcode.HighParamID

All Implemented Interfaces:
  `PcodeFactory`

public class HighParamID extends PcodeSyntaxTree
High-level abstraction associated with a low level function made up of assembly instructions. Based on information the decompiler has produced after working on a function.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DECOMPILER_TAG_MAP`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HighParamID(Function function, Language language, CompilerSpec compilerSpec, PcodeDataTypeManager dtManager)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `decode(Decoder decoder)`
  `static ErrorHandler`
  `getErrorHandler(Object errOriginator, String targetName)`
  `Function`
  `getFunction()`
  `Address`
  `getFunctionAddress()`
  `String`
  `getFunctionName()`
  `ParamMeasure`
  `getInput(int i)`
  `String`
  `getModelName()`
  `int`
  `getNumInputs()`
  `int`
  `getNumOutputs()`
  `ParamMeasure`
  `getOutput(int i)`
  `Integer`
  `getProtoExtraPop()`
  `void`
  `storeParametersToDatabase(boolean storeDataTypes, SourceType srctype)`
  Update any parameters for this Function from parameters defined in this map.
  `void`
  `storeReturnToDatabase(boolean storeDataTypes, SourceType srctype)`
  Update any parameters for this Function from parameters defined in this map.

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

  `buildStorage, clear, delete, findInputVarnode, findVarnode, findVarnode, getAddressFactory, getBasicBlocks, getDataTypeManager, getJoinAddress, getJoinStorage, getNumVarnodes, getOpRef, getPcodeOp, getPcodeOps, getPcodeOps, getRef, getSymbol, getVarnodes, getVarnodes, getVarnodes, insertAfter, insertBefore, locRange, newOp, newVarnode, newVarnode, setAddrTied, setDataType, setInput, setInput, setMergeGroup, setOpcode, setOutput, setPersistent, setUnaffected, setVolatile, unInsert, unlink, unSetInput, unSetOutput`

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

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

- ## Field Details

  - ### DECOMPILER_TAG_MAP

    public static final String DECOMPILER_TAG_MAP
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### HighParamID

    public HighParamID(Function function, Language language, CompilerSpec compilerSpec, PcodeDataTypeManager dtManager)
    Parameters:
      `function` - function associated with the higher level function abstraction.
      `language` - language parser used to disassemble/get info on the language.
      `compilerSpec` - the compiler spec.
      `dtManager` - data type manager.

- ## Method Details

  - ### getFunctionName

    public String getFunctionName()
    Returns:
      get the name of the function

  - ### getFunctionAddress

    public Address getFunctionAddress()
    Returns:
      get the Address of the function

  - ### getModelName

    public String getModelName()
    Returns:
      get the name of the model

  - ### getProtoExtraPop

    public Integer getProtoExtraPop()
    Returns:
      get the prototype extrapop information

  - ### getFunction

    public Function getFunction()
    Returns:
      get the associated low level function

  - ### getNumInputs

    public int getNumInputs()
    Returns:
      the number of inputs for functionparams

  - ### getInput

    public ParamMeasure getInput(int i)
    Parameters:
      `i` - is the specific index to return
    Returns:
      the specific input for functionparams

  - ### getNumOutputs

    public int getNumOutputs()
    Returns:
      the number of outputs for functionparams

  - ### getOutput

    public ParamMeasure getOutput(int i)
    Parameters:
      `i` - is the index of the specific output
    Returns:
      the specific of output for functionparams

  - ### decode

    public void decode(Decoder decoder) throws DecoderException
    Overrides:
      `decode` in class `PcodeSyntaxTree`
    Throws:
      `DecoderException`

  - ### getErrorHandler

    public static ErrorHandler getErrorHandler(Object errOriginator, String targetName)

  - ### storeReturnToDatabase

    public void storeReturnToDatabase(boolean storeDataTypes, SourceType srctype)
    Update any parameters for this Function from parameters defined in this map.
    Parameters:
      `storeDataTypes` - is true if data-types are getting stored
      `srctype` - function signature source

  - ### storeParametersToDatabase

    public void storeParametersToDatabase(boolean storeDataTypes, SourceType srctype)
    Update any parameters for this Function from parameters defined in this map. Originally from LocalSymbolMap, but being modified.
    Parameters:
      `storeDataTypes` - is true if data-types are being stored
      `srctype` - function signature source