#include <global.h>
Inheritance diagram for expression_address_global:

Public Member Functions | |
| virtual | ~expression_address_global () |
| expression_address_global (const location &locn, unsigned offset, const type::pointer &type, const symbol *hint, translator_compile *cntxt) | |
Protected Member Functions | |
| void | traversal (int pprec) |
| expression::pointer | fast_load () const |
| expression::pointer | fast_store (const expression::pointer &rhs) const |
| bool | is_constant () const |
| expression::pointer | advance_by_words (long nwords, const type::pointer &new_type, const symbol *new_hint) const |
| const symbol * | get_symbol_hint () const |
Private Member Functions | |
| expression_address_global () | |
| expression_address_global (const expression_address_global &) | |
| expression_address_global & | operator= (const expression_address_global &) |
Private Attributes | |
| translator_compile & | code |
| const symbol * | hint |
Definition at line 32 of file global.h.
| virtual expression_address_global::~expression_address_global | ( | ) | [virtual] |
The destructor.
| expression_address_global::expression_address_global | ( | const location & | locn, | |
| unsigned | offset, | |||
| const type::pointer & | type, | |||
| const symbol * | hint, | |||
| translator_compile * | cntxt | |||
| ) |
The constructor.
| locn | The source file location of this expression | |
| offset | The word offset into the global stack frame | |
| type | The type of variable this expression represents | |
| hint | The symbol most recently related to this expression, or NULL for no hint. | |
| cntxt | The translation context |
| expression_address_global::expression_address_global | ( | ) | [private] |
The default constructor.
| expression_address_global::expression_address_global | ( | const expression_address_global & | ) | [private] |
The copy constructor.
| void expression_address_global::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.
| expression::pointer expression_address_global::fast_load | ( | ) | const [protected, virtual] |
The fast_load method is used by the expression_load_indirect::optimize method to produce smaller code, if possible.
Implements expression_address.
| expression::pointer expression_address_global::fast_store | ( | const expression::pointer & | rhs | ) | const [protected, virtual] |
The fast_store method is used by the expression_store_indirect::optimize method to produce smaller code, if possible.
| rhs | The value to be stored. |
Implements expression_address.
| bool expression_address_global::is_constant | ( | ) | const [protected, virtual] |
The is_constant method may be used to determine whether this expression node is a constant, or this tree would evaluate to a constant.
The default implementation is conservative, and always returns false.
Reimplemented from expression.
| expression::pointer expression_address_global::advance_by_words | ( | long | nwords, | |
| const type::pointer & | new_type, | |||
| const symbol * | new_hint | |||
| ) | const [protected, virtual] |
The advance_by_words method is used to create a new pointer constant from an old one, with the offset advanced by the given number of words.
| nwords | The number of words to advance. | |
| new_type | the new type of pointer, because usually the original is a record pointer, and the new one is a member pointer (i.e. not the same type). | |
| new_hint | New hit to attach to the new pointer node |
Implements expression_address.
| const symbol* expression_address_global::get_symbol_hint | ( | ) | const [protected, virtual] |
The get_symbol_hint method is used to get the symbol associated with the expression.
Reimplemented from expression.
| expression_address_global& expression_address_global::operator= | ( | const expression_address_global & | ) | [private] |
The assignment operator.
const symbol* expression_address_global::hint [private] |
1.5.1