Synopsis - Synopsis/SymbolLookup/Scope.hh Details

# 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*)
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*)

### Structs in Synopsis::SymbolLookup

MultiplyDefined
TypeError
Undefined

### Typedefs in Synopsis::SymbolLookup::Scope

LookupContext
ScopeTable
SymbolTable
scope_iterator
symbol_iterator

### Typedefs in Synopsis::SymbolLookup

SymbolSet