DCCallNode Class Reference

#include <CallNodes.h>

Inheritance diagram for DCCallNode:

ColNode Node PrintHelperNode List of all members.

Public Member Functions

 DCCallNode ()
 DCCallNode (const uint32 opcode, const uint32 offset, const uint32 newValue1, const uint32 newValue2)
 DCCallNode (const uint32 opcode, const uint32 offset, const uint32 newValue1, const uint32 newValue2, const uint32 newValue3, const uint32 newValue4)
 ~DCCallNode ()
void print () const
void print_extern_unk (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 setAddSP (DCCallPostfixNode *newAddSP)
void setRetVal (DCCallPostfixNode *newRetVal)
void addFree (DCCallPostfixNode *newFree)

Protected Types

 CALLI
 CALL
 SPAWN
enum  calltype { CALLI, CALL, SPAWN }

Protected Attributes

enum DCCallNode::calltype ctype

Private Attributes

uint32 uclass
uint32 targetOffset
uint32 spsize
uint32 intrinsic
uint32 thispsize
DCCallPostfixNodeaddSP
DCCallPostfixNoderetVal
NodethisP
std::list< DCCallPostfixNode * > freenodes

Detailed Description

Definition at line 118 of file CallNodes.h.


Member Enumeration Documentation

enum DCCallNode::calltype [protected]

Enumerator:
CALLI 
CALL 
SPAWN 

Definition at line 174 of file CallNodes.h.


Constructor & Destructor Documentation

DCCallNode::DCCallNode (  )  [inline]

Definition at line 121 of file CallNodes.h.

DCCallNode::DCCallNode ( const uint32  opcode,
const uint32  offset,
const uint32  newValue1,
const uint32  newValue2 
) [inline]

Definition at line 122 of file CallNodes.h.

References acceptOp(), CALL, CALLI, ctype, intrinsic, spsize, targetOffset, and uclass.

DCCallNode::DCCallNode ( const uint32  opcode,
const uint32  offset,
const uint32  newValue1,
const uint32  newValue2,
const uint32  newValue3,
const uint32  newValue4 
) [inline]

Definition at line 141 of file CallNodes.h.

References acceptOp(), con, ctype, Console::Printf(), SPAWN, spsize, targetOffset, thispsize, and uclass.

DCCallNode::~DCCallNode (  )  [inline]

Definition at line 158 of file CallNodes.h.


Member Function Documentation

void DCCallNode::addFree ( DCCallPostfixNode newFree  )  [inline]

Definition at line 171 of file CallNodes.h.

References freenodes.

Referenced by AddFreeToDCCallNode().

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

Implements Node.

Definition at line 260 of file CallNodes.cpp.

References acceptOp(), addSP, CALL, CALLI, con, ctype, Node::fold_linenum(), freenodes, Node::grab(), ColNode::grab_p(), print_assert(), Console::Printf(), DCUnit::registerExternFunc(), DCUnit::registerExternIntrinsic(), retVal, Node::rtype(), DCCallPostfixNode::size(), SPAWN, spsize, Type::T_DWORD, thisP, and thispsize.

void DCCallNode::print (  )  const [inline]

Definition at line 160 of file CallNodes.h.

void DCCallNode::print_asm ( Console o  )  const [virtual]

Reimplemented from Node.

Definition at line 453 of file CallNodes.cpp.

References addSP, CALL, CALLI, ctype, freenodes, intrinsic, ColNode::pnode, DCCallPostfixNode::print_asm(), Node::print_asm(), print_assert(), Node::print_linenum_asm(), Console::Printf(), Console::Putchar(), retVal, Node::rtype(), SPAWN, spsize, Type::T_VOID, targetOffset, thisP, thispsize, and uclass.

void DCCallNode::print_bin ( ODequeDataSource o  )  const [virtual]

Implements Node.

Definition at line 534 of file CallNodes.cpp.

References addSP, CALL, CALLI, ctype, intrinsic, ColNode::pnode, print_assert(), Node::print_bin(), DCCallPostfixNode::print_bin(), Node::print_linenum_bin(), retVal, Node::rtype(), SPAWN, spsize, Type::T_VOID, targetOffset, thisP, thispsize, uclass, ODequeDataSource::write1(), and ODequeDataSource::write2().

void DCCallNode::print_extern_unk ( Console o,
const uint32  isize 
) const

Definition at line 334 of file CallNodes.cpp.

References CALL, CALLI, ctype, intrinsic, Type::name(), ColNode::pnode, Console::Print(), print_assert(), Console::Printf(), Console::Putchar(), Node::rtype(), SPAWN, Type::T_INVALID, targetOffset, thisP, and uclass.

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

Implements Node.

Definition at line 389 of file CallNodes.cpp.

References CALL, CALLI, ctype, intrinsic, ColNode::pnode, Console::Print(), print_assert(), Node::print_linenum_unk(), Node::print_unk(), Type::print_unk(), Console::Printf(), Console::Putchar(), Node::rtype(), SPAWN, Type::T_VOID, targetOffset, thisP, thispsize, and uclass.

void DCCallNode::setAddSP ( DCCallPostfixNode newAddSP  )  [inline]

Definition at line 169 of file CallNodes.h.

References addSP.

Referenced by AddSpToDCCallNode().

void DCCallNode::setRetVal ( DCCallPostfixNode newRetVal  )  [inline]

Definition at line 170 of file CallNodes.h.

References retVal, and Node::rtype().

Referenced by PushRetValToDCCallNode().


Member Data Documentation

DCCallPostfixNode* DCCallNode::addSP [private]

Definition at line 185 of file CallNodes.h.

Referenced by fold(), print_asm(), print_bin(), and setAddSP().

enum DCCallNode::calltype DCCallNode::ctype [protected]

Referenced by DCCallNode(), fold(), print_asm(), print_bin(), print_extern_unk(), and print_unk().

std::list<DCCallPostfixNode *> DCCallNode::freenodes [private]

Definition at line 188 of file CallNodes.h.

Referenced by addFree(), fold(), and print_asm().

uint32 DCCallNode::intrinsic [private]

Definition at line 181 of file CallNodes.h.

Referenced by DCCallNode(), print_asm(), print_bin(), print_extern_unk(), and print_unk().

DCCallPostfixNode* DCCallNode::retVal [private]

Definition at line 186 of file CallNodes.h.

Referenced by fold(), print_asm(), print_bin(), and setRetVal().

uint32 DCCallNode::spsize [private]

Definition at line 180 of file CallNodes.h.

Referenced by DCCallNode(), fold(), print_asm(), and print_bin().

uint32 DCCallNode::targetOffset [private]

Definition at line 178 of file CallNodes.h.

Referenced by DCCallNode(), print_asm(), print_bin(), print_extern_unk(), and print_unk().

Node* DCCallNode::thisP [private]

Definition at line 187 of file CallNodes.h.

Referenced by fold(), print_asm(), print_bin(), print_extern_unk(), and print_unk().

uint32 DCCallNode::thispsize [private]

Definition at line 183 of file CallNodes.h.

Referenced by DCCallNode(), fold(), print_asm(), print_bin(), and print_unk().

uint32 DCCallNode::uclass [private]

Definition at line 177 of file CallNodes.h.

Referenced by DCCallNode(), print_asm(), print_bin(), print_extern_unk(), and print_unk().


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