Parse a comma-separated list of data values. data-value-list ::= [data-value {"," data-value-list}]
(&mut self, types: &[Type])
| 2611 | /// |
| 2612 | /// data-value-list ::= [data-value {"," data-value-list}] |
| 2613 | fn parse_data_value_list(&mut self, types: &[Type]) -> ParseResult<Vec<DataValue>> { |
| 2614 | let mut values = vec![]; |
| 2615 | for ty in types.iter().take(1) { |
| 2616 | values.push(self.parse_data_value(*ty)?); |
| 2617 | } |
| 2618 | for ty in types.iter().skip(1) { |
| 2619 | self.match_token( |
| 2620 | Token::Comma, |
| 2621 | "expected a comma between invocation arguments", |
| 2622 | )?; |
| 2623 | values.push(self.parse_data_value(*ty)?); |
| 2624 | } |
| 2625 | Ok(values) |
| 2626 | } |
| 2627 | |
| 2628 | /// Parse a data value; e.g. `42`, `4.2`, `true`. |
| 2629 | /// |
no test coverage detected