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 ids () const
 
auto values () const
 
auto fields () const
 
std::optional< struct_::Field > field (const ID &id) const
 
bool operator== (const Struct &other) const
 
Type 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 > 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 NodeReforiginalNode () const
 
void setOriginalNode (const NodeRef &n)
 
void clearCache ()
 

Detailed Description

AST node for a struct constructor.

Member Function Documentation

◆ field()

std::optional<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.

◆ ids()

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

Returns all field IDs 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()

Type hilti::ctor::Struct::type ( ) const
inline

Implements Ctor interface.

◆ values()

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

Returns all field values that the constructors initializes.


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