Spicy
Public Member Functions | List of all members
spicy::type::unit::item::Variable Class Reference

#include <variable.h>

Inheritance diagram for spicy::type::unit::item::Variable:
hilti::NodeBase spicy::trait::isUnitItem hilti::trait::isNode hilti::trait::isNode

Public Member Functions

 Variable (ID id, Type type, const std::optional< Expression > &default_, std::optional< AttributeSet > attrs={}, Meta m=Meta())
 
const auto & id () const
 
auto default_ () const
 
auto attributes () const
 
bool isOptional () const
 
bool operator== (const Variable &other) const
 
const TypeitemType () const
 
bool isResolved () const
 
auto isEqual (const Item &other) const
 
auto properties () const
 
- Public Member Functions inherited from hilti::NodeBase
 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< NodeRefchildRefsOfType () const
 
void addChild (Node n)
 
const auto & childs () const
 
auto & childs ()
 
auto & meta () const
 
void setMeta (Meta m)
 
bool pruneWalk () const
 

Detailed Description

AST node for a unit variable.

Note
We don't support hooks for variables because we can't reliably identify assigments in the generated code. To do that, we'd need to trap struct field assignments at the C++ level.

The documentation for this class was generated from the following file: