DCFuncNode Class Reference

#include <FuncNodes.h>

Inheritance diagram for DCFuncNode:

ColNode Node PrintHelperNode List of all members.

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
DCCallMutatorNodesetinfonode
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)

Detailed Description

Definition at line 85 of file FuncNodes.h.


Constructor & Destructor Documentation

DCFuncNode::DCFuncNode (  )  [inline]

Definition at line 88 of file FuncNodes.h.

DCFuncNode::~DCFuncNode (  )  [inline]

Definition at line 97 of file FuncNodes.h.


Member Function Documentation

void DCFuncNode::addEnd ( FuncMutatorNode n  )  [inline]

Definition at line 104 of file FuncNodes.h.

References debug_end_offset, and n.

bool DCFuncNode::fold ( DCUnit unit,
std::deque< Node * > &  nodes 
) [virtual]

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().

void DCFuncNode::fold_init ( DCUnit unit,
std::deque< Node * > &  nodes 
) [private]

Definition at line 308 of file FuncNodes.cpp.

References func_start_offset, and locals_datasize.

Referenced by fold().

void DCFuncNode::fold_procexclude ( DCUnit unit,
std::deque< Node * > &  nodes 
) [private]

Definition at line 352 of file FuncNodes.cpp.

References debug_procexclude_offset, and has_procexclude.

Referenced by fold().

void DCFuncNode::fold_ret ( DCUnit unit,
std::deque< Node * > &  nodes 
) [private]

Definition at line 320 of file FuncNodes.cpp.

References debug_ret_offset.

Referenced by fold().

void DCFuncNode::fold_setinfo ( DCUnit unit,
std::deque< Node * > &  nodes 
) [private]

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().

void DCFuncNode::print_unk ( Console o,
const uint32  isize 
) const [virtual]

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().

void DCFuncNode::print_unk_funcheader ( Console o,
const uint32  isize 
) const

Definition at line 137 of file FuncNodes.cpp.

References has_procexclude, indent(), Console::Printf(), and Console::Putchar().


Member Data Documentation

uint32 DCFuncNode::debug_end_offset [protected]

Definition at line 119 of file FuncNodes.h.

Referenced by addEnd(), print_asm(), and print_unk().

uint32 DCFuncNode::debug_processtype_offset [protected]

Definition at line 122 of file FuncNodes.h.

Referenced by fold_setinfo().

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]

Definition at line 123 of file FuncNodes.h.

Referenced by fold_setinfo(), and print_unk().

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]

Definition at line 121 of file FuncNodes.h.

Referenced by fold_setinfo(), and print_unk().

DCCallMutatorNode* DCFuncNode::setinfonode [protected]

Definition at line 114 of file FuncNodes.h.

Referenced by fold_setinfo(), print_asm(), and print_bin().


The documentation for this class was generated from the following files:
Generated on Fri Jul 27 22:29:07 2007 for pentagram by  doxygen 1.4.7