decompiler  1.0.0
Public Member Functions | Public Attributes | Private Member Functions | List of all members
FlushNative Class Reference

Command to flush all symbols associated with a Program (executable) More...

#include <ghidra_process.hh>

Inheritance diagram for FlushNative:
GhidraCommand

Public Member Functions

virtual void rawAction (void)
 Perform the action of the command. More...
 
- Public Member Functions inherited from GhidraCommand
 GhidraCommand (void)
 Construct given i/o streams.
 
virtual ~GhidraCommand (void)
 Destructor.
 
int4 doit (void)
 Configure and execute the command, then send back results. More...
 

Public Attributes

int4 res
 Success status returned to the client (0=success)
 

Private Member Functions

virtual void sendResult (void)
 Send results of the command (if any) back to the Ghidra client. More...
 

Additional Inherited Members

- Protected Member Functions inherited from GhidraCommand
virtual void loadParameters (void)
 Read parameters directing command execution. More...
 
- Protected Attributes inherited from GhidraCommand
istream & sin
 The input stream from the Ghidra client.
 
ostream & sout
 The output stream to the Ghidra client.
 
ArchitectureGhidraghidra
 The Architecture on which to perform the command.
 
int4 status
 Meta-command to system (0=wait for next command, 1=terminate process)
 

Detailed Description

Command to flush all symbols associated with a Program (executable)

Clear out any Symbol, Scope, Datatype, and Funcdata objects that have accumulated in the symbol table. This lets the decompiler keep a light-weight sync between its view of symbols and the Ghidra client's. Subsequent decompilation will simply (re)fetch any symbols as needed. The command expects a single string parameter encoding the id of the program to flush.

Member Function Documentation

◆ rawAction()

void FlushNative::rawAction ( void  )
virtual

Perform the action of the command.

Configuration is assumed to have happened, and this object can immediately begin examining and manipulating data under the active Architecture object to perform the command.

Implements GhidraCommand.

References CommentDatabase::clear(), ConstantPool::clear(), Scope::clear(), TypeFactory::clearNoncore(), Architecture::commentdb, Architecture::cpool, Database::deleteSubScopes(), Database::getGlobalScope(), GhidraCommand::ghidra, res, Architecture::symboltab, and Architecture::types.

◆ sendResult()

void FlushNative::sendResult ( void  )
privatevirtual

Send results of the command (if any) back to the Ghidra client.

This method sends any warnings accumulated during execution back, but it can be overloaded to send back any kind of information. Individual records are sent using the message protocol.

Reimplemented from GhidraCommand.

References res, GhidraCommand::sendResult(), and GhidraCommand::sout.


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