1(preproc_def
2 "#define" @context
3 name: (_) @name) @item
4
5(preproc_function_def
6 "#define" @context
7 name: (_) @name
8 parameters: (preproc_params
9 "(" @context
10 ")" @context)) @item
11
12(type_definition
13 "typedef" @context
14 declarator: (_) @name) @item
15
16(struct_specifier
17 "struct" @context
18 name: (_) @name) @item
19
20(class_specifier
21 "class" @context
22 name: (_) @name) @item
23
24(enum_specifier
25 "enum" @context
26 name: (_) @name) @item
27
28(enumerator
29 name: (_) @name) @item
30
31(declaration
32 (storage_class_specifier) @context
33 (type_qualifier)? @context
34 type: (_) @context
35 declarator: (init_declarator
36 declarator: (_) @name)) @item
37
38(function_definition
39 (type_qualifier)? @context
40 type: (_)? @context
41 declarator: [
42 (function_declarator
43 declarator: (_) @name
44 parameters: (parameter_list
45 "(" @context
46 ")" @context))
47 (pointer_declarator
48 "*" @context
49 declarator: (function_declarator
50 declarator: (_) @name
51 parameters: (parameter_list
52 "(" @context
53 ")" @context)))
54 ]
55 (type_qualifier)? @context) @item
56
57(declaration
58 (type_qualifier)? @context
59 type: (_)? @context
60 declarator: [
61 (field_identifier) @name
62 (pointer_declarator
63 "*" @context
64 declarator: (field_identifier) @name)
65 (function_declarator
66 declarator: (_) @name
67 parameters: (parameter_list
68 "(" @context
69 ")" @context))
70 (pointer_declarator
71 "*" @context
72 declarator: (function_declarator
73 declarator: (_) @name
74 parameters: (parameter_list
75 "(" @context
76 ")" @context)))
77 ]
78 (type_qualifier)? @context) @item
79
80(field_declaration
81 (type_qualifier)? @context
82 type: (_) @context
83 declarator: [
84 (field_identifier) @name
85 (pointer_declarator
86 "*" @context
87 declarator: (field_identifier) @name)
88 (function_declarator
89 declarator: (_) @name
90 parameters: (parameter_list
91 "(" @context
92 ")" @context))
93 (pointer_declarator
94 "*" @context
95 declarator: (function_declarator
96 declarator: (_) @name
97 parameters: (parameter_list
98 "(" @context
99 ")" @context)))
100 ]
101 (type_qualifier)? @context) @item