top | up | prev | next

Symbol Abstract Class

Definition at line 31 of Symbol.hpp

Constructors

Symbol(Symbol&&) delete
Symbol(const Span& span_, const std::u32string& name_)
Symbol(const Symbol&) delete

Member Functions

SymbolAccess Access() const
ClassTypeSymbol* Class()
std::unique_ptr<sngxml::dom::Element> Classes() virtual
std::unique_ptr<sngxml::dom::Element> Constructors() virtual
std::unique_ptr<sngxml::dom::Element> CreateElement() pure virtual
std::unique_ptr<sngxml::dom::Element> EnumTypes() virtual
std::unique_ptr<sngxml::dom::Element> Enumerators() virtual
std::u32string FullName()
std::unique_ptr<sngxml::dom::Element> Functions() virtual
ContainerScope* GetContainerScope() virtual
const Span& GetSpan() const
TypeSymbol* GetType() virtual
std::unique_ptr<sngxml::dom::Element> Grammars() virtual
std::u32string Id() virtual
std::u32string IdStr() virtual
bool IsCallableSymbol() const virtual
bool IsClassGroupSymbol() const virtual
bool IsClassGroupTypeSymbol() const virtual
bool IsClassTemplateSpecializationSymbol() const virtual
bool IsClassTypeSymbol() const virtual
bool IsConstructorDeclarationSymbol() const virtual
bool IsConstructorSymbol() const virtual
bool IsContainerSymbol() const virtual
bool IsDeclarationBlockSymbol() const virtual
bool IsDestructorSymbol() const virtual
bool IsEnumTypeSymbol() const virtual
bool IsEnumeratorSymbol() const virtual
bool IsFunctionDeclarationSymbol() const virtual
bool IsFunctionGroupSymbol() const virtual
bool IsFunctionSymbol() const virtual
bool IsGrammarSymbol() const virtual
bool IsInstallSymbol() const virtual
bool IsNamespaceSymbol() const virtual
bool IsParameterSymbol() const virtual
bool IsParentSymbol() const virtual
bool IsRuleSymbol() const virtual
bool IsTypeSymbol() const virtual
bool IsTypedefSymbol() const virtual
bool IsVariableSymbol() const virtual
std::u32string KindStr() pure virtual
const std::u32string& Name() const
bool NameBefore(Symbol* that) virtual
std::unique_ptr<sngxml::dom::Element> Namespaces() virtual
ContainerSymbol* Parent()
const std::u32string& ProjectName() const
void SetAccess(Specifier accessSpecifier)
void SetName(const std::u32string& name_)
void SetParent(ContainerSymbol* parent_)
void SetProjectName(const std::u32string& projectName_)
const std::u32string& SimpleName() const virtual
std::unique_ptr<sngxml::dom::Element> ToDomElement()
std::unique_ptr<sngxml::dom::Element> Typedefs() virtual
std::unique_ptr<sngxml::dom::Element> Variables() virtual
Symbol& operator=(Symbol&&) delete
Symbol& operator=(const Symbol&) delete

Member Variables

SymbolAccess access
std::u32string name
ContainerSymbol* parent
std::u32string projectName
Span span

Constructor Details

Symbol Constructor

sngcpp::symbols::Symbol::Symbol(Symbol &&) delete

Definition at line 36 of Symbol.hpp


Symbol Constructor

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

Definition at line 28 of Symbol.cpp :
 28 : span(span_)name(name_)parent(nullptr)access(SymbolAccess::private_)
 29 {
 30 }


Declaration at line 34 of Symbol.hpp


Symbol Constructor

sngcpp::symbols::Symbol::Symbol(const Symbol &) delete

Definition at line 35 of Symbol.hpp


Member Function Details

Access Member Function

SymbolAccess sngcpp::symbols::Symbol::Access() const

Definition at line 48 of Symbol.hpp :
 48 { return access; }


Class Member Function

ClassTypeSymbol * sngcpp::symbols::Symbol::Class()

Definition at line 190 of Symbol.cpp
Declaration at line 67 of Symbol.hpp

