souffle
2.0.2-371-g6315b36
|
Component type of a component. More...
#include <ComponentType.h>
Public Member Functions | |
ComponentType * | clone () const override |
Create a clone (i.e. More... | |
ComponentType (std::string name="", std::vector< QualifiedName > params={}, SrcLocation loc={}) | |
const std::string & | getName () const |
Return component name. More... | |
const std::vector< QualifiedName > & | getTypeParameters () const |
Return component type parameters. More... | |
void | setName (std::string n) |
Set component name. More... | |
void | setTypeParameters (const std::vector< QualifiedName > ¶ms) |
Set component type parameters. 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... | |
Private Attributes | |
std::string | name |
Component name. More... | |
std::vector< QualifiedName > | typeParams |
Component type parameters. More... | |
Component type of a component.
Example: name < Type1, Type2, ... > where name is the component name and < Type, Type, ... > is a list of component type parameters (either actual or formal).
Definition at line 45 of file ComponentType.h.
|
inline |
Definition at line 47 of file ComponentType.h.
|
inlineoverridevirtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ast::Node.
Definition at line 70 of file ComponentType.h.
References souffle::join(), and typeParams.
|
inlineoverrideprotectedvirtual |
Abstract equality check for two AST nodes.
Reimplemented from souffle::ast::Node.
Definition at line 82 of file ComponentType.h.
|
inline |
Return component name.
Definition at line 51 of file ComponentType.h.
|
inline |
|
inlineoverrideprotectedvirtual |
Output to a given output stream.
Implements souffle::ast::Node.
Definition at line 75 of file ComponentType.h.
References name, and typeParams.
|
inline |
Set component name.
Definition at line 56 of file ComponentType.h.
|
inline |
|
private |
|
private |
Component type parameters.
Definition at line 92 of file ComponentType.h.