7 #include <hilti/ast/expression.h> 8 #include <hilti/ast/types/auto.h> 9 #include <hilti/ast/types/result.h> 23 :
NodeBase(nodes(std::move(e), type::auto_), std::move(m)), _catch_exception(catch_exception) {}
25 const auto& expression()
const {
return child<Expression>(0); }
26 bool catchException()
const {
return _catch_exception; }
28 void setType(
Type t) {
29 if ( _catch_exception )
35 bool operator==(
const Deferred& other)
const {
36 return expression() == other.expression() && _catch_exception == other._catch_exception;
40 bool isLhs()
const {
return false; }
44 const auto&
type()
const {
return child<Type>(1); }
46 auto isConstant()
const {
return expression().isConstant(); }
48 auto isEqual(
const Expression& other)
const {
return node::isEqual(
this, other); }
54 bool _catch_exception;
const auto & children() const
Definition: node.h:472
bool isLhs() const
Definition: deferred.h:40
bool isTemporary() const
Definition: deferred.h:42
auto isConstant() const
Definition: deferred.h:46
Definition: expression.h:18
auto isEqual(const Expression &other) const
Definition: deferred.h:48
const auto & type() const
Definition: deferred.h:44
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:98
auto properties() const
Definition: deferred.h:51
Definition: deferred.h:19
Definition: expression.h:21