9 #include <hilti/ast/expression.h> 10 #include <hilti/ast/operator.h> 11 #include <hilti/ast/types/auto.h> 19 :
NodeBase(nodes(type::auto_, std::move(operands)), std::move(
meta)), _kind(op) {}
22 :
NodeBase(nodes(type::auto_, operands), std::move(
meta)), _kind(op) {}
24 auto kind()
const {
return _kind; }
26 bool areOperandsResolved()
const {
27 const auto& xs = children<Expression>(1, -1);
28 return std::all_of(xs.begin(), xs.end(), [](
const auto& x) {
return type::isResolved(x.type()); });
41 bool isLhs()
const {
return false; }
45 const auto&
type()
const {
return child<Type>(0); }
49 auto isEqual(
const Expression& other)
const {
return node::isEqual(
this, other); }
55 operator_::Kind _kind;
auto isConstant() const
Definition: unresolved-operator.h:47
hilti::node::Range< Expression > operands() const
Definition: unresolved-operator.h:36
Definition: unresolved-operator.h:16
Definition: expression.h:18
const auto & type() const
Definition: unresolved-operator.h:45
bool isTemporary() const
Definition: unresolved-operator.h:43
auto isEqual(const Expression &other) const
Definition: unresolved-operator.h:49
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:97
bool isLhs() const
Definition: unresolved-operator.h:41
auto properties() const
Definition: unresolved-operator.h:52
auto & meta() const
Definition: node.h:475
Definition: expression.h:21