top | up | prev | next

symbols Namespace

Classes

struct BetterFunctionMatch
struct ByName
class CallableSymbol
class ClassGroupSymbol
class ClassGroupTypeSymbol
class ClassTemplateSpecializationSymbol
class ClassTypeSymbol
class ConstructorDeclarationSymbol
class ConstructorSymbol
class ContainerScope
class ContainerSymbol
class DeclarationBlockSymbol
class DerivedTypeSymbol
class DestructorSymbol
class ElaborateClassTypeSymbol
class EnumTypeSymbol
class EnumeratorSymbol
class ExternalTypeSymbol
class FileScope
class FunctionDeclarationSymbol
class FunctionGroupSymbol
struct FunctionMatch
class FunctionSymbol
class GrammarSymbol
class IntegerLiteralTypeSymbol
class LambdaExpressionSymbol
class NameResolver
class NamespaceSymbol
class ParameterSymbol
class RuleSymbol
class Scope
class SimpleTypeSymbol
class Symbol
class SymbolCreator
class SymbolTable
class TemplateParameterSymbol
class TypeSymbol
class TypedefSymbol
class VariableSymbol

Functions

int CountPointerDerivations(const std::vector<Derivation>& derivations)
bool HasConstDerivation(const std::vector<Derivation>& derivations)
bool HasLValueRefDerivation(const std::vector<Derivation>& derivations)
bool HasRValueRefDerivation(const std::vector<Derivation>& derivations)
bool HasVolatileDerivation(const std::vector<Derivation>& derivations)
std::u32string MakeClassTemplateSpecializationId(TypeSymbol* primaryClassTemplateSymbol, const std::vector<TypeSymbol*>& templateArgumentSymbols)
std::u32string MakeClassTemplateSpecializationName(TypeSymbol* primaryClassTemplateSymbol, const std::vector<TypeSymbol*>& templateArgumentSymbols)
std::u32string MakeDerivedTypeId(const std::vector<Derivation>& derivations, TypeSymbol* baseType)
std::u32string MakeDerivedTypeName(const std::vector<Derivation>& derivations, TypeSymbol* baseType)
std::u32string ToString(SymbolAccess access)
std::vector<Derivation> UnifyDerivations(const std::vector<Derivation>& left, const std::vector<Derivation>& right)
ScopeLookup operator&(ScopeLookup left, ScopeLookup right) inline
ScopeLookup operator|(ScopeLookup left, ScopeLookup right) inline

Enumerations

enum class Derivation
enum class ScopeLookup
enum class SymbolAccess

Function Details

CountPointerDerivations Function

int sngcpp::symbols::CountPointerDerivations(const std::vector<Derivation >& derivations)

Definition at line 47 of DerivedTypeSymbol.cpp :
 48 {
 49     int n = 0;
 50     for (Derivation derivation : derivations)
 51     {
 52         if (derivation == Derivation::ptr) ++n;
 53     }
 54     return n;
 55 }



HasConstDerivation Function

bool sngcpp::symbols::HasConstDerivation(const std::vector<Derivation >& derivations)

Definition at line 11 of DerivedTypeSymbol.cpp :
 12 {
 13     for (Derivation derivation : derivations)
 14     {
 15         if (derivation == Derivation::const_) return true;
 16     }
 17     return false;
 18 }



HasLValueRefDerivation Function

bool sngcpp::symbols::HasLValueRefDerivation(const std::vector<Derivation >& derivations)

Definition at line 29 of DerivedTypeSymbol.cpp :
 30 {
 31     for (Derivation derivation : derivations)
 32     {
 33         if (derivation == Derivation::lvalueRef) return true;
 34     }
 35     return false;
 36 }



HasRValueRefDerivation Function

bool sngcpp::symbols::HasRValueRefDerivation(const std::vector<Derivation >& derivations)

Definition at line 38 of DerivedTypeSymbol.cpp :
 39 {
 40     for (Derivation derivation : derivations)
 41     {
 42         if (derivation == Derivation::rvalueRef) return true;
 43     }
 44     return false;
 45 }



HasVolatileDerivation Function

bool sngcpp::symbols::HasVolatileDerivation(const std::vector<Derivation >& derivations)

