|
decompiler
1.0.0
|
A collection parameter descriptions making up a function prototype. More...
#include <fspec.hh>
Public Member Functions | |
| virtual | ~ProtoStore (void) |
| Constructor. | |
| virtual ProtoParameter * | setInput (int4 i, const string &nm, const ParameterPieces &pieces)=0 |
| Establish name, data-type, storage of a specific input parameter. More... | |
| virtual void | clearInput (int4 i)=0 |
| Clear the input parameter at the specified slot. More... | |
| virtual void | clearAllInputs (void)=0 |
| Clear all input parameters (and any backing symbols) | |
| virtual int4 | getNumInputs (void) const =0 |
| Get the number of input parameters for this prototype. | |
| virtual ProtoParameter * | getInput (int4 i)=0 |
| Get the i-th input parameter (or NULL if it doesn't exist) | |
| virtual ProtoParameter * | setOutput (const ParameterPieces &piece)=0 |
| Establish the data-type and storage of the return value. More... | |
| virtual void | clearOutput (void)=0 |
| Clear the return value to TYPE_VOID. | |
| virtual ProtoParameter * | getOutput (void)=0 |
| Get the return-value description. | |
| virtual ProtoStore * | clone (void) const =0 |
| Clone the entire collection of parameter descriptions. | |
| virtual void | encode (Encoder &encoder) const =0 |
| Encode any parameters that are not backed by symbols to a stream. More... | |
| virtual void | decode (Decoder &decoder, ProtoModel *model)=0 |
| Restore any internal parameter descriptions from a stream. More... | |
A collection parameter descriptions making up a function prototype.
A unified interface for accessing descriptions of individual parameters in a function prototype. Both input parameters and return values are described.
|
pure virtual |
Clear the input parameter at the specified slot.
The parameter is excised, any following parameters are shifted to fill its spot. If there is a backing Symbol, it is removed from the SymbolTable
| i | is the specified parameter slot to remove |
Implemented in ghidra::ProtoStoreInternal, and ghidra::ProtoStoreSymbol.
Referenced by ghidra::FuncProto::removeParam().
|
pure virtual |
Restore any internal parameter descriptions from a stream.
Parse an <internallist> element containing <param> and <retparam> child elements.
| decoder | is the stream decoder |
| model | is prototype model for determining storage for unassigned parameters |
Implemented in ghidra::ProtoStoreInternal, and ghidra::ProtoStoreSymbol.
|
pure virtual |
Encode any parameters that are not backed by symbols to a stream.
Symbols are stored elsewhere, so symbol backed parameters are not serialized. If there are any internal parameters an <internallist> element is emitted.
| encoder | is the stream encoder |
Implemented in ghidra::ProtoStoreInternal, and ghidra::ProtoStoreSymbol.
|
pure virtual |
Establish name, data-type, storage of a specific input parameter.
This either allocates a new parameter or replaces the existing one at the specified input slot. If there is a backing symbol table, a Symbol is created or modified.
| i | is the specified input slot |
| nm | is the (optional) name of the parameter |
| pieces | holds the raw storage address and data-type to set |
Implemented in ghidra::ProtoStoreInternal, and ghidra::ProtoStoreSymbol.
|
pure virtual |
Establish the data-type and storage of the return value.
This either allocates a new parameter or replaces the existing one. A void return value can be specified with an invalid address and TYPE_VOID data-type.
| piece | holds the raw storage address and data-type to set |
Implemented in ghidra::ProtoStoreInternal, and ghidra::ProtoStoreSymbol.
1.8.13