7 #include <hilti/ast/declaration.h>
8 #include <hilti/ast/declarations/type.h>
9 #include <hilti/ast/function.h>
10 #include <hilti/ast/node-range.h>
11 #include <hilti/ast/operator-registry.h>
12 #include <hilti/ast/operator.h>
13 #include <hilti/ast/types/type.h>
15 namespace hilti::declaration {
20 auto function()
const {
return child<::hilti::Function>(0); }
39 void setOperator(
const Operator* op) { _operator = op; }
43 _linked_declaration_index = index;
46 void setLinkedPrototypeIndex(ast::DeclarationIndex index) {
48 _linked_prototype_index = index;
57 std::string_view
displayName() const final {
return "function"; }
70 HILTI_NODE_1(declaration::Function, Declaration,
final);
73 const Operator* _operator =
nullptr;
75 ast::DeclarationIndex _linked_declaration_index;
76 ast::DeclarationIndex _linked_prototype_index;
Definition: ast-context.h:121
Definition: declaration.h:48
const auto & id() const
Definition: declaration.h:53
auto linkage() const
Definition: declaration.h:56
Definition: function.h:18
const auto & children() const
Definition: node.h:364
const auto & meta() const
Definition: node.h:306
Definition: operator.h:269
Definition: ast-context.h:54
Definition: function.h:18
auto linkedDeclarationIndex() const
Definition: function.h:31
auto linkedPrototypeIndex() const
Definition: function.h:37
std::string_view displayName() const final
Definition: function.h:57
auto operator_() const
Definition: function.h:23
node::Properties properties() const final
Definition: function.cc:12
ID functionID(ASTContext *ctx)
Definition: function.cc:20