MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / parse_datum

Method parse_datum

src/expr-parser/src/parser.rs:1306–1319  ·  view source on GitHub ↗
(&mut self, input: ParseStream)

Source from the content-addressed store, hash-verified

1304 }
1305
1306 fn parse_datum(&mut self, input: ParseStream) -> syn::Result<()> {
1307 if input.eat(kw::null) {
1308 self.0.push(Datum::Null)
1309 } else {
1310 match input.parse::<syn::Lit>()? {
1311 syn::Lit::Str(l) => self.0.push(Datum::from(l.value().as_str())),
1312 syn::Lit::Int(l) => self.0.push(Datum::from(l.base10_parse::<i64>()?)),
1313 syn::Lit::Float(l) => self.0.push(Datum::from(l.base10_parse::<f64>()?)),
1314 syn::Lit::Bool(l) => self.0.push(Datum::from(l.value)),
1315 _ => Err(Error::new(input.span(), "cannot parse literal"))?,
1316 }
1317 }
1318 Ok(())
1319 }
1320 }
1321}
1322

Callers 1

parseMethod · 0.80

Calls 5

eatMethod · 0.80
spanMethod · 0.80
pushMethod · 0.45
as_strMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected