| 2363 | } |
| 2364 | |
| 2365 | static const char *cpp_operator_token(CBMExtractCtx *ctx, TSNode node) { |
| 2366 | for (uint32_t i = 0; i < ts_node_child_count(node); i++) { |
| 2367 | TSNode child = ts_node_child(node, i); |
| 2368 | if (!ts_node_is_named(child)) { |
| 2369 | const char *token = cbm_node_text(ctx->arena, child, ctx->source); |
| 2370 | if (token && token[0]) { |
| 2371 | return token; |
| 2372 | } |
| 2373 | } |
| 2374 | } |
| 2375 | return NULL; |
| 2376 | } |
| 2377 | |
| 2378 | static bool cpp_is_compound_assignment_token(const char *token) { |
| 2379 | return token && |
no test coverage detected