Lines Matching refs:node
228 Some(node) if node.as_rule() == rule => Ok(node), in expect()
229 Some(node) => err_unexpected_rule(rule, node.as_rule()), in expect()
284 fn parse_endianness(node: Node<'_>, context: &Context) -> Result<crate::ast::Endianness, String> { in parse_endianness()
285 if node.as_rule() != Rule::endianness_declaration { in parse_endianness()
286 err_unexpected_rule(Rule::endianness_declaration, node.as_rule()) in parse_endianness()
289 loc: node.as_loc(context), in parse_endianness()
290 value: match node.as_str() { in parse_endianness()
299 fn parse_constraint(node: Node<'_>, context: &Context) -> Result<crate::ast::Constraint, String> { in parse_constraint()
300 if node.as_rule() != Rule::constraint { in parse_constraint()
301 err_unexpected_rule(Rule::constraint, node.as_rule()) in parse_constraint()
303 let loc = node.as_loc(context); in parse_constraint()
304 let mut children = node.children(); in parse_constraint()
319 fn parse_enum_value(node: Node<'_>, context: &Context) -> Result<crate::ast::TagValue, String> { in parse_enum_value()
320 if node.as_rule() != Rule::enum_value { in parse_enum_value()
321 err_unexpected_rule(Rule::enum_value, node.as_rule()) in parse_enum_value()
323 let loc = node.as_loc(context); in parse_enum_value()
324 let mut children = node.children(); in parse_enum_value()
339 fn parse_enum_range(node: Node<'_>, context: &Context) -> Result<crate::ast::TagRange, String> { in parse_enum_range()
340 if node.as_rule() != Rule::enum_range { in parse_enum_range()
341 err_unexpected_rule(Rule::enum_range, node.as_rule()) in parse_enum_range()
343 let loc = node.as_loc(context); in parse_enum_range()
344 let mut children = node.children(); in parse_enum_range()
353 fn parse_enum_tag(node: Node<'_>, context: &Context) -> Result<crate::ast::Tag, String> { in parse_enum_tag()
354 if node.as_rule() != Rule::enum_tag { in parse_enum_tag()
355 err_unexpected_rule(Rule::enum_tag, node.as_rule()) in parse_enum_tag()
357 match node.children().next() { in parse_enum_tag()
358 Some(node) if node.as_rule() == Rule::enum_value => { in parse_enum_tag()
359 Ok(crate::ast::Tag::Value(parse_enum_value(node, context)?)) in parse_enum_tag()
361 Some(node) if node.as_rule() == Rule::enum_range => { in parse_enum_tag()
362 Ok(crate::ast::Tag::Range(parse_enum_range(node, context)?)) in parse_enum_tag()
364 Some(node) => Err(format!( in parse_enum_tag()
368 node.as_rule() in parse_enum_tag()
387 fn parse_field(node: Node<'_>, context: &Context) -> Result<ast::Field, String> { in parse_field()
388 let loc = node.as_loc(context); in parse_field()
389 let rule = node.as_rule(); in parse_field()
390 let mut children = node.children(); in parse_field()
520 for node in root.children() { in parse_toplevel()
521 let loc = node.as_loc(context); in parse_toplevel()
522 let rule = node.as_rule(); in parse_toplevel()
524 Rule::endianness_declaration => file.endianness = parse_endianness(node, context)?, in parse_toplevel()
526 let mut children = node.children(); in parse_toplevel()
536 let mut children = node.children(); in parse_toplevel()
546 let mut children = node.children(); in parse_toplevel()
556 let mut children = node.children(); in parse_toplevel()
567 let mut children = node.children(); in parse_toplevel()
578 let mut children = node.children(); in parse_toplevel()