![]() |
Spicy
|
#include <enum.h>
Public Member Functions | |
Enum (std::vector< enum_::Label > l, Meta m=Meta()) | |
Enum (Wildcard, Meta m=Meta()) | |
std::vector< std::reference_wrapper< const enum_::Label > > | labels () const |
std::vector< std::reference_wrapper< const enum_::Label > > | uniqueLabels () const |
hilti::optional_ref< const enum_::Label > | label (const ID &id) const |
auto | labelDeclarationRefs () |
bool | operator== (const Enum &other) const |
auto | isEqual (const Type &other) const |
auto | _isResolved (ResolvedState *rstate) const |
auto | typeParameters () const |
auto | isWildcard () 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 > | |
auto | childs (int begin, int end) const |
auto | childRefs (int begin, int end) |
template<typename T > | |
hilti::node::Set< T > | childsOfType () const |
template<typename T > | |
std::vector< NodeRef > | childRefsOfType () const |
void | addChild (Node n) |
const auto & | childs () const |
auto & | childs () |
auto & | meta () const |
void | setMeta (Meta m) |
bool | pruneWalk () const |
Static Public Member Functions | |
static void | initLabelTypes (Node *n) |
AST node for an enum type.
|
inline |
Implements the Type
interface.
|
static |
Helper method for the resolver to link labels to their type.
|
inline |
Implements the Type
interface.
|
inline |
Implements the Node
interface.
|
inline |
Implements the Type
interface.
std::vector< std::reference_wrapper< const type::enum_::Label > > type::Enum::uniqueLabels | ( | ) | const |
Filters a set of labels so that it includes each enumator value at most once.