7 #include <hilti/ast/declaration.h> 8 #include <hilti/ast/expression.h> 9 #include <hilti/ast/id.h> 10 #include <hilti/ast/node-ref.h> 11 #include <hilti/ast/node.h> 12 #include <hilti/ast/types/auto.h> 13 #include <hilti/base/logger.h> 22 const auto& id()
const {
return child<ID>(0); }
23 const auto& declaration()
const {
return _d->as<
Declaration>(); }
24 const auto& declarationRef()
const {
return _d; }
26 bool operator==(
const ResolvedID& other)
const {
27 return id() == other.id() && declaration() == other.declaration();
31 bool isLhs()
const {
return ! declaration().isConstant(); }
39 auto isEqual(
const Expression& other)
const {
return node::isEqual(
this, other); }
53 const auto& id()
const {
return child<ID>(0); }
55 bool operator==(
const UnresolvedID& other)
const {
return id() == other.id(); }
58 bool isLhs()
const {
return true; }
60 const Type&
type()
const {
return child<Type>(1); }
62 auto isEqual(
const Expression& other)
const {
return node::isEqual(
this, other); }
Definition: declaration.h:54
Definition: expression.h:18
auto properties() const
Definition: id.h:42
auto isEqual(const Expression &other) const
Definition: id.h:39
bool isTemporary() const
Definition: id.h:33
auto properties() const
Definition: id.h:65
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:98
const Type & type() const
Definition: id.cc:12
bool isLhs() const
Definition: id.h:31
Definition: node-ref.h:45
bool isConstant() const
Definition: id.cc:33
uint64_t rid() const
Definition: node-ref.h:61
Definition: expression.h:21