7 #include <hilti/ast/expression.h> 8 #include <hilti/ast/types/auto.h> 9 #include <hilti/ast/types/result.h> 12 namespace expression {
24 :
NodeBase(nodes(e, type::auto_), m), _catch_exception(catch_exception) {}
26 const auto& expression()
const {
return child<Expression>(0); }
27 bool catchException()
const {
return _catch_exception; }
29 void setType(
Type t) {
30 if ( _catch_exception )
36 bool operator==(
const Deferred& other)
const {
37 return expression() == other.expression() && _catch_exception == other._catch_exception;
41 bool isLhs()
const {
return false; }
45 const auto&
type()
const {
return child<Type>(1); }
47 auto isConstant()
const {
return expression().isConstant(); }
49 auto isEqual(
const Expression& other)
const {
return node::isEqual(
this, other); }
55 bool _catch_exception;
const auto & children() const
Definition: node.h:470
bool isLhs() const
Definition: deferred.h:41
bool isTemporary() const
Definition: deferred.h:43
auto isConstant() const
Definition: deferred.h:47
Definition: expression.h:17
auto isEqual(const Expression &other) const
Definition: deferred.h:49
const auto & type() const
Definition: deferred.h:45
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:99
auto properties() const
Definition: deferred.h:52
Definition: deferred.h:20