top | up | prev | next

SizeOfNode Class

Definition at line 421 of Expression.hpp

Constructors

SizeOfNode(const Span& span_, const boost::uuids::uuid& moduleId_)
SizeOfNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node* expression_)

Member Functions

void Accept(Visitor& visitor) override
Node* Clone(CloneContext& cloneContext) const override
const Node* Expression() const
Node* Expression()
void Read(AstReader& reader) override
std::string ToString() const override
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<Node> expression

Constructor Details

SizeOfNode Constructor

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

Definition at line 1021 of Expression.cpp :
1021 : Node(NodeType::sizeOfNodespan_moduleId_)expression()
1022 {
1023 }


Declaration at line 424 of Expression.hpp


SizeOfNode Constructor

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

Definition at line 1025 of Expression.cpp :
1025 :
1026 Node(NodeType::sizeOfNodespan_moduleId_)expression(expression_)
1027 {
1028     expression->SetParent(this);
1029 }


Declaration at line 425 of Expression.hpp


Member Function Details

Accept Member Function

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

Definition at line 1037 of Expression.cpp :
1038 {
1039     visitor.Visit(*this);
1040 }


Declaration at line 427 of Expression.hpp

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

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


Clone Member Function

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

Definition at line 1031 of Expression.cpp :
1032 {
1033     SizeOfNode* clone = new SizeOfNode(GetSpan()ModuleId()expression->Clone(cloneContext));
1034     return clone;
1035 }


Declaration at line 426 of Expression.hpp

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

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

Called by: sngcm::ast::SizeOfNode::Clone


Expression Member Function

const Node * sngcm::ast::SizeOfNode::Expression() const

Definition at line 430 of Expression.hpp :
430 { return expression.get(); }


Expression Member Function

Node * sngcm::ast::SizeOfNode::Expression()

Definition at line 431 of Expression.hpp :
431 { return expression.get(); }

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


Read Member Function

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

Definition at line 1048 of Expression.cpp :
1049 {
1050     Node::Read(reader);
1051     expression.reset(reader.ReadNode());
1052     expression->SetParent(this);
1053 }


Declaration at line 429 of Expression.hpp

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

Calls: sngcm::ast::AstReader::ReadNode , sngcm::ast::Node::Read , sngcm::ast::Node::SetParent


ToString Member Function

std::string sngcm::ast::SizeOfNode::ToString() const override

Definition at line 1055 of Expression.cpp :
1056 {
1057     return "sizeof(" + expression->ToString() + ")";
1058 }


Declaration at line 432 of Expression.hpp

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

Calls: sngcm::ast::SizeOfNode::ToString

Called by: sngcm::ast::SizeOfNode::ToString


Write Member Function

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

Definition at line 1042 of Expression.cpp :
1043 {
1044     Node::Write(writer);
1045     writer.Write(expression.get());
1046 }


Declaration at line 428 of Expression.hpp

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

Calls: sngcm::ast::Node::Write


top | up | prev | next