top | up | prev | next

WindowsCodeGenerator Class

Definition at line 14 of WindowsCodeGenerator.hpp

Constructors

WindowsCodeGenerator(cmajor::ir::EmittingContext& emittingContext_)

Member Functions

void CreateCleanup() override
void GenerateCodeForCleanups() override
void* GetPersonalityFunction() const override
void Visit(BoundBreakStatement& boundBreakStatement) override
void Visit(BoundContinueStatement& boundContinueStatement) override
void Visit(BoundGotoCaseStatement& boundGotoCaseStatement) override
void Visit(BoundGotoDefaultStatement& boundGotoDefaultStatement) override
void Visit(BoundGotoStatement& boundGotoStatement) override
void Visit(BoundRethrowStatement& boundRethrowStatement) override
void Visit(BoundReturnStatement& boundReturnStatement) override
void Visit(BoundTryStatement& boundTryStatement) override

Constructor Details

WindowsCodeGenerator Constructor

cmajor::codegenwin::WindowsCodeGenerator::WindowsCodeGenerator(cmajor::ir::EmittingContext& emittingContext_)

Definition at line 15 of WindowsCodeGenerator.cpp :
 15 : LlvmCodeGenerator(emittingContext_)
 16 {
 17 }


Declaration at line 17 of WindowsCodeGenerator.hpp


Member Function Details

CreateCleanup Member Function

void cmajor::codegenwin::WindowsCodeGenerator::CreateCleanup() override

Definition at line 360 of WindowsCodeGenerator.cpp
Declaration at line 26 of WindowsCodeGenerator.hpp

Calls: cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundStatement::Block , cmajor::binder::BoundStatement::Parent


GenerateCodeForCleanups Member Function

void cmajor::codegenwin::WindowsCodeGenerator::GenerateCodeForCleanups() override

Definition at line 408 of WindowsCodeGenerator.cpp
Declaration at line 28 of WindowsCodeGenerator.hpp

Base class overridden functions: cmajor::codegenllvm::LlvmCodeGenerator::GenerateCodeForCleanups


GetPersonalityFunction Member Function

void * cmajor::codegenwin::WindowsCodeGenerator::GetPersonalityFunction() const override

Definition at line 401 of WindowsCodeGenerator.cpp :
402 {
403     void* personalityFunctionType = emitter->GetIrTypeForVariableParamFunction(emitter->GetIrTypeForInt());
404     void* personalityFunction = emitter->GetOrInsertFunction("__CxxFrameHandler3"personalityFunctionTypefalse);
405     return personalityFunction;
406 }


Declaration at line 27 of WindowsCodeGenerator.hpp

Base class overridden functions: cmajor::codegenllvm::LlvmCodeGenerator::GetPersonalityFunction


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundBreakStatement & boundBreakStatement) override

Definition at line 141 of WindowsCodeGenerator.cpp
Declaration at line 21 of WindowsCodeGenerator.hpp

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

Calls: cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundStatement::Parent , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundContinueStatement & boundContinueStatement) override

Definition at line 170 of WindowsCodeGenerator.cpp
Declaration at line 22 of WindowsCodeGenerator.hpp

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

Calls: cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundStatement::Parent , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundGotoCaseStatement & boundGotoCaseStatement) override

Definition at line 72 of WindowsCodeGenerator.cpp
Declaration at line 19 of WindowsCodeGenerator.hpp

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

Calls: cmajor::binder::BoundGotoCaseStatement::CaseValue , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::binder::BoundStatement::Parent , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundGotoDefaultStatement & boundGotoDefaultStatement) override

Definition at line 108 of WindowsCodeGenerator.cpp
Declaration at line 20 of WindowsCodeGenerator.hpp

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

Calls: cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::binder::BoundStatement::Parent , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundGotoStatement & boundGotoStatement) override

Definition at line 199 of WindowsCodeGenerator.cpp
Declaration at line 23 of WindowsCodeGenerator.hpp

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

Calls: cmajor::binder::BoundGotoStatement::TargetBlock , cmajor::binder::BoundGotoStatement::TargetStatement , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::binder::BoundStatement::Parent , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundRethrowStatement & boundRethrowStatement) override

Definition at line 335 of WindowsCodeGenerator.cpp
Declaration at line 25 of WindowsCodeGenerator.hpp

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

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundRethrowStatement::ReleaseCall , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundReturnStatement & boundReturnStatement) override

Definition at line 19 of WindowsCodeGenerator.cpp
Declaration at line 18 of WindowsCodeGenerator.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::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::GenerateExitFunctionCode , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenwin::WindowsCodeGenerator::Visit(BoundTryStatement & boundTryStatement) override

Definition at line 236 of WindowsCodeGenerator.cpp
Declaration at line 24 of WindowsCodeGenerator.hpp

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

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundTryStatement::Catches , cmajor::binder::BoundTryStatement::TryBlock , cmajor::codegenllvm::LlvmCodeGenerator::ClearFlags , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


top | up | prev | next