top | up | prev | next

AxiomNode Class

Definition at line 268 of Concept.hpp

Constructors

AxiomNode(const Span& span_, const boost::uuids::uuid& moduleId_)
AxiomNode(const Span& span_, const boost::uuids::uuid& moduleId_, IdentifierNode* id_)

Member Functions

void Accept(Visitor& visitor) override
void AddParameter(ParameterNode* parameter) override
void AddStatement(AxiomStatementNode* statement)
const Span& BeginBraceSpan() const
Node* Clone(CloneContext& cloneContext) const override
const Span& EndBraceSpan() const
const IdentifierNode* Id() const
IdentifierNode* Id()
const NodeList<ParameterNode>& Parameters() const
void Read(AstReader& reader) override
void SetBeginBraceSpan(const Span& beginBraceSpan_)
void SetEndBraceSpan(const Span& endBraceSpan_)
const NodeList<AxiomStatementNode>& Statements() const
void Write(AstWriter& writer) override

Member Variables

Span beginBraceSpan
Span endBraceSpan
std::unique_ptr<IdentifierNode> id
NodeList<ParameterNode> parameters
NodeList<AxiomStatementNode> statements

Constructor Details

AxiomNode Constructor

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

Definition at line 683 of Concept.cpp :
 683 : Node(NodeType::axiomNodespan_moduleId_)id()parameters()statements()
 684 {
 685 }


Declaration at line 271 of Concept.hpp


AxiomNode Constructor

sngcm::ast::AxiomNode::AxiomNode(const Span& span_, const boost::uuids::uuid& moduleId_, IdentifierNode * id_)

Definition at line 687 of Concept.cpp :
 687 :
 688 Node(NodeType::axiomNodespan_moduleId_)id(id_)parameters()statements()
 689 {
 690     id->SetParent(this);
 691 }


Declaration at line 272 of Concept.hpp


Member Function Details

Accept Member Function

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

Definition at line 711 of Concept.cpp :
 712 {
 713     visitor.Visit(*this);
 714 }


Declaration at line 274 of Concept.hpp

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

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


AddParameter Member Function

void sngcm::ast::AxiomNode::AddParameter(ParameterNode * parameter) override

Definition at line 740 of Concept.cpp :
 741 {
 742     parameter->SetParent(this);
 743     parameters.Add(parameter);
 744 }


Declaration at line 277 of Concept.hpp

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

Calls: sngcm::ast::Node::SetParent , sngcm::ast::NodeList::Add

Called by: sngcm::ast::AxiomNode::Clone


AddStatement Member Function

void sngcm::ast::AxiomNode::AddStatement(AxiomStatementNode * statement)

Definition at line 746 of Concept.cpp :
 747 {
 748     statement->SetParent(this);
 749     statements.Add(statement);
 750 }


Declaration at line 278 of Concept.hpp

Calls: sngcm::ast::Node::SetParent , sngcm::ast::NodeList::Add

Called by: sngcm::ast::AxiomNode::Clone


BeginBraceSpan Member Function

const Span& sngcm::ast::AxiomNode::BeginBraceSpan() const

Definition at line 284 of Concept.hpp :
284 { return beginBraceSpan; }


Clone Member Function

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

Definition at line 693 of Concept.cpp
Declaration at line 273 of Concept.hpp

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

Calls: sngcm::ast::AxiomNode::AddParameter , sngcm::ast::AxiomNode::AddStatement , sngcm::ast::AxiomNode::Clone , sngcm::ast::AxiomNode::SetBeginBraceSpan , sngcm::ast::AxiomNode::SetEndBraceSpan , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::NodeList::Count

Called by: sngcm::ast::AxiomNode::Clone


EndBraceSpan Member Function

const Span& sngcm::ast::AxiomNode::EndBraceSpan() const

Definition at line 286 of Concept.hpp :
286 { return endBraceSpan; }


Id Member Function

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

Definition at line 279 of Concept.hpp :
279 { return id.get(); }


Id Member Function

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

Definition at line 280 of Concept.hpp :
280 { return id.get(); }

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


Parameters Member Function

const NodeList <ParameterNode >& sngcm::ast::AxiomNode::Parameters() const

Definition at line 281 of Concept.hpp :
281 { return parameters; }

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


Read Member Function

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

Definition at line 727 of Concept.cpp
Declaration at line 276 of Concept.hpp

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

Calls: sngcm::ast::AstReader::ReadIdentifierNode , sngcm::ast::AstReader::ReadSpan , sngcm::ast::Node::Read , sngcm::ast::Node::SetParent , sngcm::ast::NodeList::Read , sngcm::ast::NodeList::SetParent


SetBeginBraceSpan Member Function

void sngcm::ast::AxiomNode::SetBeginBraceSpan(const Span& beginBraceSpan_)

Definition at line 283 of Concept.hpp :
283 { beginBraceSpan = beginBraceSpan_; }

Called by: sngcm::ast::AxiomNode::Clone


SetEndBraceSpan Member Function

void sngcm::ast::AxiomNode::SetEndBraceSpan(const Span& endBraceSpan_)

Definition at line 285 of Concept.hpp :
285 { endBraceSpan = endBraceSpan_; }

Called by: sngcm::ast::AxiomNode::Clone


Statements Member Function

const NodeList <AxiomStatementNode >& sngcm::ast::AxiomNode::Statements() const

Definition at line 282 of Concept.hpp :
282 { return statements; }

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


Write Member Function

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

Definition at line 716 of Concept.cpp :
 717 {
 718     Node::Write(writer);
 719     writer.Write(id.get());
 720     parameters.Write(writer);
 721     statements.Write(writer);
 722     bool convertExternal = ModuleId() == writer.SpanConversionModuleId();
 723     writer.Write(beginBraceSpanconvertExternal);
 724     writer.Write(endBraceSpanconvertExternal);
 725 }


Declaration at line 275 of Concept.hpp

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

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


top | up | prev | next