9 #include <hilti/ast/ctor.h> 10 #include <hilti/ast/ctors/struct.h> 11 #include <hilti/ast/expression.h> 12 #include <hilti/ast/id.h> 13 #include <hilti/ast/types/auto.h> 14 #include <hilti/ast/types/struct.h> 16 #include <spicy/ast/types/unit.h> 31 : NodeBase(nodes(std::move(t), std::move(f)), std::move(m)) {}
34 auto fields()
const {
return children<unit::Field>(1, -1); }
37 auto utype()
const {
return child<type::Unit>(0); }
41 for (
const auto& f : fields() ) {
49 void setType(
const Type& x) { children()[0] = x; }
51 bool operator==(
const Unit& other)
const {
return fields() == other.
fields(); }
54 const auto&
type()
const {
return child<Type>(0); }
59 auto isLhs()
const {
return false; }
63 auto isEqual(
const Ctor& other)
const {
return node::isEqual(
this, other); }
auto isLhs() const
Definition: unit.h:59
auto isTemporary() const
Definition: unit.h:61
auto properties() const
Definition: unit.h:66
bool isConstant() const
Definition: unit.h:57
Definition: optional-ref.h:22
auto isEqual(const Ctor &other) const
Definition: unit.h:63
const auto & type() const
Definition: unit.h:54
auto fields() const
Definition: unit.h:34
hilti::optional_ref< const unit::Field > field(const ID &id) const
Definition: unit.h:40