top | up | prev | next

AliasNode Class

Definition at line 53 of Namespace.hpp

Constructors

AliasNode(const Span& span_)
AliasNode(const Span& span_, 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_)

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


Declaration at line 56 of Namespace.hpp


AliasNode Constructor

sngcm::ast::AliasNode::AliasNode(const Span& span_, IdentifierNode * id_, IdentifierNode * qid_)

Definition at line 115 of Namespace.cpp :
115 : Node(NodeType::aliasNodespan_)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 126 of Namespace.cpp :
127 {
128     visitor.Visit(*this);
129 }


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     return new AliasNode(GetSpan()static_cast<IdentifierNode*>(id->Clone(cloneContext))static_cast<IdentifierNode*>(qid->Clone(cloneContext)));
124 }


Declaration at line 58 of Namespace.hpp

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

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

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


Id Member Function

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

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


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 152 of Namespace.cpp :
153 {
154     return qid.get();
155 }


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 138 of Namespace.cpp :
139 {
140     Node::Read(reader);
141     id.reset(reader.ReadIdentifierNode());
142     id->SetParent(this);
143     qid.reset(reader.ReadIdentifierNode());
144     qid->SetParent(this);
145 }


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 131 of Namespace.cpp :
132 {
133     Node::Write(writer);
134     writer.Write(id.get());
135     writer.Write(qid.get());
136 }


Declaration at line 60 of Namespace.hpp

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

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


top | up | prev | next