Spicy
Public Member Functions | List of all members
hilti::ctor::Struct Class Reference

#include <struct.h>

Inheritance diagram for hilti::ctor::Struct:
hilti::NodeBase hilti::trait::isCtor hilti::trait::isNode hilti::trait::isNode

Public Member Functions

 Struct (std::vector< struct_::Field > f, Meta m=Meta())
 
 Struct (std::vector< struct_::Field > f, Type t, Meta m=Meta())
 
auto fields () const
 
auto stype () const
 
hilti::optional_ref< const struct_::Fieldfield (const ID &id) const
 
void setType (const Type &t)
 
bool operator== (const Struct &other) const
 
const auto & type () const
 
bool isConstant () const
 
auto isLhs () const
 
auto isTemporary () const
 
auto isEqual (const Ctor &other) const
 
auto properties () const
 
- Public Member Functions inherited from hilti::NodeBase
 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< NodeRefchildRefsOfType () const
 
void addChild (Node n)
 
const auto & children () const
 
auto & children ()
 
auto & meta () const
 
void setMeta (Meta m)
 
bool pruneWalk () const
 

Detailed Description

AST node for a struct constructor.

Member Function Documentation

◆ field()

hilti::optional_ref<const struct_::Field> hilti::ctor::Struct::field ( const ID id) const
inline

Returns a field initialized by the constructor by its ID.

◆ fields()

auto hilti::ctor::Struct::fields ( ) const
inline

Returns all fields that the constructors initialized.

◆ isConstant()

bool hilti::ctor::Struct::isConstant ( ) const
inline

Implements Ctor interface.

◆ isEqual()

auto hilti::ctor::Struct::isEqual ( const Ctor &  other) const
inline

Implements Ctor interface.

◆ isLhs()

auto hilti::ctor::Struct::isLhs ( ) const
inline

Implements Ctor interface.

◆ isTemporary()

auto hilti::ctor::Struct::isTemporary ( ) const
inline

Implements Ctor interface.

◆ properties()

auto hilti::ctor::Struct::properties ( ) const
inline

Implements Node interface.

◆ type()

const auto& hilti::ctor::Struct::type ( ) const
inline

Implements Ctor interface.


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