7 #include <hilti/ast/expression.h>
8 #include <hilti/ast/id.h>
9 #include <hilti/ast/type.h>
10 #include <hilti/ast/types/member.h>
12 namespace hilti::expression {
17 const auto& id()
const {
return _id; }
22 auto p = node::Properties{{
"id", _id}};
27 return ctx->
make<Member>(ctx, {member_type}, id, std::move(
meta));
30 static auto create(ASTContext* ctx,
const hilti::ID&
id,
const Meta&
meta = {}) {
37 : Expression(ctx, NodeTags, std::move(
children), std::move(
meta)), _id(std::move(id)) {}
39 HILTI_NODE_1(expression::Member, Expression,
final);
Definition: ast-context.h:121
T * make(Args &&... args)
Definition: ast-context.h:366
Definition: expression.h:15
const auto & children() const
Definition: node.h:364
const auto & meta() const
Definition: node.h:306
virtual node::Properties properties() const
Definition: node.h:891
static auto create(ASTContext *ctx, UnqualifiedType *t, Constness const_, Meta m=Meta())
Definition: type.h:427
QualifiedType * type() const final
Definition: member.h:19
node::Properties properties() const final
Definition: member.h:21