Spicy
Public Member Functions | List of all members
hilti::statement::Switch Class Reference

#include <switch.h>

Inheritance diagram for hilti::statement::Switch:
hilti::NodeBase hilti::trait::isStatement hilti::trait::isNode hilti::trait::isNode

Public Member Functions

 Switch (hilti::Expression cond, const std::vector< switch_::Case > &cases, Meta m=Meta())
 
 Switch (const hilti::Declaration &init, hilti::Expression cond, const std::vector< switch_::Case > &cases, Meta m=Meta())
 
auto init () const
 
const auto & expression () const
 
auto type () const
 
auto cases () const
 
auto caseNodes ()
 
std::optional< switch_::Casedefault_ () const
 
bool operator== (const Switch &other) const
 
auto & _lastCaseNode ()
 
void _addCase (switch_::Case case_)
 
auto isEqual (const Statement &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 "switch" statement.

Member Function Documentation

◆ _addCase()

void hilti::statement::Switch::_addCase ( switch_::Case  case_)
inline

Internal method for use by builder API only.

◆ _lastCaseNode()

auto& hilti::statement::Switch::_lastCaseNode ( )
inline

Internal method for use by builder API only.

◆ isEqual()

auto hilti::statement::Switch::isEqual ( const Statement &  other) const
inline

Implements the Statement interface.

◆ properties()

auto hilti::statement::Switch::properties ( ) const
inline

Implements the Node interface.


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