Extract class-level variables (field declarations inside class bodies)
| 5604 | |
| 5605 | // Extract class-level variables (field declarations inside class bodies) |
| 5606 | static void extract_class_variables(CBMExtractCtx *ctx, TSNode class_node, |
| 5607 | const CBMLangSpec *spec) { |
| 5608 | if (!spec->variable_node_types || !spec->variable_node_types[0]) { |
| 5609 | return; |
| 5610 | } |
| 5611 | |
| 5612 | TSNode body = find_class_body(class_node, ctx->language); |
| 5613 | if (ts_node_is_null(body)) { |
| 5614 | return; |
| 5615 | } |
| 5616 | |
| 5617 | uint32_t count = ts_node_named_child_count(body); |
| 5618 | for (uint32_t i = 0; i < count; i++) { |
| 5619 | TSNode child = ts_node_named_child(body, i); |
| 5620 | if (cbm_kind_in_set(child, spec->variable_node_types)) { |
| 5621 | extract_var_names(ctx, child, spec); |
| 5622 | } |
| 5623 | } |
| 5624 | } |
| 5625 | |
| 5626 | // --- Module node + main walk --- |
| 5627 |
no test coverage detected