top | up | prev | next

ConceptNode Class

Definition at line 315 of Concept.hpp

Constructors

ConceptNode(NodeType nodeType_, const Span& span_, const boost::uuids::uuid& moduleId_)
ConceptNode(NodeType nodeType_, const Span& span_, const boost::uuids::uuid& moduleId_, Specifiers specifiers_, IdentifierNode* id_)
ConceptNode(const Span& span_, const boost::uuids::uuid& moduleId_)
ConceptNode(const Span& span_, const boost::uuids::uuid& moduleId_, Specifiers specifiers_, IdentifierNode* id_)

Member Functions

void Accept(Visitor& visitor) override
void AddAxiom(AxiomNode* axiom_)
void AddConstraint(ConstraintNode* constraint)
void AddTypeParameter(IdentifierNode* typeParameter)
int Arity() const
const NodeList<AxiomNode>& Axioms() const
const Span& BeginBraceSpan() const
Node* Clone(CloneContext& cloneContext) const override
const NodeList<ConstraintNode>& Constraints() const
const Span& EndBraceSpan() const
Specifiers GetSpecifiers() const override
const IdentifierNode* Id() const
IdentifierNode* Id()
bool IsCommonConceptNode() const virtual
bool IsConceptNode() const override
void Read(AstReader& reader) override
ConceptIdNode* Refinement()
void SetBeginBraceSpan(const Span& beginBraceSpan_)
void SetEndBraceSpan(const Span& endBraceSpan_)
void SetRefinement(ConceptIdNode* refinement_)
const NodeList<IdentifierNode>& TypeParameters() const
void Write(AstWriter& writer) override

Member Variables

NodeList<AxiomNode> axioms
Span beginBraceSpan
NodeList<ConstraintNode> constraints
Span endBraceSpan
std::unique_ptr<IdentifierNode> id
std::unique_ptr<ConceptIdNode> refinement
Specifiers specifiers
NodeList<IdentifierNode> typeParameters

Constructor Details

ConceptNode Constructor

sngcm::ast::ConceptNode::ConceptNode(NodeType nodeType_, const Span& span_, const boost::uuids::uuid& moduleId_)

Definition at line 820 of Concept.cpp :
 820 : Node(nodeType_span_moduleId_)specifiers(Specifiers::none)id()typeParameters()refinement()constraints()axioms()
 821 {
 822 }


Declaration at line 319 of Concept.hpp


ConceptNode Constructor

sngcm::ast::ConceptNode::ConceptNode(NodeType nodeType_, const Span& span_, const boost::uuids::uuid& moduleId_, Specifiers specifiers_, IdentifierNode * id_)

Definition at line 830 of Concept.cpp :
 830 :
 831 Node(nodeType_span_moduleId_)specifiers(specifiers_)id(id_)typeParameters()refinement()constraints()axioms()
 832 {
 833     id->SetParent(this);
 834 }


Declaration at line 321 of Concept.hpp


ConceptNode Constructor

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

Definition at line 816 of Concept.cpp :
 816 : Node(NodeType::conceptNodespan_moduleId_)specifiers(Specifiers::none)id()typeParameters()refinement()constraints()axioms()
 817 {
 818 }


Declaration at line 318 of Concept.hpp


ConceptNode Constructor

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

Definition at line 824 of Concept.cpp :
 824 :
 825 Node(NodeType::conceptNodespan_moduleId_)specifiers(specifiers_)id(id_)typeParameters()refinement()constraints()axioms()
 826 {
 827     id->SetParent(this);
 828 }


Declaration at line 320 of Concept.hpp


Member Function Details

Accept Member Function

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

Definition at line 863 of Concept.cpp :
 864 {
 865     visitor.Visit(*this);
 866 }


Declaration at line 323 of Concept.hpp

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

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


AddAxiom Member Function

void sngcm::ast::ConceptNode::AddAxiom(AxiomNode * axiom_)

Definition at line 927 of Concept.cpp :
 928 {
 929     axiom_->SetParent(this);
 930     axioms.Add(axiom_);
 931 }


Declaration at line 337 of Concept.hpp

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

Called by: sngcm::ast::ConceptNode::Clone


AddConstraint Member Function

void sngcm::ast::ConceptNode::AddConstraint(ConstraintNode * constraint)

Definition at line 921 of Concept.cpp :
 922 {
 923     constraint->SetParent(this);
 924     constraints.Add(constraint);
 925 }


Declaration at line 335 of Concept.hpp

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

Called by: sngcm::ast::ConceptNode::Clone


AddTypeParameter Member Function

