top | up | prev | next

SystemXCodeGenerator Class

Definition at line 37 of SystemXCodeGenerator.hpp

Constructors

SystemXCodeGenerator(EmittingContext& emittingContext_)
SystemXCodeGenerator(const SystemXCodeGenerator&) delete

Member Functions

void* CleanupBlock() override
void CreateCleanup() override
int CurrentTryBlockId() const override
void ExitBlocks(BoundCompoundStatement* targetBlock)
void GenJumpingBoolCode()
void GenerateCode(void* boundCompileUnit) override
void GenerateCodeForCleanups()
void* GetGlobalStringPtr(int stringId) override
void* GetGlobalUStringConstant(int stringId) override
void* GetGlobalUuidConstant(int uuidId) override
void* GetGlobalWStringConstant(int stringId) override
void* HandlerBlock() override
bool InTryBlock() const override
int Install(const std::string& str) override
int Install(const std::u16string& str) override
int Install(const std::u32string& str) override
bool NewCleanupNeeded() override
void SetTarget(BoundStatement* labeledStatement)
void Visit(BoundAddressOfExpression& boundAddressOfExpression) override
void Visit(BoundAsExpression& boundAsExpression) override
void Visit(BoundAssignmentStatement& boundAssignmentStatement) override
void Visit(BoundBitCast& boundBitCast) override
void Visit(BoundBreakStatement& boundBreakStatement) override
void Visit(BoundCaseStatement& boundCaseStatement) override
void Visit(BoundCatchStatement& boundCatchStatement) override
void Visit(BoundClass& boundClass) override
void Visit(BoundClassDelegateCall& boundClassDelegateCall) override
void Visit(BoundClassOrClassDelegateConversionResult& boundClassOrClassDelegateConversionResult) override
void Visit(BoundCompileUnit& boundCompileUnit) override
void Visit(BoundCompoundStatement& boundCompoundStatement) override
void Visit(BoundConjunction& boundConjunction) override
void Visit(BoundConstant& boundConstant) override
void Visit(BoundConstructAndReturnTemporaryExpression& boundConstructAndReturnTemporaryExpression) override
void Visit(BoundConstructExpression& boundConstructExpression) override
void Visit(BoundConstructionStatement& boundConstructionStatement) override
void Visit(BoundContinueStatement& boundContinueStatement) override
void Visit(BoundConversion& boundConversion) override
void Visit(BoundDefaultStatement& boundDefaultStatement) override
void Visit(BoundDelegateCall& boundDelegateCall) override
void Visit(BoundDereferenceExpression& boundDereferenceExpression) override
void Visit(BoundDisjunction& boundDisjunction) override
void Visit(BoundDoStatement& boundDoStatement) override
void Visit(BoundEmptyStatement& boundEmptyStatement) override
void Visit(BoundEnumConstant& boundEnumConstant) override
void Visit(BoundExpressionStatement& boundExpressionStatement) override
void Visit(BoundForStatement& boundForStatement) override
void Visit(BoundFunction& boundFunction) override
void Visit(BoundFunctionCall& boundFunctionCall) override
void Visit(BoundFunctionPtr& boundFunctionPtr) override
void Visit(BoundGlobalVariable& boundGlobalVariable) override
void Visit(BoundGotoCaseStatement& boundGotoCaseStatement) override
void Visit(BoundGotoDefaultStatement& boundGotoDefaultStatement) override
void Visit(BoundGotoStatement& boundGotoStatement) override
void Visit(BoundIfStatement& boundIfStatement) override
void Visit(BoundInitializationStatement& boundInitializationStatement) override
void Visit(BoundIsExpression& boundIsExpression) override
void Visit(BoundLiteral& boundLiteral) override
void Visit(BoundLocalVariable& boundLocalVariable) override
void Visit(BoundMemberVariable& boundMemberVariable) override
void Visit(BoundNamespace& boundNamespace) override
void Visit(BoundParameter& boundParameter) override
void Visit(BoundReferenceToPointerExpression& boundReferenceToPointerExpression) override
void Visit(BoundRethrowStatement& boundRethrowStatement) override
void Visit(BoundReturnStatement& boundReturnStatement) override
void Visit(BoundSequenceStatement& boundSequenceStatement) override
void Visit(BoundSetVmtPtrStatement& boundSetVmtPtrStatement) override
void Visit(BoundSizeOfExpression& boundSizeOfExpression) override
void Visit(BoundSwitchStatement& boundSwitchStatement) override
void Visit(BoundTemporary& boundTemporary) override
void Visit(BoundThrowStatement& boundThrowStatement) override
void Visit(BoundTryStatement& boundTryStatement) override
void Visit(BoundTypeNameExpression& boundTypeNameExpression) override
void Visit(BoundWhileStatement& boundWhileStatement) override
SystemXCodeGenerator& operator=(const SystemXCodeGenerator&) delete

