7 #include <hilti/ast/type.h> 8 #include <hilti/ast/types/unknown.h> 25 :
TypeBase(nodes(std::move(etype)), std::move(m)), _const(const_) {}
27 :
TypeBase(nodes(type::unknown), std::move(m)), _wildcard(
true), _const(const_) {}
33 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
48 bool _wildcard =
false;
68 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
71 return type::detail::isResolved(iteratorType(
true), rstate) &&
72 type::detail::isResolved(iteratorType(
false), rstate);
77 const Type&
iteratorType(
bool const_)
const {
return const_ ? child<Type>(0) : child<Type>(1); }
85 bool operator==(
const List& other)
const {
return elementType() == other.
elementType(); }
88 bool _wildcard =
false;
const Type & elementType() const
Definition: list.h:75
const Type & iteratorType(bool const_) const
Definition: list.h:77
const Type & dereferencedType() const
Definition: list.h:37
auto isEqual(const Type &other) const
Definition: list.h:68
const auto & children() const
Definition: node.h:470
auto isWildcard() const
Definition: list.h:39
auto properties() const
Definition: list.h:43
auto _isResolved(ResolvedState *rstate) const
Definition: list.h:35
auto isWildcard() const
Definition: list.h:79
auto properties() const
Definition: list.h:83
auto isEqual(const Type &other) const
Definition: list.h:33
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:99
auto typeParameters() const
Definition: list.h:81
auto _isResolved(ResolvedState *rstate) const
Definition: list.h:70
auto typeParameters() const
Definition: list.h:41
bool isConstant() const
Definition: list.h:30