top | up | prev | next

InterfaceNode Class

Definition at line 12 of Interface.hpp

Constructors

InterfaceNode(const Span& span_)
InterfaceNode(const Span& span_, Specifiers specifiers_, IdentifierNode* id_, Attributes* 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
Attributes* 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<Attributes> 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_)

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


Declaration at line 15 of Interface.hpp


InterfaceNode Constructor

sngcm::ast::InterfaceNode::InterfaceNode(const Span& span_, Specifiers specifiers_, IdentifierNode * id_, Attributes * attributes_)

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


Declaration at line 16 of Interface.hpp


Member Function Details

Accept Member Function

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

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


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 80 of Interface.cpp :
81 {
82     member->SetParent(this);
83     members.Add(member);
84 }


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 22 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::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

Attributes * 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 62 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::ReadIdentifierNode , sngcm::ast::AstReader::ReadSpan , sngcm::ast::InterfaceNode::Read , sngcm::ast::Node::Read , sngcm::ast::Node::SetParent , sngcm::ast::NodeList::Read , sngcm::ast::NodeList::SetParent , soulng::util::BinaryReader::ReadBool

Called by: sngcm::ast::InterfaceNode::Read


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 46 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::Write , sngcm::ast::InterfaceNode::Write , sngcm::ast::Node::Write , sngcm::ast::NodeList::Write , soulng::util::BinaryWriter::Write

Called by: sngcm::ast::InterfaceNode::Write


top | up | prev | next