Member Variables

bool basicBlockOpen
std::unordered_map<BoundCompoundStatement*, std::vector<std::unique_ptr<BoundFunctionCall>>> blockDestructionMap
std::vector<BoundCompoundStatement*> blocks
void* breakTarget
BoundCompoundStatement* breakTargetBlock
std::stack<BoundClass*> classStack
void* cleanupBlock
std::vector<std::unique_ptr<Cleanup>> cleanups
BoundCompileUnit* compileUnit
std::string compileUnitId
void* continueTarget
BoundCompoundStatement* continueTargetBlock
BoundCompoundStatement* currentBlock
std::unordered_map<IntegralValue, void*, IntegralValueHash>* currentCaseMap
BoundClass* currentClass
BoundFunction* currentFunction
int64_t currentTryBlockId
void* currentTryNextBlock
void* defaultDest
bool destructorCallGenerated
Emitter* emitter
EmittingContext* emittingContext
void* entryBasicBlock
void* falseBlock
void* function
bool genJumpingBoolCode
bool generateLineNumbers
void* handlerBlock
bool inTryBlock
std::unordered_map<BoundStatement*, void*> labeledStatementMap
void* lastAlloca
bool lastInstructionWasRet
Module* module
CompileUnit* nativeCompileUnit
bool newCleanupNeeded
int64_t nextTryBlockId
bool prevWasTerminator
BoundStatement* sequenceSecond
SymbolTable* symbolTable
void* trueBlock
std::unordered_map<int, void*> utf16stringMap
std::unordered_map<int, void*> utf32stringMap
std::unordered_map<int, void*> utf8stringMap
std::unordered_map<int, void*> uuidMap

Constructor Details

SystemXCodeGenerator Constructor

cmajor::codegensx::SystemXCodeGenerator::SystemXCodeGenerator(EmittingContext & emittingContext_)

Definition at line 43 of SystemXCodeGenerator.cpp :
  43 :
  44 cmajor::codegenbase::CodeGenerator(emittingContext_)emitter(GetEmitter())emittingContext(&emittingContext_)symbolTable(nullptr)module(nullptr)compileUnit(nullptr)
  45 nativeCompileUnit(nullptr)function(nullptr)entryBasicBlock(nullptr)lastInstructionWasRet(false)destructorCallGenerated(false)genJumpingBoolCode(false)
  46 trueBlock(nullptr)falseBlock(nullptr)breakTarget(nullptr)continueTarget(nullptr)sequenceSecond(nullptr)currentFunction(nullptr)currentBlock(nullptr)
  47 breakTargetBlock(nullptr)continueTargetBlock(nullptr)lastAlloca(nullptr)currentClass(nullptr)basicBlockOpen(false)defaultDest(nullptr)currentCaseMap(nullptr)
  48 generateLineNumbers(false)currentTryBlockId(-1)nextTryBlockId(0)currentTryNextBlock(nullptr)handlerBlock(nullptr)cleanupBlock(nullptr)newCleanupNeeded(false)
  49 inTryBlock(false)prevWasTerminator(false)
  50 {
  51     emitter->SetEmittingDelegate(this);
  52 }


Declaration at line 40 of SystemXCodeGenerator.hpp


SystemXCodeGenerator Constructor

cmajor::codegensx::SystemXCodeGenerator::SystemXCodeGenerator(const SystemXCodeGenerator &) delete

Definition at line 41 of SystemXCodeGenerator.hpp


Member Function Details

CleanupBlock Member Function

void * cmajor::codegensx::SystemXCodeGenerator::CleanupBlock() override

Definition at line 1497 of SystemXCodeGenerator.cpp :
1498 {
1499     return cleanupBlock;
1500 }


Declaration at line 107 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::CleanupBlock


CreateCleanup Member Function

void cmajor::codegensx::SystemXCodeGenerator::CreateCleanup() override

Definition at line 1532 of SystemXCodeGenerator.cpp
Declaration at line 109 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::CreateCleanup

Calls: cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundStatement::Block , cmajor::binder::BoundStatement::Parent , cmajor::ir::Emitter::CreateBasicBlock


CurrentTryBlockId Member Function

int cmajor::codegensx::SystemXCodeGenerator::CurrentTryBlockId() const override

Definition at line 1512 of SystemXCodeGenerator.cpp :
1513 {
1514     return currentTryBlockId;
1515 }


Declaration at line 112 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::CurrentTryBlockId


ExitBlocks Member Function

