10 #include <hilti/ast/declaration.h>
11 #include <hilti/ast/declarations/type.h>
12 #include <hilti/ast/function.h>
13 #include <hilti/ast/node-range.h>
14 #include <hilti/ast/operator-registry.h>
15 #include <hilti/ast/operator.h>
16 #include <hilti/ast/types/type.h>
18 namespace hilti::declaration {
23 auto function()
const {
return child<::hilti::Function>(0); }
42 void setOperator(
const Operator* op) { _operator = op; }
46 _linked_declaration_index = index;
49 void setLinkedPrototypeIndex(ast::DeclarationIndex index) {
51 _linked_prototype_index = index;
54 std::string_view
displayName() const final {
return "function"; }
67 HILTI_NODE_1(declaration::Function, Declaration,
final);
70 const Operator* _operator =
nullptr;
72 ast::DeclarationIndex _linked_declaration_index;
73 ast::DeclarationIndex _linked_prototype_index;
Definition: ast-context.h:121
Definition: declaration.h:47
const auto & id() const
Definition: declaration.h:52
auto linkage() const
Definition: declaration.h:55
Definition: function.h:45
const auto & children() const
Definition: node.h:363
const auto & meta() const
Definition: node.h:305
Definition: operator.h:269
Definition: ast-context.h:54
Definition: function.h:21
auto linkedDeclarationIndex() const
Definition: function.h:34
auto linkedPrototypeIndex() const
Definition: function.h:40
std::string_view displayName() const final
Definition: function.h:54
auto operator_() const
Definition: function.h:26
node::Properties properties() const final
Definition: function.cc:12