![]() |
Spicy
|
#include <keyword.h>
Public Member Functions | |
Keyword (keyword::Kind kind, Meta m=Meta()) | |
Keyword (keyword::Kind kind, Type t, Meta m=Meta()) | |
Keyword (keyword::Kind kind, NodeRef d, Meta m=Meta()) | |
keyword::Kind | kind () const |
bool | hasType () const |
bool | isSet () const |
bool | operator== (const Keyword &other) const |
bool | isLhs () const |
bool | isTemporary () const |
Type | type () const |
auto | isConstant () const |
auto | isEqual (const Expression &other) const |
auto | properties () const |
![]() | |
NodeBase (Meta meta) | |
NodeBase (std::vector< Node > childs, Meta meta) | |
template<typename T > | |
const T & | child (int i) const |
template<typename T > | |
void | assertChildIsA (int i) |
template<typename T > | |
std::vector< T > | childs (int begin, int end) const |
template<typename T > | |
std::vector< T > | childsOfType () const |
template<typename T > | |
auto | nodesOfType () const |
template<typename T > | |
auto | nodesOfType () |
void | addChild (Node n) |
auto & | childs () const |
auto & | childs () |
auto & | meta () const |
void | setMeta (Meta m) |
const NodeRef & | originalNode () const |
void | setOriginalNode (const NodeRef &n) |
void | clearCache () |
Static Public Member Functions | |
static Expression | setType (const Keyword &e, const Type &t) |
AST node for an expression representing a reservered keyword.
|
inline |
Implements Expression
interface.
|
inline |
Implements Expression
interface.
|
inline |
Implements Expression
interface.
|
inline |
Returns true if the keyword expression has been resolved to a known type.
|
inline |
Implements Expression
interface.
|
inline |
Implements Node
interface.
|
inlinestatic |
Returns a new keyword expression with the resulting type replaced.
d | original expression |
t | new type |
|
inline |
Implements Expression
interface.