blob: 5c48e30d7cd81a12f6b7b89f21d7a9247208148c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
; // Identifier call
; auto foo(int arg) -> void { foo(arg); }
(call_expression
function: (identifier) @call.name
arguments: (argument_list) @call.args) @call.node
; // Qualified call
; namespace ns {
; void bar(int);
; }
; auto bar(int arg) -> void { ns::bar(arg); }
(call_expression
function: (qualified_identifier
name: (identifier) @call.name)
arguments: (argument_list) @call.args) @call.node
; // Member & pointer member call
; struct S {
; void baz(int);
; };
; auto baz(S obj, int arg) -> void { obj.baz(arg); }
; auto baz(S* obj, int arg) -> void { obj->baz(arg); }
(call_expression
function: (field_expression
field: (field_identifier) @call.name)
arguments: (argument_list) @call.args) @call.node
; // Template call
; template <class T> void qux(T);
; auto qux(int arg) -> void { qux<int>(arg); }
(call_expression
function: (template_function
name: (identifier) @call.name)
arguments: (argument_list) @call.args) @call.node
; // Function pointer call
; using Fn = void (*)(int);
; auto quux(Fn fp, int arg) -> void { (*fp)(arg); }
(call_expression
function: (parenthesized_expression
(pointer_expression
(identifier) @call.name))
arguments: (argument_list) @call.args) @call.node
|