top | up | prev | next

ContainerScope Class

Definition at line 79 of Scope.hpp

Constructors

ContainerScope()

Member Functions

ContainerScope* BaseScope() const
void Clear()
void CollectViableFunctions(int arity, const std::u32string& groupName, std::unordered_set<ContainerScope*>& scopesLookedUp, ScopeLookup scopeLookup, ViableFunctionSet& viableFunctions, Module* module)
ContainerSymbol* Container()
const ContainerSymbol* Container() const
NamespaceSymbol* CreateNamespace(const std::u32string& qualifiedNsName, const Span& span, const boost::uuids::uuid& sourceModuleId)
void Install(Symbol* symbol)
Symbol* Lookup(const std::u32string& name) const override
Symbol* Lookup(const std::u32string& name, ScopeLookup lookup) const override
std::vector<CCSymbolEntry> LookupBeginWith(const std::u32string& prefix) const override
std::vector<CCSymbolEntry> LookupBeginWith(const std::u32string& prefix, ScopeLookup lookup) const override
Symbol* LookupQualified(const std::vector<std::u32string>& components, ScopeLookup lookup) const
std::vector<CCSymbolEntry> LookupQualifiedBeginWith(const std::vector<CCComponent>& components, ScopeLookup lookup) const
const NamespaceSymbol* Ns() const
NamespaceSymbol* Ns()
ContainerScope* ParentScope() const
void SetContainer(ContainerSymbol* container_)
void SetParentScope(ContainerScope* parentScope_)
const std::map<std::u32string, Symbol*>& SymbolMap() const
void Uninstall(Symbol* symbol)

Member Variables

ContainerSymbol* container
ContainerScope* parentScope
std::map<std::u32string, Symbol*> symbolMap

Constructor Details

ContainerScope Constructor

cmajor::symbols::ContainerScope::ContainerScope()

Definition at line 29 of Scope.cpp :
 29 : container(nullptr)parentScope(nullptr)symbolMap()
 30 {
 31 }


Declaration at line 82 of Scope.hpp


Member Function Details

BaseScope Member Function

ContainerScope * cmajor::symbols::ContainerScope::BaseScope() const

Definition at line 33 of Scope.cpp
Declaration at line 83 of Scope.hpp

Calls: cmajor::symbols::ClassTypeSymbol::BaseClass , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::Symbol::GetSymbolType

Called by: cmajor::symbols::ContainerScope::CollectViableFunctions , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::LookupBeginWith , cmajor::symbols::ContainerScope::LookupQualifiedBeginWith


Clear Member Function

void cmajor::symbols::ContainerScope::Clear()

Definition at line 672 of Scope.cpp :
673 {
674     symbolMap.clear();
675 }


Declaration at line 99 of Scope.hpp

Called by: cmajor::symbols::ContainerSymbol::Clear


CollectViableFunctions Member Function

void cmajor::symbols::ContainerScope::CollectViableFunctions(int arity, const std::u32string& groupName, std::unordered_set<ContainerScope *>& scopesLookedUp, ScopeLookup scopeLookup, ViableFunctionSet & viableFunctions, Module * module)

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

Calls: cmajor::symbols::ContainerScope::BaseScope , cmajor::symbols::ContainerScope::CollectViableFunctions , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::ParentScope , cmajor::symbols::FunctionGroupSymbol::CollectViableFunctions , cmajor::symbols::Symbol::GetSymbolType

Called by: cmajor::symbols::ContainerScope::CollectViableFunctions , cmajor::symbols::FileScope::CollectViableFunctions


Container Member Function

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

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

Called by: cmajor::symbols::ContainerScope::LookupQualifiedBeginWith


Container Member Function

const ContainerSymbol * cmajor::symbols::ContainerScope::Container() const

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

Called by: cmajor::symbols::ContainerScope::LookupQualifiedBeginWith


CreateNamespace Member Function

NamespaceSymbol * cmajor::symbols::ContainerScope::CreateNamespace(const std::u32string& qualifiedNsName, const Span& span, const boost::uuids::uuid& sourceModuleId)

