#include <dereference.h>
Inheritance diagram for expression_dereference:

Public Member Functions | |
| virtual | ~expression_dereference () |
| expression_dereference (const expression::pointer &arg) | |
| void | traversal (int pprec) |
| int | get_precedence () const |
| type::pointer | get_type () const |
| bool | is_lvalue () const |
| side_effect_t | has_side_effect () const |
Protected Member Functions | |
| void | pre_order_traversal (int pprec) |
| void | post_order_traversal (int pprec) |
| expression::pointer | get_operand () const |
| bool | is_explicit () const |
| void | logical_traversal (int pprec, label::pointer &true_branch, label::pointer &false_branch, bool fall_through_preference) |
Private Member Functions | |
| expression_dereference () | |
| expression_dereference (const expression_dereference &) | |
| expression_dereference & | operator= (const expression_dereference &) |
Private Attributes | |
| expression::pointer | operand |
Definition at line 30 of file dereference.h.
| virtual expression_dereference::~expression_dereference | ( | ) | [virtual] |
The destructor.
| expression_dereference::expression_dereference | ( | const expression::pointer & | arg | ) |
The constructor.
| expression_dereference::expression_dereference | ( | ) | [private] |
The default constructor. Do not use.
| expression_dereference::expression_dereference | ( | const expression_dereference & | ) | [private] |
The copy constructor. Do not use.
| void expression_dereference::traversal | ( | int | pprec | ) | [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.
| int expression_dereference::get_precedence | ( | ) | const [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.
| type::pointer expression_dereference::get_type | ( | ) | const [virtual] |
The get_type method is used to get the type of this expression.
Implements expression.
| bool expression_dereference::is_lvalue | ( | ) | const [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_dereference::has_side_effect | ( | ) | const [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.
| void expression_dereference::pre_order_traversal | ( | int | pprec | ) | [protected] |
The pre_order_traversal method is called by the traversal method just before the operand is traversed.
Reimplemented in expression_dereference_pretty.
| void expression_dereference::post_order_traversal | ( | int | pprec | ) | [protected] |
The post_order_traversal method is called by the traversal method just after the operand is traversed.
Reimplemented in expression_dereference_pretty.
| expression::pointer expression_dereference::get_operand | ( | ) | const [inline, protected] |
| bool expression_dereference::is_explicit | ( | ) | const [protected] |
| void expression_dereference::logical_traversal | ( | int | pprec, | |
| label::pointer & | true_branch, | |||
| label::pointer & | false_branch, | |||
| bool | fall_through_preference | |||
| ) | [protected] |
| expression_dereference& expression_dereference::operator= | ( | const expression_dereference & | ) | [private] |
The assignment operator. Do not use.
The operand instance variable is used to remember the pointer expression we are going to dereference.
Definition at line 84 of file dereference.h.
Referenced by get_operand().
1.5.1