top | up | prev | next

FunctionGroupSymbol Class

Definition at line 175 of FunctionSymbol.hpp

Constructors

FunctionGroupSymbol(const Span& span_, const std::u32string& name_)

Member Functions

void AddFunction(std::unique_ptr<FunctionSymbol>&& function)
void AddFunctionDeclaration(std::unique_ptr<FunctionDeclarationSymbol>&& functionDeclaration)
std::unique_ptr<sngxml::dom::Element> CreateElement() override
const std::vector<std::unique_ptr<FunctionDeclarationSymbol>>& FunctionDeclarations() const
const std::vector<std::unique_ptr<FunctionSymbol>>& Functions() const
FunctionDeclarationSymbol* GetFunctionDeclaration(const std::vector<ParameterSymbol*>& parameters, Specifier specifiers)
bool IsFunctionGroupSymbol() const override
std::u32string KindStr() override
CallableSymbol* ResolveOverload(const std::vector<Symbol*>& argumentSymbols, bool subjectIsConst)

Member Variables

std::vector<std::unique_ptr<FunctionDeclarationSymbol>> functionDeclarations
std::vector<std::unique_ptr<FunctionSymbol>> functions

Constructor Details

FunctionGroupSymbol Constructor

sngcpp::symbols::FunctionGroupSymbol::FunctionGroupSymbol(const Span& span_, const std::u32string& name_)

Definition at line 337 of FunctionSymbol.cpp :
337 : Symbol(span_name_)
338 {
339 }


Declaration at line 178 of FunctionSymbol.hpp


Member Function Details

AddFunction Member Function

void sngcpp::symbols::FunctionGroupSymbol::AddFunction(std::unique_ptr<FunctionSymbol >&& function)

Definition at line 341 of FunctionSymbol.cpp :
342 {
343     function->SetIndex(functions.size());
344     function->SetParent(Parent());
345     function->SetFunctionGroup(this);
346     functions.push_back(std::move(function));
347 }


Declaration at line 180 of FunctionSymbol.hpp

Calls: sngcpp::symbols::Symbol::Parent , sngcpp::symbols::Symbol::SetParent

Called by: sngcpp::symbols::ContainerSymbol::AddMember


AddFunctionDeclaration Member Function

void sngcpp::symbols::FunctionGroupSymbol::AddFunctionDeclaration(std::unique_ptr<FunctionDeclarationSymbol >&& functionDeclaration)

Definition at line 349 of FunctionSymbol.cpp :
350 {
351     functionDeclaration->SetParent(Parent());
352     functionDeclaration->SetFunctionGroup(this);
353     functionDeclarations.push_back(std::move(functionDeclaration));
354 }


Declaration at line 181 of FunctionSymbol.hpp

Calls: sngcpp::symbols::Symbol::Parent , sngcpp::symbols::Symbol::SetParent

Called by: sngcpp::symbols::ContainerSymbol::AddMember


CreateElement Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::FunctionGroupSymbol::CreateElement() override

Definition at line 397 of FunctionSymbol.cpp :
398 {
399     return std::unique_ptr<sngxml::dom::Element>(new sngxml::dom::Element(U"function_group"));
400 }


Declaration at line 185 of FunctionSymbol.hpp

Base class overridden functions: sngcpp::symbols::Symbol::CreateElement


FunctionDeclarations Member Function

const std::vector<std::unique_ptr<FunctionDeclarationSymbol >>& sngcpp::symbols::FunctionGroupSymbol::FunctionDeclarations() const

Definition at line 187 of FunctionSymbol.hpp :
187 { return functionDeclarations; }


Functions Member Function

const std::vector<std::unique_ptr<FunctionSymbol >>& sngcpp::symbols::FunctionGroupSymbol::Functions() const

Definition at line 186 of FunctionSymbol.hpp :
186 { return functions; }

Called by: sngcpp::symbols::ContainerSymbol::Constructors , sngcpp::symbols::ContainerSymbol::Functions


GetFunctionDeclaration Member Function

FunctionDeclarationSymbol * sngcpp::symbols::FunctionGroupSymbol::GetFunctionDeclaration(const std::vector<ParameterSymbol *>& parameters, Specifier specifiers)

Definition at line 356 of FunctionSymbol.cpp
Declaration at line 182 of FunctionSymbol.hpp

Calls: sngcpp::symbols::ParameterSymbol::GetType , sngcpp::symbols::Symbol::Id


IsFunctionGroupSymbol Member Function

bool sngcpp::symbols::FunctionGroupSymbol::IsFunctionGroupSymbol() const override

Definition at line 179 of FunctionSymbol.hpp :
179 { return true; }

Base class overridden functions: sngcpp::symbols::Symbol::IsFunctionGroupSymbol


KindStr Member Function

std::u32string sngcpp::symbols::FunctionGroupSymbol::KindStr() override

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

Base class overridden functions: sngcpp::symbols::Symbol::KindStr


ResolveOverload Member Function

CallableSymbol * sngcpp::symbols::FunctionGroupSymbol::ResolveOverload(const std::vector<Symbol *>& argumentSymbols, bool subjectIsConst)

Definition at line 473 of FunctionSymbol.cpp
Declaration at line 183 of FunctionSymbol.hpp

Calls: sngcpp::symbols::CallableSymbol::Parameters , sngcpp::symbols::ParameterSymbol::GetType , sngcpp::symbols::Symbol::GetType , sngcpp::symbols::TypeSymbol::MatchValue


top | up | prev | next