Calls: sngcpp::symbols::Symbol::Class , sngcpp::symbols::Symbol::IsClassTypeSymbol

Called by: sngcpp::symbols::Symbol::Class


Classes Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Classes() virtual

Definition at line 150 of Symbol.cpp :
151 {
152     return std::unique_ptr<sngxml::dom::Element>();
153 }


Declaration at line 57 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Classes

Called by: sngcpp::symbols::Symbol::ToDomElement


Constructors Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Constructors() virtual

Definition at line 155 of Symbol.cpp :
156 {
157     return std::unique_ptr<sngxml::dom::Element>();
158 }


Declaration at line 58 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Constructors

Called by: sngcpp::symbols::Symbol::ToDomElement


CreateElement Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::CreateElement() pure virtual

Definition at line 54 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ClassGroupSymbol::CreateElement , sngcpp::symbols::ClassTemplateSpecializationSymbol::CreateElement , sngcpp::symbols::ClassTypeSymbol::CreateElement , sngcpp::symbols::ConstructorDeclarationSymbol::CreateElement , sngcpp::symbols::ConstructorSymbol::CreateElement , sngcpp::symbols::DeclarationBlockSymbol::CreateElement , sngcpp::symbols::DerivedTypeSymbol::CreateElement , sngcpp::symbols::DestructorSymbol::CreateElement , sngcpp::symbols::ElaborateClassTypeSymbol::CreateElement , sngcpp::symbols::EnumTypeSymbol::CreateElement , sngcpp::symbols::EnumeratorSymbol::CreateElement , sngcpp::symbols::ExternalTypeSymbol::CreateElement , sngcpp::symbols::FunctionDeclarationSymbol::CreateElement , sngcpp::symbols::FunctionGroupSymbol::CreateElement , sngcpp::symbols::FunctionSymbol::CreateElement , sngcpp::symbols::GrammarSymbol::CreateElement , sngcpp::symbols::IntegerLiteralTypeSymbol::CreateElement , sngcpp::symbols::LambdaExpressionSymbol::CreateElement , sngcpp::symbols::NamespaceSymbol::CreateElement , sngcpp::symbols::ParameterSymbol::CreateElement , sngcpp::symbols::RuleSymbol::CreateElement , sngcpp::symbols::SimpleTypeSymbol::CreateElement , sngcpp::symbols::TemplateParameterSymbol::CreateElement , sngcpp::symbols::TypeSymbol::CreateElement , sngcpp::symbols::TypedefSymbol::CreateElement , sngcpp::symbols::VariableSymbol::CreateElement

Called by: sngcpp::symbols::Symbol::ToDomElement


EnumTypes Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::EnumTypes() virtual

Definition at line 165 of Symbol.cpp :
166 {
167     return std::unique_ptr<sngxml::dom::Element>();
168 }


Declaration at line 60 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::EnumTypes

Called by: sngcpp::symbols::Symbol::ToDomElement


Enumerators Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Enumerators() virtual

Definition at line 170 of Symbol.cpp :
171 {
172     return std::unique_ptr<sngxml::dom::Element>();
173 }


Declaration at line 61 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Enumerators

Called by: sngcpp::symbols::Symbol::ToDomElement


FullName Member Function

std::u32string sngcpp::symbols::Symbol::FullName()

Definition at line 36 of Symbol.cpp
Declaration at line 47 of Symbol.hpp

Calls: sngcpp::symbols::Symbol::FullName , sngcpp::symbols::Symbol::Name , sngcpp::symbols::Symbol::Parent

Called by: sngcpp::symbols::ClassTypeSymbol::IdStr , sngcpp::symbols::FunctionDeclarationSymbol::IdStr , sngcpp::symbols::FunctionSymbol::IdStr , sngcpp::symbols::Symbol::FullName , sngcpp::symbols::Symbol::IdStr


Functions Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Functions() virtual

Definition at line 160 of Symbol.cpp :
161 {
162     return std::unique_ptr<sngxml::dom::Element>();
163 }


Declaration at line 59 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Functions

Called by: sngcpp::symbols::Symbol::ToDomElement


GetContainerScope Member Function

ContainerScope * sngcpp::symbols::Symbol::GetContainerScope() virtual

