top | up | prev | next

ConceptIdNode Class

Definition at line 295 of Concept.hpp

Constructors

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

Member Functions

void Accept(Visitor& visitor) override
void AddTypeParameter(Node* typeParameter)
int Arity() const
Node* Clone(CloneContext& cloneContext) const override
const IdentifierNode* Id() const
IdentifierNode* Id()
void Read(AstReader& reader) override
std::string ToString() const override
const NodeList<Node>& TypeParameters() const
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<IdentifierNode> id
NodeList<Node> typeParameters

Constructor Details

ConceptIdNode Constructor

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

Definition at line 752 of Concept.cpp :
 752 : Node(NodeType::conceptIdNodespan_moduleId_)id()typeParameters()
 753 {
 754 }


Declaration at line 298 of Concept.hpp


ConceptIdNode Constructor

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

Definition at line 756 of Concept.cpp :
 756 : Node(NodeType::conceptIdNodespan_moduleId_)id(id_)typeParameters()
 757 {
 758     id->SetParent(this);
 759 }


Declaration at line 299 of Concept.hpp


Member Function Details

Accept Member Function

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

Definition at line 772 of Concept.cpp :
 773 {
 774     visitor.Visit(*this);
 775 }


Declaration at line 301 of Concept.hpp

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

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

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


AddTypeParameter Member Function

void sngcm::ast::ConceptIdNode::AddTypeParameter(Node * typeParameter)

Definition at line 793 of Concept.cpp :
 794 {
 795     typeParameter->SetParent(this);
 796     typeParameters.Add(typeParameter);
 797 }


Declaration at line 307 of Concept.hpp

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

Called by: sngcm::ast::ConceptIdNode::Clone


Arity Member Function

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

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

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


Clone Member Function

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

Definition at line 761 of Concept.cpp :
 762 {
 763     ConceptIdNode* clone = new ConceptIdNode(GetSpan()ModuleId()static_cast<IdentifierNode*>(id->Clone(cloneContext)));
 764     int n = typeParameters.Count();
 765     for (int i = 0; i < n; ++i)
 766     {
 767         clone->AddTypeParameter(typeParameters[i]->Clone(cloneContext));
 768     }
 769     return clone;
 770 }


Declaration at line 300 of Concept.hpp

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

Calls: sngcm::ast::ConceptIdNode::AddTypeParameter , sngcm::ast::ConceptIdNode::Clone , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId , sngcm::ast::NodeList::Count

Called by: sngcm::ast::ConceptIdNode::Clone


Id Member Function

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

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


Id Member Function

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

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

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


Read Member Function

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

Definition at line 784 of Concept.cpp :
 785 {
 786     Node::Read(reader);
 787     id.reset(reader.ReadIdentifierNode());
 788     id->SetParent(this);
 789     typeParameters.Read(reader);
 790     typeParameters.SetParent(this);
 791 }


Declaration at line 303 of Concept.hpp

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

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


ToString Member Function

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

Definition at line 799 of Concept.cpp
Declaration at line 309 of Concept.hpp

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

Calls: sngcm::ast::ConceptIdNode::ToString , sngcm::ast::NodeList::Count

Called by: sngcm::ast::ConceptIdNode::ToString


TypeParameters Member Function

const NodeList <Node >& sngcm::ast::ConceptIdNode::TypeParameters() const

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

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


Write Member Function

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

Definition at line 777 of Concept.cpp :
 778 {
 779     Node::Write(writer);
 780     writer.Write(id.get());
 781     typeParameters.Write(writer);
 782 }


Declaration at line 302 of Concept.hpp

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

Calls: sngcm::ast::Node::Write , sngcm::ast::NodeList::Write


top | up | prev | next