Predator
[unstable] git snapshot
|
an abstract node of the symbolic execution trace graph More...
#include <symtrace.hh>
Public Types | |
typedef std::vector< NodeBase * > | TBaseList |
used to store a list of child nodes |
Public Member Functions | |
const TBaseList & | children () const |
reference to list of child nodes (containing 0..n pointers) | |
virtual Node * | printNode () const |
print the node in a human-readable format if considered interesting | |
TIdMapperList & | idMapperList () |
return the ID mapping describing the operation behind the trace node | |
const TIdMapperList & | idMapperList () const |
return the ID mapping describing the operation behind the trace node | |
TIdMapper & | idMapper () |
return the ID mapping describing the operation behind the trace node | |
const TIdMapper & | idMapper () const |
return the ID mapping describing the operation behind the trace node | |
virtual Node * | parent () const |
this can be called only on nodes with exactly one parent | |
const TNodeList & | parents () const |
reference to list of parents (containing 0..n pointers) |
Protected Member Functions | |
Node () | |
this is an abstract class, its instantiation is not allowed | |
Node (Node *ref) | |
constructor for nodes with exactly one parent | |
Node (Node *ref1, Node *ref2) | |
constructor for nodes with exactly two parents | |
virtual | ~Node () |
virtual void | plotNode (TracePlotter &) const =0 |
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 Member Functions | |
void | notifyBirth (NodeBase *child) |
birth notification from a child node | |
void | notifyDeath (NodeBase *child) |
death notification from a child node | |
Node (const Node &) | |
Node & | operator= (const Node &) |
Private Attributes | |
TBaseList | children_ |
bool | alive_ |
Friends | |
class | NodeBase |
class | NodeHandle |
void | plotTraceCore (TracePlotter &) |
an abstract node of the symbolic execution trace graph
Definition at line 97 of file symtrace.hh.
used to store a list of child nodes
Definition at line 144 of file symtrace.hh.
|
inlineprotected |
this is an abstract class, its instantiation is not allowed
Definition at line 110 of file symtrace.hh.
constructor for nodes with exactly one parent
Definition at line 116 of file symtrace.hh.
References Node::idMapperList_, and Node::notifyBirth().
constructor for nodes with exactly two parents
Definition at line 125 of file symtrace.hh.
References Node::idMapperList_, Node::notifyBirth(), and NodeBase::parents_.
|
protectedvirtual |
|
inline |
reference to list of child nodes (containing 0..n pointers)
Definition at line 147 of file symtrace.hh.
References Node::children_.
TIdMapper& idMapper | ( | ) |
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 |
return the ID mapping describing the operation behind the trace node
TIdMapperList& idMapperList | ( | ) |
return the ID mapping describing the operation behind the trace node
const TIdMapperList& idMapperList | ( | ) | const |
return the ID mapping describing the operation behind the trace node
|
private |
birth notification from a child node
Referenced by Node::Node(), and NodeHandle::NodeHandle().
|
private |
death notification from a child node
|
virtualinherited |
this can be called only on nodes with exactly one parent
Reimplemented in JoinNode.
Referenced by NodeHandle::node(), NodeHandle::NodeHandle(), and Node::printNode().
|
inlineinherited |
reference to list of parents (containing 0..n pointers)
Definition at line 89 of file symtrace.hh.
References NodeBase::parents_.
|
protectedpure virtual |
serialize this node to the given plot (externally not much useful)
Implemented in UserNode, MsgNode, ImportGlVarNode, CallDoneNode, CallFrameNode, CallCacheHitNode, CallEntryNode, CloneNode, JoinNode, SpliceOutNode, ConcretizationNode, AbstractionNode, CondNode, InsnNode, RootNode, and TransientNode.
|
inlinevirtual |
print the node in a human-readable format if considered interesting
Reimplemented in UserNode, CallDoneNode, CallFrameNode, CallCacheHitNode, CallEntryNode, CloneNode, JoinNode, CondNode, InsnNode, RootNode, and TransientNode.
Definition at line 150 of file symtrace.hh.
References NodeBase::parent().
|
friend |
Definition at line 105 of file symtrace.hh.
|
friend |
Definition at line 106 of file symtrace.hh.
|
friend |
|
private |
Definition at line 177 of file symtrace.hh.
|
private |
Definition at line 176 of file symtrace.hh.
Referenced by Node::children().
|
protected |
Definition at line 173 of file symtrace.hh.
Referenced by JoinNode::JoinNode(), and Node::Node().
|
protectedinherited |
list of all (0..n) parent nodes
Definition at line 70 of file symtrace.hh.
Referenced by Node::Node(), and NodeBase::parents().