9 #include "../runner/common/Setup.h"
43 static constexpr std::string_view Names[] = {
44 std::string_view(
"new symbol"),
45 std::string_view(
"typedef"),
46 std::string_view(
"function"),
47 std::string_view(
"native function"),
48 std::string_view(
"member function"),
49 std::string_view(
"static variable"),
50 std::string_view(
"global variable"),
51 std::string_view(
"instance variable"),
52 std::string_view(
"local variable"),
53 std::string_view(
"constant integer"),
54 std::string_view(
"constant real"),
55 std::string_view(
"constant string"),
56 std::string_view(
"label"),
58 return Names[
static_cast<size_t>(id)];
71 [[nodiscard]]
bool IsValid()
const;
77 [[nodiscard]] std::shared_ptr<Symbol>
GetNext();
78 [[nodiscard]]
const std::shared_ptr<Symbol>
GetNext()
const;
86 [[nodiscard]]
const std::string&
GetName()
const;
88 [[nodiscard]] int32_t
GetEtc()
const;
89 [[nodiscard]]
float GetFloat()
const;
90 [[nodiscard]]
const std::string_view
GetString()
const;
94 [[nodiscard]]
bool IsUsed()
const;
102 void OnDump(std::ofstream& output,
const int32_t level = 0)
const;
105 Symbol(
const std::string_view name,
const ClassTypeId class_type,
const size_t blockLevel);
108 void SetNext(
const std::shared_ptr<Symbol>& symbol);
111 void SetName(
const std::string& name);
112 void SetName(
const std::string_view& name);
114 void SetEtc(
const int32_t etc);
116 void SetString(
const std::string_view value);
122 #if MANA_BUILD_TARGET < MANA_BUILD_RELEASE
Definition: SymbolFactory.h:33
uint8_t GetNumberOfParameters() const
Definition: Symbol.cpp:206
int32_t GetAddress() const
Definition: Symbol.cpp:156
std::shared_ptr< Symbol > mParameterList
Definition: Symbol.h:125
int32_t mEtc
Definition: Symbol.h:132
int32_t GetEtc() const
Definition: Symbol.cpp:166
size_t mBlockLevel
Definition: Symbol.h:135
bool IsOverride() const
Definition: Symbol.cpp:211
int32_t mAddress
Definition: Symbol.h:131
std::string mName
Definition: Symbol.h:130
ClassTypeId mClassTypeId
Definition: Symbol.h:128
void SetBlockLevel(const size_t blockLevel)
Definition: Symbol.cpp:201
void SetAddress(const int32_t address)
Definition: Symbol.cpp:161
bool IsUsed() const
Definition: Symbol.cpp:221
ClassTypeId
Definition: Symbol.h:25
bool IsValid() const
Definition: Symbol.cpp:44
std::shared_ptr< Symbol > mNext
Definition: Symbol.h:126
void SetTypeDescription(const std::shared_ptr< TypeDescriptor > &typeDescription)
Definition: Symbol.cpp:231
std::shared_ptr< TypeDescriptor > mTypeDescription
Definition: Symbol.h:127
void OnDump(std::ofstream &output, const int32_t level=0) const
Definition: Symbol.cpp:265
void SetString(const std::string_view value)
Definition: Symbol.cpp:191
void SetNumberOfParameters(const size_t numberOfParameters)
Definition: Symbol.cpp:236
ClassTypeId GetClassTypeId() const
Definition: Symbol.cpp:121
const std::string & GetName() const
Definition: Symbol.cpp:141
void SetOverride(const bool override_)
Definition: Symbol.cpp:216
std::string mString
Definition: Symbol.h:134
void SetNext(const std::shared_ptr< Symbol > &symbol)
Definition: Symbol.cpp:101
MemoryTypeId mMemoryTypeId
Definition: Symbol.h:129
MemoryTypeId
Definition: Symbol.h:62
std::shared_ptr< Symbol > GetParameterList()
Definition: Symbol.cpp:81
void CheckUndefineRecursive() const
Definition: Symbol.cpp:245
size_t GetBlockLevel() const
Definition: Symbol.cpp:196
float mFloat
Definition: Symbol.h:133
void SetUsed(const bool used)
Definition: Symbol.cpp:226
float GetFloat() const
Definition: Symbol.cpp:176
bool mUsed
Definition: Symbol.h:138
std::shared_ptr< TypeDescriptor > GetTypeDescriptor()
Definition: Symbol.cpp:111
void SetClassTypeId(const ClassTypeId classTypeId)
Definition: Symbol.cpp:126
bool IsValidVariable() const
Definition: Symbol.cpp:63
bool mOverride
Definition: Symbol.h:137
Symbol(const std::string_view name, const ClassTypeId class_type, const size_t blockLevel)
Definition: Symbol.cpp:32
void SetName(const std::string &name)
Definition: Symbol.cpp:146
static const std::string_view & GetClassTypeName(const ClassTypeId id)
Definition: Symbol.h:41
void SetEtc(const int32_t etc)
Definition: Symbol.cpp:171
uint8_t mNumberOfParameters
Definition: Symbol.h:136
void SetParameterList(const std::shared_ptr< Symbol > &symbol)
Definition: Symbol.cpp:91
void SetFloat(const float value)
Definition: Symbol.cpp:181
MemoryTypeId GetMemoryTypeId() const
Definition: Symbol.cpp:131
std::shared_ptr< Symbol > GetNext()
Definition: Symbol.cpp:96
const std::string_view GetString() const
Definition: Symbol.cpp:186
void SetMemoryTypeId(const MemoryTypeId memoryTypeId)
Definition: Symbol.cpp:136
Definition: CodeBuffer.cpp:12