Mana
mana::Symbol Class Referencefinal

#include <Symbol.h>

Public Types

enum class  ClassTypeId : uint8_t {
  NewSymbol , Type , Function , NativeFunction ,
  MemberFunction , StaticVariable , GlobalVariable , ActorVariable ,
  LocalVariable , ConstantInteger , ConstantFloat , ConstantString ,
  Label
}
 
enum class  MemoryTypeId : uint8_t { Invalid , Normal , Parameter }
 

Public Member Functions

 ~Symbol ()=default
 
bool IsValid () const
 
bool IsValidVariable () const
 
std::shared_ptr< SymbolGetParameterList ()
 
const std::shared_ptr< SymbolGetParameterList () const
 
std::shared_ptr< SymbolGetNext ()
 
const std::shared_ptr< SymbolGetNext () const
 
std::shared_ptr< TypeDescriptorGetTypeDescriptor ()
 
const std::shared_ptr< TypeDescriptorGetTypeDescriptor () const
 
ClassTypeId GetClassTypeId () const
 
MemoryTypeId GetMemoryTypeId () const
 
const std::string & GetName () const
 
int32_t GetAddress () const
 
int32_t GetEtc () const
 
float GetFloat () const
 
const std::string_view GetString () const
 
size_t GetBlockLevel () const
 
uint8_t GetNumberOfParameters () const
 
bool IsOverride () const
 
bool IsUsed () const
 
void SetTypeDescription (const std::shared_ptr< TypeDescriptor > &typeDescription)
 
void SetNumberOfParameters (const size_t numberOfParameters)
 
void CheckUndefineRecursive () const
 
void OnDump (std::ofstream &output, const int32_t level=0) const
 
 Symbol (const std::string_view name, const ClassTypeId class_type, const size_t blockLevel)
 
void SetParameterList (const std::shared_ptr< Symbol > &symbol)
 
void SetNext (const std::shared_ptr< Symbol > &symbol)
 
void SetClassTypeId (const ClassTypeId classTypeId)
 
void SetMemoryTypeId (const MemoryTypeId memoryTypeId)
 
void SetName (const std::string &name)
 
void SetName (const std::string_view &name)
 
void SetAddress (const int32_t address)
 
void SetEtc (const int32_t etc)
 
void SetFloat (const float value)
 
void SetString (const std::string_view value)
 
void SetBlockLevel (const size_t blockLevel)
 
void SetOverride (const bool override_)
 
void SetUsed (const bool used)
 

Static Public Member Functions

static const std::string_view & GetClassTypeName (const ClassTypeId id)
 

Public Attributes

std::shared_ptr< SymbolmParameterList
 
std::shared_ptr< SymbolmNext
 
std::shared_ptr< TypeDescriptormTypeDescription
 
ClassTypeId mClassTypeId = ClassTypeId::NewSymbol
 
MemoryTypeId mMemoryTypeId = MemoryTypeId::Invalid
 
std::string mName
 
int32_t mAddress = 0
 
int32_t mEtc = 0
 
float mFloat = 0
 
std::string mString
 
size_t mBlockLevel = 0
 
uint8_t mNumberOfParameters = 0
 
bool mOverride = false
 
bool mUsed = true
 

Friends

class SymbolFactory
 

Member Enumeration Documentation

◆ ClassTypeId

enum mana::Symbol::ClassTypeId : uint8_t
strong
Enumerator
NewSymbol 
Type 
Function 
NativeFunction 
MemberFunction 
StaticVariable 
GlobalVariable 
ActorVariable 
LocalVariable 
ConstantInteger 
ConstantFloat 
ConstantString 
Label 

◆ MemoryTypeId

enum mana::Symbol::MemoryTypeId : uint8_t
strong
Enumerator
Invalid 
Normal 
Parameter 

Constructor & Destructor Documentation

◆ ~Symbol()

mana::Symbol::~Symbol ( )
default

◆ Symbol()

mana::Symbol::Symbol ( const std::string_view  name,
const ClassTypeId  class_type,
const size_t  blockLevel 
)

Member Function Documentation

◆ CheckUndefineRecursive()

void mana::Symbol::CheckUndefineRecursive ( ) const

◆ GetAddress()

int32_t mana::Symbol::GetAddress ( ) const

◆ GetBlockLevel()

size_t mana::Symbol::GetBlockLevel ( ) const

◆ GetClassTypeId()

Symbol::ClassTypeId mana::Symbol::GetClassTypeId ( ) const

◆ GetClassTypeName()

static const std::string_view& mana::Symbol::GetClassTypeName ( const ClassTypeId  id)
inlinestatic

◆ GetEtc()

