top | up | prev | next

FunctionNode Class

Definition at line 36 of Function.hpp

Constructors

FunctionNode()
FunctionNode(const Span& span_, Specifier specifiers_, Node* typeExpr_, Node* declarator_, CompoundStatementNode* body_)

Member Functions

void Accept(Visitor& visitor) override
CompoundStatementNode* Body()
Node* Declarator()
void Read(Reader& reader) override
Specifier Specifiers() const
Node* TypeExpr()
void Write(Writer& writer) override

Member Variables

std::unique_ptr<CompoundStatementNode> body
std::unique_ptr<Node> declarator
Specifier specifiers
std::unique_ptr<Node> typeExpr

Constructor Details

FunctionNode Constructor

sngcpp::ast::FunctionNode::FunctionNode()

Definition at line 61 of Function.cpp :
 61 : Node(NodeType::functionNode)specifiers()
 62 {
 63 }


Declaration at line 39 of Function.hpp


FunctionNode Constructor

sngcpp::ast::FunctionNode::FunctionNode(const Span& span_, Specifier specifiers_, Node * typeExpr_, Node * declarator_, CompoundStatementNode * body_)

Definition at line 65 of Function.cpp :
 65 :
 66 Node(NodeType::functionNodespan_)specifiers(specifiers_)typeExpr(typeExpr_)declarator(declarator_)body(body_)
 67 {
 68 }


Declaration at line 40 of Function.hpp


Member Function Details

Accept Member Function

void sngcpp::ast::FunctionNode::Accept(Visitor & visitor) override

Definition at line 70 of Function.cpp :
 71 {
 72     visitor.Visit(*this);
 73 }


Declaration at line 41 of Function.hpp

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

Calls: sngcpp::ast::Visitor::Visit


Body Member Function

CompoundStatementNode * sngcpp::ast::FunctionNode::Body()

Definition at line 47 of Function.hpp :
47 { return body.get(); }


Declarator Member Function

Node * sngcpp::ast::FunctionNode::Declarator()

Definition at line 46 of Function.hpp :
46 { return declarator.get(); }


Read Member Function

void sngcpp::ast::FunctionNode::Read(Reader & reader) override

Definition at line 88 of Function.cpp
Declaration at line 43 of Function.hpp

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

Calls: sngcpp::ast::Node::Read , sngcpp::ast::Reader::GetBinaryReader , sngcpp::ast::Reader::ReadCompoundStatementNode , sngcpp::ast::Reader::ReadNode , sngcpp::ast::Reader::ReadSpecifiers


Specifiers Member Function

Specifier sngcpp::ast::FunctionNode::Specifiers() const

Definition at line 44 of Function.hpp :
44 { return specifiers; }


TypeExpr Member Function

Node * sngcpp::ast::FunctionNode::TypeExpr()

Definition at line 45 of Function.hpp :
45 { return typeExpr.get(); }


Write Member Function

void sngcpp::ast::FunctionNode::Write(Writer & writer) override

Definition at line 75 of Function.cpp
Declaration at line 42 of Function.hpp

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

Calls: sngcpp::ast::FunctionNode::Write , sngcpp::ast::Node::Write , sngcpp::ast::Writer::GetBinaryWriter , sngcpp::ast::Writer::Write

Called by: sngcpp::ast::FunctionNode::Write


top | up | prev | next