7 #include <hilti/ast/type.h> 8 #include <hilti/ast/types/unknown.h> 26 const Type& dereferencedType()
const {
28 return _type->as<
Type>();
33 bool operator==(
const StrongReference& other)
const {
return dereferencedType() == other.dereferencedType(); }
36 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
38 auto _isResolved(ResolvedState* rstate)
const {
return type::detail::isResolved(dereferencedType(), rstate); }
48 bool _wildcard =
false;
64 bool operator==(
const WeakReference& other)
const {
return dereferencedType() == other.dereferencedType(); }
67 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
69 auto _isResolved(ResolvedState* rstate)
const {
return type::detail::isResolved(dereferencedType(), rstate); }
79 bool _wildcard =
false;
90 :
TypeBase(nodes(type::unknown), std::move(m)), _wildcard(
true) {}
94 const Type& dereferencedType()
const {
96 return _node->as<
Type>();
101 bool operator==(
const ValueReference& other)
const {
return dereferencedType() == other.dereferencedType(); }
104 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
106 auto _isResolved(ResolvedState* rstate)
const {
return type::detail::isResolved(dereferencedType(), rstate); }
116 bool _wildcard =
false;
auto _isResolved(ResolvedState *rstate) const
Definition: reference.h:106
std::string renderedRid() const
Definition: node-ref.h:68
auto isWildcard() const
Definition: reference.h:110
auto _isResolved(ResolvedState *rstate) const
Definition: reference.h:38
const Node none
Definition: node.cc:14
auto typeParameters() const
Definition: reference.h:108
const auto & children() const
Definition: node.h:470
auto isEqual(const Type &other) const
Definition: reference.h:36
auto properties() const
Definition: reference.h:45
Definition: reference.h:16
auto isEqual(const Type &other) const
Definition: reference.h:104
Definition: reference.h:83
auto properties() const
Definition: reference.h:76
auto _isResolved(ResolvedState *rstate) const
Definition: reference.h:69
auto typeParameters() const
Definition: reference.h:71
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:99
auto typeParameters() const
Definition: reference.h:40
Definition: node-ref.h:44
auto isWildcard() const
Definition: reference.h:73
Definition: reference.h:53
auto isWildcard() const
Definition: reference.h:42
auto properties() const
Definition: reference.h:113
auto isEqual(const Type &other) const
Definition: reference.h:67