top | up | prev | next

SizeOfNode Class

Definition at line 421 of Expression.hpp

Constructors

SizeOfNode(const Span& span_)
SizeOfNode(const Span& span_, 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_)

Definition at line 964 of Expression.cpp :
 964 : Node(NodeType::sizeOfNodespan_)expression()
 965 {
 966 }


Declaration at line 424 of Expression.hpp


SizeOfNode Constructor

sngcm::ast::SizeOfNode::SizeOfNode(const Span& span_, Node * expression_)

Definition at line 968 of Expression.cpp :
 968 : Node(NodeType::sizeOfNodespan_)expression(expression_)
 969 {
 970     expression->SetParent(this);
 971 }


Declaration at line 425 of Expression.hpp


Member Function Details

Accept Member Function

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

Definition at line 978 of Expression.cpp :
 979 {
 980     visitor.Visit(*this);
 981 }


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 973 of Expression.cpp :
 974 {
 975     return new SizeOfNode(GetSpan()expression->Clone(cloneContext));
 976 }


Declaration at line 426 of Expression.hpp

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

Calls: sngcm::ast::Node::GetSpan , 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 989 of Expression.cpp :
 990 {
 991     Node::Read(reader);
 992     expression.reset(reader.ReadNode());
 993     expression->SetParent(this);
 994 }


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 996 of Expression.cpp :
 997 {
 998     return "sizeof(" + expression->ToString() + ")";
 999 }


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 983 of Expression.cpp :
 984 {
 985     Node::Write(writer);
 986     writer.Write(expression.get());
 987 }


Declaration at line 428 of Expression.hpp

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

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


top | up | prev | next