top | up | prev | next

AliasNode Class

Definition at line 53 of Namespace.hpp

Constructors

AliasNode(const Span& span_, const boost::uuids::uuid& moduleId_)
AliasNode(const Span& span_, const boost::uuids::uuid& moduleId_, IdentifierNode* id_, IdentifierNode* qid_)

Member Functions

void Accept(Visitor& visitor) override
Node* Clone(CloneContext& cloneContext) const override
IdentifierNode* Id() const
IdentifierNode* Qid() const
void Read(AstReader& reader) override
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<IdentifierNode> id
std::unique_ptr<IdentifierNode> qid

Constructor Details

AliasNode Constructor

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

Definition at line 111 of Namespace.cpp :
111 : Node(NodeType::aliasNodespan_moduleId_)id()qid()
112 {
113 }


Declaration at line 56 of Namespace.hpp


AliasNode Constructor

sngcm::ast::AliasNode::AliasNode(const Span& span_, const boost::uuids::uuid& moduleId_, IdentifierNode * id_, IdentifierNode * qid_)

Definition at line 115 of Namespace.cpp :
115 : Node(NodeType::aliasNodespan_moduleId_)id(id_)qid(qid_)
116 {
117     id->SetParent(this);
118     qid->SetParent(this);
119 }


Declaration at line 57 of Namespace.hpp


Member Function Details

Accept Member Function

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

Definition at line 127 of Namespace.cpp :
128 {
129     visitor.Visit(*this);
130 }


Declaration at line 59 of Namespace.hpp

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

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


Clone Member Function

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

Definition at line 121 of Namespace.cpp :
122 {
123     AliasNode* clone = new AliasNode(GetSpan()ModuleId()static_cast<IdentifierNode*>(id->Clone(cloneContext))static_cast<IdentifierNode*>(qid->Clone(cloneContext)));
124     return clone;
125 }


Declaration at line 58 of Namespace.hpp

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

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

Called by: sngcm::ast::AliasNode::Clone


Id Member Function

IdentifierNode * sngcm::ast::AliasNode::Id() const

Definition at line 148 of Namespace.cpp :
149 {
150     return id.get();
151 }


Declaration at line 62 of Namespace.hpp

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


Qid Member Function

IdentifierNode * sngcm::ast::AliasNode::Qid() const

Definition at line 153 of Namespace.cpp :
154 {
155     return qid.get();
156 }


Declaration at line 63 of Namespace.hpp

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


Read Member Function

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

Definition at line 139 of Namespace.cpp :
140 {
141     Node::Read(reader);
142     id.reset(reader.ReadIdentifierNode());
143     id->SetParent(this);
144     qid.reset(reader.ReadIdentifierNode());
145     qid->SetParent(this);
146 }


Declaration at line 61 of Namespace.hpp

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

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


Write Member Function

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

Definition at line 132 of Namespace.cpp :
133 {
134     Node::Write(writer);
135     writer.Write(id.get());
136     writer.Write(qid.get());
137 }


Declaration at line 60 of Namespace.hpp

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

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


top | up | prev | next