top | up | prev | next

BoundAddressOfExpression Class

Definition at line 220 of BoundExpression.hpp

Constructors

BoundAddressOfExpression(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::unique_ptr<Value> ToValue(BoundCompileUnit& boundCompileUnit) const override
std::string TypeString() const override

Member Variables

std::unique_ptr<BoundExpression> subject

Constructor Details

BoundAddressOfExpression Constructor

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

Definition at line 613 of BoundExpression.cpp :
 613 :
 614 BoundExpression(subject_->GetSpan()subject_->ModuleId()BoundNodeType::boundAddressOfExpressiontype_)subject(std::move(subject_))
 615 {
 616     subject->MoveTemporaryDestructorCallsTo(*this);
 617 }



Member Function Details

Accept Member Function

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

Definition at line 654 of BoundExpression.cpp :
 655 {
 656     visitor.Visit(*this);
 657 }


Declaration at line 227 of BoundExpression.hpp

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

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


Clone Member Function

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

Definition at line 619 of BoundExpression.cpp :
 620 {
 621     std::unique_ptr<BoundExpression> clonedSubject;
 622     clonedSubject.reset(subject->Clone());
 623     return new BoundAddressOfExpression(std::move(clonedSubject)GetType());
 624 }


Declaration at line 224 of BoundExpression.hpp

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

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

Called by: cmajor::binder::BoundAddressOfExpression::Clone


ContainsExceptionCapture Member Function

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

Definition at line 664 of BoundExpression.cpp
Declaration at line 231 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundAddressOfExpression::ContainsExceptionCapture , cmajor::binder::BoundExpression::ContainsExceptionCapture

Called by: cmajor::binder::BoundAddressOfExpression::ContainsExceptionCapture


Load Member Function

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

Definition at line 626 of BoundExpression.cpp
Declaration at line 225 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundAddressOfExpression::Load , cmajor::binder::BoundDereferenceExpression::Subject , cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundNode::GetBoundNodeType

Called by: cmajor::binder::BoundAddressOfExpression::Load


Store Member Function

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

Definition at line 640 of BoundExpression.cpp
Declaration at line 226 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundAddressOfExpression::Store , cmajor::binder::BoundDereferenceExpression::Subject , cmajor::binder::BoundExpression::DestroyTemporaries , cmajor::binder::BoundNode::GetBoundNodeType

Called by: cmajor::binder::BoundAddressOfExpression::Store


Subject Member Function

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

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

Called by: cmajor::binder::BoundDereferenceExpression::Load , cmajor::binder::BoundDereferenceExpression::Store


ToValue Member Function

std::unique_ptr<Value> cmajor::binder::BoundAddressOfExpression::ToValue(BoundCompileUnit & boundCompileUnit) const override

Definition at line 659 of BoundExpression.cpp :
 660 {
 661     return subject->ToValue(boundCompileUnit);
 662 }


Declaration at line 230 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundAddressOfExpression::ToValue

Called by: cmajor::binder::BoundAddressOfExpression::ToValue


TypeString Member Function

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

Definition at line 228 of BoundExpression.hpp :
228 { return "address of expression"; }

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


top | up | prev | next