Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals

MultiContextRule Class Reference

Used for refactoring statements that are executed many times e.g. statements in for. More...

#include <rtreemulticontextrule.h>

Inheritance diagram for MultiContextRule:

ContextRule Rule

Public Member Functions

 MultiContextRule (List *iphpInPattern, Variable *icontrolVariable, List *itplOutPattern, List *iphpOutPattern)
 Constructor.

virtual ~MultiContextRule ()
virtual Rule * copy ()
 Copies the rule.

virtual RuleContext * generateSubcontext (RuleContext *context, const Node::Assignment &assign) const
 Generates a new subcontext.

virtual ostream & print (ostream &os) const
 Writes the rule to the stream.


Private Attributes

Variable * controlVariable
 The control variable.


Detailed Description

Used for refactoring statements that are executed many times e.g. statements in for.

Definition at line 8 of file rtreemulticontextrule.h.


Constructor & Destructor Documentation

MultiContextRule::MultiContextRule (  List *  iphpInPattern,
Variable *  icontrolVariable,
List *  itplOutPattern,
List *  iphpOutPattern
) 
 

Constructor.

Definition at line 4 of file rtreemulticontextrule.cpp.

Referenced by copy().

MultiContextRule::~MultiContextRule (   )  [virtual]
 

Definition at line 7 of file rtreemulticontextrule.cpp.

References controlVariable.


Member Function Documentation

Rule * MultiContextRule::copy (   )  [virtual]
 

Copies the rule.

Implements Rule.

Definition at line 32 of file rtreemulticontextrule.cpp.

References controlVariable, Variable::copy(), List::copyList(), MultiContextRule(), ContextRule::phpInPattern, ContextRule::phpOutPattern, and ContextRule::tplOutPattern.

RuleContext * MultiContextRule::generateSubcontext (  RuleContext *  context,
const Node::Assignment &  assign
)  const [virtual]
 

Generates a new subcontext.

Implements ContextRule.

Definition at line 11 of file rtreemulticontextrule.cpp.

References controlVariable, CPHPVariable, Variable::getId(), Node::getName(), and Unary::getStatement1().

ostream & MultiContextRule::print (  ostream &  os  )  const [virtual]
 

Writes the rule to the stream.

Implements Rule.

Definition at line 26 of file rtreemulticontextrule.cpp.

References ContextRule::phpInPattern, and List::print().


Field Documentation

Variable* MultiContextRule::controlVariable [private]
 

The control variable.

Definition at line 10 of file rtreemulticontextrule.h.

Referenced by copy(), generateSubcontext(), and ~MultiContextRule().


The documentation for this class was generated from the following files:
Generated on Fri Nov 21 17:54:07 2003 for PHPX by doxygen 1.3.3