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, const Meta &m=Meta())
 
 Switch (const hilti::Declaration &cond, const std::vector< switch_::Case > &cases, Meta m=Meta())
 
const auto & condition () const
 
auto conditionRef () const
 
auto cases () const
 
hilti::optional_ref< const switch_::Casedefault_ () const
 
void preprocessCases ()
 
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 > 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 "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: