top | up | prev | next

BoundReferenceToPointerExpression Class

Definition at line 252 of BoundExpression.hpp

Constructors

BoundReferenceToPointerExpression(std::unique_ptr<BoundExpression>&& subject_, TypeSymbol* type_)

Member Functions

void Accept(BoundNodeVisitor& visitor) override
BoundExpression* Clone() override
bool ContainsExceptionCapture() const override
void Load(Emitter& emitter, OperationFlags flags) override
void Store(Emitter& emitter, OperationFlags flags) override
std::unique_ptr<BoundExpression>& Subject()
std::string TypeString() const override

Member Variables

std::unique_ptr<BoundExpression> subject

Constructor Details

BoundReferenceToPointerExpression Constructor

cmajor::binder::BoundReferenceToPointerExpression::BoundReferenceToPointerExpression(std::unique_ptr<BoundExpression >&& subject_, TypeSymbol* type_)

Definition at line 743 of BoundExpression.cpp :
 743 :
 744 BoundExpression(subject_->GetSpan()subject_->ModuleId()BoundNodeType::boundReferenceToPointerExpressiontype_)subject(std::move(subject_))
 745 {
 746     subject->MoveTemporaryDestructorCallsTo(*this);
 747 }



Member Function Details

Accept Member Function

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

Definition at line 768 of BoundExpression.cpp :
 769 {
 770     visitor.Visit(*this);
 771 }


Declaration at line 259 of BoundExpression.hpp

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

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


Clone Member Function

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

Definition at line 749 of BoundExpression.cpp :
 750 {
 751     std::unique_ptr<BoundExpression> clonedSubject;
 752     clonedSubject.reset(subject->Clone());
 753     return new BoundReferenceToPointerExpression(std::move(clonedSubject)GetType());
 754 }


Declaration at line 256 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundExpression::GetType , cmajor::binder::BoundReferenceToPointerExpression::Clone

Called by: cmajor::binder::BoundReferenceToPointerExpression::Clone


ContainsExceptionCapture Member Function

bool cmajor::binder::BoundReferenceToPointerExpression::ContainsExceptionCapture() const override

Definition at line 773 of BoundExpression.cpp
Declaration at line 261 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundExpression::ContainsExceptionCapture , cmajor::binder::BoundReferenceToPointerExpression::ContainsExceptionCapture

Called by: cmajor::binder::BoundReferenceToPointerExpression::ContainsExceptionCapture


Load Member Function

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

Definition at line 756 of BoundExpression.cpp :
 757 {
 758     subject->Load(emitterflags);
 759     DestroyTemporaries(emitter);
 760 }


Declaration at line 257 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundReferenceToPointerExpression::Load

Called by: cmajor::binder::BoundReferenceToPointerExpression::Load


Store Member Function

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

Definition at line 762 of BoundExpression.cpp :
 763 {
 764     subject->Store(emitterflags);
 765     DestroyTemporaries(emitter);
 766 }


Declaration at line 258 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundReferenceToPointerExpression::Store

Called by: cmajor::binder::BoundReferenceToPointerExpression::Store


Subject Member Function

std::unique_ptr<BoundExpression >& cmajor::binder::BoundReferenceToPointerExpression::Subject()

Definition at line 262 of BoundExpression.hpp :
262 { return subject; }


TypeString Member Function

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

Definition at line 260 of BoundExpression.hpp :
260 { return "reference to pointer expression"; }

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


top | up | prev | next