Zen
A cross-platform functional programming language
|
AST Node representing a closure that holds all variables. More...
#include <Ast.hpp>
Public Member Functions | |
SharedClosure (const VariableRefList &xRefList, const Ast::VariableDef &vdef, const Ast::SharedDef &sharedList) | |
Default constructor. | |
const VariableDef & | getDef () const |
Returns the variable that holds the return value of this closure. | |
const Ast::SharedDef & | getSharedList () const |
Returns the list of shared variables. | |
Private Member Functions | |
virtual void | visit (Visitor &visitor) const |
Abstract visitor function. | |
Private Attributes | |
const Ast::VariableDef & | _vdef |
The variable identifying the closure. | |
const Ast::SharedDef & | _sharedList |
The shared variable list. |
AST Node representing a closure that holds all variables.
SharedClosure | ( | const VariableRefList & | xRefList, |
const Ast::VariableDef & | vdef, | ||
const Ast::SharedDef & | sharedList | ||
) | [inline] |
Default constructor.
xRefList | The list of external variables referenced by this closure. |
vdef | The variable that uniquely identifies this closure in the continuation. |
sharedList | The list of variables shared between all closures in parent continuation |
const VariableDef& getDef | ( | ) | const [inline] |
Returns the variable that holds the return value of this closure.
const Ast::SharedDef& getSharedList | ( | ) | const [inline] |
Returns the list of shared variables.
void visit | ( | Visitor & | visitor | ) | const [private, virtual] |