![]() |
Spicy
|
#include <struct.h>
Classes | |
struct | AnonymousStruct |
Public Member Functions | |
Struct (std::vector< Declaration > fields, Meta m=Meta()) | |
Struct (AnonymousStruct _, std::vector< Declaration > fields, Meta m=Meta()) | |
Struct (const std::vector< type::function::Parameter > ¶ms, std::vector< Declaration > fields, Meta m=Meta()) | |
Struct (Wildcard, Meta m=Meta()) | |
NodeRef | selfRef () const |
auto | hasFinalizer () const |
auto | parameters () const |
auto | parameterRefs () const |
auto | fields () const |
hilti::optional_ref< const declaration::Field > | field (const ID &id) const |
hilti::node::Set< const declaration::Field > | fields (const ID &id) const |
void | addField (Declaration f) |
bool | operator== (const Struct &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 > children, Meta meta) | |
template<typename T > | |
const T & | child (int i) const |
template<typename T > | |
void | assertChildIsA (int i) |
template<typename T > | |
auto | children (int begin, int end) const |
auto | childRefs (int begin, int end) |
template<typename T > | |
hilti::node::Set< T > | childrenOfType () const |
template<typename T > | |
std::vector< NodeRef > | childRefsOfType () const |
void | addChild (Node n) |
const auto & | children () const |
auto & | children () |
auto & | meta () const |
void | setMeta (Meta m) |
bool | pruneWalk () const |
Static Public Member Functions | |
static void | setSelf (Node *n) |
AST node for a struct type.
|
inline |
Implements the Type
interface.
|
inline |
Implements the Type
interface.
|
inline |
Implements the Node
interface.
|
inlinestatic |
Given an existing node wrapping a struct type, updates the contained struct type to have its self
declaration initialized. The struct type's constructor cannot do this because we need the Node
shell for this.
|
inline |
Implements the Type
interface.