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> 28 auto fields()
const {
return childsOfType<declaration::Field>(); }
31 for (
const auto& f : fields() ) {
39 unsigned int index(
const ID&
id)
const {
48 bool operator==(
const Union& other)
const {
return fields() == other.fields(); }
51 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
55 for (
auto c = ++
childs().begin(); c !=
childs().end(); c++ ) {
65 std::vector<Node> params;
66 for (
auto c = ++
childs().begin(); c !=
childs().end(); c++ )
90 bool _wildcard =
false;
const Node none
Definition: node.cc:14
constexpr auto enumerate(T &&iterable)
Definition: util.h:111
void addChild(Node n)
Definition: node.h:459
auto properties() const
Definition: union.h:74
auto typeParameters() const
Definition: union.h:64
Definition: optional-ref.h:22
auto _isResolved(ResolvedState *rstate) const
Definition: union.h:54
auto isWildcard() const
Definition: union.h:71
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:99
static Union addField(const Union &s, declaration::Field f)
Definition: union.h:83
const auto & childs() const
Definition: node.h:470
auto isEqual(const Type &other) const
Definition: union.h:51