top | up | prev | next

ContainerScope Class

Definition at line 57 of Scope.hpp

Constructors

ContainerScope()
ContainerScope(ContainerSymbol* container_)

Member Functions

ContainerSymbol* Container()
ContainerSymbol* GlobalNs()
void Install(Symbol* symbol)
Symbol* Lookup(const std::u32string& name) override
Symbol* Lookup(const std::u32string& name, ScopeLookup scopeLookup) override
Symbol* Lookup(const std::vector<std::u32string>& nameSequence, ScopeLookup scopeLoookup) override

Member Variables

ContainerSymbol* container
std::unordered_map<std::u32string, Symbol*> symbolMap

Constructor Details

ContainerScope Constructor

sngcpp::symbols::ContainerScope::ContainerScope()

Definition at line 73 of Scope.cpp :
 73 : container()
 74 {
 75 }


Declaration at line 60 of Scope.hpp


ContainerScope Constructor

sngcpp::symbols::ContainerScope::ContainerScope(ContainerSymbol * container_)

Definition at line 77 of Scope.cpp :
 77 : container(container_)
 78 {
 79 }


Declaration at line 61 of Scope.hpp


Member Function Details

Container Member Function

ContainerSymbol * sngcpp::symbols::ContainerScope::Container()

Definition at line 62 of Scope.hpp :
62 { return container; }


GlobalNs Member Function

ContainerSymbol * sngcpp::symbols::ContainerScope::GlobalNs()

Definition at line 81 of Scope.cpp :
 82 {
 83     ContainerSymbol* globalNs = container;
 84     while (globalNs->Parent())
 85     {
 86         globalNs = globalNs->Parent();
 87     }
 88     return globalNs;
 89 }


Declaration at line 63 of Scope.hpp

Calls: sngcpp::symbols::Symbol::Parent

Called by: sngcpp::symbols::ContainerScope::Lookup


Install Member Function

void sngcpp::symbols::ContainerScope::Install(Symbol * symbol)

Definition at line 91 of Scope.cpp :
 92 {
 93     symbolMap[symbol->Name()] = symbol;
 94 }


Declaration at line 64 of Scope.hpp

Calls: sngcpp::symbols::Symbol::Name

Called by: sngcpp::symbols::ClassTypeSymbol::AddTemplateParameter , sngcpp::symbols::ContainerSymbol::AddMember


Lookup Member Function

Symbol * sngcpp::symbols::ContainerScope::Lookup(const std::u32string& name) override

Definition at line 96 of Scope.cpp :
 97 {
 98     return Lookup(nameScopeLookup::this_);
 99 }


Declaration at line 65 of Scope.hpp

Base class overridden functions: sngcpp::symbols::Scope::Lookup

Calls: sngcpp::symbols::ContainerScope::Lookup

Called by: sngcpp::symbols::ContainerSymbol::MakeClassGroupSymbol , sngcpp::symbols::ContainerSymbol::MakeFunctionGroupSymbol , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::BeginNamespace


Lookup Member Function

Symbol * sngcpp::symbols::ContainerScope::Lookup(const std::u32string& name, ScopeLookup scopeLookup) override

Definition at line 101 of Scope.cpp
Declaration at line 66 of Scope.hpp

Base class overridden functions: sngcpp::symbols::Scope::Lookup

Calls: sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerSymbol::GetBase , sngcpp::symbols::ContainerSymbol::GetContainerScope , sngcpp::symbols::ContainerSymbol::NumBases , sngcpp::symbols::Symbol::Parent

Called by: sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::FileScope::Lookup


Lookup Member Function

Symbol * sngcpp::symbols::ContainerScope::Lookup(const std::vector<std::u32string>& nameSequence, ScopeLookup scopeLoookup) override

Definition at line 138 of Scope.cpp
Declaration at line 67 of Scope.hpp

Base class overridden functions: sngcpp::symbols::Scope::Lookup

Calls: sngcpp::symbols::ContainerScope::GlobalNs , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerSymbol::GetContainerScope , sngcpp::symbols::Symbol::GetContainerScope , sngcpp::symbols::Symbol::Parent

Called by: sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::FileScope::Lookup


top | up | prev | next