Parse comma-separated value list into a VariableArgs struct. value_list ::= [ value { "," value } ]
(&mut self)
| 2441 | // value_list ::= [ value { "," value } ] |
| 2442 | // |
| 2443 | fn parse_value_list(&mut self) -> ParseResult<VariableArgs> { |
| 2444 | let mut args = VariableArgs::new(); |
| 2445 | |
| 2446 | if let Some(Token::Value(v)) = self.token() { |
| 2447 | args.push(v); |
| 2448 | self.consume(); |
| 2449 | } else { |
| 2450 | return Ok(args); |
| 2451 | } |
| 2452 | |
| 2453 | while self.optional(Token::Comma) { |
| 2454 | args.push(self.match_value("expected value in argument list")?); |
| 2455 | } |
| 2456 | |
| 2457 | Ok(args) |
| 2458 | } |
| 2459 | |
| 2460 | /// Parse an optional list of block-call arguments enclosed in |
| 2461 | /// parentheses. |
no test coverage detected