Predator  [unstable] git snapshot
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
CondNode Class Reference

a trace graph node that represents a conditional insn being traversed More...

#include <symtrace.hh>

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

Public Types

typedef std::vector< NodeBase * > TBaseList
 used to store a list of child nodes

Public Member Functions

 CondNode (Node *ref, TInsn inCmp, TInsn inCnd, bool determ, bool branch)
virtual NodeprintNode () const
 print the node in a human-readable format if considered interesting
const TBaseListchildren () const
 reference to list of child nodes (containing 0..n pointers)
TIdMapperListidMapperList ()
 return the ID mapping describing the operation behind the trace node
const TIdMapperListidMapperList () const
 return the ID mapping describing the operation behind the trace node
TIdMapperidMapper ()
 return the ID mapping describing the operation behind the trace node
const TIdMapperidMapper () const
 return the ID mapping describing the operation behind the trace node
virtual Nodeparent () const
 this can be called only on nodes with exactly one parent
const TNodeListparents () const
 reference to list of parents (containing 0..n pointers)

Protected Member Functions

virtual void plotNode (TracePlotter &) const
 serialize this node to the given plot (externally not much useful)

Protected Attributes

TIdMapperList idMapperList_
TNodeList parents_
 list of all (0..n) parent nodes

Private Attributes

const TInsn inCmp_
const TInsn inCnd_
const bool determ_
const bool branch_

Detailed Description

a trace graph node that represents a conditional insn being traversed

Definition at line 277 of file symtrace.hh.

Member Typedef Documentation

typedef std::vector<NodeBase *> TBaseList
inherited

used to store a list of child nodes

Definition at line 144 of file symtrace.hh.

Constructor & Destructor Documentation

CondNode ( Node ref,
TInsn  inCmp,
TInsn  inCnd,
bool  determ,
bool  branch 
)
inline
Parameters
refa reference to a trace leading to this instruction
inCmpa comparison instruction occurring prior to inCnd
inCnda conditional jump instruction being traversed
determtrue if the branch being taken was known in advance
branchtrue if the 'then' branch was taken, false for 'else'

Definition at line 292 of file symtrace.hh.

References Node::idMapper(), IdMapper< TObjId, OBJ_INVALID, OBJ_MAX_ID >::NFA_RETURN_IDENTITY, and IdMapper< TId, MIN, MAX >::setNotFoundAction().

Member Function Documentation

const TBaseList& children ( ) const
inlineinherited

reference to list of child nodes (containing 0..n pointers)

Definition at line 147 of file symtrace.hh.

References Node::children_.

TIdMapper& idMapper ( )
inherited

return the ID mapping describing the operation behind the trace node

Referenced by CondNode::CondNode(), InsnNode::InsnNode(), MsgNode::MsgNode(), SpliceOutNode::SpliceOutNode(), and UserNode::UserNode().

const TIdMapper& idMapper ( ) const
inherited

return the ID mapping describing the operation behind the trace node

TIdMapperList& idMapperList ( )
inherited

return the ID mapping describing the operation behind the trace node

const TIdMapperList& idMapperList ( ) const
inherited

return the ID mapping describing the operation behind the trace node

virtual Node* parent ( ) const
virtualinherited

this can be called only on nodes with exactly one parent

Reimplemented in JoinNode.

Referenced by NodeHandle::node(), NodeHandle::NodeHandle(), and Node::printNode().

const TNodeList& parents ( ) const
inlineinherited

reference to list of parents (containing 0..n pointers)

Definition at line 89 of file symtrace.hh.

References NodeBase::parents_.

virtual void plotNode ( TracePlotter &  ) const
protectedvirtual

serialize this node to the given plot (externally not much useful)

Implements Node.

virtual Node* printNode ( ) const
virtual

print the node in a human-readable format if considered interesting

Reimplemented from Node.

Field Documentation

const bool branch_
private

Definition at line 282 of file symtrace.hh.

const bool determ_
private

Definition at line 281 of file symtrace.hh.

TIdMapperList idMapperList_
protectedinherited

Definition at line 173 of file symtrace.hh.

Referenced by JoinNode::JoinNode(), and Node::Node().

const TInsn inCmp_
private

Definition at line 279 of file symtrace.hh.

const TInsn inCnd_
private

Definition at line 280 of file symtrace.hh.

TNodeList parents_
protectedinherited

list of all (0..n) parent nodes

Definition at line 70 of file symtrace.hh.

Referenced by Node::Node(), and NodeBase::parents().


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