top | up | prev | next

BoundGlobalVariable Class

Definition at line 169 of BoundExpression.hpp

Constructors

BoundGlobalVariable(const Span& span_, const boost::uuids::uuid& moduleId_, GlobalVariableSymbol* globalVariableSymbol_)

Member Functions

void Accept(BoundNodeVisitor& visitor) override
BoundExpression* Clone() override
GlobalVariableSymbol* GetGlobalVariableSymbol() const
bool HasValue() const override
bool IsLvalueExpression() const override
void Load(Emitter& emitter, OperationFlags flags) override
void Store(Emitter& emitter, OperationFlags flags) override
std::string TypeString() const override

Member Variables

GlobalVariableSymbol* globalVariableSymbol

Constructor Details

BoundGlobalVariable Constructor

cmajor::binder::BoundGlobalVariable::BoundGlobalVariable(const Span& span_, const boost::uuids::uuid& moduleId_, GlobalVariableSymbol* globalVariableSymbol_)

Definition at line 434 of BoundExpression.cpp :
 434 :
 435 BoundExpression(span_moduleId_BoundNodeType::boundGlobalVariableglobalVariableSymbol_->GetType())globalVariableSymbol(globalVariableSymbol_)
 436 {
 437 }



Member Function Details

Accept Member Function

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

Definition at line 498 of BoundExpression.cpp :
 499 {
 500     visitor.Visit(*this);
 501 }


Declaration at line 179 of BoundExpression.hpp

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

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


Clone Member Function

BoundExpression * cmajor::binder::BoundGlobalVariable::Clone() override

Definition at line 439 of BoundExpression.cpp :
 440 {
 441     return new BoundGlobalVariable(GetSpan()ModuleId()globalVariableSymbol);
 442 }


Declaration at line 174 of BoundExpression.hpp

Base class overridden functions: cmajor::binder::BoundExpression::Clone

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


GetGlobalVariableSymbol Member Function

GlobalVariableSymbol * cmajor::binder::BoundGlobalVariable::GetGlobalVariableSymbol() const

Definition at line 173 of BoundExpression.hpp :
173 { return globalVariableSymbol; }


HasValue Member Function

bool cmajor::binder::BoundGlobalVariable::HasValue() const override

Definition at line 176 of BoundExpression.hpp :
176 { return true; }

Base class overridden functions: cmajor::binder::BoundExpression::HasValue


IsLvalueExpression Member Function

bool cmajor::binder::BoundGlobalVariable::IsLvalueExpression() const override

Definition at line 175 of BoundExpression.hpp :
175 { return true; }

Base class overridden functions: cmajor::binder::BoundExpression::IsLvalueExpression


Load Member Function

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

Definition at line 444 of BoundExpression.cpp
Declaration at line 177 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundNode::GetSpan , cmajor::ir::Emitter::CreateLoad , cmajor::ir::Emitter::SetCurrentDebugLocation , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Push , cmajor::symbols::GlobalVariableSymbol::IrObject


Store Member Function

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

Definition at line 469 of BoundExpression.cpp
Declaration at line 178 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::ir::Emitter::CreateLoad , cmajor::ir::Emitter::CreateStore , cmajor::ir::Emitter::SetCurrentDebugLocation , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Pop , cmajor::symbols::GlobalVariableSymbol::IrObject


TypeString Member Function

std::string cmajor::binder::BoundGlobalVariable::TypeString() const override

Definition at line 180 of BoundExpression.hpp :
180 { return "global variable"; }

Base class overridden functions: cmajor::binder::BoundExpression::TypeString


top | up | prev | next