8 #include <hilti/ast/builder/type.h> 9 #include <hilti/ast/ctor.h> 10 #include <hilti/ast/expression.h> 11 #include <hilti/ast/types/auto.h> 12 #include <hilti/ast/types/bool.h> 13 #include <hilti/ast/types/set.h> 20 Set(
const std::vector<Expression>& e,
Meta m =
Meta())
26 const auto& elementType()
const {
return children()[0].as<
type::Set>().elementType(); }
27 auto value()
const {
return children<Expression>(1, -1); }
31 void setValue(
const std::vector<Expression>& elems) {
33 for (
auto&& e : elems )
37 bool operator==(
const Set& other)
const {
return elementType() == other.elementType() && value() == other.value(); }
40 const auto&
type()
const {
return child<Type>(0); }
44 auto isLhs()
const {
return false; }
48 auto isEqual(
const Ctor& other)
const {
return node::isEqual(
this, other); }
auto isEqual(const Ctor &other) const
Definition: set.h:48
auto isTemporary() const
Definition: set.h:46
auto properties() const
Definition: set.h:50
const auto & children() const
Definition: node.h:472
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:98
auto isLhs() const
Definition: set.h:44
const auto & type() const
Definition: set.h:40
auto & meta() const
Definition: node.h:476
bool isConstant() const
Definition: set.h:42