top | up | prev | next

ContainerSymbol Abstract Class

Definition at line 24 of ContainerSymbol.hpp

Constructors

ContainerSymbol(const Span& span_, const std::u32string& name_)

Member Functions

void AddMember(std::unique_ptr<Symbol>&& member) virtual
std::unique_ptr<sngxml::dom::Element> Classes() override
std::unique_ptr<sngxml::dom::Element> Constructors() override
std::unique_ptr<sngxml::dom::Element> EnumTypes() override
std::unique_ptr<sngxml::dom::Element> Enumerators() override
std::unique_ptr<sngxml::dom::Element> Functions() override
ContainerSymbol* GetBase(int i) const virtual
ContainerScope* GetContainerScope() override
std::unique_ptr<sngxml::dom::Element> Grammars() override
bool IsContainerSymbol() const override
ClassGroupSymbol* MakeClassGroupSymbol(const Span& span_, const std::u32string& groupName)
FunctionGroupSymbol* MakeFunctionGroupSymbol(const Span& span_, const std::u32string& groupName)
const std::vector<std::unique_ptr<Symbol>>& Members() const
std::unique_ptr<sngxml::dom::Element> Namespaces() override
int NumBases() const virtual
std::unique_ptr<sngxml::dom::Element> Typedefs() override
std::unique_ptr<sngxml::dom::Element> Variables() override

Member Variables

ContainerScope containerScope
std::vector<std::unique_ptr<Symbol>> members

Constructor Details

ContainerSymbol Constructor

sngcpp::symbols::ContainerSymbol::ContainerSymbol(const Span& span_, const std::u32string& name_)

Definition at line 21 of ContainerSymbol.cpp :
 21 : Symbol(span_name_)containerScope(this)
 22 {
 23 }


Declaration at line 27 of ContainerSymbol.hpp


Member Function Details

AddMember Member Function

void sngcpp::symbols::ContainerSymbol::AddMember(std::unique_ptr<Symbol >&& member) virtual

Definition at line 25 of ContainerSymbol.cpp
Declaration at line 28 of ContainerSymbol.hpp

Derived class overrides: sngcpp::symbols::FunctionDeclarationSymbol::AddMember , sngcpp::symbols::FunctionSymbol::AddMember , sngcpp::symbols::GrammarSymbol::AddMember

Calls: sngcpp::symbols::ClassGroupSymbol::AddClass , sngcpp::symbols::ContainerScope::Install , sngcpp::symbols::ContainerSymbol::MakeClassGroupSymbol , sngcpp::symbols::ContainerSymbol::MakeFunctionGroupSymbol , sngcpp::symbols::FunctionDeclarationSymbol::GroupName , sngcpp::symbols::FunctionGroupSymbol::AddFunction , sngcpp::symbols::FunctionGroupSymbol::AddFunctionDeclaration , sngcpp::symbols::FunctionSymbol::GroupName , sngcpp::symbols::Symbol::GetSpan , sngcpp::symbols::Symbol::IsClassTypeSymbol , sngcpp::symbols::Symbol::IsFunctionDeclarationSymbol , sngcpp::symbols::Symbol::IsFunctionSymbol , sngcpp::symbols::Symbol::IsInstallSymbol , sngcpp::symbols::Symbol::Name , sngcpp::symbols::Symbol::SetParent

Called by: sngcpp::symbols::ContainerSymbol::MakeClassGroupSymbol , sngcpp::symbols::ContainerSymbol::MakeFunctionGroupSymbol , sngcpp::symbols::FunctionDeclarationSymbol::AddMember , sngcpp::symbols::FunctionSymbol::AddMember , sngcpp::symbols::GrammarSymbol::AddMember , sngcpp::symbols::SymbolTable::AddEnumerator , sngcpp::symbols::SymbolTable::AddParameter , sngcpp::symbols::SymbolTable::AddRule , sngcpp::symbols::SymbolTable::AddTypedef , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginNamespace , sngcpp::symbols::SymbolTable::EndClass , sngcpp::symbols::SymbolTable::EndDeclarationBlock , sngcpp::symbols::SymbolTable::EndEnumType , sngcpp::symbols::SymbolTable::EndFunction , sngcpp::symbols::SymbolTable::EndFunctionDeclaration , sngcpp::symbols::SymbolTable::EndGrammar , sngcpp::symbols::SymbolTable::EndLambdaExpression


Classes Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Classes() override

Definition at line 121 of ContainerSymbol.cpp
Declaration at line 35 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Classes

Calls: sngcpp::symbols::ClassGroupSymbol::Classes , sngcpp::symbols::Symbol::IsClassGroupSymbol , sngcpp::symbols::Symbol::ToDomElement


Constructors Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Constructors() override

Definition at line 149 of ContainerSymbol.cpp
Declaration at line 36 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Constructors

