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 | saveXml (ostream &s) const =0 |
Save any parameters that are not backed by symbols to an XML stream. More... | |
virtual void | restoreXml (const Element *el, ProtoModel *model)=0 |
Restore any internal parameter descriptions from an XML 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 ProtoStoreInternal, and ProtoStoreSymbol.
Referenced by FuncProto::removeParam().
|
pure virtual |
Restore any internal parameter descriptions from an XML stream.
el | is a root <internallist> element containing <param> and <retparam> sub-tags. |
model | is prototype model for determining storage for unassigned parameters |
Implemented in ProtoStoreInternal, and ProtoStoreSymbol.
Referenced by FuncProto::restoreXml().
|
pure virtual |
Save any parameters that are not backed by symbols to an XML stream.
Symbols are stored elsewhere, so symbol backed parameters are not serialized. If there are any internal parameters an <internallist> tag is emitted.
s | is the output stream |
Implemented in ProtoStoreInternal, and ProtoStoreSymbol.
Referenced by FuncProto::saveXml().
|
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 ProtoStoreInternal, and ProtoStoreSymbol.
Referenced by FuncProto::paramShift(), FuncProto::updateAllTypes(), FuncProto::updateInputNoTypes(), and FuncProto::updateInputTypes().
|
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 ProtoStoreInternal, and ProtoStoreSymbol.
Referenced by FuncProto::paramShift(), FuncProto::restoreXml(), FuncProto::updateAllTypes(), FuncProto::updateOutputNoTypes(), and FuncProto::updateOutputTypes().