|
decompiler
1.0.0
|
Root class for all decompiler specific commands. More...
#include <ifacedecomp.hh>
Public Member Functions | |
| virtual void | setData (IfaceStatus *root, IfaceData *data) |
| Associate a specific data object with this command. More... | |
| virtual string | getModule (void) const |
| Get the formal module name to which this command belongs. More... | |
| virtual IfaceData * | createData (void) |
| Create a specialized data object for this command (and its module) More... | |
| virtual void | iterationCallback (Funcdata *fd) |
| Perform the per-function aspect of this command. More... | |
| void | iterateFunctionsAddrOrder (void) |
| Iterate command over all functions in all scopes. More... | |
| void | iterateFunctionsLeafOrder (void) |
| Iterate command over all functions in a call-graph traversal. More... | |
Public Member Functions inherited from ghidra::IfaceCommand | |
| virtual | ~IfaceCommand (void) |
| Destructor. | |
| virtual void | execute (istream &s)=0 |
| void | addWord (const string &temp) |
| Add a token to the command line string associated with this command. More... | |
| void | removeWord (void) |
| Remove the last token from the associated command line string. | |
| const string & | getCommandWord (int4 i) const |
| Get the i-th command token. | |
| void | addWords (const vector< string > &wordlist) |
| Add words to the associated command line string. | |
| int4 | numWords (void) const |
| Return the number of tokens in the command line string. | |
| void | commandString (string &res) const |
| Get the complete command line string. More... | |
| int4 | compare (const IfaceCommand &op2) const |
| Order two commands by their command line strings. More... | |
Protected Member Functions | |
| void | iterateScopesRecursive (Scope *scope) |
| Iterate recursively over all functions in given scope. More... | |
| void | iterateFunctionsAddrOrder (Scope *scope) |
| Iterate over all functions in a given scope. More... | |
Protected Attributes | |
| IfaceStatus * | status |
| The console owning this command. | |
| IfaceDecompData * | dcp |
| Data common to decompiler commands. | |
Root class for all decompiler specific commands.
Commands share the data object IfaceDecompData and are capable of iterating over all functions in the program/architecture.
|
inlinevirtual |
Create a specialized data object for this command (and its module)
This method is only called once per module
Implements ghidra::IfaceCommand.
|
inlinevirtual |
Get the formal module name to which this command belongs.
Commands in the same module share data through their registered IfaceData object
Implements ghidra::IfaceCommand.
|
protected |
Iterate over all functions in a given scope.
Runs over every function in the scope calling iterationCallback().
| scope | is the given scope |
References ghidra::Scope::begin(), ghidra::Scope::end(), and ghidra::FunctionSymbol::getFunction().
| void ghidra::IfaceDecompCommand::iterateFunctionsAddrOrder | ( | void | ) |
Iterate command over all functions in all scopes.
Scopes are traversed depth-first, then within a scope, functions are traversed in address order.
| void ghidra::IfaceDecompCommand::iterateFunctionsLeafOrder | ( | void | ) |
Iterate command over all functions in a call-graph traversal.
Traversal is based on the current CallGraph for the program. Child functions are traversed before their parents.
|
protected |
Iterate recursively over all functions in given scope.
Runs over every function in the scope, or any sub-scope , calling iterationCallback()
| scope | is the given scope |
References ghidra::Scope::childrenBegin(), ghidra::Scope::childrenEnd(), and ghidra::Scope::isGlobal().
|
inlinevirtual |
Perform the per-function aspect of this command.
| fd | is the particular function to operate on |
Reimplemented in ghidra::IfcCallGraphList, ghidra::IfcCallGraphBuild, ghidra::IfcDuplicateHash, ghidra::IfcPrintInputsAll, ghidra::IfcProducePrototypes, and ghidra::IfcProduceC.
|
inlinevirtual |
Associate a specific data object with this command.
| root | is the interface object this command is registered with |
| data | is the data object the command should use |
Implements ghidra::IfaceCommand.
1.8.13