Definition at line 677 of Scope.cpp

Calls: cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::Ns , cmajor::symbols::ContainerSymbol::AddMember , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::Symbol::GetContainerScope , cmajor::symbols::Symbol::GetModule , cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::GetSymbolType , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::SetModule , cmajor::symbols::Symbol::SourceModuleId

Called by: cmajor::symbols::SymbolTable::BeginNamespace


Install Member Function

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

Definition at line 87 of Scope.cpp
Declaration at line 89 of Scope.hpp

Calls: cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::GetSymbolType , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::SetInstalled , cmajor::symbols::Symbol::SourceModuleId

Called by: cmajor::symbols::ContainerSymbol::AddMember , cmajor::symbols::ContainerSymbol::AddOwnedMember , cmajor::symbols::ContainerSymbol::CopyFrom


Lookup Member Function

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

Definition at line 113 of Scope.cpp :
114 {
115     return Lookup(nameScopeLookup::this_);
116 }


Declaration at line 91 of Scope.hpp

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

Calls: cmajor::symbols::ContainerScope::Lookup

Called by: cmajor::symbols::ContainerScope::CollectViableFunctions , cmajor::symbols::ContainerScope::CreateNamespace , cmajor::symbols::ContainerSymbol::MakeClassGroupTypeSymbol , cmajor::symbols::ContainerSymbol::MakeConceptGroupSymbol , cmajor::symbols::ContainerSymbol::MakeFunctionGroupSymbol , cmajor::symbols::ContainerSymbol::MakeGlobalVariableGroupSymbol , cmajor::symbols::SymbolTable::BeginNamespace


Lookup Member Function

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

Definition at line 438 of Scope.cpp
Declaration at line 92 of Scope.hpp

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

Calls: cmajor::symbols::ContainerScope::BaseScope , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::LookupQualified , cmajor::symbols::ContainerScope::ParentScope

Called by: cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::LookupQualified , cmajor::symbols::ContainerScope::LookupQualifiedBeginWith , cmajor::symbols::FileScope::InstallAlias , cmajor::symbols::FileScope::InstallNamespaceImport , cmajor::symbols::FileScope::Lookup , cmajor::symbols::TypeIndex::AddType


LookupBeginWith Member Function

std::vector<CCSymbolEntry > cmajor::symbols::ContainerScope::LookupBeginWith(const std::u32string& prefix) const override

Definition at line 522 of Scope.cpp :
523 {
524     return LookupBeginWith(prefixScopeLookup::this_);
525 }


Declaration at line 94 of Scope.hpp

Base class overridden functions: cmajor::symbols::Scope::LookupBeginWith

Calls: cmajor::symbols::ContainerScope::LookupBeginWith

Called by: cmajor::symbols::ContainerScope::LookupQualifiedBeginWith


LookupBeginWith Member Function

std::vector<CCSymbolEntry > cmajor::symbols::ContainerScope::LookupBeginWith(const std::u32string& prefix, ScopeLookup lookup) const override

Definition at line 527 of Scope.cpp
Declaration at line 95 of Scope.hpp

Base class overridden functions: cmajor::symbols::Scope::LookupBeginWith

Calls: cmajor::symbols::ContainerScope::BaseScope , cmajor::symbols::ContainerScope::LookupBeginWith , cmajor::symbols::ContainerScope::LookupQualifiedBeginWith , cmajor::symbols::ContainerScope::ParentScope

Called by: cmajor::symbols::ContainerScope::LookupBeginWith , cmajor::symbols::ContainerScope::LookupBeginWith , cmajor::symbols::FileScope::LookupBeginWith , cmajor::symbols::Source::LookupSymbolsBeginningWith


LookupQualified Member Function

Symbol * cmajor::symbols::ContainerScope::LookupQualified(const std::vector<std::u32string>& components, ScopeLookup lookup) const

Definition at line 482 of Scope.cpp
Declaration at line 93 of Scope.hpp

Calls: cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::LookupQualified , cmajor::symbols::ContainerScope::ParentScope , cmajor::symbols::Symbol::GetContainerScope

