top | up | prev | next

FunctionGroupSymbol Class

Definition at line 45 of FunctionSymbol.hpp

Constructors

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

Member Functions

void AddFunction(FunctionSymbol* function)
void AppendChildElements(Element* element, TypeMap& typeMap) const override
void Check() override
void CheckDuplicateFunctionSymbols()
const char* ClassName() const override
void CollectViableFunctions(int arity, ViableFunctionSet& viableFunctions, Module* module)
void ComputeMangledName() override
FunctionSymbol* GetFunction()
std::string GetOverloadList() const
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
bool IsValidCCFunctionGroup(FunctionSymbol* fromFunction) const
void RemoveFunction(FunctionSymbol* function)
std::string TypeString() const override

Member Variables

std::unordered_map<int, std::vector<FunctionSymbol*>> arityFunctionListMap
std::vector<FunctionSymbol*> varArgFunctions

Constructor Details

FunctionGroupSymbol Constructor

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

Definition at line 189 of FunctionSymbol.cpp :
 189 : Symbol(SymbolType::functionGroupSymbolspan_sourceModuleId_name_)
 190 {
 191 }


Declaration at line 48 of FunctionSymbol.hpp


Member Function Details

AddFunction Member Function

void cmajor::symbols::FunctionGroupSymbol::AddFunction(FunctionSymbol * function)

Definition at line 208 of FunctionSymbol.cpp
Declaration at line 52 of FunctionSymbol.hpp

Calls: cmajor::symbols::FunctionSymbol::Arity , cmajor::symbols::FunctionSymbol::GroupName , cmajor::symbols::FunctionSymbol::IsProgramMain , cmajor::symbols::FunctionSymbol::IsVarArg , cmajor::symbols::FunctionSymbol::SetFunctionGroup , cmajor::symbols::Symbol::Name

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


AppendChildElements Member Function

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

Definition at line 299 of FunctionSymbol.cpp
Declaration at line 58 of FunctionSymbol.hpp

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

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


Check Member Function

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

Definition at line 315 of FunctionSymbol.cpp
Declaration at line 61 of FunctionSymbol.hpp

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

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


CheckDuplicateFunctionSymbols Member Function

void cmajor::symbols::FunctionGroupSymbol::CheckDuplicateFunctionSymbols()

Definition at line 330 of FunctionSymbol.cpp
Declaration at line 62 of FunctionSymbol.hpp

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


ClassName Member Function

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

Definition at line 60 of FunctionSymbol.hpp :
 60 { return "FunctionGroupSymbol"; }

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


CollectViableFunctions Member Function

void cmajor::symbols::FunctionGroupSymbol::CollectViableFunctions(int arity, ViableFunctionSet & viableFunctions, Module * module)

Definition at line 263 of FunctionSymbol.cpp
Declaration at line 56 of FunctionSymbol.hpp

Calls: cmajor::symbols::FunctionSymbol::Arity , cmajor::symbols::ViableFunctionSet::Insert

Called by: cmajor::symbols::ContainerScope::CollectViableFunctions


ComputeMangledName Member Function

void cmajor::symbols::FunctionGroupSymbol::ComputeMangledName() override

Definition at line 193 of FunctionSymbol.cpp
Declaration at line 51 of FunctionSymbol.hpp

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

Calls: cmajor::symbols::FunctionGroupSymbol::TypeString , cmajor::symbols::OperatorMangleMap::Instance , cmajor::symbols::OperatorMangleMap::Mangle , cmajor::symbols::Symbol::FullNameWithSpecifiers , cmajor::symbols::Symbol::Name , cmajor::symbols::Symbol::SetMangledName


GetFunction Member Function

FunctionSymbol * cmajor::symbols::FunctionGroupSymbol::GetFunction()

Definition at line 250 of FunctionSymbol.cpp
Declaration at line 55 of FunctionSymbol.hpp


GetOverloadList Member Function

std::string cmajor::symbols::FunctionGroupSymbol::GetOverloadList() const

Definition at line 386 of FunctionSymbol.cpp
Declaration at line 67 of FunctionSymbol.hpp

Calls: sngxml::dom::Document::AppendChild , sngxml::dom::Document::Write , sngxml::dom::Element::SetAttribute , sngxml::dom::ParentNode::AppendChild

Called by: cmajor::symbols::Module::GetOverloadList


GetSymbolCategoryDescription Member Function

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

Definition at line 64 of FunctionSymbol.hpp :
 64 { return "function"; }

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

Called by: cmajor::symbols::FunctionGroupSymbol::GetSymbolHelp


GetSymbolCategoryStr Member Function

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

Definition at line 63 of FunctionSymbol.hpp :
 63 { return "FN"; }

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


GetSymbolHelp Member Function

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

Definition at line 349 of FunctionSymbol.cpp
Declaration at line 65 of FunctionSymbol.hpp

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

Calls: cmajor::symbols::FunctionGroupSymbol::GetSymbolCategoryDescription , cmajor::symbols::FunctionSymbol::GetSymbolHelp , cmajor::symbols::Symbol::FullName


HasProjectMembers Member Function

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

Definition at line 283 of FunctionSymbol.cpp
Declaration at line 57 of FunctionSymbol.hpp

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

Calls: cmajor::symbols::FunctionSymbol::IsTemplateSpecialization , cmajor::symbols::Symbol::IsProject


Info Member Function

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

Definition at line 59 of FunctionSymbol.hpp :
 59 { return Name(); }

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

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


IsEmpty Member Function

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

Definition at line 241 of FunctionSymbol.cpp :
 242 {
 243     for (const auto& p : arityFunctionListMap)
 244     {
 245         if (!p.second.empty()) return false;
 246     }
 247     return true;
 248 }


Declaration at line 54 of FunctionSymbol.hpp

Called by: cmajor::symbols::FunctionSymbol::RemoveFromParent


IsExportSymbol Member Function

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

Definition at line 49 of FunctionSymbol.hpp :
 49 { return false; }

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


IsValidCCFunctionGroup Member Function

bool cmajor::symbols::FunctionGroupSymbol::IsValidCCFunctionGroup(FunctionSymbol * fromFunction) const

Definition at line 370 of FunctionSymbol.cpp
Declaration at line 66 of FunctionSymbol.hpp

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


RemoveFunction Member Function

void cmajor::symbols::FunctionGroupSymbol::RemoveFunction(FunctionSymbol * function)

Definition at line 225 of FunctionSymbol.cpp
Declaration at line 53 of FunctionSymbol.hpp

Calls: cmajor::symbols::FunctionSymbol::Arity , cmajor::symbols::FunctionSymbol::IsVarArg

Called by: cmajor::symbols::FunctionSymbol::RemoveFromParent


TypeString Member Function

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

Definition at line 50 of FunctionSymbol.hpp :
 50 { return "function_group"; }

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

Called by: cmajor::symbols::FunctionGroupSymbol::ComputeMangledName


top | up | prev | next