void cmajor::codegensx::SystemXCodeGenerator::ExitBlocks(BoundCompoundStatement * targetBlock)

Definition at line 1337 of SystemXCodeGenerator.cpp
Declaration at line 101 of SystemXCodeGenerator.hpp

Calls: cmajor::binder::BoundCompoundStatement::Statements , cmajor::binder::BoundFunction::Body , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock

Called by: cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit


GenJumpingBoolCode Member Function

void cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode()

Definition at line 1305 of SystemXCodeGenerator.cpp
Declaration at line 99 of SystemXCodeGenerator.hpp

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundStatement::SetGenerated , cmajor::ir::Emitter::CreateCondBr , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Pop

Called by: cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit


GenerateCode Member Function

void cmajor::codegensx::SystemXCodeGenerator::GenerateCode(void * boundCompileUnit) override

Definition at line 54 of SystemXCodeGenerator.cpp :
  55 {
  56     BoundCompileUnit* compileUnit = static_cast<BoundCompileUnit*>(boundCompileUnit);
  57     compileUnit->Accept(*this);
  58 }


Declaration at line 43 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::codegenbase::CodeGenerator::GenerateCode

Calls: cmajor::binder::BoundCompileUnit::Accept


GenerateCodeForCleanups Member Function

void cmajor::codegensx::SystemXCodeGenerator::GenerateCodeForCleanups()

Definition at line 1573 of SystemXCodeGenerator.cpp
Declaration at line 110 of SystemXCodeGenerator.hpp

Calls: cmajor::ir::Emitter::CreateCall , cmajor::ir::Emitter::CreateRetVoid , cmajor::ir::Emitter::GetIrTypeForFunction , cmajor::ir::Emitter::GetIrTypeForVoid , cmajor::ir::Emitter::GetOrInsertFunction , cmajor::ir::Emitter::SetCurrentBasicBlock

Called by: cmajor::codegensx::SystemXCodeGenerator::Visit


GetGlobalStringPtr Member Function

void * cmajor::codegensx::SystemXCodeGenerator::GetGlobalStringPtr(int stringId) override

Definition at line 1391 of SystemXCodeGenerator.cpp
Declaration at line 102 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::GetGlobalStringPtr

Calls: cmajor::binder::BoundCompileUnit::GetUtf8String , cmajor::ir::Emitter::CreateGlobalStringPtr


GetGlobalUStringConstant Member Function

void * cmajor::codegensx::SystemXCodeGenerator::GetGlobalUStringConstant(int stringId) override

Definition at line 1435 of SystemXCodeGenerator.cpp
Declaration at line 104 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::GetGlobalUStringConstant

Calls: cmajor::binder::BoundCompileUnit::GetUtf32String , cmajor::ir::Emitter::CreateIrValueForConstantArray , cmajor::ir::Emitter::CreateIrValueForUInt , cmajor::ir::Emitter::GetIrTypeForArrayType , cmajor::ir::Emitter::GetIrTypeForUInt , cmajor::ir::Emitter::GetOrInsertGlobal , cmajor::ir::Emitter::SetInitializer , cmajor::ir::Emitter::SetPrivateLinkage


GetGlobalUuidConstant Member Function

void * cmajor::codegensx::SystemXCodeGenerator::GetGlobalUuidConstant(int uuidId) override

Definition at line 1464 of SystemXCodeGenerator.cpp
Declaration at line 105 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::GetGlobalUuidConstant

Calls: cmajor::binder::BoundCompileUnit::GetUuid , cmajor::ir::Emitter::CreateIrValueForByte , cmajor::ir::Emitter::CreateIrValueForConstantArray , cmajor::ir::Emitter::GetIrTypeForArrayType , cmajor::ir::Emitter::GetIrTypeForByte , cmajor::ir::Emitter::GetOrInsertGlobal , cmajor::ir::Emitter::SetInitializer , cmajor::ir::Emitter::SetPrivateLinkage


GetGlobalWStringConstant Member Function

void * cmajor::codegensx::SystemXCodeGenerator::GetGlobalWStringConstant(int stringId) override

Definition at line 1406 of SystemXCodeGenerator.cpp
Declaration at line 103 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::GetGlobalWStringConstant

Calls: cmajor::binder::BoundCompileUnit::GetUtf16String , cmajor::ir::Emitter::CreateIrValueForConstantArray , cmajor::ir::Emitter::CreateIrValueForUShort , cmajor::ir::Emitter::GetIrTypeForArrayType , cmajor::ir::Emitter::GetIrTypeForUShort , cmajor::ir::Emitter::GetOrInsertGlobal , cmajor::ir::Emitter::SetInitializer , cmajor::ir::Emitter::SetPrivateLinkage


