9 #include <hilti/ast/attribute.h> 10 #include <hilti/ast/declarations/field.h> 11 #include <hilti/ast/expression.h> 12 #include <hilti/ast/function.h> 13 #include <hilti/ast/id.h> 14 #include <hilti/ast/type.h> 15 #include <hilti/ast/types/function.h> 16 #include <hilti/ast/types/unknown.h> 27 auto fields()
const {
return childrenOfType<declaration::Field>(); }
30 for (
const auto& f : fields() ) {
38 unsigned int index(
const ID&
id)
const {
39 for (
const auto&& [i, f] : util::enumerate(fields()) ) {
47 bool operator==(
const Union& other)
const {
return fields() == other.fields(); }
50 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
64 std::vector<Node> params;
89 bool _wildcard =
false;
const Node none
Definition: node.cc:14
const auto & children() const
Definition: node.h:472
void addChild(Node n)
Definition: node.h:461
auto properties() const
Definition: union.h:73
auto typeParameters() const
Definition: union.h:63
Definition: optional-ref.h:22
auto _isResolved(ResolvedState *rstate) const
Definition: union.h:53
auto isWildcard() const
Definition: union.h:70
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:98
static Union addField(const Union &s, declaration::Field f)
Definition: union.h:82
auto isEqual(const Type &other) const
Definition: union.h:50