Definition at line 50 of Symbol.hpp :
 50 { return nullptr; }

Derived class overrides: sngcpp::symbols::ContainerSymbol::GetContainerScope

Called by: sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::FileScope::Install


GetSpan Member Function

const Span& sngcpp::symbols::Symbol::GetSpan() const

Definition at line 40 of Symbol.hpp :
 40 { return span; }

Called by: sngcpp::symbols::ClassTypeSymbol::CreateElement , sngcpp::symbols::ConstructorSymbol::CreateElement , sngcpp::symbols::ContainerSymbol::AddMember , sngcpp::symbols::DestructorSymbol::CreateElement , sngcpp::symbols::EnumTypeSymbol::CreateElement , sngcpp::symbols::FunctionSymbol::CreateElement , sngcpp::symbols::SymbolTable::MakeDerivedTypeSymbol , sngcpp::symbols::SymbolTable::MakeElaborateClassTypeSymbol


GetType Member Function

TypeSymbol * sngcpp::symbols::Symbol::GetType() virtual

Definition at line 45 of Symbol.hpp :
 45 { return nullptr; }

Derived class overrides: sngcpp::symbols::ConstructorDeclarationSymbol::GetType , sngcpp::symbols::ConstructorSymbol::GetType , sngcpp::symbols::EnumeratorSymbol::GetType , sngcpp::symbols::FunctionDeclarationSymbol::GetType , sngcpp::symbols::FunctionSymbol::GetType , sngcpp::symbols::ParameterSymbol::GetType , sngcpp::symbols::TypeSymbol::GetType , sngcpp::symbols::TypedefSymbol::GetType , sngcpp::symbols::VariableSymbol::GetType

Called by: sngcpp::symbols::ConstructorDeclarationSymbol::GetType , sngcpp::symbols::ConstructorDeclarationSymbol::ReturnType , sngcpp::symbols::ConstructorSymbol::GetType , sngcpp::symbols::ConstructorSymbol::ReturnType , sngcpp::symbols::EnumeratorSymbol::GetType , sngcpp::symbols::FunctionGroupSymbol::ResolveOverload


Grammars Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Grammars() virtual

Definition at line 185 of Symbol.cpp :
186 {
187     return std::unique_ptr<sngxml::dom::Element>();
188 }


Declaration at line 64 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Grammars

Called by: sngcpp::symbols::Symbol::ToDomElement


Id Member Function

std::u32string sngcpp::symbols::Symbol::Id() virtual

Definition at line 75 of Symbol.cpp :
 76 {
 77     std::u32string id = KindStr();
 78     id.append(1'_').append(SimpleName()).append(1'_').append(ToUtf32(GetSha1MessageDigest(ToUtf8(IdStr()))));
 79     return id;
 80 }


Declaration at line 53 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ClassGroupTypeSymbol::Id , sngcpp::symbols::ClassTemplateSpecializationSymbol::Id , sngcpp::symbols::DerivedTypeSymbol::Id , sngcpp::symbols::ElaborateClassTypeSymbol::Id , sngcpp::symbols::ExternalTypeSymbol::Id , sngcpp::symbols::IntegerLiteralTypeSymbol::Id , sngcpp::symbols::SimpleTypeSymbol::Id

Calls: sngcpp::symbols::Symbol::IdStr , sngcpp::symbols::Symbol::KindStr , sngcpp::symbols::Symbol::SimpleName

Called by: sngcpp::symbols::ClassGroupTypeSymbol::Id , sngcpp::symbols::ClassTemplateSpecializationSymbol::CreateElement , sngcpp::symbols::ClassTypeSymbol::CreateElement , sngcpp::symbols::DerivedTypeSymbol::CreateElement , sngcpp::symbols::EnumTypeSymbol::CreateElement , sngcpp::symbols::FunctionDeclarationSymbol::IdStr , sngcpp::symbols::FunctionGroupSymbol::GetFunctionDeclaration , sngcpp::symbols::FunctionSymbol::CreateElement , sngcpp::symbols::FunctionSymbol::FunctionId , sngcpp::symbols::FunctionSymbol::IdStr , sngcpp::symbols::ParameterSymbol::CreateElement , sngcpp::symbols::Symbol::ToDomElement , sngcpp::symbols::SymbolTable::MakeClassGroupTypeSymbol , sngcpp::symbols::TypedefSymbol::CreateElement , sngcpp::symbols::VariableSymbol::CreateElement


