top | up | prev | next

BoundParameter Class

Definition at line 69 of BoundExpression.hpp

Constructors

BoundParameter(const Span& span_, const boost::uuids::uuid& moduleId_, ParameterSymbol* parameterSymbol_)

Member Functions

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

ParameterSymbol* parameterSymbol

Constructor Details

BoundParameter Constructor

cmajor::binder::BoundParameter::BoundParameter(const Span& span_, const boost::uuids::uuid& moduleId_, ParameterSymbol* parameterSymbol_)

Definition at line 52 of BoundExpression.cpp :
  52 :
  53 BoundExpression(span_moduleId_BoundNodeType::boundParameterparameterSymbol_->GetType())parameterSymbol(parameterSymbol_)
  54 {
  55 }



Member Function Details

Accept Member Function

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

Definition at line 111 of BoundExpression.cpp :
 112 {
 113     visitor.Visit(*this);
 114 }


Declaration at line 77 of BoundExpression.hpp

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

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


Clone Member Function

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

Definition at line 57 of BoundExpression.cpp :
  58 {
  59     return new BoundParameter(GetSpan()ModuleId()parameterSymbol);
  60 }


Declaration at line 73 of BoundExpression.hpp

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

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


GetParameterSymbol Member Function

ParameterSymbol * cmajor::binder::BoundParameter::GetParameterSymbol()

Definition at line 74 of BoundExpression.hpp :
 74 { return parameterSymbol; }


HasValue Member Function

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

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

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


IsLvalueExpression Member Function

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

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

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


Load Member Function

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

Definition at line 62 of BoundExpression.cpp
Declaration at line 75 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::BoundParameter::Store(Emitter & emitter, OperationFlags flags) override

Definition at line 86 of BoundExpression.cpp
Declaration at line 76 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::BoundParameter::TypeString() const override

Definition at line 80 of BoundExpression.hpp :
 80 { return "parameter"; }

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


top | up | prev | next