top | up | prev | next

GotoCaseStatementNode Class

Definition at line 467 of Statement.hpp

Constructors

GotoCaseStatementNode(const Span& span_, const boost::uuids::uuid& moduleId_)
GotoCaseStatementNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node* caseExpr_)

Member Functions

void Accept(Visitor& visitor) override
const Node* CaseExpr() const
Node* CaseExpr()
Node* Clone(CloneContext& cloneContext) const override
bool IsCaseTerminatingNode() const override
bool IsDefaultTerminatingNode() const override
void Read(AstReader& reader) override
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<Node> caseExpr

Constructor Details

GotoCaseStatementNode Constructor

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

Definition at line 997 of Statement.cpp :
 997 :
 998 StatementNode(NodeType::gotoCaseStatementNodespan_moduleId_)caseExpr()
 999 {
1000 }


Declaration at line 470 of Statement.hpp


GotoCaseStatementNode Constructor

sngcm::ast::GotoCaseStatementNode::GotoCaseStatementNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node * caseExpr_)

Definition at line 1002 of Statement.cpp :
1002 :
1003 StatementNode(NodeType::gotoCaseStatementNodespan_moduleId_)caseExpr(caseExpr_)
1004 {
1005     caseExpr->SetParent(this);
1006 }


Declaration at line 471 of Statement.hpp


Member Function Details

Accept Member Function

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

Definition at line 1014 of Statement.cpp :
1015 {
1016     visitor.Visit(*this);
1017 }


Declaration at line 473 of Statement.hpp

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

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


CaseExpr Member Function

const Node * sngcm::ast::GotoCaseStatementNode::CaseExpr() const

Definition at line 478 of Statement.hpp :
478 { return caseExpr.get(); }


CaseExpr Member Function

Node * sngcm::ast::GotoCaseStatementNode::CaseExpr()

Definition at line 479 of Statement.hpp :
479 { return caseExpr.get(); }

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


Clone Member Function

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

Definition at line 1008 of Statement.cpp :
1009 {
1010     GotoCaseStatementNode* clone = new GotoCaseStatementNode(GetSpan()ModuleId()caseExpr->Clone(cloneContext));
1011     return clone;
1012 }


Declaration at line 472 of Statement.hpp

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

Calls: sngcm::ast::GotoCaseStatementNode::Clone , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId

Called by: sngcm::ast::GotoCaseStatementNode::Clone


IsCaseTerminatingNode Member Function

bool sngcm::ast::GotoCaseStatementNode::IsCaseTerminatingNode() const override

Definition at line 476 of Statement.hpp :
476 { return true; }

Base class overridden functions: sngcm::ast::StatementNode::IsCaseTerminatingNode


IsDefaultTerminatingNode Member Function

bool sngcm::ast::GotoCaseStatementNode::IsDefaultTerminatingNode() const override

Definition at line 477 of Statement.hpp :
477 { return true; }

Base class overridden functions: sngcm::ast::StatementNode::IsDefaultTerminatingNode


Read Member Function

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

Definition at line 1025 of Statement.cpp :
1026 {
1027     StatementNode::Read(reader);
1028     caseExpr.reset(reader.ReadNode());
1029 }


Declaration at line 475 of Statement.hpp

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

Calls: sngcm::ast::AstReader::ReadNode , sngcm::ast::StatementNode::Read


Write Member Function

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

Definition at line 1019 of Statement.cpp :
1020 {
1021     StatementNode::Write(writer);
1022     writer.Write(caseExpr.get());
1023 }


Declaration at line 474 of Statement.hpp

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

Calls: sngcm::ast::StatementNode::Write


top | up | prev | next