7 #include <hilti/ast/type.h> 8 #include <hilti/ast/types/unknown.h> 24 :
TypeBase(nodes(std::move(etype)), std::move(m)), _const(const_) {}
26 :
TypeBase(nodes(type::unknown), std::move(m)), _wildcard(
true), _const(const_) {}
32 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
47 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 Vector& other)
const {
return elementType() == other.
elementType(); }
88 bool _wildcard =
false;
auto _isResolved(ResolvedState *rstate) const
Definition: vector.h:70
auto isWildcard() const
Definition: vector.h:79
const auto & children() const
Definition: node.h:472
auto isEqual(const Type &other) const
Definition: vector.h:32
const Type & dereferencedType() const
Definition: vector.h:36
auto properties() const
Definition: vector.h:83
auto typeParameters() const
Definition: vector.h:40
auto isWildcard() const
Definition: vector.h:38
const Type & elementType() const
Definition: vector.h:75
bool isConstant() const
Definition: vector.h:29
auto _isResolved(ResolvedState *rstate) const
Definition: vector.h:34
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:98
const Type & iteratorType(bool const_) const
Definition: vector.h:77
auto properties() const
Definition: vector.h:42
auto isEqual(const Type &other) const
Definition: vector.h:68
auto typeParameters() const
Definition: vector.h:81