Calls: sngcpp::symbols::FunctionGroupSymbol::Functions , sngcpp::symbols::Symbol::IsConstructorSymbol , sngcpp::symbols::Symbol::IsFunctionGroupSymbol , sngcpp::symbols::Symbol::ToDomElement


EnumTypes Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::EnumTypes() override

Definition at line 211 of ContainerSymbol.cpp
Declaration at line 38 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::EnumTypes

Calls: sngcpp::symbols::Symbol::IsEnumTypeSymbol , sngcpp::symbols::Symbol::ToDomElement


Enumerators Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Enumerators() override

Definition at line 236 of ContainerSymbol.cpp
Declaration at line 39 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Enumerators

Calls: sngcpp::symbols::Symbol::IsEnumeratorSymbol , sngcpp::symbols::Symbol::ToDomElement


Functions Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Functions() override

Definition at line 180 of ContainerSymbol.cpp
Declaration at line 37 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Functions

Calls: sngcpp::symbols::FunctionGroupSymbol::Functions , sngcpp::symbols::Symbol::IsConstructorSymbol , sngcpp::symbols::Symbol::IsFunctionGroupSymbol , sngcpp::symbols::Symbol::IsFunctionSymbol , sngcpp::symbols::Symbol::ToDomElement


GetBase Member Function

ContainerSymbol * sngcpp::symbols::ContainerSymbol::GetBase(int i) const virtual

Definition at line 33 of ContainerSymbol.hpp :
33 { return nullptr; }

Derived class overrides: sngcpp::symbols::ClassTypeSymbol::GetBase

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


GetContainerScope Member Function

ContainerScope * sngcpp::symbols::ContainerSymbol::GetContainerScope() override

Definition at line 30 of ContainerSymbol.hpp :
30 { return &containerScope; }

Base class overridden functions: sngcpp::symbols::Symbol::GetContainerScope

Called by: sngcpp::symbols::ClassTypeSymbol::AddTemplateParameter , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::BeginNamespace , sngcpp::symbols::SymbolTable::GetContainerScope


Grammars Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Grammars() override

Definition at line 310 of ContainerSymbol.cpp
Declaration at line 42 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Grammars

Calls: sngcpp::symbols::Symbol::IsGrammarSymbol , sngcpp::symbols::Symbol::ToDomElement


IsContainerSymbol Member Function

bool sngcpp::symbols::ContainerSymbol::IsContainerSymbol() const override

Definition at line 31 of ContainerSymbol.hpp :
31 { return true; }

Base class overridden functions: sngcpp::symbols::Symbol::IsContainerSymbol


MakeClassGroupSymbol Member Function

ClassGroupSymbol * sngcpp::symbols::ContainerSymbol::MakeClassGroupSymbol(const Span& span_, const std::u32string& groupName)

Definition at line 78 of ContainerSymbol.cpp
Declaration at line 47 of ContainerSymbol.hpp

Calls: sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerSymbol::AddMember , sngcpp::symbols::Symbol::IsClassGroupSymbol

Called by: sngcpp::symbols::ContainerSymbol::AddMember


MakeFunctionGroupSymbol Member Function

FunctionGroupSymbol * sngcpp::symbols::ContainerSymbol::MakeFunctionGroupSymbol(const Span& span_, const std::u32string& groupName)

Definition at line 59 of ContainerSymbol.cpp
Declaration at line 46 of ContainerSymbol.hpp

Calls: sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerSymbol::AddMember , sngcpp::symbols::Symbol::IsFunctionGroupSymbol

Called by: sngcpp::symbols::ContainerSymbol::AddMember


Members Member Function

const std::vector<std::unique_ptr<Symbol >>& sngcpp::symbols::ContainerSymbol::Members() const

Definition at line 29 of ContainerSymbol.hpp :
29 { return members; }


Namespaces Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Namespaces() override

Definition at line 97 of ContainerSymbol.cpp
Declaration at line 34 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Namespaces

Calls: sngcpp::symbols::Symbol::IsNamespaceSymbol , sngcpp::symbols::Symbol::ToDomElement


NumBases Member Function

int sngcpp::symbols::ContainerSymbol::NumBases() const virtual

Definition at line 32 of ContainerSymbol.hpp :
32 { return 0; }

Derived class overrides: sngcpp::symbols::ClassTypeSymbol::NumBases

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


Typedefs Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Typedefs() override

Definition at line 260 of ContainerSymbol.cpp
Declaration at line 40 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Typedefs

Calls: sngcpp::symbols::Symbol::IsTypedefSymbol , sngcpp::symbols::Symbol::ToDomElement


Variables Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ContainerSymbol::Variables() override

Definition at line 285 of ContainerSymbol.cpp
Declaration at line 41 of ContainerSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::Variables

Calls: sngcpp::symbols::Symbol::IsVariableSymbol , sngcpp::symbols::Symbol::ToDomElement


top | up | prev | next