int32_t mana::Symbol::GetEtc ( ) const

◆ GetFloat()

float mana::Symbol::GetFloat ( ) const

◆ GetMemoryTypeId()

Symbol::MemoryTypeId mana::Symbol::GetMemoryTypeId ( ) const

◆ GetName()

const std::string & mana::Symbol::GetName ( ) const

◆ GetNext() [1/2]

std::shared_ptr< Symbol > mana::Symbol::GetNext ( )

◆ GetNext() [2/2]

const std::shared_ptr< Symbol > mana::Symbol::GetNext ( ) const

◆ GetNumberOfParameters()

uint8_t mana::Symbol::GetNumberOfParameters ( ) const

◆ GetParameterList() [1/2]

std::shared_ptr< Symbol > mana::Symbol::GetParameterList ( )

◆ GetParameterList() [2/2]

const std::shared_ptr< Symbol > mana::Symbol::GetParameterList ( ) const

◆ GetString()

const std::string_view mana::Symbol::GetString ( ) const

◆ GetTypeDescriptor() [1/2]

std::shared_ptr< TypeDescriptor > mana::Symbol::GetTypeDescriptor ( )

◆ GetTypeDescriptor() [2/2]

const std::shared_ptr< TypeDescriptor > mana::Symbol::GetTypeDescriptor ( ) const

◆ IsOverride()

bool mana::Symbol::IsOverride ( ) const

◆ IsUsed()

bool mana::Symbol::IsUsed ( ) const

◆ IsValid()

bool mana::Symbol::IsValid ( ) const

◆ IsValidVariable()

bool mana::Symbol::IsValidVariable ( ) const

◆ OnDump()

void mana::Symbol::OnDump ( std::ofstream &  output,
const int32_t  level = 0 
) const

◆ SetAddress()

void mana::Symbol::SetAddress ( const int32_t  address)

◆ SetBlockLevel()

void mana::Symbol::SetBlockLevel ( const size_t  blockLevel)

◆ SetClassTypeId()

void mana::Symbol::SetClassTypeId ( const ClassTypeId  classTypeId)

◆ SetEtc()

void mana::Symbol::SetEtc ( const int32_t  etc)

◆ SetFloat()

void mana::Symbol::SetFloat ( const float  value)

◆ SetMemoryTypeId()

void mana::Symbol::SetMemoryTypeId ( const MemoryTypeId  memoryTypeId)

◆ SetName() [1/2]

void mana::Symbol::SetName ( const std::string &  name)

◆ SetName() [2/2]

void mana::Symbol::SetName ( const std::string_view &  name)

◆ SetNext()

void mana::Symbol::SetNext ( const std::shared_ptr< Symbol > &  symbol)

◆ SetNumberOfParameters()

void mana::Symbol::SetNumberOfParameters ( const size_t  numberOfParameters)

◆ SetOverride()

void mana::Symbol::SetOverride ( const bool  override_)

◆ SetParameterList()

void mana::Symbol::SetParameterList ( const std::shared_ptr< Symbol > &  symbol)

◆ SetString()

void mana::Symbol::SetString ( const std::string_view  value)

◆ SetTypeDescription()

void mana::Symbol::SetTypeDescription ( const std::shared_ptr< TypeDescriptor > &  typeDescription)

◆ SetUsed()

void mana::Symbol::SetUsed ( const bool  used)

Friends And Related Function Documentation

◆ SymbolFactory

friend class SymbolFactory
friend

Member Data Documentation

◆ mAddress

int32_t mana::Symbol::mAddress = 0

◆ mBlockLevel

size_t mana::Symbol::mBlockLevel = 0

◆ mClassTypeId

ClassTypeId mana::Symbol::mClassTypeId = ClassTypeId::NewSymbol

◆ mEtc

int32_t mana::Symbol::mEtc = 0

◆ mFloat

float mana::Symbol::mFloat = 0

◆ mMemoryTypeId

MemoryTypeId mana::Symbol::mMemoryTypeId = MemoryTypeId::Invalid

◆ mName

std::string mana::Symbol::mName

◆ mNext

std::shared_ptr<Symbol> mana::Symbol::mNext

◆ mNumberOfParameters

uint8_t mana::Symbol::mNumberOfParameters = 0

◆ mOverride

bool mana::Symbol::mOverride = false

◆ mParameterList

std::shared_ptr<Symbol> mana::Symbol::mParameterList

◆ mString

std::string mana::Symbol::mString

◆ mTypeDescription

std::shared_ptr<TypeDescriptor> mana::Symbol::mTypeDescription

◆ mUsed

bool mana::Symbol::mUsed = true

The documentation for this class was generated from the following files: