LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ast::DecsList Class Reference

DecsList. More...

#include <decs-list.hh>

Inheritance diagram for ast::DecsList:
Collaboration diagram for ast::DecsList:

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_typedecs_get () const
 Return declarations.
DecsList::decs_typedecs_get ()
 Return declarations.
Accessors.
const Locationlocation_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.

Detailed Description

Member Typedef Documentation

typedef std::list<Decs*> ast::DecsList::decs_type

Constructor & Destructor Documentation

ast::DecsList::DecsList ( const Location location)

Construct a DecsList node.

ast::DecsList::DecsList ( const Location location,
const DecsList::decs_type decs 
)

Construct a DecsList node.

ast::DecsList::~DecsList ( )
virtual

Destroy a DecsList node.

References decs_, and misc::deep_clear().

Member Function Documentation

void ast::DecsList::accept ( ConstVisitor v) const
overridevirtual

Accept a const visitor v.

Implements ast::Ast.

Referenced by object::Binder::operator()(), and object::TypeChecker::visit_dec_members().

void ast::DecsList::accept ( Visitor v)
overridevirtual

Accept a non-const visitor v.

Implements ast::Ast.

const DecsList::decs_type & ast::DecsList::decs_get ( ) const
inline
DecsList::decs_type & ast::DecsList::decs_get ( )
inline

Return declarations.

References decs_.

const Location & ast::Ast::location_get ( ) const
inlineinherited
void ast::Ast::location_set ( const Location location)
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().

Member Data Documentation

DecsList::decs_type ast::DecsList::decs_
protected
Location ast::Ast::location_
protectedinherited

Scanner position information.

Referenced by ast::Ast::location_get(), ast::Ast::location_set(), push_back(), and push_front().


The documentation for this class was generated from the following files: