|
souffle
2.0.2-371-g6315b36
|
Initialization of ADT instance. More...
#include <BranchInit.h>


Public Member Functions | |
| BranchInit (std::string constructor, VecOwn< Argument > args, SrcLocation loc={}) | |
| BranchInit * | clone () const override |
| Create clone. More... | |
| const std::string & | getConstructor () const |
Public Member Functions inherited from souffle::ast::Term | |
| void | addArgument (Own< Argument > arg) |
| Add argument to argument list. More... | |
| void | apply (const NodeMapper &map) override |
| Apply the mapper to all child nodes. More... | |
| std::vector< Argument * > | getArguments () const |
| Get arguments. More... | |
| std::vector< const Node * > | getChildNodes () const override |
| Obtain a list of all embedded AST child nodes. More... | |
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 |
| Implements the node comparison for this node type. More... | |
| void | print (std::ostream &os) const override |
| Output to a given output stream. More... | |
Protected Member Functions inherited from souffle::ast::Term | |
| bool | equal (const Node &node) const override |
| Abstract equality check for two AST nodes. More... | |
| template<typename... Operands> | |
| Term (Operands &&... operands) | |
| template<typename... Operands> | |
| Term (SrcLocation loc, Operands &&... operands) | |
| Term (VecOwn< Argument > operands, SrcLocation loc={}) | |
Private Attributes | |
| std::string | constructor |
| The adt branch constructor. More... | |
Additional Inherited Members | |
Protected Attributes inherited from souffle::ast::Term | |
| VecOwn< Argument > | args |
| Arguments. More... | |
Initialization of ADT instance.
| constructor | An entity used to create a variant type. Can be though of as a name of the branch. |
Initializes one of the branches of ADT. The syntax for branches initialization is $Constructor(args...) In case of the branch with no arguments it is simplified to $Constructor.
Definition at line 49 of file BranchInit.h.
|
inline |
Definition at line 51 of file BranchInit.h.
References souffle::ast::Term::args, souffle::clone(), constructor, and souffle::ast::Node::getSrcLoc().

|
inlineoverridevirtual |
|
inlineoverrideprotectedvirtual |
Implements the node comparison for this node type.
Reimplemented from souffle::ast::Node.
Definition at line 68 of file BranchInit.h.
|
inline |
Definition at line 54 of file BranchInit.h.
|
inlineoverrideprotectedvirtual |
Output to a given output stream.
Implements souffle::ast::Node.
Definition at line 63 of file BranchInit.h.
|
private |
1.8.17