top | up | prev | next

ConceptSymbol Class

Definition at line 39 of ConceptSymbol.hpp

Constructors

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

Member Functions

void Accept(SymbolCollector* collector) override
void AddMember(Symbol* member) override
int Arity() const
void Check() override
const char* ClassName() const override
std::u32string CodeName() const override
void ComputeName()
void Dump(CodeFormatter& formatter) override
void EmplaceConcept(ConceptSymbol* conceptSymbol) override
void EmplaceType(TypeSymbol* typeSymbol, int index) override
ConceptNode* GetConceptNode()
std::string GetSymbolCategoryDescription() const override
std::string GetSymbolCategoryStr() const override
const std::u32string& GroupName() const
bool HasSource() const
std::u32string Info() const override
bool IsParentSymbol() const override
void Read(SymbolReader& reader) override
ConceptSymbol* RefinedConcept() const
std::unique_ptr<Symbol> RemoveFromParent() override
void SetConceptGroup(ConceptGroupSymbol* conceptGroup_)
void SetGroupName(const std::u32string& groupName_)
void SetHasSource()
void SetRefinedConcept(ConceptSymbol* refinedConcept_)
void SetSpecifiers(Specifiers specifiers)
void SetTypeId(const boost::uuids::uuid& typeId_)
std::u32string SimpleName() const override
const std::vector<TemplateParameterSymbol*>& TemplateParameters() const
const boost::uuids::uuid& TypeId() const
std::string TypeString() const override
void Write(SymbolWriter& writer) override

Member Variables

ConceptGroupSymbol* conceptGroup
std::unique_ptr<ConceptNode> conceptNode
std::u32string groupName
bool hasSource
ConceptSymbol* refinedConcept
std::vector<TemplateParameterSymbol*> templateParameters
boost::uuids::uuid typeId

Constructor Details

ConceptSymbol Constructor

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

Definition at line 114 of ConceptSymbol.cpp :
114 :
115 ContainerSymbol(SymbolType::conceptSymbolspan_sourceModuleId_name_)refinedConcept(nullptr)typeId(boost::uuids::nil_uuid())hasSource(false)conceptGroup(nullptr)
116 {
117 }


Declaration at line 42 of ConceptSymbol.hpp


Member Function Details

Accept Member Function

void cmajor::symbols::ConceptSymbol::Accept(SymbolCollector * collector) override

Definition at line 194 of ConceptSymbol.cpp :
195 {
196     if (IsProject() && Access() == SymbolAccess::public_)
197     {
198         collector->AddConcept(this);
199     }
200 }


Declaration at line 48 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::ContainerSymbol::Accept , cmajor::symbols::Symbol::Accept

Calls: cmajor::symbols::Symbol::Access , cmajor::symbols::Symbol::IsProject , cmajor::symbols::SymbolCollector::AddConcept


AddMember Member Function

void cmajor::symbols::ConceptSymbol::AddMember(Symbol * member) override

Definition at line 215 of ConceptSymbol.cpp :
216 {
217     ContainerSymbol::AddMember(member);
218     if (member->GetSymbolType() == SymbolType::templateParameterSymbol)
219     {
220         templateParameters.push_back(static_cast<TemplateParameterSymbol*>(member));
221     }
222 }


Declaration at line 50 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::ContainerSymbol::AddMember

Calls: cmajor::symbols::ContainerSymbol::AddMember , cmajor::symbols::Symbol::GetSymbolType


Arity Member Function

int cmajor::symbols::ConceptSymbol::Arity() const

Definition at line 60 of ConceptSymbol.hpp :
60 { return templateParameters.size(); }

Called by: cmajor::symbols::ConceptGroupSymbol::AddConcept , cmajor::symbols::ConceptGroupSymbol::RemoveConcept


Check Member Function

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

Definition at line 316 of ConceptSymbol.cpp
Declaration at line 69 of ConceptSymbol.hpp

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

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


ClassName Member Function

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

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

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


CodeName Member Function

std::u32string cmajor::symbols::ConceptSymbol::CodeName() const override

Definition at line 59 of ConceptSymbol.hpp :
59 { return groupName; }

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


ComputeName Member Function

void cmajor::symbols::ConceptSymbol::ComputeName()

Definition at line 224 of ConceptSymbol.cpp
Declaration at line 53 of ConceptSymbol.hpp

Calls: cmajor::symbols::Symbol::ComputeMangledName , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::SetName


Dump Member Function

void cmajor::symbols::ConceptSymbol::Dump(CodeFormatter& formatter) override

Definition at line 202 of ConceptSymbol.cpp
Declaration at line 49 of ConceptSymbol.hpp

Calls: cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::FullNameWithSpecifiers , cmajor::symbols::Symbol::MangledName , cmajor::symbols::Symbol::Name

Called by: cmajor::symbols::ClassTypeSymbol::Dump , cmajor::symbols::Module::Dump


EmplaceConcept Member Function

void cmajor::symbols::ConceptSymbol::EmplaceConcept(ConceptSymbol * conceptSymbol) override

Definition at line 169 of ConceptSymbol.cpp :
170 {
171     refinedConcept = conceptSymbol;
172 }


Declaration at line 46 of ConceptSymbol.hpp

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


EmplaceType Member Function

void cmajor::symbols::ConceptSymbol::EmplaceType(TypeSymbol * typeSymbol, int index) override

Definition at line 174 of ConceptSymbol.cpp
Declaration at line 47 of ConceptSymbol.hpp

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

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


GetConceptNode Member Function

ConceptNode* cmajor::symbols::ConceptSymbol::GetConceptNode()

Definition at line 61 of ConceptSymbol.hpp :
61 { return conceptNode.get(); }


GetSymbolCategoryDescription Member Function

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

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

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


