LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
Wrapper around frame::Access. More...
#include <access.hh>
Public Member Functions | |
Access (const Level &home, const frame::Access *access) | |
const Level & | home_get () const |
The Level this Access belongs to. | |
const frame::Access * | access_get () const |
The underlying, SL unaware, Frame Access. | |
tree::rExp | exp (const Level &use) const |
The use level wants to use this Access. Return a Tree expression computing this access (including all the static links manipulations to compute the location of the level/frame hosting this variable). |
Private Attributes | |
const Level & | home_ |
The Level this Access belongs to. | |
const frame::Access * | access_ |
The underlying, SL unaware, Frame Access. |
Wrapper around frame::Access.
A translate::Access is composed of a frame::Access and a pointer to the translate::Level which includes this access. This is used when we are using the static links. This is also why we don't see this in frame::Access: the frame module is not supposed to be tuned for Tiger especially, and therefore should not include Tiger related things such as static links.
|
inline |
|
inline |
The underlying, SL unaware, Frame Access.
References access_.
Referenced by translate::operator<<().
tree::rExp translate::Access::exp | ( | const Level & | use | ) | const |
The use level wants to use this Access. Return a Tree expression computing this access (including all the static links manipulations to compute the location of the level/frame hosting this variable).
References access_, frame::Access::exp(), translate::Level::fp(), and home_.
Referenced by translate::simple_var().
|
inline |
|
private |
The underlying, SL unaware, Frame Access.
Referenced by access_get(), and exp().
|
private |
The Level this Access belongs to.
Referenced by exp(), and home_get().