HandlerBlock Member Function

void * cmajor::codegensx::SystemXCodeGenerator::HandlerBlock() override

Definition at line 1492 of SystemXCodeGenerator.cpp :
1493 {
1494     return handlerBlock;
1495 }


Declaration at line 106 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::HandlerBlock


InTryBlock Member Function

bool cmajor::codegensx::SystemXCodeGenerator::InTryBlock() const override

Definition at line 1507 of SystemXCodeGenerator.cpp :
1508 {
1509     return inTryBlock;
1510 }


Declaration at line 111 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::InTryBlock


Install Member Function

int cmajor::codegensx::SystemXCodeGenerator::Install(const std::string& str) override

Definition at line 1517 of SystemXCodeGenerator.cpp :
1518 {
1519     return compileUnit->Install(str);
1520 }


Declaration at line 113 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::Install

Calls: cmajor::binder::BoundCompileUnit::Install


Install Member Function

int cmajor::codegensx::SystemXCodeGenerator::Install(const std::u16string& str) override

Definition at line 1522 of SystemXCodeGenerator.cpp :
1523 {
1524     return compileUnit->Install(str);
1525 }


Declaration at line 114 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::Install

Calls: cmajor::binder::BoundCompileUnit::Install


Install Member Function

int cmajor::codegensx::SystemXCodeGenerator::Install(const std::u32string& str) override

Definition at line 1527 of SystemXCodeGenerator.cpp :
1528 {
1529     return compileUnit->Install(str);
1530 }


Declaration at line 115 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::Install

Calls: cmajor::binder::BoundCompileUnit::Install


NewCleanupNeeded Member Function

bool cmajor::codegensx::SystemXCodeGenerator::NewCleanupNeeded() override

Definition at line 1502 of SystemXCodeGenerator.cpp :
1503 {
1504     return newCleanupNeeded;
1505 }


Declaration at line 108 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::ir::EmittingDelegate::NewCleanupNeeded


SetTarget Member Function

void cmajor::codegensx::SystemXCodeGenerator::SetTarget(BoundStatement * labeledStatement)

Definition at line 1321 of SystemXCodeGenerator.cpp
Declaration at line 100 of SystemXCodeGenerator.hpp

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::binder::BoundStatement::Label , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock

Called by: cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit , cmajor::codegensx::SystemXCodeGenerator::Visit


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundAddressOfExpression & boundAddressOfExpression) override

Definition at line 1181 of SystemXCodeGenerator.cpp :
1182 {
1183     boundAddressOfExpression.Load(*emitterOperationFlags::none);
1184 }


Declaration at line 81 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundAddressOfExpression::Load


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundAsExpression & boundAsExpression) override

Definition at line 1245 of SystemXCodeGenerator.cpp :
1246 {
1247     boundAsExpression.Load(*emitterOperationFlags::none);
1248 }


Declaration at line 92 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundAsExpression::Load


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundAssignmentStatement & boundAssignmentStatement) override

Definition at line 942 of SystemXCodeGenerator.cpp
Declaration at line 66 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundAssignmentStatement::AssignmentCall , cmajor::binder::BoundFunctionCall::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundBitCast & boundBitCast) override

Definition at line 1255 of SystemXCodeGenerator.cpp :
1256 {
1257     boundBitCast.Load(*emitterOperationFlags::none);
1258 }


Declaration at line 94 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundBitCast::Load


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundBreakStatement & boundBreakStatement) override

Definition at line 525 of SystemXCodeGenerator.cpp
Declaration at line 52 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::ExitBlocks , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundCaseStatement & boundCaseStatement) override

Definition at line 836 of SystemXCodeGenerator.cpp
Declaration at line 61 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCaseStatement::CaseValues , cmajor::binder::BoundCaseStatement::CompoundStatement , cmajor::binder::BoundCompoundStatement::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundCatchStatement & boundCatchStatement) override

Definition at line 1085 of SystemXCodeGenerator.cpp
Declaration at line 71 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCatchStatement::CatchBlock , cmajor::binder::BoundCatchStatement::CatchedTypeUuidId , cmajor::binder::BoundCompileUnit::GetUuid , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::AddMDItem , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::CreateMDBasicBlockRef , cmajor::ir::Emitter::CreateMDLong , cmajor::ir::Emitter::CreateMDString , cmajor::ir::Emitter::CreateMDStruct , cmajor::ir::Emitter::CreateMDStructRef , cmajor::ir::Emitter::CreateNop , cmajor::ir::Emitter::GetMDStructId , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::ir::Emitter::SetMetadataRef


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundClass & boundClass) override

