top | up | prev | next

ClassGroupSymbol Class

Definition at line 70 of ClassTypeSymbol.hpp

Constructors

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

Member Functions

void AddClass(std::unique_ptr<ClassTypeSymbol>&& cls)
const std::vector<std::unique_ptr<ClassTypeSymbol>>& Classes() const
std::unique_ptr<sngxml::dom::Element> CreateElement() override
ClassTypeSymbol* GetClass(int arity) const
bool IsClassGroupSymbol() const override
std::u32string KindStr() override

Member Variables

std::unordered_map<int, ClassTypeSymbol*> arityClassMap
std::vector<std::unique_ptr<ClassTypeSymbol>> classes

Constructor Details

ClassGroupSymbol Constructor

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

Definition at line 165 of ClassTypeSymbol.cpp :
165 : Symbol(span_name_)
166 {
167 }


Declaration at line 73 of ClassTypeSymbol.hpp


Member Function Details

AddClass Member Function

void sngcpp::symbols::ClassGroupSymbol::AddClass(std::unique_ptr<ClassTypeSymbol >&& cls)

Definition at line 169 of ClassTypeSymbol.cpp :
170 {
171     cls->SetParent(Parent());
172     arityClassMap[cls->Arity()] = cls.get();
173     classes.push_back(std::move(cls));
174 }


Declaration at line 75 of ClassTypeSymbol.hpp

Calls: sngcpp::symbols::Symbol::Parent , sngcpp::symbols::Symbol::SetParent

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


Classes Member Function

const std::vector<std::unique_ptr<ClassTypeSymbol >>& sngcpp::symbols::ClassGroupSymbol::Classes() const

Definition at line 79 of ClassTypeSymbol.hpp :
79 { return classes; }

Called by: sngcpp::symbols::ContainerSymbol::Classes


CreateElement Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::ClassGroupSymbol::CreateElement() override

Definition at line 189 of ClassTypeSymbol.cpp :
190 {
191     return std::unique_ptr<sngxml::dom::Element>(new sngxml::dom::Element(U"class_group"));
192 }


Declaration at line 78 of ClassTypeSymbol.hpp

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


GetClass Member Function

ClassTypeSymbol * sngcpp::symbols::ClassGroupSymbol::GetClass(int arity) const

Definition at line 176 of ClassTypeSymbol.cpp
Declaration at line 76 of ClassTypeSymbol.hpp

Called by: sngcpp::symbols::SymbolTable::BeginNameSequence


IsClassGroupSymbol Member Function

bool sngcpp::symbols::ClassGroupSymbol::IsClassGroupSymbol() const override

Definition at line 74 of ClassTypeSymbol.hpp :
74 { return true; }

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


KindStr Member Function

std::u32string sngcpp::symbols::ClassGroupSymbol::KindStr() override

Definition at line 77 of ClassTypeSymbol.hpp :
77 { return U"class_group"; }

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


top | up | prev | next