namespace Synopsis::SymbolLookup
class Walker
Walker-inheritance Scopes/Synopsis/PTree/Visitor.html

This Walker adjusts the symbol lookup table while the parse tree is being traversed such that symbols in the parse tree can be looked up correctly in the right context.

Public Member functions Summary:
 constructor Walker(Scope*)
references
source code
virtual destructor ~Walker()
references
source code
virtual void visit(PTree::List*)
source code
virtual void visit(PTree::Block*)
source code
virtual void visit(PTree::TemplateDecl*)
source code
virtual void visit(PTree::NamespaceSpec*)
source code
source code
virtual void visit(PTree::ClassSpec*)
source code
virtual void visit(PTree::DotMemberExpr*)
source code
virtual void visit(PTree::ArrowMemberExpr*)
source code
source code

Traverse the body of a namespace definition.

source code

Traverse the body of the class definition.

source code

Traverse the template parameter list of a template declaration.

source code

Traverse the body of the function definition.

Protected Member functions Summary:
 const Scope* current_scope()
references
source code
 void leave_scope()
references
source code
Private Typedefs Summary:
std::stack<Scope*> Scopes
references
source code
Private Member functions Summary:
source code

the virtual visit(Block) version above does scoping, which isn't what we want if traversing a function (FIXME: or is it ?) so the following factors out the common code.

Private Data members Summary:
references
source code

The symbol lookup table.

Public Member functions Details:
source code

Traverse the body of a namespace definition.

source code

Traverse the body of the class definition.

source code

Traverse the template parameter list of a template declaration.

source code

Traverse the body of the function definition.

Private Member functions Details:
source code

the virtual visit(Block) version above does scoping, which isn't what we want if traversing a function (FIXME: or is it ?) so the following factors out the common code.

Private Data members Details:
references
source code

The symbol lookup table.