top | up | prev | next

CaseStatementNode Class

Definition at line 433 of Statement.hpp

Constructors

CaseStatementNode(const Span& span_, const boost::uuids::uuid& moduleId_)

Member Functions

void Accept(Visitor& visitor) override
void AddCaseExpr(Node* caseExpr)
void AddCaseSpan(const Span& caseSpan)
void AddStatement(StatementNode* statement)
const NodeList<Node>& CaseExprs() const
const std::vector<Span>& CaseSpans() const
Node* Clone(CloneContext& cloneContext) const override
void Read(AstReader& reader) override
const NodeList<StatementNode>& Statements() const
void Write(AstWriter& writer) override

Member Variables

NodeList<Node> caseExprs
std::vector<Span> caseSpans
NodeList<StatementNode> statements

Constructor Details

CaseStatementNode Constructor

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

Definition at line 886 of Statement.cpp :
 886 :
 887 StatementNode(NodeType::caseStatementNodespan_moduleId_)caseExprs()statements()
 888 {
 889 }


Declaration at line 436 of Statement.hpp


Member Function Details

Accept Member Function

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

Definition at line 908 of Statement.cpp :
 909 {
 910     visitor.Visit(*this);
 911 }


Declaration at line 438 of Statement.hpp

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

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


AddCaseExpr Member Function

void sngcm::ast::CaseStatementNode::AddCaseExpr(Node * caseExpr)

Definition at line 941 of Statement.cpp :
 942 {
 943     caseExpr->SetParent(this);
 944     caseExprs.Add(caseExpr);
 945 }


Declaration at line 441 of Statement.hpp

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

Called by: sngcm::ast::CaseStatementNode::Clone


AddCaseSpan Member Function

void sngcm::ast::CaseStatementNode::AddCaseSpan(const Span& caseSpan)

Definition at line 947 of Statement.cpp :
 948 {
 949     caseSpans.push_back(caseSpan);
 950 }


Declaration at line 445 of Statement.hpp


AddStatement Member Function

void sngcm::ast::CaseStatementNode::AddStatement(StatementNode * statement)

Definition at line 952 of Statement.cpp :
 953 {
 954     statement->SetParent(this);
 955     statements.Add(statement);
 956 }


Declaration at line 443 of Statement.hpp

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

Called by: sngcm::ast::CaseStatementNode::Clone


CaseExprs Member Function

const NodeList <Node >& sngcm::ast::CaseStatementNode::CaseExprs() const

Definition at line 442 of Statement.hpp :
442 { return caseExprs; }

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


CaseSpans Member Function

const std::vector<Span>& sngcm::ast::CaseStatementNode::CaseSpans() const

Definition at line 446 of Statement.hpp :
446 { return caseSpans; }


Clone Member Function

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

Definition at line 891 of Statement.cpp
Declaration at line 437 of Statement.hpp

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

Calls: sngcm::ast::CaseStatementNode::AddCaseExpr , sngcm::ast::CaseStatementNode::AddStatement , sngcm::ast::CaseStatementNode::Clone , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::NodeList::Count

Called by: sngcm::ast::CaseStatementNode::Clone


Read Member Function

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

Definition at line 927 of Statement.cpp
Declaration at line 440 of Statement.hpp

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

Calls: sngcm::ast::AstReader::GetBinaryReader , sngcm::ast::AstReader::ReadSpan , sngcm::ast::NodeList::Read , sngcm::ast::NodeList::SetParent , sngcm::ast::StatementNode::Read , soulng::util::BinaryReader::ReadULEB128UInt


Statements Member Function

const NodeList <StatementNode >& sngcm::ast::CaseStatementNode::Statements() const

Definition at line 444 of Statement.hpp :
444 { return statements; }

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


Write Member Function

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

Definition at line 913 of Statement.cpp
Declaration at line 439 of Statement.hpp

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

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


top | up | prev | next