top | up | prev | next

FunctionTemplateRepository Class

Definition at line 42 of FunctionTemplateRepository.hpp

Constructors

FunctionTemplateRepository(BoundCompileUnit& boundCompileUnit_)

Member Functions

FunctionSymbol* Instantiate(FunctionSymbol* functionTemplate, const std::unordered_map<TemplateParameterSymbol*, TypeSymbol*>& templateParameterMapping, const Span& span, const boost::uuids::uuid& moduleId)

Member Variables

BoundCompileUnit& boundCompileUnit
std::unordered_map<FunctionTemplateKey, FunctionSymbol*, FunctionTemplateKeyHash> functionTemplateMap

Constructor Details

FunctionTemplateRepository Constructor

cmajor::binder::FunctionTemplateRepository::FunctionTemplateRepository(BoundCompileUnit & boundCompileUnit_)

Definition at line 39 of FunctionTemplateRepository.cpp :
 39 : boundCompileUnit(boundCompileUnit_)
 40 {
 41 }


Declaration at line 45 of FunctionTemplateRepository.hpp


Member Function Details

Instantiate Member Function

FunctionSymbol * cmajor::binder::FunctionTemplateRepository::Instantiate(FunctionSymbol * functionTemplate, const std::unordered_map<TemplateParameterSymbol *, TypeSymbol *>& templateParameterMapping, const Span& span, const boost::uuids::uuid& moduleId)

Definition at line 43 of FunctionTemplateRepository.cpp
Declaration at line 46 of FunctionTemplateRepository.hpp

Calls: cmajor::binder::BoundCompileUnit::AddFileScope , cmajor::binder::BoundCompileUnit::AddGlobalNs , cmajor::binder::BoundCompileUnit::GetCompileUnitNode , cmajor::binder::BoundCompileUnit::GetSymbolTable , cmajor::binder::BoundCompileUnit::RemoveLastFileScope , cmajor::binder::BoundCompileUnit::SetCanReuse , cmajor::symbols::BoundTemplateParameterSymbol::SetType , cmajor::symbols::ContainerSymbol::GetContainerScope , cmajor::symbols::FileScope::AddContainerScope , cmajor::symbols::FunctionSymbol::AddMember , cmajor::symbols::FunctionSymbol::GetFunctionNode , cmajor::symbols::FunctionSymbol::IsSystemDefault , cmajor::symbols::FunctionSymbol::SetFlag , cmajor::symbols::FunctionSymbol::SetFunctionTemplate , cmajor::symbols::FunctionSymbol::SetLinkOnceOdrLinkage , cmajor::symbols::FunctionSymbol::SetSystemDefault , cmajor::symbols::FunctionSymbol::SetTemplateArgumentTypes , cmajor::symbols::FunctionSymbol::SetTemplateSpecialization , cmajor::symbols::FunctionSymbol::TemplateParameters , cmajor::symbols::FunctionSymbol::UsingNodes , cmajor::symbols::NamespaceSymbol::IsGlobalNamespace , cmajor::symbols::Symbol::FullName , cmajor::symbols::Symbol::GetSymbolType , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::Ns , cmajor::symbols::SymbolCreatorVisitor::InsertTracer , cmajor::symbols::SymbolTable::GetNodeNoThrow , cmajor::symbols::SymbolTable::GetSymbol , cmajor::symbols::SymbolTable::MapNode , cmajor::symbols::SymbolTable::SetCurrentCompileUnit

Called by: cmajor::binder::BoundCompileUnit::InstantiateFunctionTemplate


top | up | prev | next