Definition at line 171 of SystemXCodeGenerator.cpp
Declaration at line 46 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundClass::Members , cmajor::binder::BoundNode::Accept


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundClassDelegateCall & boundClassDelegateCall) override

Definition at line 1209 of SystemXCodeGenerator.cpp :
1210 {
1211     boundClassDelegateCall.Load(*emitterOperationFlags::none);
1212     GenJumpingBoolCode();
1213 }


Declaration at line 86 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundClassDelegateCall::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundClassOrClassDelegateConversionResult & boundClassOrClassDelegateConversionResult) override

Definition at line 1233 of SystemXCodeGenerator.cpp :
1234 {
1235     boundClassOrClassDelegateConversionResult.Load(*emitterOperationFlags::none);
1236     GenJumpingBoolCode();
1237 }


Declaration at line 90 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundClassOrClassDelegateConversionResult::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundCompileUnit & boundCompileUnit) override

Definition at line 60 of SystemXCodeGenerator.cpp
Declaration at line 44 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCompileUnit::BoundNodes , cmajor::binder::BoundCompileUnit::GetConstantArrayRepository , cmajor::binder::BoundCompileUnit::GetConstantStructureRepository , cmajor::binder::BoundCompileUnit::GetModule , cmajor::binder::BoundCompileUnit::GetSymbolTable , cmajor::binder::BoundCompileUnit::Id , cmajor::binder::BoundCompileUnit::ObjectFilePath , cmajor::binder::BoundCompileUnit::SourceFilePath , cmajor::binder::BoundNode::Accept , cmajor::binder::ConstantArrayRepository::ConstantArrays , cmajor::binder::ConstantStructureRepository::ConstantStructures , cmajor::ir::Emitter::SetCompileUnitId , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::symbols::Module::LogStreamId , cmsxi::CompileUnit::SetId , cmsxi::CompileUnit::SetSourceFilePath , cmsxi::CompileUnit::Write , soulng::util::Path::ChangeExtension , soulng::util::Process::Eof , soulng::util::Process::ExitCode , soulng::util::Process::ReadLine , soulng::util::Process::ReadToEnd , soulng::util::Process::WaitForExit


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundCompoundStatement & boundCompoundStatement) override

Definition at line 392 of SystemXCodeGenerator.cpp
Declaration at line 48 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCompoundStatement::Statements , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::ExitBlocks , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundConjunction & boundConjunction) override

Definition at line 1282 of SystemXCodeGenerator.cpp
Declaration at line 97 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundConjunction::Left , cmajor::binder::BoundConjunction::Right , cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundNode::Accept , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::SetCurrentBasicBlock


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundConstant & boundConstant) override

Definition at line 1152 of SystemXCodeGenerator.cpp :
1153 {
1154     boundConstant.Load(*emitterOperationFlags::none);
1155     GenJumpingBoolCode();
1156 }


Declaration at line 76 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundConstant::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundConstructAndReturnTemporaryExpression & boundConstructAndReturnTemporaryExpression) override

Definition at line 1227 of SystemXCodeGenerator.cpp :
1228 {
1229     boundConstructAndReturnTemporaryExpression.Load(*emitterOperationFlags::none);
1230     GenJumpingBoolCode();
1231 }


Declaration at line 89 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundConstructAndReturnTemporaryExpression::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundConstructExpression & boundConstructExpression) override

Definition at line 1221 of SystemXCodeGenerator.cpp :
1222 {
1223     boundConstructExpression.Load(*emitterOperationFlags::none);
1224     GenJumpingBoolCode();
1225 }


Declaration at line 88 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundConstructExpression::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundConstructionStatement & boundConstructionStatement) override

Definition at line 895 of SystemXCodeGenerator.cpp
Declaration at line 65 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCompoundStatement::EndSpan , cmajor::binder::BoundConstructionStatement::ConstructorCall , cmajor::binder::BoundFunctionCall::Accept , cmajor::binder::BoundFunctionCall::Arguments , cmajor::binder::BoundFunctionCall::GetFunctionSymbol , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::symbols::FunctionSymbol::IsBasicTypeOperation


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundContinueStatement & boundContinueStatement) override

Definition at line 546 of SystemXCodeGenerator.cpp
Declaration at line 53 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::ExitBlocks , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundConversion & boundConversion) override

Definition at line 1215 of SystemXCodeGenerator.cpp :
1216 {
1217     boundConversion.Load(*emitterOperationFlags::none);
1218     GenJumpingBoolCode();
1219 }


Declaration at line 87 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundConversion::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundDefaultStatement & boundDefaultStatement) override

