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

a trace graph node that represents a non-terminal instruction More...

#include <symtrace.hh>

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

Public Types

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

Public Member Functions

 InsnNode (Node *ref, TInsn insn, const bool isBuiltin)
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 insn_
const bool isBuiltin_

Detailed Description

a trace graph node that represents a non-terminal instruction

Definition at line 251 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

InsnNode ( Node ref,
TInsn  insn,
const bool  isBuiltin 
)
inline
Parameters
refa reference to a trace leading to this instruction
insna CodeStorage::Insn object representing the instruction
isBuiltintrue, if the instruction is recognized as a built-in

Definition at line 262 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

TIdMapperList idMapperList_
protectedinherited

Definition at line 173 of file symtrace.hh.

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

const TInsn insn_
private

Definition at line 253 of file symtrace.hh.

const bool isBuiltin_
private

Definition at line 254 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: