souffle
2.0.2-371-g6315b36
|
a directive has a type (e.g. input/output/printsize/limitsize), qualified relation name, and a key value map for storing parameters of the directive. More...
#include <Directive.h>
Public Member Functions | |
void | addParameter (const std::string &key, std::string value) |
Add new parameter. More... | |
Directive * | clone () const override |
Create a clone (i.e. More... | |
Directive (DirectiveType type, QualifiedName name, SrcLocation loc={}) | |
const std::string & | getParameter (const std::string &key) const |
Get parameter. More... | |
const std::map< std::string, std::string > & | getParameters () const |
Get parameters. More... | |
const QualifiedName & | getQualifiedName () const |
Get relation name. More... | |
DirectiveType | getType () const |
Get directive type. More... | |
bool | hasParameter (const std::string &key) const |
Check for a parameter. More... | |
void | setQualifiedName (QualifiedName name) |
Set relation name. More... | |
void | setType (DirectiveType type) |
Set directive type. More... | |
Public Member Functions inherited from souffle::ast::Node | |
virtual void | apply (const NodeMapper &) |
Apply the mapper to all child nodes. More... | |
std::string | extloc () const |
Return source location of the syntactic element. More... | |
virtual std::vector< const Node * > | getChildNodes () const |
Obtain a list of all embedded AST child nodes. 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 | name |
Relation name of the directive. More... | |
std::map< std::string, std::string > | parameters |
Parameters of directive. More... | |
DirectiveType | type |
Type of directive. More... | |
a directive has a type (e.g. input/output/printsize/limitsize), qualified relation name, and a key value map for storing parameters of the directive.
Definition at line 56 of file Directive.h.
|
inline |
Definition at line 58 of file Directive.h.
|
inline |
Add new parameter.
Definition at line 87 of file Directive.h.
|
inlineoverridevirtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ast::Node.
Definition at line 101 of file Directive.h.
References souffle::join(), name, parameters, and type.
|
inlineoverrideprotectedvirtual |
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
Definition at line 117 of file Directive.h.
|
inline |
Get parameter.
Definition at line 82 of file Directive.h.
|
inline |
|
inline |
Get relation name.
Definition at line 72 of file Directive.h.
|
inline |
|
inline |
|
inlineoverrideprotectedvirtual |
Output to a given output stream.
Implements souffle::ast::Node.
Definition at line 108 of file Directive.h.
|
inline |
Set relation name.
Definition at line 77 of file Directive.h.
|
inline |
|
protected |
|
protected |
|
protected |