7 #include <hilti/ast/id.h> 8 #include <hilti/ast/node.h> 9 #include <hilti/ast/node_ref.h> 10 #include <hilti/ast/types/member.h> 11 #include <hilti/base/logger.h> 14 namespace expression {
23 const auto& id()
const {
return child<ID>(0); }
24 auto memberType()
const {
return type::effectiveOptionalType(
childs()[1].tryAs<Type>()); }
26 bool operator==(
const Member& other)
const {
return id() == other.id() &&
type() == other.
type(); }
29 bool isLhs()
const {
return true; }
33 Type
type()
const {
return type::effectiveType(child<Type>(1)); }
37 auto isEqual(
const Expression& other)
const {
return node::isEqual(
this, other); }
bool isLhs() const
Definition: member.h:29
auto isConstant() const
Definition: member.h:35
auto & childs() const
Definition: node.h:445
auto isEqual(const Expression &other) const
Definition: member.h:37
const Node none
Definition: node.cc:12
Definition: expression.h:16
auto properties() const
Definition: member.h:40
Type type() const
Definition: member.h:33
std::map< std::string, node::detail::PropertyValue > Properties
Definition: node.h:83
bool isTemporary() const
Definition: member.h:31