top | up | prev | next

CatchNode Class

Definition at line 531 of Statement.hpp

Constructors

CatchNode(const Span& span_, const boost::uuids::uuid& moduleId_)
CatchNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node* typeExpr_, IdentifierNode* id_, CompoundStatementNode* catchBlock_)

Member Functions

void Accept(Visitor& visitor) override
const CompoundStatementNode* CatchBlock() const
CompoundStatementNode* CatchBlock()
Node* Clone(CloneContext& cloneContext) const override
const IdentifierNode* Id() const
IdentifierNode* Id()
const Span& LeftParenSpan() const
void Read(AstReader& reader) override
const Span& RightParenSpan() const
void SetLeftParenSpan(const Span& leftParenSpan_)
void SetRightParenSpan(const Span& rightParenSpan_)
const Node* TypeExpr() const
Node* TypeExpr()
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<CompoundStatementNode> catchBlock
std::unique_ptr<IdentifierNode> id
Span leftParenSpan
Span rightParenSpan
std::unique_ptr<Node> typeExpr

Constructor Details

CatchNode Constructor

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

Definition at line 1098 of Statement.cpp :
1098 : Node(NodeType::catchNodespan_moduleId_)typeExpr()id()catchBlock()
1099 {
1100 }


Declaration at line 534 of Statement.hpp


CatchNode Constructor

sngcm::ast::CatchNode::CatchNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node * typeExpr_, IdentifierNode * id_, CompoundStatementNode * catchBlock_)

Definition at line 1102 of Statement.cpp :
1102 :
1103 Node(NodeType::catchNodespan_moduleId_)typeExpr(typeExpr_)id(id_)catchBlock(catchBlock_)
1104 {
1105     typeExpr->SetParent(this);
1106     if (id)
1107     {
1108         id->SetParent(this);
1109     }
1110     catchBlock->SetParent(this);
1111 }


Declaration at line 535 of Statement.hpp


Member Function Details

Accept Member Function

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

Definition at line 1126 of Statement.cpp :
1127 {
1128     visitor.Visit(*this);
1129 }


Declaration at line 537 of Statement.hpp

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

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


CatchBlock Member Function

const CompoundStatementNode * sngcm::ast::CatchNode::CatchBlock() const

Definition at line 544 of Statement.hpp :
544 { return catchBlock.get(); }


CatchBlock Member Function

CompoundStatementNode * sngcm::ast::CatchNode::CatchBlock()

Definition at line 545 of Statement.hpp :
545 { return catchBlock.get(); }

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


Clone Member Function

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

Definition at line 1113 of Statement.cpp
Declaration at line 536 of Statement.hpp

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

Calls: sngcm::ast::CatchNode::Clone , sngcm::ast::CatchNode::SetLeftParenSpan , sngcm::ast::CatchNode::SetRightParenSpan , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId

Called by: sngcm::ast::CatchNode::Clone


Id Member Function

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

Definition at line 542 of Statement.hpp :
542 { return id.get(); }


Id Member Function

IdentifierNode * sngcm::ast::CatchNode::Id()

Definition at line 543 of Statement.hpp :
543 { return id.get(); }

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


LeftParenSpan Member Function

const Span& sngcm::ast::CatchNode::LeftParenSpan() const

Definition at line 547 of Statement.hpp :
547 { return leftParenSpan; }


Read Member Function

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

Definition at line 1147 of Statement.cpp
Declaration at line 539 of Statement.hpp

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

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


RightParenSpan Member Function

const Span& sngcm::ast::CatchNode::RightParenSpan() const

Definition at line 549 of Statement.hpp :
549 { return rightParenSpan; }


SetLeftParenSpan Member Function

void sngcm::ast::CatchNode::SetLeftParenSpan(const Span& leftParenSpan_)

Definition at line 546 of Statement.hpp :
546 { leftParenSpan = leftParenSpan_; }

Called by: sngcm::ast::CatchNode::Clone


SetRightParenSpan Member Function

void sngcm::ast::CatchNode::SetRightParenSpan(const Span& rightParenSpan_)

Definition at line 548 of Statement.hpp :
548 { rightParenSpan = rightParenSpan_; }

Called by: sngcm::ast::CatchNode::Clone


TypeExpr Member Function

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

Definition at line 540 of Statement.hpp :
540 { return typeExpr.get(); }


TypeExpr Member Function

Node * sngcm::ast::CatchNode::TypeExpr()

Definition at line 541 of Statement.hpp :
541 { return typeExpr.get(); }

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


Write Member Function

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

Definition at line 1131 of Statement.cpp
Declaration at line 538 of Statement.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 , soulng::util::BinaryWriter::Write


top | up | prev | next