Definition at line 871 of SystemXCodeGenerator.cpp
Declaration at line 62 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCompoundStatement::Accept , cmajor::binder::BoundDefaultStatement::CompoundStatement , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundDelegateCall & boundDelegateCall) override

Definition at line 1203 of SystemXCodeGenerator.cpp :
1204 {
1205     boundDelegateCall.Load(*emitterOperationFlags::none);
1206     GenJumpingBoolCode();
1207 }


Declaration at line 85 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundDelegateCall::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundDereferenceExpression & boundDereferenceExpression) override

Definition at line 1186 of SystemXCodeGenerator.cpp :
1187 {
1188     boundDereferenceExpression.Load(*emitterOperationFlags::none);
1189     GenJumpingBoolCode();
1190 }


Declaration at line 82 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundDereferenceExpression::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundDisjunction & boundDisjunction) override

Definition at line 1265 of SystemXCodeGenerator.cpp
Declaration at line 96 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundDisjunction::Left , cmajor::binder::BoundDisjunction::Right , cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundNode::Accept , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::SetCurrentBasicBlock


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundDoStatement & boundDoStatement) override

Definition at line 674 of SystemXCodeGenerator.cpp
Declaration at line 58 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundDoStatement::Condition , cmajor::binder::BoundDoStatement::Statement , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundEmptyStatement & boundEmptyStatement) override

Definition at line 989 of SystemXCodeGenerator.cpp
Declaration at line 67 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundEnumConstant & boundEnumConstant) override

Definition at line 1158 of SystemXCodeGenerator.cpp :
1159 {
1160     boundEnumConstant.Load(*emitterOperationFlags::none);
1161     GenJumpingBoolCode();
1162 }


Declaration at line 77 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundEnumConstant::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundExpressionStatement & boundExpressionStatement) override

Definition at line 955 of SystemXCodeGenerator.cpp
Declaration at line 63 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundExpression::HasValue , cmajor::binder::BoundExpressionStatement::Expression , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Pop


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundForStatement & boundForStatement) override

Definition at line 717 of SystemXCodeGenerator.cpp
Declaration at line 59 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundForStatement::ActionS , cmajor::binder::BoundForStatement::Condition , cmajor::binder::BoundForStatement::InitS , cmajor::binder::BoundForStatement::LoopS , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundFunction & boundFunction) override

Definition at line 185 of SystemXCodeGenerator.cpp
Declaration at line 47 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundClass::GetClassTypeSymbol , cmajor::binder::BoundClass::IsInlineFunctionContainer , cmajor::binder::BoundCompileUnit::CodeGenerated , cmajor::binder::BoundCompileUnit::GetCopyConstructorFor , cmajor::binder::BoundCompileUnit::SetCodeGenerated , cmajor::binder::BoundCompoundStatement::Accept , cmajor::binder::BoundCompoundStatement::Statements , cmajor::binder::BoundFunction::Body , cmajor::binder::BoundFunction::GetFunctionSymbol , cmajor::binder::BoundFunction::LabeledStatements , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::binder::BoundStatement::Label , cmajor::codegensx::SystemXCodeGenerator::GenerateCodeForCleanups , cmajor::ir::Emitter::AddInlineFunctionAttribute , cmajor::ir::Emitter::AddMDItem , cmajor::ir::Emitter::CreateAlloca , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateCall , cmajor::ir::Emitter::CreateMDLong , cmajor::ir::Emitter::CreateMDString , cmajor::ir::Emitter::CreateMDStruct , cmajor::ir::Emitter::CreateRet , cmajor::ir::Emitter::CreateRetVoid , cmajor::ir::Emitter::CreateSave , cmajor::ir::Emitter::CreateStore , cmajor::ir::Emitter::FinalizeFunction , cmajor::ir::Emitter::GetFunctionArgument , cmajor::ir::Emitter::GetMDStructId , cmajor::ir::Emitter::GetMDStructRefForSourceFile , cmajor::ir::Emitter::GetOrInsertAnyFunctionComdat , cmajor::ir::Emitter::GetOrInsertFunction , cmajor::ir::Emitter::IsStaticObjectCreated , cmajor::ir::Emitter::IsVmtObjectCreated , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::ir::Emitter::SetFunction , cmajor::ir::Emitter::SetFunctionLinkageToLinkOnceODRLinkage , cmajor::ir::Emitter::SetFunctionMdId , cmajor::ir::Emitter::SetIrObject , cmajor::ir::GenObject::SetType , cmajor::symbols::Module::GetFilePath


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundFunctionCall & boundFunctionCall) override

Definition at line 1197 of SystemXCodeGenerator.cpp :
1198 {
1199     boundFunctionCall.Load(*emitterOperationFlags::none);
1200     GenJumpingBoolCode();
1201 }


