| 1353 | } |
| 1354 | |
| 1355 | static int parse_var_dot_prop(parser_t *p, cbm_return_item_t *item) { |
| 1356 | const cbm_token_t *var = expect(p, TOK_IDENT); |
| 1357 | if (!var) { |
| 1358 | return CBM_NOT_FOUND; |
| 1359 | } |
| 1360 | item->variable = heap_strdup(var->text); |
| 1361 | if (match(p, TOK_DOT)) { |
| 1362 | const cbm_token_t *prop = expect(p, TOK_IDENT); |
| 1363 | if (prop) { |
| 1364 | item->property = heap_strdup(prop->text); |
| 1365 | } |
| 1366 | } |
| 1367 | return 0; |
| 1368 | } |
| 1369 | |
| 1370 | /* True if the cursor is at `IDENT(` where IDENT is a supported scalar function. */ |
| 1371 | static bool is_named_func_call(parser_t *p) { |
no test coverage detected