top | up | prev | next

BoundClass Class

Definition at line 15 of BoundClass.hpp

Constructors

BoundClass(ClassTypeSymbol* classTypeSymbol_)
BoundClass(const BoundClass&) delete

Member Functions

void Accept(BoundNodeVisitor& visitor) override
void AddMember(std::unique_ptr<BoundNode>&& member)
bool ContainsSourceFunctions() const
ClassTypeSymbol* GetClassTypeSymbol()
bool IsInlineFunctionContainer() const
void Load(Emitter& emitter, OperationFlags flags) override
const std::vector<std::unique_ptr<BoundNode>>& Members() const
void SetInlineFunctionContainer()
void Store(Emitter& emitter, OperationFlags flags) override
BoundClass& operator=(const BoundClass&) delete

Member Variables

ClassTypeSymbol* classTypeSymbol
bool inlineFunctionContainer
std::vector<std::unique_ptr<BoundNode>> members

Constructor Details

BoundClass Constructor

cmajor::binder::BoundClass::BoundClass(ClassTypeSymbol* classTypeSymbol_)

Definition at line 13 of BoundClass.cpp :
13 :
14 BoundNode(classTypeSymbol_->GetSpan()classTypeSymbol_->SourceModuleId()BoundNodeType::boundClass)classTypeSymbol(classTypeSymbol_)inlineFunctionContainer(false)
15 {
16 }



BoundClass Constructor

cmajor::binder::BoundClass::BoundClass(const BoundClass &) delete

Definition at line 19 of BoundClass.hpp


Member Function Details

Accept Member Function

void cmajor::binder::BoundClass::Accept(BoundNodeVisitor & visitor) override

Definition at line 18 of BoundClass.cpp :
19 {
20     visitor.Visit(*this);
21 }


Declaration at line 21 of BoundClass.hpp

Base class overridden functions: cmajor::binder::BoundNode::Accept

Calls: cmajor::binder::BoundNodeVisitor::Visit


AddMember Member Function

void cmajor::binder::BoundClass::AddMember(std::unique_ptr<BoundNode >&& member)

Definition at line 33 of BoundClass.cpp :
34 {
35     members.push_back(std::move(member));
36 }


Declaration at line 24 of BoundClass.hpp

Called by: cmajor::binder::JsonAttributeProcessor::GenerateJsonConstructorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateJsonCreatorImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonImplementation , cmajor::binder::JsonAttributeProcessor::GenerateToJsonJsonObjectImplementation , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::StatementBinder::Visit , cmajor::binder::XmlAttributeProcessor::GenerateSystemDomElementConstructorImplementation , cmajor::binder::XmlAttributeProcessor::GenerateToXmlMemberFunctionImplementation


ContainsSourceFunctions Member Function

bool cmajor::binder::BoundClass::ContainsSourceFunctions() const

Definition at line 38 of BoundClass.cpp
Declaration at line 27 of BoundClass.hpp

Calls: cmajor::binder::BoundFunction::GetFunctionSymbol , cmajor::binder::BoundNode::GetBoundNodeType , cmajor::symbols::FunctionSymbol::HasSource


GetClassTypeSymbol Member Function

ClassTypeSymbol * cmajor::binder::BoundClass::GetClassTypeSymbol()

Definition at line 26 of BoundClass.hpp :
26 { return classTypeSymbol; }

Called by: cmajor::binder::StatementBinder::Visit


IsInlineFunctionContainer Member Function

bool cmajor::binder::BoundClass::IsInlineFunctionContainer() const

Definition at line 28 of BoundClass.hpp :
28 { return inlineFunctionContainer; }


Load Member Function

void cmajor::binder::BoundClass::Load(Emitter & emitter, OperationFlags flags) override

Definition at line 23 of BoundClass.cpp :
24 {
25     throw Exception("cannot load from class"GetSpan()ModuleId());
26 }


Declaration at line 22 of BoundClass.hpp

Base class overridden functions: cmajor::ir::GenObject::Load

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId


Members Member Function

const std::vector<std::unique_ptr<BoundNode >>& cmajor::binder::BoundClass::Members() const

Definition at line 25 of BoundClass.hpp :
25 { return members; }

Called by: cmajor::binder::ControlFlowAnalyzer::Visit


SetInlineFunctionContainer Member Function

void cmajor::binder::BoundClass::SetInlineFunctionContainer()

Definition at line 29 of BoundClass.hpp :
29 { inlineFunctionContainer = true; }


Store Member Function

void cmajor::binder::BoundClass::Store(Emitter & emitter, OperationFlags flags) override

Definition at line 28 of BoundClass.cpp :
29 {
30     throw Exception("cannot store to class"GetSpan()ModuleId());
31 }


Declaration at line 23 of BoundClass.hpp

Base class overridden functions: cmajor::ir::GenObject::Store

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId


operator= Member Function

BoundClass & cmajor::binder::BoundClass::operator=(const BoundClass &) delete

Definition at line 20 of BoundClass.hpp


top | up | prev | next