lestes::lang::cplus::syn::one_hinter Class Reference

Inheritance diagram for lestes::lang::cplus::syn::one_hinter:

object List of all members.

Public Member Functions

void push_state ()
 Copies current state and pushed in onto the stack (which makes it current).
void pop_state ()
void qual_scope_set (const ptr< ss_decl_seq > &s)
void elab_spec_set (const ptr< elab_spec_key > &es)
void namespace_mode_set (bool b)
ptr< ss_decl_seq > qual_scope_get () const
ptr< elab_spec_keyelab_spec_get () const
bool namespace_mode_get () const

Static Public Member Functions

static ptr< one_hintercreate ()

Protected Member Functions

 one_hinter ()
void gc_mark ()

Private Attributes

srp< list< srp< state_type > > > state_stack

Classes

class  state_type

Detailed Description

Definition at line 77 of file hinter.cc.


Constructor & Destructor Documentation

lestes::lang::cplus::syn::one_hinter::one_hinter (  )  [inline, protected]

Definition at line 153 of file hinter.cc.

00153                      : state_stack( list< srp<state_type> >::create() )
00154         {
00155                 state_stack->push_back( state_type::create() );
00156         }


Member Function Documentation

void lestes::lang::cplus::syn::one_hinter::gc_mark ( void   )  [inline, protected]

Definition at line 157 of file hinter.cc.

00158         {
00159                 state_stack.gc_mark();
00160                 object::gc_mark();
00161         }

static ptr<one_hinter> lestes::lang::cplus::syn::one_hinter::create ( void   )  [inline, static]

Definition at line 163 of file hinter.cc.

Referenced by lestes::lang::cplus::syn::hinter::init(), and lestes::lang::cplus::syn::spawn_hinter_action::run().

00164         {
00165                 return new one_hinter();
00166         }

void lestes::lang::cplus::syn::one_hinter::push_state (  )  [inline]

Copies current state and pushed in onto the stack (which makes it current).

Definition at line 169 of file hinter.cc.

00170         {
00171                 state_stack->push_back( state_type::create( state_stack->back() ) );
00172         }

void lestes::lang::cplus::syn::one_hinter::pop_state (  )  [inline]

Definition at line 173 of file hinter.cc.

References lassert.

00174         {
00175                 lassert( !state_stack->empty() );
00176                 state_stack->pop_back();
00177                 lassert( !state_stack->empty() );
00178         }

void lestes::lang::cplus::syn::one_hinter::qual_scope_set ( const ptr< ss_decl_seq > &  s  )  [inline]

Definition at line 185 of file hinter.cc.

References lassert.

00186         {
00187                 lassert( !state_stack->empty() );
00188                 state_stack->back()->qual_scope_set( s );
00189         }

void lestes::lang::cplus::syn::one_hinter::elab_spec_set ( const ptr< elab_spec_key > &  es  )  [inline]

Definition at line 190 of file hinter.cc.

References lassert.

00191         {
00192                 lassert( !state_stack->empty() );
00193                 state_stack->back()->elab_spec_set( es );
00194         }

void lestes::lang::cplus::syn::one_hinter::namespace_mode_set ( bool  b  )  [inline]

Definition at line 195 of file hinter.cc.

References lassert.

00196         {
00197                 lassert( !state_stack->empty() );
00198                 state_stack->back()->namespace_mode_set( b );
00199         }

ptr<ss_decl_seq> lestes::lang::cplus::syn::one_hinter::qual_scope_get (  )  const [inline]

Definition at line 206 of file hinter.cc.

References lassert.

00207         {
00208                 lassert( !state_stack->empty() );
00209                 return state_stack->back()->qual_scope_get();
00210         }

ptr<elab_spec_key> lestes::lang::cplus::syn::one_hinter::elab_spec_get (  )  const [inline]

Definition at line 211 of file hinter.cc.

References lassert.

00212         {
00213                 lassert( !state_stack->empty() );
00214                 return state_stack->back()->elab_spec_get();
00215         }

bool lestes::lang::cplus::syn::one_hinter::namespace_mode_get (  )  const [inline]

Definition at line 216 of file hinter.cc.

References lassert.

00217         {
00218                 lassert( !state_stack->empty() );
00219                 return state_stack->back()->namespace_mode_get();
00220         }


Member Data Documentation

srp< list< srp<state_type> > > lestes::lang::cplus::syn::one_hinter::state_stack [private]

Definition at line 151 of file hinter.cc.


The documentation for this class was generated from the following file:
Generated on Mon Feb 12 18:25:37 2007 for lestes by doxygen 1.5.1-20070107