#include <FuncNodes.h>
Inheritance diagram for DCFuncNode:
Public Member Functions | |
DCFuncNode () | |
~DCFuncNode () | |
void | print_unk_funcheader (Console &o, const uint32 isize) const |
void | print_unk (Console &o, const uint32 isize) const |
void | print_asm (Console &o) const |
void | print_bin (ODequeDataSource &o) const |
bool | fold (DCUnit *unit, std::deque< Node * > &nodes) |
void | addEnd (FuncMutatorNode *n) |
Protected Attributes | |
std::deque< Node * > | funcnodes |
DCCallMutatorNode * | setinfonode |
uint32 | locals_datasize |
uint32 | func_start_offset |
uint32 | debug_ret_offset |
uint32 | debug_end_offset |
uint32 | process_type |
uint32 | debug_processtype_offset |
bool | debug_thisp |
uint32 | debug_procexclude_offset |
bool | has_procexclude |
Private Member Functions | |
void | fold_init (DCUnit *unit, std::deque< Node * > &nodes) |
void | fold_ret (DCUnit *unit, std::deque< Node * > &nodes) |
void | fold_setinfo (DCUnit *unit, std::deque< Node * > &nodes) |
void | fold_procexclude (DCUnit *unit, std::deque< Node * > &nodes) |
Definition at line 85 of file FuncNodes.h.
DCFuncNode::DCFuncNode | ( | ) | [inline] |
Definition at line 88 of file FuncNodes.h.
DCFuncNode::~DCFuncNode | ( | ) | [inline] |
Definition at line 97 of file FuncNodes.h.
void DCFuncNode::addEnd | ( | FuncMutatorNode * | n | ) | [inline] |
Implements Node.
Definition at line 267 of file FuncNodes.cpp.
References acceptOp(), fold_init(), fold_procexclude(), fold_ret(), fold_setinfo(), funcnodes, and print_assert().
Referenced by DCUnit::fold().
Definition at line 308 of file FuncNodes.cpp.
References func_start_offset, and locals_datasize.
Referenced by fold().
Definition at line 352 of file FuncNodes.cpp.
References debug_procexclude_offset, and has_procexclude.
Referenced by fold().
Definition at line 331 of file FuncNodes.cpp.
References debug_processtype_offset, debug_thisp, process_type, setinfonode, and Type::T_DWORD.
Referenced by fold().
void DCFuncNode::print_asm | ( | Console & | o | ) | const [virtual] |
Reimplemented from Node.
Definition at line 199 of file FuncNodes.cpp.
References debug_end_offset, debug_procexclude_offset, debug_ret_offset, func_start_offset, funcnodes, locals_datasize, DCCallMutatorNode::print_asm(), PrintHelperNode::print_asm_header(), Console::Printf(), Console::Putchar(), and setinfonode.
void DCFuncNode::print_bin | ( | ODequeDataSource & | o | ) | const [virtual] |
Implements Node.
Definition at line 229 of file FuncNodes.cpp.
References ODequeDataSource::buf(), ODequeDataSource::clear(), con, debug_procexclude_offset, debug_ret_offset, func_start_offset, funcnodes, locals_datasize, DCCallMutatorNode::print_bin(), Node::print_mac(), PrintHelperNode::print_mac_header(), Console::Printf(), Console::Putchar(), setinfonode, and ODequeDataSource::write1().
Implements Node.
Definition at line 149 of file FuncNodes.cpp.
References debug_end_offset, debug_ret_offset, debug_thisp, func_start_offset, funcnodes, indent(), locals_datasize, Console::Print(), Console::Printf(), process_type, and Console::Putchar().
Definition at line 137 of file FuncNodes.cpp.
References has_procexclude, indent(), Console::Printf(), and Console::Putchar().
uint32 DCFuncNode::debug_end_offset [protected] |
uint32 DCFuncNode::debug_processtype_offset [protected] |
uint32 DCFuncNode::debug_procexclude_offset [protected] |
Definition at line 125 of file FuncNodes.h.
Referenced by fold_procexclude(), print_asm(), and print_bin().
uint32 DCFuncNode::debug_ret_offset [protected] |
Definition at line 118 of file FuncNodes.h.
Referenced by fold_ret(), print_asm(), print_bin(), and print_unk().
bool DCFuncNode::debug_thisp [protected] |
uint32 DCFuncNode::func_start_offset [protected] |
Definition at line 117 of file FuncNodes.h.
Referenced by fold_init(), print_asm(), print_bin(), and print_unk().
std::deque<Node *> DCFuncNode::funcnodes [protected] |
Definition at line 110 of file FuncNodes.h.
Referenced by fold(), print_asm(), print_bin(), and print_unk().
bool DCFuncNode::has_procexclude [protected] |
Definition at line 126 of file FuncNodes.h.
Referenced by fold_procexclude(), and print_unk_funcheader().
uint32 DCFuncNode::locals_datasize [protected] |
Definition at line 116 of file FuncNodes.h.
Referenced by fold_init(), print_asm(), print_bin(), and print_unk().
uint32 DCFuncNode::process_type [protected] |
DCCallMutatorNode* DCFuncNode::setinfonode [protected] |
Definition at line 114 of file FuncNodes.h.
Referenced by fold_setinfo(), print_asm(), and print_bin().