Called by: cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::LookupQualified


LookupQualifiedBeginWith Member Function

std::vector<CCSymbolEntry > cmajor::symbols::ContainerScope::LookupQualifiedBeginWith(const std::vector<CCComponent >& components, ScopeLookup lookup) const

Definition at line 566 of Scope.cpp
Declaration at line 96 of Scope.hpp

Calls: cmajor::symbols::ContainerScope::BaseScope , cmajor::symbols::ContainerScope::Container , cmajor::symbols::ContainerScope::Container , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::LookupBeginWith , cmajor::symbols::ContainerScope::LookupQualifiedBeginWith , cmajor::symbols::ContainerScope::ParentScope , cmajor::symbols::FunctionSymbol::Parameters , cmajor::symbols::Symbol::FunctionNoThrow , cmajor::symbols::Symbol::GetArrowScope , cmajor::symbols::Symbol::GetSymbolType , cmajor::symbols::Symbol::GetTypeScope , cmajor::symbols::TypeSymbol::IsPointerType , cmajor::symbols::VariableSymbol::GetType

Called by: cmajor::symbols::ContainerScope::LookupBeginWith , cmajor::symbols::ContainerScope::LookupQualifiedBeginWith


Ns Member Function

const NamespaceSymbol * cmajor::symbols::ContainerScope::Ns() const

Definition at line 662 of Scope.cpp :
663 {
664     return container->Ns();
665 }


Declaration at line 97 of Scope.hpp

Calls: cmajor::symbols::Symbol::Ns


Ns Member Function

NamespaceSymbol * cmajor::symbols::ContainerScope::Ns()

Definition at line 667 of Scope.cpp :
668 {
669     return container->Ns();
670 }


Declaration at line 98 of Scope.hpp

Calls: cmajor::symbols::Symbol::Ns

Called by: cmajor::symbols::ContainerScope::CreateNamespace


ParentScope Member Function

ContainerScope * cmajor::symbols::ContainerScope::ParentScope() const

Definition at line 50 of Scope.cpp
Declaration at line 84 of Scope.hpp

Calls: cmajor::symbols::ClassTemplateSpecializationSymbol::GetClassTemplate , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::Module::IsRootModule , cmajor::symbols::Symbol::GetContainerScope , cmajor::symbols::Symbol::GetModule , cmajor::symbols::Symbol::GetSymbolType , cmajor::symbols::Symbol::Parent , cmajor::symbols::SymbolTable::GetMappedNs

Called by: cmajor::symbols::ContainerScope::CollectViableFunctions , cmajor::symbols::ContainerScope::Lookup , cmajor::symbols::ContainerScope::LookupBeginWith , cmajor::symbols::ContainerScope::LookupQualified , cmajor::symbols::ContainerScope::LookupQualifiedBeginWith


SetContainer Member Function

void cmajor::symbols::ContainerScope::SetContainer(ContainerSymbol * container_)

Definition at line 88 of Scope.hpp :
 88 { container = container_; }


SetParentScope Member Function

void cmajor::symbols::ContainerScope::SetParentScope(ContainerScope * parentScope_)

Definition at line 85 of Scope.hpp :
 85 { parentScope = parentScope_; }

Called by: cmajor::symbols::ContainerSymbol::CopyFrom


SymbolMap Member Function

const std::map<std::u32string, Symbol *>& cmajor::symbols::ContainerScope::SymbolMap() const

Definition at line 103 of Scope.hpp :
103 { return symbolMap; }

Called by: cmajor::symbols::ContainerSymbol::CopyFrom


Uninstall Member Function

void cmajor::symbols::ContainerScope::Uninstall(Symbol * symbol)

Definition at line 107 of Scope.cpp :
108 {
109     symbolMap.erase(symbol->Name());
110     symbol->ResetInstalled();
111 }


Declaration at line 90 of Scope.hpp

Calls: cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::ResetInstalled

Called by: cmajor::symbols::ContainerSymbol::RemoveMember


top | up | prev | next