top | up | prev | next

BoundTemplateParameterSymbol Class

Definition at line 38 of TemplateSymbol.hpp

Constructors

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

Member Functions

void Check() override
const char* ClassName() const override
std::unique_ptr<Element> CreateDomElement(TypeMap& typeMap) override
std::u32string FullName() const override
TypeSymbol* GetType() const
std::u32string Info() const override
void Read(SymbolReader& reader) override
void SetType(TypeSymbol* type_)
void Write(SymbolWriter& writer) override

Member Variables

TypeSymbol* type

Constructor Details

BoundTemplateParameterSymbol Constructor

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

Definition at line 79 of TemplateSymbol.cpp :
 79 :
 80 Symbol(SymbolType::boundTemplateParameterSymbolspan_sourceModuleId_name_)type(nullptr)
 81 {
 82 }


Declaration at line 41 of TemplateSymbol.hpp


Member Function Details

Check Member Function

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

Definition at line 111 of TemplateSymbol.cpp :
112 {
113     Symbol::Check();
114     if (!type)
115     {
116         throw SymbolCheckException("bound template parameter symbol contains null type pointer"GetSpan()SourceModuleId());
117     }
118 }


Declaration at line 50 of TemplateSymbol.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::BoundTemplateParameterSymbol::ClassName() const override

Definition at line 49 of TemplateSymbol.hpp :
49 { return "BoundTemplateParameterSymbol"; }

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


CreateDomElement Member Function

std::unique_ptr<Element > cmajor::symbols::BoundTemplateParameterSymbol::CreateDomElement(TypeMap & typeMap) override

Definition at line 98 of TemplateSymbol.cpp
Declaration at line 47 of TemplateSymbol.hpp

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

Calls: cmajor::symbols::TypeMap::GetOrInsertType


FullName Member Function

std::u32string cmajor::symbols::BoundTemplateParameterSymbol::FullName() const override

Definition at line 42 of TemplateSymbol.hpp :
42 { return Name(); }

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

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


GetType Member Function

TypeSymbol * cmajor::symbols::BoundTemplateParameterSymbol::GetType() const

Definition at line 45 of TemplateSymbol.hpp :
45 { return type; }


Info Member Function

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

Definition at line 48 of TemplateSymbol.hpp :
48 { return Name(); }

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

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


Read Member Function

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

Definition at line 90 of TemplateSymbol.cpp :
 91 {
 92     Symbol::Read(reader);
 93     boost::uuids::uuid typeId;
 94     reader.GetBinaryReader().ReadUuid(typeId);
 95     reader.GetSymbolTable()->EmplaceTypeRequest(readerthistypeId0);
 96 }


Declaration at line 44 of TemplateSymbol.hpp

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

Calls: cmajor::symbols::Symbol::Read , cmajor::symbols::SymbolReader::GetBinaryReader , cmajor::symbols::SymbolReader::GetSymbolTable , cmajor::symbols::SymbolTable::EmplaceTypeRequest


SetType Member Function

void cmajor::symbols::BoundTemplateParameterSymbol::SetType(TypeSymbol * type_)

Definition at line 46 of TemplateSymbol.hpp :
46 { type = type_; }


Write Member Function

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

Definition at line 84 of TemplateSymbol.cpp :
 85 {
 86     Symbol::Write(writer);
 87     writer.GetBinaryWriter().Write(type->TypeId());
 88 }


Declaration at line 43 of TemplateSymbol.hpp

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

Calls: cmajor::symbols::BoundTemplateParameterSymbol::Write , cmajor::symbols::Symbol::Write , cmajor::symbols::SymbolWriter::GetBinaryWriter , cmajor::symbols::TypeSymbol::TypeId

Called by: cmajor::symbols::BoundTemplateParameterSymbol::Write


top | up | prev | next