MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / parse_arg_list

Function parse_arg_list

nodedb-query/src/expr_parse/parser.rs:318–339  ·  view source on GitHub ↗
(
    tokens: &[Token],
    pos: &mut usize,
    depth: &mut usize,
)

Source from the content-addressed store, hash-verified

316}
317
318fn parse_arg_list(
319 tokens: &[Token],
320 pos: &mut usize,
321 depth: &mut usize,
322) -> Result<Vec<SqlExpr>, ExprParseError> {
323 expect_token(tokens, pos, TokenKind::LParen, "(")?;
324 let mut args = Vec::new();
325 if *pos < tokens.len() && tokens[*pos].kind == TokenKind::RParen {
326 *pos += 1;
327 return Ok(args);
328 }
329 loop {
330 args.push(parse_expr(tokens, pos, depth)?);
331 if *pos < tokens.len() && tokens[*pos].kind == TokenKind::Comma {
332 *pos += 1;
333 } else {
334 break;
335 }
336 }
337 expect_token(tokens, pos, TokenKind::RParen, ")")?;
338 Ok(args)
339}
340
341// ── Helpers ───────────────────────────────────────────────────────────
342

Callers 1

parse_primaryFunction · 0.85

Calls 4

expect_tokenFunction · 0.70
parse_exprFunction · 0.70
lenMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected