top | up | prev | next

DestructorConstraintNode Class

Definition at line 190 of Concept.hpp

Constructors

DestructorConstraintNode(const Span& span_, const boost::uuids::uuid& moduleId_)
DestructorConstraintNode(const Span& span_, const boost::uuids::uuid& moduleId_, IdentifierNode* typeParamId_)

Member Functions

void Accept(Visitor& visitor) override
Node* Clone(CloneContext& cloneContext) const override
void Read(AstReader& reader) override
std::string ToString() const override
IdentifierNode* TypeParamId()
void Write(AstWriter& writer) override

Member Variables

std::unique_ptr<IdentifierNode> typeParamId

Constructor Details

DestructorConstraintNode Constructor

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

Definition at line 447 of Concept.cpp :
 447 :
 448 SignatureConstraintNode(NodeType::destructorConstraintNodespan_moduleId_)typeParamId()
 449 {
 450 }


Declaration at line 193 of Concept.hpp


DestructorConstraintNode Constructor

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

Definition at line 452 of Concept.cpp :
 452 :
 453 SignatureConstraintNode(NodeType::destructorConstraintNodespan_moduleId_)typeParamId(typeParamId_)
 454 {
 455     typeParamId->SetParent(this);
 456 }


Declaration at line 194 of Concept.hpp


Member Function Details

Accept Member Function

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

Definition at line 464 of Concept.cpp :
 465 {
 466     visitor.Visit(*this);
 467 }


Declaration at line 196 of Concept.hpp

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

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


Clone Member Function

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

Definition at line 458 of Concept.cpp :
 459 {
 460     DestructorConstraintNode* clone = new DestructorConstraintNode(GetSpan()ModuleId()static_cast<IdentifierNode*>(typeParamId->Clone(cloneContext)));
 461     return clone;
 462 }


Declaration at line 195 of Concept.hpp

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

Calls: sngcm::ast::DestructorConstraintNode::Clone , sngcm::ast::Node::GetSpan , sngcm::ast::Node::ModuleId

Called by: sngcm::ast::DestructorConstraintNode::Clone


Read Member Function

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

Definition at line 475 of Concept.cpp :
 476 {
 477     SignatureConstraintNode::Read(reader);
 478     typeParamId.reset(reader.ReadIdentifierNode());
 479     typeParamId->SetParent(this);
 480 }


Declaration at line 198 of Concept.hpp

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

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


ToString Member Function

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

Definition at line 482 of Concept.cpp :
 483 {
 484     std::string s = "~" + typeParamId->ToString();
 485     s.append("()");
 486     return s;
 487 }


Declaration at line 200 of Concept.hpp

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

Calls: sngcm::ast::DestructorConstraintNode::ToString

Called by: sngcm::ast::DestructorConstraintNode::ToString


TypeParamId Member Function

IdentifierNode * sngcm::ast::DestructorConstraintNode::TypeParamId()

Definition at line 199 of Concept.hpp :
199 { return typeParamId.get(); }

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


Write Member Function

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

Definition at line 469 of Concept.cpp :
 470 {
 471     SignatureConstraintNode::Write(writer);
 472     writer.Write(typeParamId.get());
 473 }


Declaration at line 197 of Concept.hpp

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

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


top | up | prev | next