Synopsis/SymbolLookup/Scope.hh

source code

Includes from this file:

include Synopsis/SymbolLookup/Symbol.hh

Declarations in this file:

Classes in Synopsis::SymbolLookup

InternalError

Scope

A Scope contains symbol definitions.


ScopeVisitor

Data members in Synopsis::SymbolLookup::InternalError

my_what

Data members in Synopsis::SymbolLookup::MultiplyDefined

declaration

name

original

Data members in Synopsis::SymbolLookup::Scope

DECLARATION

DEFAULT

ELABORATE

SCOPE

USING

my_refcount

my_scopes

my_symbols

Data members in Synopsis::SymbolLookup::TypeError

name

type

Data members in Synopsis::SymbolLookup::Undefined

name

ptree

Member functions in Synopsis::SymbolLookup::InternalError

InternalError(const std::string&)

Member functions in Synopsis::SymbolLookup::MultiplyDefined

MultiplyDefined(const PTree::Encoding&,const PTree::Node*,const PTree::Node*)

Member functions in Synopsis::SymbolLookup::Scope

accept(ScopeVisitor*)

declare(const PTree::Encoding&,const Symbol*)

declare the given symbol in the local scope using the given encoded name.


declare_scope(const PTree::Node*,Scope*)

declare a nested scope


find(const PTree::Encoding&,LookupContext)const

find the encoded name declared in this scope and return a set of matching symbols.


find_scope(const PTree::Node*)const

find a nested scope by declaration


remove(const Symbol*)

Remove the given symbol from the scope.


use(const PTree::UsingDirective*)

declare a 'using' directive.

Member functions in Synopsis::SymbolLookup::TypeError

TypeError(const PTree::Encoding&,const PTree::Encoding&)

~TypeError()

Member functions in Synopsis::SymbolLookup::Undefined

Undefined(const PTree::Encoding&,const PTree::Node*)

Parameters in Synopsis::SymbolLookup::InternalError::`InternalError(const std::string&)

what

Parameters in Synopsis::SymbolLookup::MultiplyDefined::`MultiplyDefined(const PTree::Encoding&,const PTree::Node*,const PTree::Node*)

decl

n

orig

Parameters in Synopsis::SymbolLookup::TypeError::`TypeError(const PTree::Encoding&,const PTree::Encoding&)

n

t

Parameters in Synopsis::SymbolLookup::Undefined::`Undefined(const PTree::Encoding&,const PTree::Node*)

n

ref

Structs in Synopsis::SymbolLookup

MultiplyDefined

TypeError

Undefined

Thises in Synopsis::SymbolLookup::InternalError::`InternalError(const std::string&)

this

Thises in Synopsis::SymbolLookup::InternalError::`what()const

this

Thises in Synopsis::SymbolLookup::InternalError::`~InternalError()

this

Thises in Synopsis::SymbolLookup::MultiplyDefined::`MultiplyDefined(const PTree::Encoding&,const PTree::Node*,const PTree::Node*)

this

Thises in Synopsis::SymbolLookup::MultiplyDefined::`what()const

this

Thises in Synopsis::SymbolLookup::MultiplyDefined::`~MultiplyDefined()

this

Thises in Synopsis::SymbolLookup::Scope::`Scope()

this

Thises in Synopsis::SymbolLookup::Scope::`ref()

this

Thises in Synopsis::SymbolLookup::Scope::`ref()const

this

Thises in Synopsis::SymbolLookup::Scope::`scopes_begin()const

this

Thises in Synopsis::SymbolLookup::Scope::`scopes_end()const

this

Thises in Synopsis::SymbolLookup::Scope::`symbols_begin()const

this

Thises in Synopsis::SymbolLookup::Scope::`symbols_end()const

this

Thises in Synopsis::SymbolLookup::Scope::`unref()const

this

Thises in Synopsis::SymbolLookup::TypeError::`TypeError(const PTree::Encoding&,const PTree::Encoding&)

this

Thises in Synopsis::SymbolLookup::TypeError::`what()const

this

Thises in Synopsis::SymbolLookup::TypeError::`~TypeError()

this

Thises in Synopsis::SymbolLookup::Undefined::`Undefined(const PTree::Encoding&,const PTree::Node*)

this

Thises in Synopsis::SymbolLookup::Undefined::`what()const

this

Thises in Synopsis::SymbolLookup::Undefined::`~Undefined()

this

Typedefs in Synopsis::SymbolLookup::Scope

LookupContext

ScopeTable

ScopeTable provides a mapping from scope nodes to Scopes, which can be used to traverse the scope tree in parallel with the associated parse tree.


SymbolTable

SymbolTable provides a mapping from (encoded) names to Symbols declared in this scope.


scope_iterator

symbol_iterator

Typedefs in Synopsis::SymbolLookup

SymbolSet