top | up | prev | next

InterfaceNode Class

Definition at line 12 of Interface.hpp

Constructors

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

Member Functions

void Accept(Visitor& visitor) override
void AddMember(Node* member)
const Span& BeginBraceSpan() const
Node* Clone(CloneContext& cloneContext) const override
const Span& EndBraceSpan() const
AttributesNode* GetAttributes() const
Specifiers GetSpecifiers() const override
IdentifierNode* Id() const
const NodeList<Node>& Members() const
void Read(AstReader& reader) override
void SetBeginBraceSpan(const Span& beginBraceSpan_)
void SetEndBraceSpan(const Span& endBraceSpan_)
void SetSpecifierSpan(const Span& specifierSpan_)
const Span& SpecifierSpan() const
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<AttributesNode> attributes
Span beginBraceSpan
Span endBraceSpan
std::unique_ptr<IdentifierNode> id
NodeList<Node> members
Span specifierSpan
Specifiers specifiers

Constructor Details

InterfaceNode Constructor

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

Definition at line 12 of Interface.cpp :
12 :
13 Node(NodeType::interfaceNodespan_moduleId_)specifiers()id()members()
14 {
15 }


Declaration at line 15 of Interface.hpp


InterfaceNode Constructor

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

Definition at line 17 of Interface.cpp :
17 :
18 Node(NodeType::interfaceNodespan_moduleId_)specifiers(specifiers_)id(id_)members()attributes(attributes_)
19 {
20     id->SetParent(this);
21 }


Declaration at line 16 of Interface.hpp


Member Function Details

Accept Member Function

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

Definition at line 42 of Interface.cpp :
43 {
44     visitor.Visit(*this);
45 }


Declaration at line 18 of Interface.hpp

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

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


AddMember Member Function

void sngcm::ast::InterfaceNode::AddMember(Node * member)

Definition at line 81 of Interface.cpp :
82 {
83     member->SetParent(this);
84     members.Add(member);
85 }


Declaration at line 24 of Interface.hpp

Calls: sngcm::ast::Node::SetParent , sngcm::ast::NodeList::Add

Called by: sngcm::ast::InterfaceNode::Clone


BeginBraceSpan Member Function

const Span& sngcm::ast::InterfaceNode::BeginBraceSpan() const

Definition at line 29 of Interface.hpp :
29 { return beginBraceSpan; }


Clone Member Function

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

Definition at line 23 of Interface.cpp
Declaration at line 17 of Interface.hpp

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

Calls: sngcm::ast::InterfaceNode::AddMember , sngcm::ast::InterfaceNode::Clone , sngcm::ast::InterfaceNode::SetBeginBraceSpan , sngcm::ast::InterfaceNode::SetEndBraceSpan , sngcm::ast::InterfaceNode::SetSpecifierSpan , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::NodeList::Count

Called by: sngcm::ast::InterfaceNode::Clone


EndBraceSpan Member Function

const Span& sngcm::ast::InterfaceNode::EndBraceSpan() const

Definition at line 31 of Interface.hpp :
31 { return endBraceSpan; }


GetAttributes Member Function

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

Definition at line 25 of Interface.hpp :
25 { return attributes.get(); }

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


GetSpecifiers Member Function

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

Definition at line 21 of Interface.hpp :
21 { return specifiers; }

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

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


Id Member Function

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

Definition at line 22 of Interface.hpp :
22 { return id.get(); }

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


Members Member Function

const NodeList <Node >& sngcm::ast::InterfaceNode::Members() const

Definition at line 23 of Interface.hpp :
23 { return members; }

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


Read Member Function

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

Definition at line 64 of Interface.cpp
Declaration at line 20 of Interface.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::ReadSpan , sngcm::ast::Node::Read , sngcm::ast::Node::SetParent , sngcm::ast::NodeList::Read , sngcm::ast::NodeList::SetParent , soulng::util::BinaryReader::ReadBool


SetBeginBraceSpan Member Function

void sngcm::ast::InterfaceNode::SetBeginBraceSpan(const Span& beginBraceSpan_)

Definition at line 28 of Interface.hpp :
28 { beginBraceSpan = beginBraceSpan_; }

Called by: sngcm::ast::InterfaceNode::Clone


SetEndBraceSpan Member Function

void sngcm::ast::InterfaceNode::SetEndBraceSpan(const Span& endBraceSpan_)

Definition at line 30 of Interface.hpp :
30 { endBraceSpan = endBraceSpan_; }

Called by: sngcm::ast::InterfaceNode::Clone


SetSpecifierSpan Member Function

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

Definition at line 26 of Interface.hpp :
26 { specifierSpan = specifierSpan_; }

Called by: sngcm::ast::InterfaceNode::Clone


SpecifierSpan Member Function

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

Definition at line 27 of Interface.hpp :
27 { return specifierSpan; }


Write Member Function

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

Definition at line 47 of Interface.cpp
Declaration at line 19 of Interface.hpp

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

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


top | up | prev | next