IdStr Member Function

std::u32string sngcpp::symbols::Symbol::IdStr() virtual

Definition at line 70 of Symbol.cpp :
 71 {
 72     return FullName();
 73 }


Declaration at line 52 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ClassTypeSymbol::IdStr , sngcpp::symbols::FunctionDeclarationSymbol::IdStr , sngcpp::symbols::FunctionSymbol::IdStr , sngcpp::symbols::ParameterSymbol::IdStr

Calls: sngcpp::symbols::Symbol::FullName

Called by: sngcpp::symbols::ParameterSymbol::IdStr , sngcpp::symbols::Symbol::Id , sngcpp::symbols::SymbolTable::MakeElaborateClassTypeSymbol


IsCallableSymbol Member Function

bool sngcpp::symbols::Symbol::IsCallableSymbol() const virtual

Definition at line 76 of Symbol.hpp :
 76 { return false; }

Derived class overrides: sngcpp::symbols::CallableSymbol::IsCallableSymbol


IsClassGroupSymbol Member Function

bool sngcpp::symbols::Symbol::IsClassGroupSymbol() const virtual

Definition at line 81 of Symbol.hpp :
 81 { return false; }

Derived class overrides: sngcpp::symbols::ClassGroupSymbol::IsClassGroupSymbol

Called by: sngcpp::symbols::ContainerSymbol::Classes , sngcpp::symbols::ContainerSymbol::MakeClassGroupSymbol , sngcpp::symbols::SymbolTable::BeginNameSequence


IsClassGroupTypeSymbol Member Function

bool sngcpp::symbols::Symbol::IsClassGroupTypeSymbol() const virtual

Definition at line 82 of Symbol.hpp :
 82 { return  false; }

Derived class overrides: sngcpp::symbols::ClassGroupTypeSymbol::IsClassGroupTypeSymbol


IsClassTemplateSpecializationSymbol Member Function

bool sngcpp::symbols::Symbol::IsClassTemplateSpecializationSymbol() const virtual

Definition at line 73 of Symbol.hpp :
 73 { return false; }

Derived class overrides: sngcpp::symbols::ClassTemplateSpecializationSymbol::IsClassTemplateSpecializationSymbol


IsClassTypeSymbol Member Function

bool sngcpp::symbols::Symbol::IsClassTypeSymbol() const virtual

Definition at line 72 of Symbol.hpp :
 72 { return false; }

Derived class overrides: sngcpp::symbols::ClassTypeSymbol::IsClassTypeSymbol

Called by: sngcpp::symbols::ContainerSymbol::AddMember , sngcpp::symbols::Symbol::Class , sngcpp::symbols::SymbolTable::BeginFunction , sngcpp::symbols::SymbolTable::BeginFunctionDeclaration


IsConstructorDeclarationSymbol Member Function

bool sngcpp::symbols::Symbol::IsConstructorDeclarationSymbol() const virtual

Definition at line 79 of Symbol.hpp :
 79 { return false; }

Derived class overrides: sngcpp::symbols::ConstructorDeclarationSymbol::IsConstructorDeclarationSymbol


IsConstructorSymbol Member Function

bool sngcpp::symbols::Symbol::IsConstructorSymbol() const virtual

Definition at line 74 of Symbol.hpp :
 74 { return false; }

Derived class overrides: sngcpp::symbols::ConstructorSymbol::IsConstructorSymbol

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


IsContainerSymbol Member Function

bool sngcpp::symbols::Symbol::IsContainerSymbol() const virtual

Definition at line 70 of Symbol.hpp :
 70 { return false; }

Derived class overrides: sngcpp::symbols::ContainerSymbol::IsContainerSymbol

Called by: sngcpp::symbols::SymbolTable::BeginNameSequence


