#include <assignment.h>
Inheritance diagram for expression_assignment:

Public Member Functions | |
| virtual | ~expression_assignment () |
| expression_assignment (const expression::pointer &lhs, const expression::pointer &rhs) | |
Protected Member Functions | |
| void | traversal (int pprec) |
| bool | is_lvalue () const |
| side_effect_t | has_side_effect () const |
| type::pointer | get_type () const |
| void | logical_traversal (int pprec, label::pointer &true_branch, label::pointer &false_branch, bool fall_through_preference) |
| int | get_precedence () const |
| virtual void | pre_order_traversal (int pprec) |
| virtual void | infix_order_traversal (int pprec) |
| virtual void | post_order_traversal (int pprec) |
| expression::pointer | get_lhs () const |
| expression::pointer | get_rhs () const |
Private Member Functions | |
| expression_assignment () | |
| expression_assignment (const expression_assignment &) | |
| expression_assignment & | operator= (const expression_assignment &) |
Private Attributes | |
| expression::pointer | lhs |
| expression::pointer | rhs |
Definition at line 32 of file assignment.h.
| virtual expression_assignment::~expression_assignment | ( | ) | [virtual] |
The destructor.
| expression_assignment::expression_assignment | ( | const expression::pointer & | lhs, | |
| const expression::pointer & | rhs | |||
| ) |
The default constructor.
| lhs | the left hand side of the assignment. | |
| rhs | the right hand side of the assignment. |
| expression_assignment::expression_assignment | ( | ) | [private] |
The default constructor. Do not use.
| expression_assignment::expression_assignment | ( | const expression_assignment & | ) | [private] |
The copy constructor. Do not use.
| void expression_assignment::traversal | ( | int | pprec | ) | [protected, virtual] |
The traversal method may be used to traverse each of the declaractions in the list.
| pprec | The precedence of the parent expression node. |
Implements expression.
| bool expression_assignment::is_lvalue | ( | ) | const [protected, virtual] |
The is_lvalue method is used to determine whether or not this expression is suitable to appear on the left hand side of an assignment expression.
Implements expression.
| side_effect_t expression_assignment::has_side_effect | ( | ) | const [protected, virtual] |
The has_side_effect method is used to determine if an expression has any effect. It is used by the parse to produce "statement with no effect" warnings.
Implements expression.
| type::pointer expression_assignment::get_type | ( | ) | const [protected, virtual] |
The get_type method is used to get the type of this expression.
Implements expression.
| void expression_assignment::logical_traversal | ( | int | pprec, | |
| label::pointer & | true_branch, | |||
| label::pointer & | false_branch, | |||
| bool | fall_through_preference | |||
| ) | [protected] |
| int expression_assignment::get_precedence | ( | ) | const [protected, virtual] |
The get_precedence method is used to obtain the precedence of this expression node.
The highest precedence has the highest absolute value, the lowest precedence gets the lowest absolute value.
Implements expression.
| virtual void expression_assignment::pre_order_traversal | ( | int | pprec | ) | [protected, virtual] |
The pre_order_traversal method is called by the traversal method before the left hand expression is traversed. The default implementation does nothing.
| virtual void expression_assignment::infix_order_traversal | ( | int | pprec | ) | [protected, virtual] |
The infix_order_traversal method is called by the traversal method after the left hand expression is traversed, and before the right hand expression is traversed. The default implementation does nothing.
Reimplemented in expression_assignment_pretty.
| virtual void expression_assignment::post_order_traversal | ( | int | pprec | ) | [protected, virtual] |
The post_order_traversal method is called by the traversal method after the right hand expression is traversed. The default implementation does nothing.
| expression::pointer expression_assignment::get_lhs | ( | ) | const [inline, protected] |
The get_lhs method is used ot get the left hand operand of the assignment node.
Definition at line 98 of file assignment.h.
References lhs.
| expression::pointer expression_assignment::get_rhs | ( | ) | const [inline, protected] |
The get_rhs method is used ot get the right hand operand of the assignment node.
Definition at line 104 of file assignment.h.
References rhs.
| expression_assignment& expression_assignment::operator= | ( | const expression_assignment & | ) | [private] |
The assignment operator. Do not use.
The lhs instance variable is used to remember the left hand side of the assignment.
Definition at line 111 of file assignment.h.
Referenced by get_lhs().
The lhs instance variable is used to remember the right hand side of the assignment.
Definition at line 117 of file assignment.h.
Referenced by get_rhs().
1.5.1