Declaration at line 84 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundFunctionCall::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundFunctionPtr & boundFunctionPtr) override

Definition at line 1260 of SystemXCodeGenerator.cpp :
1261 {
1262     boundFunctionPtr.Load(*emitterOperationFlags::none);
1263 }


Declaration at line 95 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundFunctionPtr::Load


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundGlobalVariable & boundGlobalVariable) override

Definition at line 1299 of SystemXCodeGenerator.cpp :
1300 {
1301     GlobalVariableSymbol* globalVariableSymbol = boundGlobalVariable.GetGlobalVariableSymbol();
1302     globalVariableSymbol->CreateIrObject(*emitter);
1303 }


Declaration at line 98 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundGlobalVariable::GetGlobalVariableSymbol


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundGotoCaseStatement & boundGotoCaseStatement) override

Definition at line 478 of SystemXCodeGenerator.cpp
Declaration at line 50 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundGotoCaseStatement::CaseValue , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegensx::SystemXCodeGenerator::ExitBlocks , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundGotoDefaultStatement & boundGotoDefaultStatement) override

Definition at line 503 of SystemXCodeGenerator.cpp
Declaration at line 51 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegensx::SystemXCodeGenerator::ExitBlocks , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundGotoStatement & boundGotoStatement) override

Definition at line 565 of SystemXCodeGenerator.cpp
Declaration at line 54 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundGotoStatement::TargetBlock , cmajor::binder::BoundGotoStatement::TargetStatement , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegensx::SystemXCodeGenerator::ExitBlocks , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundIfStatement & boundIfStatement) override

Definition at line 592 of SystemXCodeGenerator.cpp
Declaration at line 56 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundIfStatement::Condition , cmajor::binder::BoundIfStatement::ElseS , cmajor::binder::BoundIfStatement::ThenS , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundInitializationStatement & boundInitializationStatement) override

Definition at line 972 of SystemXCodeGenerator.cpp
Declaration at line 64 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundExpression::HasValue , cmajor::binder::BoundInitializationStatement::InitializationExpression , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Pop


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundIsExpression & boundIsExpression) override

Definition at line 1239 of SystemXCodeGenerator.cpp :
1240 {
1241     boundIsExpression.Load(*emitterOperationFlags::none);
1242     GenJumpingBoolCode();
1243 }


Declaration at line 91 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundIsExpression::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundLiteral & boundLiteral) override

Definition at line 1164 of SystemXCodeGenerator.cpp :
1165 {
1166     boundLiteral.Load(*emitterOperationFlags::none);
1167     GenJumpingBoolCode();
1168 }


Declaration at line 78 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundLiteral::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundLocalVariable & boundLocalVariable) override

Definition at line 1140 of SystemXCodeGenerator.cpp :
1141 {
1142     boundLocalVariable.Load(*emitterOperationFlags::none);
1143     GenJumpingBoolCode();
1144 }


Declaration at line 74 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundLocalVariable::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundMemberVariable & boundMemberVariable) override

Definition at line 1146 of SystemXCodeGenerator.cpp :
1147 {
1148     boundMemberVariable.Load(*emitterOperationFlags::none);
1149     GenJumpingBoolCode();
1150 }


Declaration at line 75 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundMemberVariable::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundNamespace & boundNamespace) override

Definition at line 161 of SystemXCodeGenerator.cpp :
 162 {
 163     int n = boundNamespace.Members().size();
 164     for (int i = 0; i < n; ++i)
 165     {
 166         BoundNode* node = boundNamespace.Members()[i].get();
 167         node->Accept(*this);
 168     }
 169 }


Declaration at line 45 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNamespace::Members , cmajor::binder::BoundNode::Accept


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundParameter & boundParameter) override

Definition at line 1134 of SystemXCodeGenerator.cpp :
1135 {
1136     boundParameter.Load(*emitterOperationFlags::none);
1137     GenJumpingBoolCode();
1138 }


Declaration at line 73 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundParameter::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundReferenceToPointerExpression & boundReferenceToPointerExpression) override

Definition at line 1192 of SystemXCodeGenerator.cpp :
1193 {
1194     boundReferenceToPointerExpression.Load(*emitterOperationFlags::none);
1195 }


Declaration at line 83 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundReferenceToPointerExpression::Load


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundRethrowStatement & boundRethrowStatement) override

Definition at line 1117 of SystemXCodeGenerator.cpp
Declaration at line 72 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateCall , cmajor::ir::Emitter::CreateRetVoid , cmajor::ir::Emitter::GetIrTypeForFunction , cmajor::ir::Emitter::GetIrTypeForVoid , cmajor::ir::Emitter::GetOrInsertFunction , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundReturnStatement & boundReturnStatement) override