IsDeclarationBlockSymbol Member Function

bool sngcpp::symbols::Symbol::IsDeclarationBlockSymbol() const virtual

Definition at line 88 of Symbol.hpp :
 88 { return false; }

Derived class overrides: sngcpp::symbols::DeclarationBlockSymbol::IsDeclarationBlockSymbol


IsDestructorSymbol Member Function

bool sngcpp::symbols::Symbol::IsDestructorSymbol() const virtual

Definition at line 75 of Symbol.hpp :
 75 { return false; }

Derived class overrides: sngcpp::symbols::DestructorSymbol::IsDestructorSymbol


IsEnumTypeSymbol Member Function

bool sngcpp::symbols::Symbol::IsEnumTypeSymbol() const virtual

Definition at line 83 of Symbol.hpp :
 83 { return false; }

Derived class overrides: sngcpp::symbols::EnumTypeSymbol::IsEnumTypeSymbol

Called by: sngcpp::symbols::ContainerSymbol::EnumTypes


IsEnumeratorSymbol Member Function

bool sngcpp::symbols::Symbol::IsEnumeratorSymbol() const virtual

Definition at line 84 of Symbol.hpp :
 84 { return false; }

Derived class overrides: sngcpp::symbols::EnumeratorSymbol::IsEnumeratorSymbol

Called by: sngcpp::symbols::ContainerSymbol::Enumerators


IsFunctionDeclarationSymbol Member Function

bool sngcpp::symbols::Symbol::IsFunctionDeclarationSymbol() const virtual

Definition at line 78 of Symbol.hpp :
 78 { return false; }

Derived class overrides: sngcpp::symbols::FunctionDeclarationSymbol::IsFunctionDeclarationSymbol

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


IsFunctionGroupSymbol Member Function

bool sngcpp::symbols::Symbol::IsFunctionGroupSymbol() const virtual

Definition at line 80 of Symbol.hpp :
 80 { return false; }

Derived class overrides: sngcpp::symbols::FunctionGroupSymbol::IsFunctionGroupSymbol

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


IsFunctionSymbol Member Function

bool sngcpp::symbols::Symbol::IsFunctionSymbol() const virtual

Definition at line 77 of Symbol.hpp :
 77 { return false; }

Derived class overrides: sngcpp::symbols::FunctionSymbol::IsFunctionSymbol

Called by: sngcpp::symbols::ContainerSymbol::AddMember , sngcpp::symbols::ContainerSymbol::Functions , sngcpp::symbols::FunctionSymbol::NameBefore , sngcpp::symbols::ParameterSymbol::IdStr


IsGrammarSymbol Member Function

bool sngcpp::symbols::Symbol::IsGrammarSymbol() const virtual

Definition at line 89 of Symbol.hpp :
 89 { return false; }

Derived class overrides: sngcpp::symbols::GrammarSymbol::IsGrammarSymbol

Called by: sngcpp::symbols::ContainerSymbol::Grammars


IsInstallSymbol Member Function

bool sngcpp::symbols::Symbol::IsInstallSymbol() const virtual

Definition at line 68 of Symbol.hpp :
 68 { return true; }

Derived class overrides: sngcpp::symbols::ClassTypeSymbol::IsInstallSymbol , sngcpp::symbols::FunctionDeclarationSymbol::IsInstallSymbol , sngcpp::symbols::FunctionSymbol::IsInstallSymbol

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


IsNamespaceSymbol Member Function

bool sngcpp::symbols::Symbol::IsNamespaceSymbol() const virtual

Definition at line 69 of Symbol.hpp :
 69 { return false; }

Derived class overrides: sngcpp::symbols::NamespaceSymbol::IsNamespaceSymbol

Called by: sngcpp::symbols::ContainerSymbol::Namespaces , sngcpp::symbols::FileScope::Install , sngcpp::symbols::Symbol::ToDomElement , sngcpp::symbols::SymbolTable::AddTypedef , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginNamespace , sngcpp::symbols::SymbolTable::EndClass , sngcpp::symbols::SymbolTable::EndEnumType , sngcpp::symbols::SymbolTable::EndFunction , sngcpp::symbols::SymbolTable::EndGrammar


