((module_def (module_declaration (module_fqn) @name)) @subtree (#set! role package)) ((struct_declaration (struct) . (identifier) @name) @subtree (#set! role struct)) ((enum_declaration (enum) . (identifier) @name) @subtree (#set! role enum)) ((class_declaration (class) . (identifier) @name) @subtree (#set! role class)) ((constructor (this) @name) @subtree (#set! role constructor)) ((destructor (this) @name) @subtree (#set! role destructor)) ((postblit (this) @name) @subtree (#set! role constructor)) ((manifest_declarator . (identifier) @name) @subtree (#set! role constant)) ((function_declaration (identifier) @name) @subtree (#set! role function-or-method)) ((aggregate_body (variable_declaration (declarator (identifier) @name) @subtree (#set! role property)))) ((union_declaration (union) . (identifier) @name) @subtree (#set! role union)) ((alias_declaration (alias_initializer . (identifier) @name) @subtree (#set! role type))) ((anonymous_enum_declaration ((enum_member . (identifier) @name) @subtree (#set! role constant)))) ((enum_declaration ((enum_member . (identifier) @name) @subtree (#set! role enum-member))))