top | up | prev | next

RangeForStatementNode Class

Definition at line 360 of Statement.hpp

Constructors

RangeForStatementNode(const Span& span_, const boost::uuids::uuid& moduleId_)
RangeForStatementNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node* typeExpr_, IdentifierNode* id_, Node* container_, StatementNode* action_)

Member Functions

void Accept(Visitor& visitor) override
const StatementNode* Action() const
StatementNode* Action()
Node* Clone(CloneContext& cloneContext) const override
const Span& ColonSpan() const
const Node* Container() const
Node* Container()
const IdentifierNode* Id() const
IdentifierNode* Id()
bool IsBreakEnclosingStatementNode() const override
bool IsContinueEnclosingStatementNode() const override
const Span& LeftParenSpan() const
void Read(AstReader& reader) override
const Span& RightParenSpan() const
void SetColonSpan(const Span& colonSpan_)
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<StatementNode> action
Span colonSpan
std::unique_ptr<Node> container
std::unique_ptr<IdentifierNode> id
Span leftParenSpan
Span rightParenSpan
std::unique_ptr<Node> typeExpr

Constructor Details

RangeForStatementNode Constructor

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

Definition at line 744 of Statement.cpp :
 744 :
 745 StatementNode(NodeType::rangeForStatementNodespan_moduleId_)typeExpr()id()container()action()
 746 {
 747 }


Declaration at line 363 of Statement.hpp


RangeForStatementNode Constructor

sngcm::ast::RangeForStatementNode::RangeForStatementNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node * typeExpr_, IdentifierNode * id_, Node * container_, StatementNode * action_)

Definition at line 749 of Statement.cpp :
 749 :
 750 StatementNode(NodeType::rangeForStatementNodespan_moduleId_)typeExpr(typeExpr_)id(id_)container(container_)action(action_)
 751 {
 752     typeExpr->SetParent(this);
 753     id->SetParent(this);
 754     container->SetParent(this);
 755     action->SetParent(this);
 756 }


Declaration at line 364 of Statement.hpp


Member Function Details

Accept Member Function

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

Definition at line 768 of Statement.cpp :
 769 {
 770     visitor.Visit(*this);
 771 }


Declaration at line 366 of Statement.hpp

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

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


Action Member Function

const StatementNode * sngcm::ast::RangeForStatementNode::Action() const

Definition at line 377 of Statement.hpp :
377 { return action.get(); }


Action Member Function

StatementNode * sngcm::ast::RangeForStatementNode::Action()

Definition at line 378 of Statement.hpp :
378 { return action.get(); }

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


Clone Member Function

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

Definition at line 758 of Statement.cpp :
 759 {
 760     RangeForStatementNode* clone = new RangeForStatementNode(GetSpan()ModuleId()typeExpr->Clone(cloneContext)static_cast<IdentifierNode*>(id->Clone(cloneContext))container->Clone(cloneContext)
 761         static_cast<StatementNode*>(action->Clone(cloneContext)));
 762     clone->SetLeftParenSpan(leftParenSpan);
 763     clone->SetRightParenSpan(rightParenSpan);
 764     clone->SetColonSpan(colonSpan);
 765     return clone;
 766 }


Declaration at line 365 of Statement.hpp

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

Calls: sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::RangeForStatementNode::Clone , sngcm::ast::RangeForStatementNode::SetColonSpan , sngcm::ast::RangeForStatementNode::SetLeftParenSpan , sngcm::ast::RangeForStatementNode::SetRightParenSpan

Called by: sngcm::ast::RangeForStatementNode::Clone


ColonSpan Member Function

const Span& sngcm::ast::RangeForStatementNode::ColonSpan() const

Definition at line 384 of Statement.hpp :
384 { return colonSpan; }


Container Member Function

const Node * sngcm::ast::RangeForStatementNode::Container() const

Definition at line 375 of Statement.hpp :
375 { return container.get(); }


Container Member Function

Node * sngcm::ast::RangeForStatementNode::Container()

Definition at line 376 of Statement.hpp :
376 { return container.get(); }

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


Id Member Function

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

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


Id Member Function

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

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

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


IsBreakEnclosingStatementNode Member Function

bool sngcm::ast::RangeForStatementNode::IsBreakEnclosingStatementNode() const override

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

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


IsContinueEnclosingStatementNode Member Function

bool sngcm::ast::RangeForStatementNode::IsContinueEnclosingStatementNode() const override

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

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


LeftParenSpan Member Function

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

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


Read Member Function

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

Definition at line 786 of Statement.cpp
Declaration at line 368 of Statement.hpp

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

Calls: sngcm::ast::AstReader::ReadIdentifierNode , sngcm::ast::AstReader::ReadNode , sngcm::ast::AstReader::ReadSpan , sngcm::ast::AstReader::ReadStatementNode , sngcm::ast::Node::SetParent , sngcm::ast::StatementNode::Read


RightParenSpan Member Function

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

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


SetColonSpan Member Function

void sngcm::ast::RangeForStatementNode::SetColonSpan(const Span& colonSpan_)

Definition at line 383 of Statement.hpp :
383 { colonSpan = colonSpan_; }

Called by: sngcm::ast::RangeForStatementNode::Clone


SetLeftParenSpan Member Function

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

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

Called by: sngcm::ast::RangeForStatementNode::Clone


SetRightParenSpan Member Function

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

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

Called by: sngcm::ast::RangeForStatementNode::Clone


TypeExpr Member Function

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

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


TypeExpr Member Function

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

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

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


Write Member Function

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

Definition at line 773 of Statement.cpp
Declaration at line 367 of Statement.hpp

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

Calls: sngcm::ast::AstWriter::SpanConversionModuleId , sngcm::ast::AstWriter::Write , sngcm::ast::Node::ModuleId , sngcm::ast::StatementNode::Write


top | up | prev | next