IsParameterSymbol Member Function

bool sngcpp::symbols::Symbol::IsParameterSymbol() const virtual

Definition at line 86 of Symbol.hpp :
 86 { return false; }

Derived class overrides: sngcpp::symbols::ParameterSymbol::IsParameterSymbol

Called by: sngcpp::symbols::FunctionDeclarationSymbol::AddMember , sngcpp::symbols::FunctionSymbol::AddMember


IsParentSymbol Member Function

bool sngcpp::symbols::Symbol::IsParentSymbol() const virtual

Definition at line 46 of Symbol.hpp :
 46 { return false; }

Derived class overrides: sngcpp::symbols::ClassTypeSymbol::IsParentSymbol , sngcpp::symbols::EnumTypeSymbol::IsParentSymbol , sngcpp::symbols::NamespaceSymbol::IsParentSymbol


IsRuleSymbol Member Function

bool sngcpp::symbols::Symbol::IsRuleSymbol() const virtual

Definition at line 90 of Symbol.hpp :
 90 { return false; }

Derived class overrides: sngcpp::symbols::RuleSymbol::IsRuleSymbol

Called by: sngcpp::symbols::GrammarSymbol::AddMember


IsTypeSymbol Member Function

bool sngcpp::symbols::Symbol::IsTypeSymbol() const virtual

Definition at line 71 of Symbol.hpp :
 71 { return false; }

Derived class overrides: sngcpp::symbols::TypeSymbol::IsTypeSymbol


IsTypedefSymbol Member Function

bool sngcpp::symbols::Symbol::IsTypedefSymbol() const virtual

Definition at line 85 of Symbol.hpp :
 85 { return false; }

Derived class overrides: sngcpp::symbols::TypedefSymbol::IsTypedefSymbol

Called by: sngcpp::symbols::ContainerSymbol::Typedefs


IsVariableSymbol Member Function

bool sngcpp::symbols::Symbol::IsVariableSymbol() const virtual

Definition at line 87 of Symbol.hpp :
 87 { return false; }

Derived class overrides: sngcpp::symbols::VariableSymbol::IsVariableSymbol

Called by: sngcpp::symbols::ContainerSymbol::Variables


KindStr Member Function

std::u32string sngcpp::symbols::Symbol::KindStr() pure virtual

Definition at line 51 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ClassGroupSymbol::KindStr , sngcpp::symbols::ClassTypeSymbol::KindStr , sngcpp::symbols::ConstructorDeclarationSymbol::KindStr , sngcpp::symbols::ConstructorSymbol::KindStr , sngcpp::symbols::DeclarationBlockSymbol::KindStr , sngcpp::symbols::DestructorSymbol::KindStr , sngcpp::symbols::EnumTypeSymbol::KindStr , sngcpp::symbols::EnumeratorSymbol::KindStr , sngcpp::symbols::FunctionDeclarationSymbol::KindStr , sngcpp::symbols::FunctionGroupSymbol::KindStr , sngcpp::symbols::FunctionSymbol::KindStr , sngcpp::symbols::GrammarSymbol::KindStr , sngcpp::symbols::LambdaExpressionSymbol::KindStr , sngcpp::symbols::NamespaceSymbol::KindStr , sngcpp::symbols::ParameterSymbol::KindStr , sngcpp::symbols::RuleSymbol::KindStr , sngcpp::symbols::TemplateParameterSymbol::KindStr , sngcpp::symbols::TypeSymbol::KindStr , sngcpp::symbols::TypedefSymbol::KindStr , sngcpp::symbols::VariableSymbol::KindStr

Called by: sngcpp::symbols::Symbol::Id


Name Member Function

const std::u32string& sngcpp::symbols::Symbol::Name() const

Definition at line 41 of Symbol.hpp :
 41 { return name; }

