top | up | prev | next

BoundNamespaceExpression Class

Definition at line 563 of BoundExpression.hpp

Constructors

BoundNamespaceExpression(const Span& span_, const boost::uuids::uuid& moduleId_, NamespaceSymbol* ns_)

Member Functions

void Accept(BoundNodeVisitor& visitor) override
BoundExpression* Clone() override
bool IsComplete() const override
void Load(Emitter& emitter, OperationFlags flags) override
NamespaceSymbol* Ns()
void Store(Emitter& emitter, OperationFlags flags) override
std::string TypeString() const override

Member Variables

NamespaceSymbol* ns
std::unique_ptr<TypeSymbol> nsType

Constructor Details

BoundNamespaceExpression Constructor

cmajor::binder::BoundNamespaceExpression::BoundNamespaceExpression(const Span& span_, const boost::uuids::uuid& moduleId_, NamespaceSymbol* ns_)

Definition at line 2042 of BoundExpression.cpp :
2042 :
2043 BoundExpression(span_moduleId_BoundNodeType::boundNamespaceExpressionCreateNamespaceTypeSymbol(ns_))ns(ns_)
2044 {
2045     nsType.reset(GetType());
2046 }



Member Function Details

Accept Member Function

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

Definition at line 2063 of BoundExpression.cpp :
2064 {
2065     throw Exception("cannot visit a namespace"GetSpan()ModuleId());
2066 }


Declaration at line 571 of BoundExpression.hpp

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

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


Clone Member Function

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

Definition at line 2048 of BoundExpression.cpp :
2049 {
2050     return new BoundNamespaceExpression(GetSpan()ModuleId()ns);
2051 }


Declaration at line 567 of BoundExpression.hpp

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

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


IsComplete Member Function

bool cmajor::binder::BoundNamespaceExpression::IsComplete() const override

Definition at line 568 of BoundExpression.hpp :
568 { return false; }

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


Load Member Function

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

Definition at line 2053 of BoundExpression.cpp :
2054 {
2055     throw Exception("cannot load from a namespace"GetSpan()ModuleId());
2056 }


Declaration at line 569 of BoundExpression.hpp

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

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


Ns Member Function

NamespaceSymbol * cmajor::binder::BoundNamespaceExpression::Ns()

Definition at line 573 of BoundExpression.hpp :
573 { return ns; }

Called by: cmajor::binder::ExpressionBinder::Visit


Store Member Function

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

Definition at line 2058 of BoundExpression.cpp :
2059 {
2060     throw Exception("cannot store to a namespace"GetSpan()ModuleId());
2061 }


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

Definition at line 572 of BoundExpression.hpp :
572 { return "namespace expression"; }

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


top | up | prev | next