#include <function_call.h>
Inheritance diagram for expression_function_call:

Public Member Functions | |
| virtual | ~expression_function_call () |
| expression_function_call (expression_list *args) | |
Protected Member Functions | |
| void | traversal (int pprec) |
| void | logical_traversal (int pprec, label::pointer &true_branch, label::pointer &false_branch, bool fall_through_preference) |
| int | get_precedence () const |
| type::pointer | get_type () const |
| bool | is_lvalue () const |
| side_effect_t | has_side_effect () const |
| virtual void | pre_order_traversal (int pprec) |
| virtual void | comma_order_traversal (int pprec, int argnum) |
| virtual void | post_order_traversal (int pprec, int argnum) |
| size_t | get_child_count () const |
| expression::pointer | get_child (size_t n) const |
Private Member Functions | |
| expression_function_call () | |
| expression_function_call (const expression_function_call &) | |
| expression_function_call & | operator= (const expression_function_call &) |
Private Attributes | |
| expression_list * | children |
Definition at line 31 of file function_call.h.
| virtual expression_function_call::~expression_function_call | ( | ) | [virtual] |
The destructor.
| expression_function_call::expression_function_call | ( | expression_list * | args | ) |
The constructor.
| args | The arguments to the expression call. In the general case, this will include the function name as the first argument. However, not all usages need to abide by this convention. |
| expression_function_call::expression_function_call | ( | ) | [private] |
The default constructor.
| expression_function_call::expression_function_call | ( | const expression_function_call & | ) | [private] |
The copy constructor.
| void expression_function_call::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.
| void expression_function_call::logical_traversal | ( | int | pprec, | |
| label::pointer & | true_branch, | |||
| label::pointer & | false_branch, | |||
| bool | fall_through_preference | |||
| ) | [protected] |
Reimplemented in expression_function_call_chr, expression_function_call_odd, and expression_function_call_sqr.
| int expression_function_call::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.
| type::pointer expression_function_call::get_type | ( | ) | const [protected, virtual] |
The get_type method is used to get the type of this expression.
Implements expression.
Reimplemented in expression_function_call_chr, expression_function_call_odd, expression_function_call_sqr, expression_function_call_time, and expression_function_call_user_defined.
| bool expression_function_call::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_function_call::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.
| virtual void expression_function_call::pre_order_traversal | ( | int | pprec | ) | [protected, virtual] |
The pre_order_traversal method is called by the traversal method just before any of the child expressions are traversed.
| pprec | parent expression precedence |
Reimplemented in expression_function_call_pretty.
| virtual void expression_function_call::comma_order_traversal | ( | int | pprec, | |
| int | argnum | |||
| ) | [protected, virtual] |
The comma_order_traversal method is called by the traversal method just after each of the child expressions has been traversed, except the last one.
| pprec | parent expression precedence | |
| argnum | the number of the argument (0 based, 0 is the function name, usually) |
Reimplemented in expression_function_call_pretty.
| virtual void expression_function_call::post_order_traversal | ( | int | pprec, | |
| int | argnum | |||
| ) | [protected, virtual] |
The post_order_traversal method is called by the traversal method just after the last child expression has been traversed.
| pprec | parent expression precedence | |
| argnum | the number of the argument (can be zero if only one child) usually) |
Reimplemented in expression_function_call_sqr, expression_function_call_time, expression_function_call_user_defined, and expression_function_call_pretty.
| size_t expression_function_call::get_child_count | ( | ) | const [inline, protected] |
| expression::pointer expression_function_call::get_child | ( | size_t | n | ) | const [inline, protected] |
| expression_function_call& expression_function_call::operator= | ( | const expression_function_call & | ) | [private] |
The assignment operator.
The children instance variable is used to remember the child expressions of this function call. Child [0] is the function name, usually.
Definition at line 119 of file function_call.h.
Referenced by get_child(), and get_child_count().
1.5.1