LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
#include <decs-list.hh>
Public Types | |
typedef std::list< Decs * > | decs_type |
Public Member Functions | |
void | push_front (Decs *d) |
Prepend d. | |
void | push_back (Decs *d) |
Append d. | |
void | splice_front (DecsList &ds) |
Splice the content of ds in front of this list. | |
void | splice_back (DecsList &ds) |
Splice the content of ds at the back this list. | |
DecsList (const Location &location) | |
Construct a DecsList node. | |
Ctor & dtor. | |
DecsList (const Location &location, const DecsList::decs_type &decs) | |
Construct a DecsList node. | |
virtual | ~DecsList () |
Destroy a DecsList node. | |
Visitors entry point. | |
virtual void | accept (ConstVisitor &v) const override |
Accept a const visitor v. | |
virtual void | accept (Visitor &v) override |
Accept a non-const visitor v. | |
Accessors. | |
const DecsList::decs_type & | decs_get () const |
Return declarations. | |
DecsList::decs_type & | decs_get () |
Return declarations. | |
Accessors. | |
const Location & | location_get () const |
Return scanner position information. | |
void | location_set (const Location &) |
Set scanner position information. |
Protected Attributes | |
DecsList::decs_type | decs_ |
Declarations. | |
Location | location_ |
Scanner position information. |
typedef std::list<Decs*> ast::DecsList::decs_type |
ast::DecsList::DecsList | ( | const Location & | location, |
const DecsList::decs_type & | decs | ||
) |
Construct a DecsList node.
|
virtual |
Destroy a DecsList node.
References decs_, and misc::deep_clear().
|
overridevirtual |
Accept a const visitor v.
Implements ast::Ast.
Referenced by object::Binder::operator()(), and object::TypeChecker::visit_dec_members().
|
overridevirtual |
Accept a non-const visitor v.
Implements ast::Ast.
|
inline |
Return declarations.
References decs_.
Referenced by object::DesugarVisitor::operator()(), astclone::Cloner::operator()(), parse::parse_decs(), splice_back(), and splice_front().
|
inline |
Return declarations.
References decs_.
|
inlineinherited |
Return scanner position information.
References ast::Ast::location_.
Referenced by type::TypeChecker::error(), object::DesugarVisitor::operator()(), astclone::Cloner::operator()(), push_back(), push_front(), and type::TypeChecker::type_mismatch().
|
inlineinherited |
Set scanner position information.
References ast::Ast::location_.
void ast::DecsList::push_back | ( | Decs * | d | ) |
Append d.
References decs_, ast::Ast::location_, and ast::Ast::location_get().
void ast::DecsList::push_front | ( | Decs * | d | ) |
Prepend d.
References decs_, ast::Ast::location_, and ast::Ast::location_get().
void ast::DecsList::splice_back | ( | DecsList & | ds | ) |
Splice the content of ds at the back this list.
References decs_, and decs_get().
Referenced by object::DesugarVisitor::operator()().
void ast::DecsList::splice_front | ( | DecsList & | ds | ) |
Splice the content of ds in front of this list.
References decs_, and decs_get().
|
protected |
Declarations.
Referenced by decs_get(), push_back(), push_front(), splice_back(), splice_front(), and ~DecsList().
|
protectedinherited |
Scanner position information.
Referenced by ast::Ast::location_get(), ast::Ast::location_set(), push_back(), and push_front().