top | up | prev | next

BoundClassOrClassDelegateConversionResult Class

Definition at line 369 of BoundExpression.hpp

Constructors

BoundClassOrClassDelegateConversionResult(std::unique_ptr<BoundExpression>&& conversionResult_, std::unique_ptr<BoundFunctionCall>&& conversionFunctionCall_)

Member Functions

void Accept(BoundNodeVisitor& visitor) override
BoundExpression* Clone() override
bool ContainsExceptionCapture() const override
BoundFunctionCall* ConversionFunctionCall()
BoundExpression* ConversionResult()
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

std::unique_ptr<BoundFunctionCall> conversionFunctionCall
std::unique_ptr<BoundExpression> conversionResult

Constructor Details

BoundClassOrClassDelegateConversionResult Constructor

cmajor::binder::BoundClassOrClassDelegateConversionResult::BoundClassOrClassDelegateConversionResult(std::unique_ptr<BoundExpression >&& conversionResult_, std::unique_ptr<BoundFunctionCall >&& conversionFunctionCall_)

Definition at line 1363 of BoundExpression.cpp :
1363 :
1364 BoundExpression(conversionResult_->GetSpan()conversionResult_->ModuleId()BoundNodeType::boundClassOrClassDelegateConversionResultconversionResult_->GetType())
1365 conversionResult(std::move(conversionResult_))conversionFunctionCall(std::move(conversionFunctionCall_))
1366 {
1367 }


Declaration at line 372 of BoundExpression.hpp


Member Function Details

Accept Member Function

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

Definition at line 1386 of BoundExpression.cpp :
1387 {
1388     visitor.Visit(*this);
1389 }


Declaration at line 376 of BoundExpression.hpp

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

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


Clone Member Function

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

Definition at line 1369 of BoundExpression.cpp :
1370 {
1371     return new BoundClassOrClassDelegateConversionResult(std::unique_ptr<BoundExpression>(conversionResult->Clone())
1372         std::unique_ptr<BoundFunctionCall>(static_cast<BoundFunctionCall*>(conversionFunctionCall->Clone())));
1373 }


Declaration at line 373 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundClassOrClassDelegateConversionResult::Clone

Called by: cmajor::binder::BoundClassOrClassDelegateConversionResult::Clone


ContainsExceptionCapture Member Function

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

Definition at line 1391 of BoundExpression.cpp
Declaration at line 380 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundClassOrClassDelegateConversionResult::ContainsExceptionCapture , cmajor::binder::BoundExpression::ContainsExceptionCapture

Called by: cmajor::binder::BoundClassOrClassDelegateConversionResult::ContainsExceptionCapture


ConversionFunctionCall Member Function

BoundFunctionCall * cmajor::binder::BoundClassOrClassDelegateConversionResult::ConversionFunctionCall()

Definition at line 382 of BoundExpression.hpp :
382 { return conversionFunctionCall.get(); }


ConversionResult Member Function

BoundExpression * cmajor::binder::BoundClassOrClassDelegateConversionResult::ConversionResult()

Definition at line 381 of BoundExpression.hpp :
381 { return conversionResult.get(); }


HasValue Member Function

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

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

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


IsLvalueExpression Member Function

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

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

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


Load Member Function

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

Definition at line 1375 of BoundExpression.cpp :
1376 {
1377     conversionFunctionCall->Load(emitterOperationFlags::none);
1378     conversionResult->Load(emitterflags);
1379 }


Declaration at line 374 of BoundExpression.hpp

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

Calls: cmajor::binder::BoundClassOrClassDelegateConversionResult::Load

Called by: cmajor::binder::BoundClassOrClassDelegateConversionResult::Load


Store Member Function

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

Definition at line 1381 of BoundExpression.cpp :
1382 {
1383     throw Exception("cannot store to class conversion result"GetSpan()ModuleId());
1384 }


Declaration at line 375 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::BoundClassOrClassDelegateConversionResult::TypeString() const override

Definition at line 379 of BoundExpression.hpp :
379 { return "class conversion result"; }

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


top | up | prev | next