7 #include <hilti/ast/type.h> 8 #include <hilti/ast/types/unknown.h> 25 const Type& dereferencedType()
const {
27 return _type->as<
Type>();
32 bool operator==(
const StrongReference& other)
const {
return dereferencedType() == other.dereferencedType(); }
35 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
37 auto _isResolved(ResolvedState* rstate)
const {
return type::detail::isResolved(dereferencedType(), rstate); }
47 bool _wildcard =
false;
63 bool operator==(
const WeakReference& other)
const {
return dereferencedType() == other.dereferencedType(); }
66 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
68 auto _isResolved(ResolvedState* rstate)
const {
return type::detail::isResolved(dereferencedType(), rstate); }
78 bool _wildcard =
false;
89 :
TypeBase(nodes(type::unknown), std::move(m)), _wildcard(
true) {}
93 const Type& dereferencedType()
const {
95 return _node->as<
Type>();
100 bool operator==(
const ValueReference& other)
const {
return dereferencedType() == other.dereferencedType(); }
103 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
105 auto _isResolved(ResolvedState* rstate)
const {
return type::detail::isResolved(dereferencedType(), rstate); }
115 bool _wildcard =
false;
auto _isResolved(ResolvedState *rstate) const
Definition: reference.h:105
std::string renderedRid() const
Definition: node-ref.h:69
auto isWildcard() const
Definition: reference.h:109
auto _isResolved(ResolvedState *rstate) const
Definition: reference.h:37
const Node none
Definition: node.cc:14
auto typeParameters() const
Definition: reference.h:107
const auto & children() const
Definition: node.h:471
auto isEqual(const Type &other) const
Definition: reference.h:35
auto properties() const
Definition: reference.h:44
Definition: reference.h:15
auto isEqual(const Type &other) const
Definition: reference.h:103
Definition: reference.h:82
auto properties() const
Definition: reference.h:75
auto _isResolved(ResolvedState *rstate) const
Definition: reference.h:68
auto typeParameters() const
Definition: reference.h:70
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:97
auto typeParameters() const
Definition: reference.h:39
Definition: node-ref.h:45
auto isWildcard() const
Definition: reference.h:72
Definition: reference.h:52
auto isWildcard() const
Definition: reference.h:41
auto properties() const
Definition: reference.h:112
auto isEqual(const Type &other) const
Definition: reference.h:66