top | up | prev | next

ConceptGroupSymbol Class

Definition at line 16 of ConceptSymbol.hpp

Constructors

ConceptGroupSymbol(const Span& span_, const boost::uuids::uuid& sourceModuleId_, const std::u32string& name_)

Member Functions

void AddConcept(ConceptSymbol* conceptSymbol)
void AppendChildElements(Element* element, TypeMap& typeMap) const override
void Check() override
const char* ClassName() const override
SymbolAccess DeclaredAccess() const override
ConceptSymbol* GetConcept(int arity)
std::string GetSymbolCategoryDescription() const override
std::string GetSymbolCategoryStr() const override
std::string GetSymbolHelp() const override
bool HasProjectMembers() const override
std::u32string Info() const override
bool IsEmpty() const
bool IsExportSymbol() const override
void RemoveConcept(ConceptSymbol* conceptSymbol)
std::string TypeString() const override

Member Variables

std::unordered_map<int, ConceptSymbol*> arityConceptMap

Constructor Details

ConceptGroupSymbol Constructor

cmajor::symbols::ConceptGroupSymbol::ConceptGroupSymbol(const Span& span_, const boost::uuids::uuid& sourceModuleId_, const std::u32string& name_)

Definition at line 22 of ConceptSymbol.cpp :
 22 : Symbol(SymbolType::conceptGroupSymbolspan_sourceModuleId_name_)
 23 {
 24 }


Declaration at line 19 of ConceptSymbol.hpp


Member Function Details

AddConcept Member Function

void cmajor::symbols::ConceptGroupSymbol::AddConcept(ConceptSymbol * conceptSymbol)

Definition at line 26 of ConceptSymbol.cpp
Declaration at line 23 of ConceptSymbol.hpp

Calls: cmajor::symbols::ConceptSymbol::Arity , cmajor::symbols::ConceptSymbol::GroupName , cmajor::symbols::ConceptSymbol::SetConceptGroup , cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::SourceModuleId

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


AppendChildElements Member Function

void cmajor::symbols::ConceptGroupSymbol::AppendChildElements(Element * element, TypeMap & typeMap) const override

Definition at line 76 of ConceptSymbol.cpp
Declaration at line 28 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::Symbol::AppendChildElements

Calls: cmajor::symbols::Symbol::IsProject , cmajor::symbols::Symbol::ToDomElement , sngxml::dom::ParentNode::AppendChild


Check Member Function

void cmajor::symbols::ConceptGroupSymbol::Check() override

Definition at line 89 of ConceptSymbol.cpp :
 90 {
 91     Symbol::Check();
 92     for (const auto& p : arityConceptMap)
 93     {
 94         if (!p.second)
 95         {
 96             throw SymbolCheckException("concept group symbol has no concept symbol"GetSpan()SourceModuleId());
 97         }
 98     }
 99 }


Declaration at line 31 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::Symbol::Check

Calls: cmajor::symbols::Symbol::Check , cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::SourceModuleId


ClassName Member Function

const char * cmajor::symbols::ConceptGroupSymbol::ClassName() const override

Definition at line 30 of ConceptSymbol.hpp :
30 { return "ConceptGroupSymbol"; }

Base class overridden functions: cmajor::symbols::Symbol::ClassName


DeclaredAccess Member Function

SymbolAccess cmajor::symbols::ConceptGroupSymbol::DeclaredAccess() const override

Definition at line 22 of ConceptSymbol.hpp :
22 { return SymbolAccess::public_; }

Base class overridden functions: cmajor::symbols::Symbol::DeclaredAccess


GetConcept Member Function

ConceptSymbol * cmajor::symbols::ConceptGroupSymbol::GetConcept(int arity)

Definition at line 50 of ConceptSymbol.cpp
Declaration at line 26 of ConceptSymbol.hpp

Calls: cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::GetSpan , cmajor::symbols::Symbol::SourceModuleId


GetSymbolCategoryDescription Member Function

std::string cmajor::symbols::ConceptGroupSymbol::GetSymbolCategoryDescription() const override

Definition at line 33 of ConceptSymbol.hpp :
33 { return "concept"; }

Base class overridden functions: cmajor::symbols::Symbol::GetSymbolCategoryDescription

Called by: cmajor::symbols::ConceptGroupSymbol::GetSymbolHelp


GetSymbolCategoryStr Member Function

std::string cmajor::symbols::ConceptGroupSymbol::GetSymbolCategoryStr() const override

Definition at line 32 of ConceptSymbol.hpp :
32 { return "CO"; }

Base class overridden functions: cmajor::symbols::Symbol::GetSymbolCategoryStr


GetSymbolHelp Member Function

std::string cmajor::symbols::ConceptGroupSymbol::GetSymbolHelp() const override

Definition at line 101 of ConceptSymbol.cpp
Declaration at line 34 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::Symbol::GetSymbolHelp

Calls: cmajor::symbols::ConceptGroupSymbol::GetSymbolCategoryDescription , cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::GetSymbolHelp


HasProjectMembers Member Function

bool cmajor::symbols::ConceptGroupSymbol::HasProjectMembers() const override

Definition at line 63 of ConceptSymbol.cpp
Declaration at line 27 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::Symbol::HasProjectMembers

Calls: cmajor::symbols::Symbol::IsProject


Info Member Function

std::u32string cmajor::symbols::ConceptGroupSymbol::Info() const override

Definition at line 29 of ConceptSymbol.hpp :
29 { return Name(); }

Base class overridden functions: cmajor::symbols::Symbol::Info

Calls: cmajor::symbols::Symbol::Name


IsEmpty Member Function

bool cmajor::symbols::ConceptGroupSymbol::IsEmpty() const

Definition at line 45 of ConceptSymbol.cpp :
 46 {
 47     return arityConceptMap.empty();
 48 }


Declaration at line 25 of ConceptSymbol.hpp

Called by: cmajor::symbols::ConceptSymbol::RemoveFromParent


IsExportSymbol Member Function

bool cmajor::symbols::ConceptGroupSymbol::IsExportSymbol() const override

Definition at line 21 of ConceptSymbol.hpp :
21 { return false; }

Base class overridden functions: cmajor::symbols::Symbol::IsExportSymbol


RemoveConcept Member Function

void cmajor::symbols::ConceptGroupSymbol::RemoveConcept(ConceptSymbol * conceptSymbol)

Definition at line 39 of ConceptSymbol.cpp :
 40 {
 41     int arity = conceptSymbol->Arity();
 42     arityConceptMap.erase(arity);
 43 }


Declaration at line 24 of ConceptSymbol.hpp

Calls: cmajor::symbols::ConceptSymbol::Arity

Called by: cmajor::symbols::ConceptSymbol::RemoveFromParent


TypeString Member Function

std::string cmajor::symbols::ConceptGroupSymbol::TypeString() const override

Definition at line 20 of ConceptSymbol.hpp :
20 { return "concept_group"; }

Base class overridden functions: cmajor::symbols::Symbol::TypeString


top | up | prev | next