ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
exprPatternNode Class Reference

#include <cpattern.h>

Inheritance diagram for exprPatternNode:
Collaboration diagram for exprPatternNode:

Public Member Functions

 exprPatternNode (const parserID *var)
 Create a new pattern node. More...
 
void lookup (procedureAnn *procedure, Annotations *annotations)
 Lookup annotation variable. More...
 
virtual void eval ()
 Constant folding (No-op) More...
 
virtual void dataflow (FlowVal *v, FlowProblem &fp)
 
virtual Node * clone () const
 
virtual void output_expr (output_context &ct, Node *par, int prec, Assoc assoc)
 
Accessors

Methods to get and set fields in the class.

string & name ()
 
const string & name () const
 
void name (string nm)
 
annVariablevariable () const
 
void variable (annVariable *variable)
 
AST Traversal

Methods to uniformly traverse the AST.

See the documentation in the Node class.

virtual void visit (Visitor *the_visitor)
 
virtual void walk (Walker &the_walker)
 
virtual Node * change (Changer &the_changer, bool redispatch=false)
 

Private Attributes

string _name
 The name of the pattern variable. More...
 
REF annVariable_variable
 Reference to the annotation variable. More...
 

Detailed Description

Definition at line 13 of file cpattern.h.

Constructor & Destructor Documentation

exprPatternNode::exprPatternNode ( const parserID var)

Create a new pattern node.

Referenced by clone().

Member Function Documentation

string& exprPatternNode::name ( )
inline

Definition at line 38 of file cpattern.h.

References _name.

const string& exprPatternNode::name ( ) const
inline

Definition at line 39 of file cpattern.h.

References _name.

void exprPatternNode::name ( string  nm)
inline

Definition at line 40 of file cpattern.h.

References _name.

annVariable* exprPatternNode::variable ( ) const
inline

Definition at line 42 of file cpattern.h.

References _variable.

void exprPatternNode::variable ( annVariable variable)
inline

Definition at line 43 of file cpattern.h.

References _variable, and variable().

Referenced by variable().

void exprPatternNode::lookup ( procedureAnn procedure,
Annotations annotations 
)

Lookup annotation variable.

virtual void exprPatternNode::eval ( )
inlinevirtual

Constant folding (No-op)

Definition at line 54 of file cpattern.h.

virtual void exprPatternNode::visit ( Visitor *  the_visitor)
virtual
virtual void exprPatternNode::walk ( Walker &  the_walker)
virtual
virtual Node* exprPatternNode::change ( Changer &  the_changer,
bool  redispatch = false 
)
virtual
virtual void exprPatternNode::dataflow ( FlowVal *  v,
FlowProblem &  fp 
)
inlinevirtual

Definition at line 71 of file cpattern.h.

virtual Node* exprPatternNode::clone ( ) const
inlinevirtual

Definition at line 75 of file cpattern.h.

References exprPatternNode().

virtual void exprPatternNode::output_expr ( output_context &  ct,
Node *  par,
int  prec,
Assoc  assoc 
)
virtual

Member Data Documentation

string exprPatternNode::_name
private

The name of the pattern variable.

Definition at line 19 of file cpattern.h.

Referenced by name().

REF annVariable* exprPatternNode::_variable
private

Reference to the annotation variable.

This is only needed for pattern expansion.

Definition at line 25 of file cpattern.h.

Referenced by variable().


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