Called by: sngcpp::symbols::ClassTypeSymbol::IdStr , sngcpp::symbols::ConstructorDeclarationSymbol::SimpleName , sngcpp::symbols::ConstructorSymbol::SimpleName , sngcpp::symbols::ContainerScope::Install , sngcpp::symbols::ContainerSymbol::AddMember , sngcpp::symbols::DestructorSymbol::SimpleName , sngcpp::symbols::FileScope::Install , sngcpp::symbols::FunctionDeclarationSymbol::IdStr , sngcpp::symbols::FunctionSymbol::IdStr , sngcpp::symbols::Symbol::FullName , sngcpp::symbols::Symbol::NameBefore , sngcpp::symbols::Symbol::ToDomElement , sngcpp::symbols::SymbolCreator::Visit , sngcpp::symbols::SymbolTable::AddTypedef , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginFunction , sngcpp::symbols::SymbolTable::BeginFunctionDeclaration , sngcpp::symbols::SymbolTable::EndClass , sngcpp::symbols::SymbolTable::EndEnumType , sngcpp::symbols::SymbolTable::EndFunction , sngcpp::symbols::SymbolTable::EndGrammar , sngcpp::symbols::SymbolTable::MakeClassTemplateSpecializationSymbol


NameBefore Member Function

bool sngcpp::symbols::Symbol::NameBefore(Symbol * that) virtual

Definition at line 43 of Symbol.hpp :
 43 { return name < that->Name(); }

Derived class overrides: sngcpp::symbols::FunctionSymbol::NameBefore

Calls: sngcpp::symbols::Symbol::Name

Called by: sngcpp::symbols::ByName::operator() , sngcpp::symbols::FunctionSymbol::NameBefore


Namespaces Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Namespaces() virtual

Definition at line 145 of Symbol.cpp :
146 {
147     return std::unique_ptr<sngxml::dom::Element>();
148 }


Declaration at line 56 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Namespaces

Called by: sngcpp::symbols::Symbol::ToDomElement


Parent Member Function

ContainerSymbol * sngcpp::symbols::Symbol::Parent()

Definition at line 65 of Symbol.hpp :
 65 { return parent; }

Called by: sngcpp::symbols::ClassGroupSymbol::AddClass , sngcpp::symbols::ConstructorDeclarationSymbol::GetType , sngcpp::symbols::ConstructorDeclarationSymbol::ReturnType , sngcpp::symbols::ConstructorSymbol::GetType , sngcpp::symbols::ConstructorSymbol::ReturnType , sngcpp::symbols::ContainerScope::GlobalNs , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::ContainerScope::Lookup , sngcpp::symbols::EnumeratorSymbol::GetType , sngcpp::symbols::FunctionGroupSymbol::AddFunction , sngcpp::symbols::FunctionGroupSymbol::AddFunctionDeclaration , sngcpp::symbols::ParameterSymbol::IdStr , sngcpp::symbols::Symbol::FullName


ProjectName Member Function

const std::u32string& sngcpp::symbols::Symbol::ProjectName() const

Definition at line 92 of Symbol.hpp :
 92 { return projectName; }


SetAccess Member Function

void sngcpp::symbols::Symbol::SetAccess(Specifier accessSpecifier)

Definition at line 54 of Symbol.cpp
Declaration at line 49 of Symbol.hpp

Called by: sngcpp::symbols::SymbolTable::AddParameter , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::MakeClassTemplateSpecializationSymbol , sngcpp::symbols::SymbolTable::MakeDerivedTypeSymbol , sngcpp::symbols::SymbolTable::MakeExternalTypeSymbol , sngcpp::symbols::SymbolTable::MakeIntegerLiteralTypeSymbol , sngcpp::symbols::SymbolTable::MakeSimpleTypeSymbol


SetName Member Function

void sngcpp::symbols::Symbol::SetName(const std::u32string& name_)

Definition at line 42 of Symbol.hpp :
 42 { name = name_; }


SetParent Member Function

void sngcpp::symbols::Symbol::SetParent(ContainerSymbol * parent_)

Definition at line 66 of Symbol.hpp :
 66 { parent = parent_; }

Called by: sngcpp::symbols::ClassGroupSymbol::AddClass , sngcpp::symbols::ContainerSymbol::AddMember , sngcpp::symbols::FunctionGroupSymbol::AddFunction , sngcpp::symbols::FunctionGroupSymbol::AddFunctionDeclaration


