Spicy
Public Member Functions | List of all members
hilti::expression::ResolvedOperatorBase Class Reference

#include <resolved-operator.h>

Inheritance diagram for hilti::expression::ResolvedOperatorBase:
hilti::NodeBase hilti::trait::isExpression hilti::trait::isResolvedOperator hilti::trait::isNode hilti::trait::isNode hilti::operator_::function::Call hilti::operator_::generic::CastedCoercion

Public Member Functions

 ResolvedOperatorBase (const Operator &op, const std::vector< Expression > &operands, Meta meta=Meta())
 
const auto & operator_ () const
 
auto kind () const
 
auto operands () const
 
const auto & result () const
 
const auto & op0 () const
 
const auto & op1 () const
 
const auto & op2 () const
 
auto hasOp0 () const
 
auto hasOp1 () const
 
auto hasOp2 () const
 
void setOp0 (const Expression &e)
 
void setOp1 (const Expression &e)
 
void setOp2 (const Expression &e)
 
bool operator== (const ResolvedOperator &other) const
 
bool isLhs () const
 
bool isTemporary () const
 
const Typetype () const
 
auto isEqual (const Expression &other) const
 
bool isConstant () 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

Base class for an AST node for an expression representing a resolved operator usage.

Note
Typically, one derives from this only by using the __BEGIN_OPERATOR macro.

Member Function Documentation

◆ isConstant()

bool hilti::expression::ResolvedOperatorBase::isConstant ( ) const
inline

Implements Expression interface.

◆ isEqual()

auto hilti::expression::ResolvedOperatorBase::isEqual ( const Expression &  other) const
inline

Implements Expression interface.

◆ isLhs()

bool hilti::expression::ResolvedOperatorBase::isLhs ( ) const
inline

Implements Expression interface.

◆ isTemporary()

bool hilti::expression::ResolvedOperatorBase::isTemporary ( ) const
inline

Implements Expression interface.

◆ properties()

auto hilti::expression::ResolvedOperatorBase::properties ( ) const
inline

Implements Node interface.

◆ type()

const Type& hilti::expression::ResolvedOperatorBase::type ( ) const
inline

Implements Expression interface.


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