7 #include <hilti/ast/declaration.h> 8 #include <hilti/ast/declarations/type.h> 9 #include <hilti/ast/id.h> 10 #include <hilti/ast/node_ref.h> 11 #include <hilti/ast/type.h> 20 :
TypeBase({std::move(
id)}, std::move(m)), _node(std::move(std::move(r))) {
24 const auto& id()
const {
return child<::hilti::ID>(0); }
25 auto declaration()
const {
27 return _node->as<Declaration>();
33 bool isValid()
const {
return static_cast<bool>(_node); }
34 const NodeRef& ref()
const {
return _node; }
36 bool operator==(
const ResolvedID& other)
const {
return type() == other.type(); }
39 bool isEqual(
const Type& other)
const {
return type() == type::effectiveType(other); }
57 const auto& id()
const {
return child<::hilti::ID>(0); }
59 bool operator==(
const UnresolvedID& other)
const {
return id() == other.id(); }
62 auto isEqual(
const Type& other)
const {
return node::isEqual(
this, other); }
std::string renderedRid() const
Definition: node_ref.h:68
Type effectiveType() const
Definition: id.h:41
bool isEqual(const Type &other) const
Definition: id.h:39
auto properties() const
Definition: id.h:44
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:83
Definition: node_ref.h:44