Arrow function: name on parent variable_declarator/field_definition, or the key of an object-literal property — the Zustand "actions returned from a factory" pattern, `{ addItem: (...) => {...} }` (#341).
| 4560 | // key of an object-literal property — the Zustand "actions returned from a |
| 4561 | // factory" pattern, `{ addItem: (...) => {...} }` (#341). |
| 4562 | static TSNode resolve_arrow_func_name(TSNode child) { |
| 4563 | TSNode parent = ts_node_parent(child); |
| 4564 | if (!ts_node_is_null(parent)) { |
| 4565 | const char *pk = ts_node_type(parent); |
| 4566 | if (strcmp(pk, "field_definition") == 0) { |
| 4567 | return ts_node_child_by_field_name(parent, TS_FIELD("property")); |
| 4568 | } |
| 4569 | if (strcmp(pk, "public_field_definition") == 0 || strcmp(pk, "variable_declarator") == 0) { |
| 4570 | return ts_node_child_by_field_name(parent, TS_FIELD("name")); |
| 4571 | } |
| 4572 | if (strcmp(pk, "pair") == 0) { |
| 4573 | // Object-literal property `key: () => {...}` → name is the key. |
| 4574 | return ts_node_child_by_field_name(parent, TS_FIELD("key")); |
| 4575 | } |
| 4576 | } |
| 4577 | TSNode null_node = {0}; |
| 4578 | return null_node; |
| 4579 | } |
| 4580 | |
| 4581 | // Try to extract method name from a node, with language-specific fallbacks. |
| 4582 | static TSNode resolve_method_name(TSNode child, CBMLanguage lang) { |
no outgoing calls
no test coverage detected