top | up | prev | next

BoundLocalVariable Class

Definition at line 85 of BoundExpression.hpp

Constructors

BoundLocalVariable(const Span& span_, const boost::uuids::uuid& moduleId_, LocalVariableSymbol* localVariableSymbol_)

Member Functions

void Accept(BoundNodeVisitor& visitor) override
BoundExpression* Clone() override
LocalVariableSymbol* GetLocalVariableSymbol()
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

LocalVariableSymbol* localVariableSymbol

Constructor Details

BoundLocalVariable Constructor

cmajor::binder::BoundLocalVariable::BoundLocalVariable(const Span& span_, const boost::uuids::uuid& moduleId_, LocalVariableSymbol* localVariableSymbol_)

Definition at line 116 of BoundExpression.cpp :
 116 :
 117 BoundExpression(span_moduleId_BoundNodeType::boundLocalVariablelocalVariableSymbol_->GetType())localVariableSymbol(localVariableSymbol_)
 118 {
 119 }



Member Function Details

Accept Member Function

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

Definition at line 175 of BoundExpression.cpp :
 176 {
 177     visitor.Visit(*this);
 178 }


Declaration at line 93 of BoundExpression.hpp

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

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


Clone Member Function

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

Definition at line 121 of BoundExpression.cpp :
 122 {
 123     return new BoundLocalVariable(GetSpan()ModuleId()localVariableSymbol);
 124 }


Declaration at line 89 of BoundExpression.hpp

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

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


GetLocalVariableSymbol Member Function

LocalVariableSymbol * cmajor::binder::BoundLocalVariable::GetLocalVariableSymbol()

Definition at line 90 of BoundExpression.hpp :
 90 { return localVariableSymbol; }


HasValue Member Function

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

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

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


IsLvalueExpression Member Function

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

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

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


Load Member Function

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

Definition at line 126 of BoundExpression.cpp
Declaration at line 91 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::Symbol::IrObject


Store Member Function

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

Definition at line 150 of BoundExpression.cpp
Declaration at line 92 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::Symbol::IrObject


TypeString Member Function

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

Definition at line 96 of BoundExpression.hpp :
 96 { return "local variable"; }

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


top | up | prev | next