void sngcm::ast::ConceptNode::AddTypeParameter(IdentifierNode * typeParameter)

Definition at line 909 of Concept.cpp :
 910 {
 911     typeParameter->SetParent(this);
 912     typeParameters.Add(typeParameter);
 913 }


Declaration at line 332 of Concept.hpp

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

Called by: sngcm::ast::ConceptNode::Clone


Arity Member Function

int sngcm::ast::ConceptNode::Arity() const

Definition at line 330 of Concept.hpp :
330 { return typeParameters.Count(); }

Calls: sngcm::ast::NodeList::Count


Axioms Member Function

const NodeList <AxiomNode >& sngcm::ast::ConceptNode::Axioms() const

Definition at line 338 of Concept.hpp :
338 { return axioms; }

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


BeginBraceSpan Member Function

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

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


Clone Member Function

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

Definition at line 836 of Concept.cpp
Declaration at line 322 of Concept.hpp

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

Calls: sngcm::ast::ConceptNode::AddAxiom , sngcm::ast::ConceptNode::AddConstraint , sngcm::ast::ConceptNode::AddTypeParameter , sngcm::ast::ConceptNode::Clone , sngcm::ast::ConceptNode::SetBeginBraceSpan , sngcm::ast::ConceptNode::SetEndBraceSpan , sngcm::ast::ConceptNode::SetRefinement , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::NodeList::Count

Called by: sngcm::ast::ConceptNode::Clone


Constraints Member Function

const NodeList <ConstraintNode >& sngcm::ast::ConceptNode::Constraints() const

Definition at line 336 of Concept.hpp :
336 { return constraints; }

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


EndBraceSpan Member Function

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

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


GetSpecifiers Member Function

Specifiers sngcm::ast::ConceptNode::GetSpecifiers() const override

Definition at line 339 of Concept.hpp :
339 { return specifiers; }

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

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


Id Member Function

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

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


Id Member Function

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

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

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


IsCommonConceptNode Member Function

bool sngcm::ast::ConceptNode::IsCommonConceptNode() const virtual

Definition at line 327 of Concept.hpp :
327 { return false; }

Derived class overrides: sngcm::ast::CommonConceptNode::IsCommonConceptNode


IsConceptNode Member Function

bool sngcm::ast::ConceptNode::IsConceptNode() const override

Definition at line 326 of Concept.hpp :
326 { return true; }

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


Read Member Function

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

Definition at line 887 of Concept.cpp
Declaration at line 325 of Concept.hpp

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

Calls: sngcm::ast::AstReader::GetBinaryReader , sngcm::ast::AstReader::ReadConceptIdNode , sngcm::ast::AstReader::ReadIdentifierNode , sngcm::ast::AstReader::ReadSpan , sngcm::ast::AstReader::ReadSpecifiers , sngcm::ast::Node::Read , sngcm::ast::Node::SetParent , sngcm::ast::NodeList::Read , sngcm::ast::NodeList::SetParent , soulng::util::BinaryReader::ReadBool


Refinement Member Function

ConceptIdNode * sngcm::ast::ConceptNode::Refinement()

Definition at line 334 of Concept.hpp :
334 { return refinement.get(); }

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


SetBeginBraceSpan Member Function

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

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

Called by: sngcm::ast::ConceptNode::Clone


SetEndBraceSpan Member Function

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

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

Called by: sngcm::ast::ConceptNode::Clone


SetRefinement Member Function

void sngcm::ast::ConceptNode::SetRefinement(ConceptIdNode * refinement_)

Definition at line 915 of Concept.cpp :
 916 {
 917     refinement.reset(refinement_);
 918     refinement->SetParent(this);
 919 }


Declaration at line 333 of Concept.hpp

Calls: sngcm::ast::Node::SetParent

Called by: sngcm::ast::ConceptNode::Clone


TypeParameters Member Function

const NodeList <IdentifierNode >& sngcm::ast::ConceptNode::TypeParameters() const

Definition at line 331 of Concept.hpp :
331 { return typeParameters; }

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


Write Member Function

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

Definition at line 868 of Concept.cpp
Declaration at line 324 of Concept.hpp

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

Calls: sngcm::ast::AstWriter::GetBinaryWriter , sngcm::ast::AstWriter::SpanConversionModuleId , sngcm::ast::AstWriter::Write , sngcm::ast::AstWriter::Write , sngcm::ast::Node::ModuleId , sngcm::ast::Node::Write , sngcm::ast::NodeList::Write , soulng::util::BinaryWriter::Write


top | up | prev | next