top | up | prev | next

BoundSizeOfExpression Class

Definition at line 206 of BoundExpression.hpp

Constructors

BoundSizeOfExpression(const Span& span_, const boost::uuids::uuid& moduleId_, TypeSymbol* type_, TypeSymbol* pointerType_)

Member Functions

void Accept(BoundNodeVisitor& visitor) override
BoundExpression* Clone() override
void Load(Emitter& emitter, OperationFlags flags) override
TypeSymbol* PointerType()
void Store(Emitter& emitter, OperationFlags flags) override
std::string TypeString() const override

Member Variables

TypeSymbol* pointerType

Constructor Details

BoundSizeOfExpression Constructor

cmajor::binder::BoundSizeOfExpression::BoundSizeOfExpression(const Span& span_, const boost::uuids::uuid& moduleId_, TypeSymbol* type_, TypeSymbol* pointerType_)

Definition at line 576 of BoundExpression.cpp :
 576 :
 577 BoundExpression(span_moduleId_BoundNodeType::boundSizeOfExpressiontype_)pointerType(pointerType_)
 578 {
 579 }



Member Function Details

Accept Member Function

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

Definition at line 608 of BoundExpression.cpp :
 609 {
 610     visitor.Visit(*this);
 611 }


Declaration at line 213 of BoundExpression.hpp

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

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


Clone Member Function

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

Definition at line 581 of BoundExpression.cpp :
 582 {
 583     return new BoundSizeOfExpression(GetSpan()ModuleId()GetType()pointerType);
 584 }


Declaration at line 210 of BoundExpression.hpp

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

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


Load Member Function

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

Definition at line 586 of BoundExpression.cpp
Declaration at line 211 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::ir::Emitter::SizeOf , cmajor::ir::Emitter::Stack , cmajor::ir::ValueStack::Push , cmajor::symbols::TypeSymbol::IrType


PointerType Member Function

TypeSymbol * cmajor::binder::BoundSizeOfExpression::PointerType()

Definition at line 215 of BoundExpression.hpp :
215 { return pointerType; }


Store Member Function

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

Definition at line 603 of BoundExpression.cpp :
 604 {
 605     throw Exception("cannot store to a sizeof expression"GetSpan()ModuleId());
 606 }


Declaration at line 212 of BoundExpression.hpp

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

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


TypeString Member Function

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

Definition at line 214 of BoundExpression.hpp :
214 { return "sizeof"; }

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


top | up | prev | next