souffle
2.0.2-371-g6315b36
|
Defines a type cast class for expressions. More...
#include <TypeCast.h>
Public Member Functions | |
void | apply (const NodeMapper &map) override |
Apply the mapper to all child nodes. More... | |
TypeCast * | clone () const override |
Create clone. More... | |
std::vector< const Node * > | getChildNodes () const override |
Obtain a list of all embedded AST child nodes. More... | |
const QualifiedName & | getType () const |
Return cast type. More... | |
Argument * | getValue () const |
Return value. More... | |
void | setType (const QualifiedName &type) |
Set cast type. More... | |
TypeCast (Own< Argument > value, QualifiedName type, SrcLocation loc={}) | |
Public Member Functions inherited from souffle::ast::Argument | |
Node (SrcLocation loc={}) | |
Public Member Functions inherited from souffle::ast::Node | |
std::string | extloc () const |
Return source location of the syntactic element. More... | |
const SrcLocation & | getSrcLoc () const |
Return source location of the Node. More... | |
Node (SrcLocation loc={}) | |
bool | operator!= (const Node &other) const |
Inequality check for two AST nodes. More... | |
bool | operator== (const Node &other) const |
Equivalence check for two AST nodes. More... | |
void | setSrcLoc (SrcLocation l) |
Set source location for the Node. More... | |
virtual | ~Node ()=default |
Protected Member Functions | |
bool | equal (const Node &node) const override |
Abstract equality check for two AST nodes. More... | |
void | print (std::ostream &os) const override |
Output to a given output stream. More... | |
Protected Attributes | |
QualifiedName | type |
Cast type. More... | |
Own< Argument > | value |
Casted value. More... | |
Defines a type cast class for expressions.
Definition at line 46 of file TypeCast.h.
|
inline |
|
inlineoverridevirtual |
Apply the mapper to all child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 76 of file TypeCast.h.
|
inlineoverridevirtual |
|
inlineoverrideprotectedvirtual |
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
Definition at line 85 of file TypeCast.h.
|
inlineoverridevirtual |
Obtain a list of all embedded AST child nodes.
Reimplemented from souffle::ast::Node.
Definition at line 66 of file TypeCast.h.
References souffle::clone(), souffle::ast::Node::getSrcLoc(), type, TypeCast(), and value.
|
inline |
Return cast type.
Definition at line 57 of file TypeCast.h.
Referenced by souffle::ast::analysis::TypeConstraintsAnalysis::visitCounter().
|
inline |
|
inlineoverrideprotectedvirtual |
Output to a given output stream.
Implements souffle::ast::Node.
Definition at line 81 of file TypeCast.h.
|
inline |
|
protected |