GetSymbolCategoryStr Member Function

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

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

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


GroupName Member Function

const std::u32string& cmajor::symbols::ConceptSymbol::GroupName() const

Definition at line 57 of ConceptSymbol.hpp :
57 { return groupName; }

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


HasSource Member Function

bool cmajor::symbols::ConceptSymbol::HasSource() const

Definition at line 67 of ConceptSymbol.hpp :
67 { return hasSource; }


Info Member Function

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

Definition at line 65 of ConceptSymbol.hpp :
65 { return groupName; }

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


IsParentSymbol Member Function

bool cmajor::symbols::ConceptSymbol::IsParentSymbol() const override

Definition at line 43 of ConceptSymbol.hpp :
43 { return true; }

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


Read Member Function

void cmajor::symbols::ConceptSymbol::Read(SymbolReader & reader) override

Definition at line 145 of ConceptSymbol.cpp
Declaration at line 45 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::ContainerSymbol::Read , cmajor::symbols::Symbol::Read

Calls: cmajor::symbols::ContainerSymbol::Read , cmajor::symbols::SymbolReader::GetAstReader , cmajor::symbols::SymbolReader::GetBinaryReader , cmajor::symbols::SymbolReader::GetSymbolTable , cmajor::symbols::SymbolTable::AddTypeOrConceptSymbolToTypeIdMap , cmajor::symbols::SymbolTable::EmplaceConceptRequest , cmajor::symbols::SymbolTable::EmplaceTypeRequest , sngcm::ast::AstReader::ReadConceptNode


RefinedConcept Member Function

ConceptSymbol * cmajor::symbols::ConceptSymbol::RefinedConcept() const

Definition at line 62 of ConceptSymbol.hpp :
62 { return refinedConcept; }


RemoveFromParent Member Function

std::unique_ptr<Symbol > cmajor::symbols::ConceptSymbol::RemoveFromParent() override

Definition at line 336 of ConceptSymbol.cpp
Declaration at line 71 of ConceptSymbol.hpp

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

Calls: cmajor::symbols::ConceptGroupSymbol::IsEmpty , cmajor::symbols::ConceptGroupSymbol::RemoveConcept , cmajor::symbols::Symbol::RemoveFromParent


SetConceptGroup Member Function

void cmajor::symbols::ConceptSymbol::SetConceptGroup(ConceptGroupSymbol * conceptGroup_)

Definition at line 70 of ConceptSymbol.hpp :
70 { conceptGroup = conceptGroup_; }

Called by: cmajor::symbols::ConceptGroupSymbol::AddConcept


SetGroupName Member Function

void cmajor::symbols::ConceptSymbol::SetGroupName(const std::u32string& groupName_)

Definition at line 58 of ConceptSymbol.hpp :
58 { groupName = groupName_; }

Called by: cmajor::symbols::SymbolTable::BeginConcept


SetHasSource Member Function

void cmajor::symbols::ConceptSymbol::SetHasSource()

Definition at line 68 of ConceptSymbol.hpp :
68 { hasSource = true; }

Called by: cmajor::symbols::SymbolTable::BeginConcept


SetRefinedConcept Member Function

void cmajor::symbols::ConceptSymbol::SetRefinedConcept(ConceptSymbol * refinedConcept_)

Definition at line 63 of ConceptSymbol.hpp :
63 { refinedConcept = refinedConcept_; }


SetSpecifiers Member Function

void cmajor::symbols::ConceptSymbol::SetSpecifiers(Specifiers specifiers)

Definition at line 246 of ConceptSymbol.cpp
Declaration at line 54 of ConceptSymbol.hpp

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


SetTypeId Member Function

void cmajor::symbols::ConceptSymbol::SetTypeId(const boost::uuids::uuid& typeId_)

Definition at line 55 of ConceptSymbol.hpp :
55 { typeId = typeId_; }

Called by: cmajor::symbols::SymbolTable::SetTypeIdFor


SimpleName Member Function

std::u32string cmajor::symbols::ConceptSymbol::SimpleName() const override

Definition at line 52 of ConceptSymbol.hpp :
52 { return groupName; }

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


TemplateParameters Member Function

const std::vector<TemplateParameterSymbol *>& cmajor::symbols::ConceptSymbol::TemplateParameters() const

Definition at line 64 of ConceptSymbol.hpp :
64 { return templateParameters; }


TypeId Member Function

const boost::uuids::uuid& cmajor::symbols::ConceptSymbol::TypeId() const

Definition at line 56 of ConceptSymbol.hpp :
56 { return typeId; }

Called by: cmajor::symbols::ConceptSymbol::Write , cmajor::symbols::SymbolTable::AddTypeOrConceptSymbolToTypeIdMap , cmajor::symbols::SymbolTable::Import


TypeString Member Function

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

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

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


Write Member Function

void cmajor::symbols::ConceptSymbol::Write(SymbolWriter & writer) override

Definition at line 119 of ConceptSymbol.cpp
Declaration at line 44 of ConceptSymbol.hpp

Base class overridden functions: cmajor::symbols::ContainerSymbol::Write , cmajor::symbols::Symbol::Write

Calls: cmajor::symbols::ConceptSymbol::TypeId , cmajor::symbols::ConceptSymbol::Write , cmajor::symbols::ContainerSymbol::Write , cmajor::symbols::Module::GetSymbolTable , cmajor::symbols::SymbolTable::GetNode , cmajor::symbols::SymbolWriter::GetAstWriter , cmajor::symbols::SymbolWriter::GetBinaryWriter , cmajor::symbols::TypeSymbol::TypeId , sngcm::ast::AstWriter::Write

Called by: cmajor::symbols::ConceptSymbol::Write


top | up | prev | next