7 #include <hilti/ast/expression.h> 15 :
NodeBase({std::move(e), type::nonConstant(std::move(t))}, std::move(m)) {}
17 const auto& expression()
const {
return child<Expression>(0); }
19 bool operator==(
const Coerced& other)
const {
return expression() == other.expression() &&
type() == other.
type(); }
22 bool isLhs()
const {
return expression().isLhs(); }
26 const Type&
type()
const {
return child<Type>(1); }
28 auto isConstant()
const {
return expression().isConstant(); }
30 auto isEqual(
const Expression& other)
const {
return node::isEqual(
this, other); }
const Type & type() const
Definition: coerced.h:26
auto properties() const
Definition: coerced.h:33
auto isConstant() const
Definition: coerced.h:28
Definition: expression.h:18
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:98
bool isTemporary() const
Definition: coerced.h:24
bool isLhs() const
Definition: coerced.h:22
auto isEqual(const Expression &other) const
Definition: coerced.h:30
Definition: expression.h:21