Ghidra Decompiler Analysis Engine
Public Member Functions | List of all members
IfcPreferSplit Class Reference

Mark a storage location to be split: prefersplit <address+size> <splitsize> More...

Inheritance diagram for IfcPreferSplit:
Inheritance graph
[legend]
Collaboration diagram for IfcPreferSplit:
Collaboration graph
[legend]

Public Member Functions

virtual void execute (istream &s)
 
- Public Member Functions inherited from IfaceDecompCommand
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 IfaceDatacreateData (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 IfaceCommand
void addWord (const string &temp)
 Add a token to the command line string associated with this command. More...
 
void addWords (const vector< string > &wordlist)
 Add words to the associated 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...
 

Additional Inherited Members

- Protected Member Functions inherited from IfaceDecompCommand
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 inherited from IfaceDecompCommand
IfaceStatusstatus
 The console owning this command.
 
IfaceDecompDatadcp
 Data common to decompiler commands.
 

Detailed Description

Mark a storage location to be split: prefersplit <address+size> <splitsize>

The storage location is marked for splitting in any future decompilation. During decompilation, any Varnode matching the storage location on the command-line will be generally split into two pieces, where the final command-line parameter indicates the number of bytes in the first piece. A Varnode is split only if operations involving it can also be split. See PreferSplitManager.

Member Function Documentation

◆ execute()

void IfcPreferSplit::execute ( istream &  s)
virtual

Execute this command. Additional state can be read from the given command line stream. Otherwise, the command gets its data from its registered IfaceData object

Parameters
sis the input stream from the command line

Implements IfaceCommand.


The documentation for this class was generated from the following files: