top | up | prev | next

IsConstraintNode Class

Definition at line 111 of Concept.hpp

Constructors

IsConstraintNode(const Span& span_, const boost::uuids::uuid& moduleId_)
IsConstraintNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node* typeExpr_, Node* conceptOrTypeName_)

Member Functions

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

Member Variables

std::unique_ptr<Node> conceptOrTypeName
std::unique_ptr<Node> typeExpr

Constructor Details

IsConstraintNode Constructor

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

Definition at line 227 of Concept.cpp :
 227 :
 228 ConstraintNode(NodeType::isConstraintNodespan_moduleId_)typeExpr()conceptOrTypeName()
 229 {
 230 }


Declaration at line 114 of Concept.hpp


IsConstraintNode Constructor

sngcm::ast::IsConstraintNode::IsConstraintNode(const Span& span_, const boost::uuids::uuid& moduleId_, Node * typeExpr_, Node * conceptOrTypeName_)

Definition at line 232 of Concept.cpp :
 232 :
 233 ConstraintNode(NodeType::isConstraintNodespan_moduleId_)typeExpr(typeExpr_)conceptOrTypeName(conceptOrTypeName_)
 234 {
 235     typeExpr->SetParent(this);
 236     conceptOrTypeName->SetParent(this);
 237 }


Declaration at line 115 of Concept.hpp


Member Function Details

Accept Member Function

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

Definition at line 245 of Concept.cpp :
 246 {
 247     visitor.Visit(*this);
 248 }


Declaration at line 117 of Concept.hpp

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

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


Clone Member Function

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

Definition at line 239 of Concept.cpp :
 240 {
 241     IsConstraintNode* clone = new IsConstraintNode(GetSpan()ModuleId()typeExpr->Clone(cloneContext)conceptOrTypeName->Clone(cloneContext));
 242     return clone;
 243 }


Declaration at line 116 of Concept.hpp

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

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

Called by: sngcm::ast::IsConstraintNode::Clone


ConceptOrTypeName Member Function

const Node * sngcm::ast::IsConstraintNode::ConceptOrTypeName() const

Definition at line 122 of Concept.hpp :
122 { return conceptOrTypeName.get(); }


ConceptOrTypeName Member Function

Node * sngcm::ast::IsConstraintNode::ConceptOrTypeName()

Definition at line 123 of Concept.hpp :
123 { return conceptOrTypeName.get(); }

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


Read Member Function

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

Definition at line 257 of Concept.cpp :
 258 {
 259     ConstraintNode::Read(reader);
 260     typeExpr.reset(reader.ReadNode());
 261     typeExpr->SetParent(this);
 262     conceptOrTypeName.reset(reader.ReadNode());
 263     conceptOrTypeName->SetParent(this);
 264 }


Declaration at line 119 of Concept.hpp

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

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


ToString Member Function

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

Definition at line 266 of Concept.cpp :
 267 {
 268     return typeExpr->ToString() + " is " + conceptOrTypeName->ToString();
 269 }


Declaration at line 124 of Concept.hpp

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

Calls: sngcm::ast::IsConstraintNode::ToString

Called by: sngcm::ast::IsConstraintNode::ToString


TypeExpr Member Function

const Node * sngcm::ast::IsConstraintNode::TypeExpr() const

Definition at line 120 of Concept.hpp :
120 { return typeExpr.get(); }


TypeExpr Member Function

Node * sngcm::ast::IsConstraintNode::TypeExpr()

Definition at line 121 of Concept.hpp :
121 { return typeExpr.get(); }

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


Write Member Function

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

Definition at line 250 of Concept.cpp :
 251 {
 252     ConstraintNode::Write(writer);
 253     writer.Write(typeExpr.get());
 254     writer.Write(conceptOrTypeName.get());
 255 }


Declaration at line 118 of Concept.hpp

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

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


top | up | prev | next