SetProjectName Member Function

void sngcpp::symbols::Symbol::SetProjectName(const std::u32string& projectName_)

Definition at line 82 of Symbol.cpp :
 83 {
 84     projectName = projectName_;
 85 }


Declaration at line 91 of Symbol.hpp

Called by: sngcpp::symbols::SymbolTable::AddTypedef , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginClass , sngcpp::symbols::SymbolTable::BeginEnumType , sngcpp::symbols::SymbolTable::BeginFunction , sngcpp::symbols::SymbolTable::BeginFunctionDeclaration , sngcpp::symbols::SymbolTable::BeginGrammar


SimpleName Member Function

const std::u32string& sngcpp::symbols::Symbol::SimpleName() const virtual

Definition at line 44 of Symbol.hpp :
 44 { return name; }

Derived class overrides: sngcpp::symbols::ConstructorDeclarationSymbol::SimpleName , sngcpp::symbols::ConstructorSymbol::SimpleName , sngcpp::symbols::DestructorSymbol::SimpleName , sngcpp::symbols::FunctionSymbol::SimpleName

Called by: sngcpp::symbols::FunctionDeclarationSymbol::FunctionId , sngcpp::symbols::Symbol::Id


ToDomElement Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::ToDomElement()

Definition at line 87 of Symbol.cpp
Declaration at line 55 of Symbol.hpp

Calls: sngcpp::symbols::Symbol::Classes , sngcpp::symbols::Symbol::Constructors , sngcpp::symbols::Symbol::CreateElement , sngcpp::symbols::Symbol::EnumTypes , sngcpp::symbols::Symbol::Enumerators , sngcpp::symbols::Symbol::Functions , sngcpp::symbols::Symbol::Grammars , sngcpp::symbols::Symbol::Id , sngcpp::symbols::Symbol::IsNamespaceSymbol , sngcpp::symbols::Symbol::Name , sngcpp::symbols::Symbol::Namespaces , sngcpp::symbols::Symbol::Typedefs , sngcpp::symbols::Symbol::Variables

Called by: sngcpp::symbols::ClassTypeSymbol::CreateElement , sngcpp::symbols::ConstructorSymbol::CreateElement , sngcpp::symbols::ContainerSymbol::Classes , sngcpp::symbols::ContainerSymbol::Constructors , sngcpp::symbols::ContainerSymbol::EnumTypes , sngcpp::symbols::ContainerSymbol::Enumerators , sngcpp::symbols::ContainerSymbol::Functions , sngcpp::symbols::ContainerSymbol::Grammars , sngcpp::symbols::ContainerSymbol::Namespaces , sngcpp::symbols::ContainerSymbol::Typedefs , sngcpp::symbols::ContainerSymbol::Variables , sngcpp::symbols::FunctionSymbol::CreateElement , sngcpp::symbols::GrammarSymbol::CreateElement , sngcpp::symbols::SymbolTable::CreateTypesElement , sngcpp::symbols::SymbolTable::ToDomElement


Typedefs Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Typedefs() virtual

Definition at line 175 of Symbol.cpp :
176 {
177     return std::unique_ptr<sngxml::dom::Element>();
178 }


Declaration at line 62 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Typedefs

Called by: sngcpp::symbols::Symbol::ToDomElement


Variables Member Function

std::unique_ptr<sngxml::dom::Element> sngcpp::symbols::Symbol::Variables() virtual

Definition at line 180 of Symbol.cpp :
181 {
182     return std::unique_ptr<sngxml::dom::Element>();
183 }


Declaration at line 63 of Symbol.hpp

Derived class overrides: sngcpp::symbols::ContainerSymbol::Variables

Called by: sngcpp::symbols::Symbol::ToDomElement


operator= Member Function

Symbol & sngcpp::symbols::Symbol::operator=(Symbol &&) delete

Definition at line 38 of Symbol.hpp


operator= Member Function

Symbol & sngcpp::symbols::Symbol::operator=(const Symbol &) delete

Definition at line 37 of Symbol.hpp


top | up | prev | next