Definition at line 433 of SystemXCodeGenerator.cpp
Declaration at line 49 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCompoundStatement::Statements , cmajor::binder::BoundFunction::Body , cmajor::binder::BoundFunctionCall::Accept , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundReturnStatement::ReturnFunctionCall , cmajor::binder::BoundStatement::SetGenerated , cmajor::codegensx::SystemXCodeGenerator::ExitBlocks , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateRet , cmajor::ir::Emitter::CreateRetVoid , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Pop


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundSequenceStatement & boundSequenceStatement) override

Definition at line 417 of SystemXCodeGenerator.cpp
Declaration at line 55 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundSequenceStatement::First , cmajor::binder::BoundSequenceStatement::Second , cmajor::binder::BoundStatement::Generated , cmajor::codegensx::SystemXCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundSetVmtPtrStatement & boundSetVmtPtrStatement) override

Definition at line 1002 of SystemXCodeGenerator.cpp
Declaration at line 68 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundExpression::GetType , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundSetVmtPtrStatement::ClassPtr , cmajor::binder::BoundSetVmtPtrStatement::ClassType , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBitCast , cmajor::ir::Emitter::CreateStore , cmajor::ir::Emitter::GetIrTypeForVoidPtrType , cmajor::ir::Emitter::GetMemberVariablePtr , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Pop , cmajor::symbols::ClassTypeSymbol::VmtObject , cmajor::symbols::TypeSymbol::BaseType


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundSizeOfExpression & boundSizeOfExpression) override

Definition at line 1176 of SystemXCodeGenerator.cpp :
1177 {
1178     boundSizeOfExpression.Load(*emitterOperationFlags::none);
1179 }


Declaration at line 80 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundSizeOfExpression::Load


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundSwitchStatement & boundSwitchStatement) override

Definition at line 765 of SystemXCodeGenerator.cpp
Declaration at line 60 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundDefaultStatement::Accept , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundSwitchStatement::CaseStatements , cmajor::binder::BoundSwitchStatement::Condition , cmajor::binder::BoundSwitchStatement::DefaultStatement , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::AddCase , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::CreateSwitch , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Pop


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundTemporary & boundTemporary) override

Definition at line 1170 of SystemXCodeGenerator.cpp :
1171 {
1172     boundTemporary.Load(*emitterOperationFlags::none);
1173     GenJumpingBoolCode();
1174 }


Declaration at line 79 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundTemporary::Load , cmajor::codegensx::SystemXCodeGenerator::GenJumpingBoolCode


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundThrowStatement & boundThrowStatement) override

Definition at line 1021 of SystemXCodeGenerator.cpp
Declaration at line 69 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundThrowStatement::ThrowCallExpr , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::SetCurrentSourceSpan


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundTryStatement & boundTryStatement) override

Definition at line 1034 of SystemXCodeGenerator.cpp
Declaration at line 70 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundTryStatement::Catches , cmajor::binder::BoundTryStatement::TryBlock , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::AddMDItem , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::CreateMDLong , cmajor::ir::Emitter::CreateMDStruct , cmajor::ir::Emitter::CreateMDStructRef , cmajor::ir::Emitter::CreateNop , cmajor::ir::Emitter::GetMDStructId , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan , cmajor::ir::Emitter::SetMetadataRef


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundTypeNameExpression & boundTypeNameExpression) override

Definition at line 1250 of SystemXCodeGenerator.cpp :
1251 {
1252     boundTypeNameExpression.Load(*emitterOperationFlags::none);
1253 }


Declaration at line 93 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundTypeNameExpression::Load


Visit Member Function

void cmajor::codegensx::SystemXCodeGenerator::Visit(BoundWhileStatement & boundWhileStatement) override

Definition at line 633 of SystemXCodeGenerator.cpp
Declaration at line 57 of SystemXCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundWhileStatement::Condition , cmajor::binder::BoundWhileStatement::Statement , cmajor::codegensx::SystemXCodeGenerator::SetTarget , cmajor::ir::Emitter::CreateBasicBlock , cmajor::ir::Emitter::CreateBr , cmajor::ir::Emitter::SetCurrentBasicBlock , cmajor::ir::Emitter::SetCurrentSourceSpan


operator= Member Function

SystemXCodeGenerator & cmajor::codegensx::SystemXCodeGenerator::operator=(const SystemXCodeGenerator &) delete

Definition at line 42 of SystemXCodeGenerator.hpp


top | up | prev | next