top | up | prev | next

RValueRefNode Class

Definition at line 44 of TypeExpr.hpp

Constructors

RValueRefNode(const Span& span_, const boost::uuids::uuid& moduleId_)
RValueRefNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node* subject_)

Member Functions

void Accept(Visitor& visitor) override
Node* Clone(CloneContext& cloneContext) const override
void Read(AstReader& reader) override
const Node* Subject() const
Node* Subject()
std::string ToString() const override
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<Node> subject

Constructor Details

RValueRefNode Constructor

sngcm::ast::RValueRefNode::RValueRefNode(const Span& span_, const boost::uuids::uuid& moduleId_)

Definition at line 90 of TypeExpr.cpp :
 90 : Node(NodeType::rvalueRefNodespan_moduleId_)
 91 {
 92 }


Declaration at line 47 of TypeExpr.hpp


RValueRefNode Constructor

sngcm::ast::RValueRefNode::RValueRefNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node * subject_)

Definition at line 94 of TypeExpr.cpp :
 94 :
 95 Node(NodeType::rvalueRefNodespan_moduleId_)subject(subject_)
 96 {
 97     subject->SetParent(this);
 98 }


Declaration at line 48 of TypeExpr.hpp


Member Function Details

Accept Member Function

void sngcm::ast::RValueRefNode::Accept(Visitor & visitor) override

Definition at line 106 of TypeExpr.cpp :
107 {
108     visitor.Visit(*this);
109 }


Declaration at line 50 of TypeExpr.hpp

Base class overridden functions: sngcm::ast::Node::Accept

Calls: sngcm::ast::Visitor::Visit


Clone Member Function

Node * sngcm::ast::RValueRefNode::Clone(CloneContext & cloneContext) const override

Definition at line 100 of TypeExpr.cpp :
101 {
102     RValueRefNode* clone = new RValueRefNode(GetSpan()ModuleId()subject->Clone(cloneContext));
103     return clone;
104 }


Declaration at line 49 of TypeExpr.hpp

Base class overridden functions: sngcm::ast::Node::Clone

Calls: sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::RValueRefNode::Clone

Called by: sngcm::ast::RValueRefNode::Clone


Read Member Function

void sngcm::ast::RValueRefNode::Read(AstReader & reader) override

Definition at line 117 of TypeExpr.cpp :
118 {
119     Node::Read(reader);
120     subject.reset(reader.ReadNode());
121     subject->SetParent(this);
122 }


Declaration at line 52 of TypeExpr.hpp

Base class overridden functions: sngcm::ast::Node::Read

Calls: sngcm::ast::AstReader::ReadNode , sngcm::ast::Node::Read , sngcm::ast::Node::SetParent


Subject Member Function

const Node * sngcm::ast::RValueRefNode::Subject() const

Definition at line 54 of TypeExpr.hpp :
54 { return subject.get(); }


Subject Member Function

Node * sngcm::ast::RValueRefNode::Subject()

Definition at line 55 of TypeExpr.hpp :
55 { return subject.get(); }

Called by: sngcm::ast::SourceWriter::Visit


ToString Member Function

std::string sngcm::ast::RValueRefNode::ToString() const override

Definition at line 124 of TypeExpr.cpp :
125 {
126     return subject->ToString() + "&&";
127 }


Declaration at line 53 of TypeExpr.hpp

Base class overridden functions: sngcm::ast::Node::ToString

Calls: sngcm::ast::RValueRefNode::ToString

Called by: sngcm::ast::RValueRefNode::ToString


Write Member Function

void sngcm::ast::RValueRefNode::Write(AstWriter & writer) override

Definition at line 111 of TypeExpr.cpp :
112 {
113     Node::Write(writer);
114     writer.Write(subject.get());
115 }


Declaration at line 51 of TypeExpr.hpp

Base class overridden functions: sngcm::ast::Node::Write

Calls: sngcm::ast::Node::Write


top | up | prev | next