top | up | prev | next

DestructorConstraintNode Class

Definition at line 190 of Concept.hpp

Constructors

DestructorConstraintNode(const Span& span_)
DestructorConstraintNode(const Span& span_, 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_)

Definition at line 429 of Concept.cpp :
 429 : SignatureConstraintNode(NodeType::destructorConstraintNodespan_)typeParamId()
 430 {
 431 }


Declaration at line 193 of Concept.hpp


DestructorConstraintNode Constructor

sngcm::ast::DestructorConstraintNode::DestructorConstraintNode(const Span& span_, IdentifierNode * typeParamId_)

Definition at line 433 of Concept.cpp :
 433 : SignatureConstraintNode(NodeType::destructorConstraintNodespan_)typeParamId(typeParamId_)
 434 {
 435     typeParamId->SetParent(this);
 436 }


Declaration at line 194 of Concept.hpp


Member Function Details

Accept Member Function

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

Definition at line 443 of Concept.cpp :
 444 {
 445     visitor.Visit(*this);
 446 }


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 438 of Concept.cpp :
 439 {
 440     return new DestructorConstraintNode(GetSpan()static_cast<IdentifierNode*>(typeParamId->Clone(cloneContext)));
 441 }


Declaration at line 195 of Concept.hpp

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

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

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


Read Member Function

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

Definition at line 454 of Concept.cpp :
 455 {
 456     SignatureConstraintNode::Read(reader);
 457     typeParamId.reset(reader.ReadIdentifierNode());
 458     typeParamId->SetParent(this);
 459 }


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 461 of Concept.cpp :
 462 {
 463     std::string s = "~" + typeParamId->ToString();
 464     s.append("()");
 465     return s;
 466 }


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 448 of Concept.cpp :
 449 {
 450     SignatureConstraintNode::Write(writer);
 451     writer.Write(typeParamId.get());
 452 }


Declaration at line 197 of Concept.hpp

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

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


top | up | prev | next