top | up | prev | next

MemberVariableNode Class

Definition at line 174 of Class.hpp

Constructors

MemberVariableNode(const Span& span_, const boost::uuids::uuid& moduleId_)
MemberVariableNode(const Span& span_, const boost::uuids::uuid& moduleId_, Specifiers specifiers_, Node* typeExpr_, IdentifierNode* id_, AttributesNode* attributes_)

Member Functions

void Accept(Visitor& visitor) override
Node* Clone(CloneContext& cloneContext) const override
AttributesNode* GetAttributes() const
Specifiers GetSpecifiers() const override
IdentifierNode* Id() const
void Read(AstReader& reader) override
void SetSpecifierSpan(const Span& specifierSpan_)
const Span& SpecifierSpan() const
Node* TypeExpr() const
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<AttributesNode> attributes
std::unique_ptr<IdentifierNode> id
Span specifierSpan
Specifiers specifiers
std::unique_ptr<Node> typeExpr

Constructor Details

MemberVariableNode Constructor

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

Definition at line 493 of Class.cpp :
493 : Node(NodeType::memberVariableNodespan_moduleId_)specifiers()
494 {
495 }


Declaration at line 177 of Class.hpp


MemberVariableNode Constructor

sngcm::ast::MemberVariableNode::MemberVariableNode(const Span& span_, const boost::uuids::uuid& moduleId_, Specifiers specifiers_, Node * typeExpr_, IdentifierNode * id_, AttributesNode * attributes_)

Definition at line 497 of Class.cpp :
497 :
498 Node(NodeType::memberVariableNodespan_moduleId_)specifiers(specifiers_)typeExpr(typeExpr_)id(id_)attributes(attributes_)
499 {
500     typeExpr->SetParent(this);
501     id->SetParent(this);
502 }


Declaration at line 178 of Class.hpp


Member Function Details

Accept Member Function

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

Definition at line 516 of Class.cpp :
517 {
518     visitor.Visit(*this);
519 }


Declaration at line 180 of Class.hpp

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

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


Clone Member Function

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

Definition at line 504 of Class.cpp :
505 {
506     AttributesNode* clonedAttributes = nullptr;
507     if (attributes)
508     {
509         clonedAttributes = static_cast<AttributesNode*>(attributes->Clone(cloneContext));
510     }
511     MemberVariableNode* clone =  new MemberVariableNode(GetSpan()ModuleId()specifierstypeExpr->Clone(cloneContext)static_cast<IdentifierNode*>(id->Clone(cloneContext))clonedAttributes);
512     clone->SetSpecifierSpan(specifierSpan);
513     return clone;
514 }


Declaration at line 179 of Class.hpp

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

Calls: sngcm::ast::MemberVariableNode::Clone , sngcm::ast::MemberVariableNode::SetSpecifierSpan , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId

Called by: sngcm::ast::MemberVariableNode::Clone


GetAttributes Member Function

AttributesNode * sngcm::ast::MemberVariableNode::GetAttributes() const

Definition at line 186 of Class.hpp :
186 { return attributes.get(); }

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


GetSpecifiers Member Function

Specifiers sngcm::ast::MemberVariableNode::GetSpecifiers() const override

Definition at line 183 of Class.hpp :
183 { return specifiers; }

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

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


Id Member Function

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

Definition at line 185 of Class.hpp :
185 { return id.get(); }

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


Read Member Function

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

Definition at line 537 of Class.cpp
Declaration at line 182 of Class.hpp

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

Calls: sngcm::ast::AstReader::GetBinaryReader , sngcm::ast::AstReader::ReadAttributesNode , sngcm::ast::AstReader::ReadIdentifierNode , sngcm::ast::AstReader::ReadNode , sngcm::ast::AstReader::ReadSpan , sngcm::ast::AstReader::ReadSpecifiers , sngcm::ast::Node::Read , sngcm::ast::Node::SetParent , soulng::util::BinaryReader::ReadBool


SetSpecifierSpan Member Function

void sngcm::ast::MemberVariableNode::SetSpecifierSpan(const Span& specifierSpan_)

Definition at line 187 of Class.hpp :
187 { specifierSpan = specifierSpan_; }

Called by: sngcm::ast::MemberVariableNode::Clone


SpecifierSpan Member Function

const Span& sngcm::ast::MemberVariableNode::SpecifierSpan() const

Definition at line 188 of Class.hpp :
188 { return specifierSpan; }


TypeExpr Member Function

Node * sngcm::ast::MemberVariableNode::TypeExpr() const

Definition at line 184 of Class.hpp :
184 { return typeExpr.get(); }

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


Write Member Function

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

Definition at line 521 of Class.cpp
Declaration at line 181 of Class.hpp

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

Calls: sngcm::ast::AstWriter::GetBinaryWriter , sngcm::ast::AstWriter::SpanConversionModuleId , sngcm::ast::AstWriter::Write , sngcm::ast::AstWriter::Write , sngcm::ast::Node::ModuleId , sngcm::ast::Node::Write , soulng::util::BinaryWriter::Write


top | up | prev | next