Definition at line 20 of DerivedTypeSymbol.cpp :
 21 {
 22     for (Derivation derivation : derivations)
 23     {
 24         if (derivation == Derivation::volatile_) return true;
 25     }
 26     return false;
 27 }



MakeClassTemplateSpecializationId Function

std::u32string sngcpp::symbols::MakeClassTemplateSpecializationId(TypeSymbol * primaryClassTemplateSymbol, const std::vector<TypeSymbol *>& templateArgumentSymbols)

Definition at line 10 of ClassTemplateSpecializationSymbol.cpp :
11 {
12     std::u32string id = primaryClassTemplateSymbol->Id();
13     for (TypeSymbol* templateArgument : templateArgumentSymbols)
14     {
15         id.append(U".").append(templateArgument->Id());
16     }
17     return id;
18 }


Declaration at line 13 of ClassTemplateSpecializationSymbol.hpp

Calls: sngcpp::symbols::Symbol::Id

Called by: sngcpp::symbols::SymbolTable::MakeClassTemplateSpecializationSymbol


MakeClassTemplateSpecializationName Function

std::u32string sngcpp::symbols::MakeClassTemplateSpecializationName(TypeSymbol * primaryClassTemplateSymbol, const std::vector<TypeSymbol *>& templateArgumentSymbols)

Definition at line 20 of ClassTemplateSpecializationSymbol.cpp
Declaration at line 14 of ClassTemplateSpecializationSymbol.hpp

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

Called by: sngcpp::symbols::SymbolTable::MakeClassTemplateSpecializationSymbol


MakeDerivedTypeId Function

std::u32string sngcpp::symbols::MakeDerivedTypeId(const std::vector<Derivation >& derivations, TypeSymbol * baseType)

Definition at line 93 of DerivedTypeSymbol.cpp
Declaration at line 19 of DerivedTypeSymbol.hpp

Calls: sngcpp::symbols::Symbol::Id

Called by: sngcpp::symbols::SymbolTable::MakeDerivedTypeSymbol


MakeDerivedTypeName Function

std::u32string sngcpp::symbols::MakeDerivedTypeName(const std::vector<Derivation >& derivations, TypeSymbol * baseType)

Definition at line 121 of DerivedTypeSymbol.cpp
Declaration at line 20 of DerivedTypeSymbol.hpp

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

Called by: sngcpp::symbols::SymbolTable::MakeDerivedTypeSymbol


ToString Function

std::u32string sngcpp::symbols::ToString(SymbolAccess access)

Definition at line 17 of Symbol.cpp :
 18 {
 19     switch (access)
 20     {
 21         case SymbolAccess::public_: return U"public";
 22         case SymbolAccess::protected_: return U"protected";
 23         case SymbolAccess::private_: return U"private";
 24     }
 25     return std::u32string();
 26 }


Declaration at line 29 of Symbol.hpp

Called by: sngcpp::symbols::ClassTypeSymbol::KindStr , sngcpp::symbols::EnumTypeSymbol::CreateElement , sngcpp::symbols::Symbol::ToDomElement , sngcpp::symbols::SymbolTable::MakeElaborateClassTypeSymbol , sngcpp::symbols::SymbolTable::MakeExternalTypeSymbol


UnifyDerivations Function

std::vector<Derivation > sngcpp::symbols::UnifyDerivations(const std::vector<Derivation >& left, const std::vector<Derivation >& right)

Definition at line 57 of DerivedTypeSymbol.cpp
Declaration at line 17 of DerivedTypeSymbol.hpp

Called by: sngcpp::symbols::SymbolTable::MakeDerivedTypeSymbol


operator& Function

ScopeLookup sngcpp::symbols::operator&(ScopeLookup left, ScopeLookup right) inline

Definition at line 28 of Scope.hpp :
29 {
30     return ScopeLookup(uint8_t(left) & uint8_t(right));
31 }



operator| Function

ScopeLookup sngcpp::symbols::operator|(ScopeLookup left, ScopeLookup right) inline

Definition at line 33 of Scope.hpp :
34 {
35     return ScopeLookup(uint8_t(left) | uint8_t(right));
36 }



top | up | prev | next