MCPcopy
hub / github.com/go-yaml/yaml / yaml_parser_parse_block_mapping_value

Function yaml_parser_parse_block_mapping_value

parserc.go:891–914  ·  view source on GitHub ↗

Parse the productions: block_mapping ::= BLOCK-MAPPING_START ((KEY block_node_or_indentless_sequence?)? (VALUE block_node_or_indentless_sequence?)?)* ***** * BLOCK-END

(parser *yaml_parser_t, event *yaml_event_t)

Source from the content-addressed store, hash-verified

889//
890//
891func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool {
892 token := peek_token(parser)
893 if token == nil {
894 return false
895 }
896 if token.typ == yaml_VALUE_TOKEN {
897 mark := token.end_mark
898 skip_token(parser)
899 token = peek_token(parser)
900 if token == nil {
901 return false
902 }
903 if token.typ != yaml_KEY_TOKEN &&
904 token.typ != yaml_VALUE_TOKEN &&
905 token.typ != yaml_BLOCK_END_TOKEN {
906 parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_KEY_STATE)
907 return yaml_parser_parse_node(parser, event, true, true)
908 }
909 parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE
910 return yaml_parser_process_empty_scalar(parser, event, mark)
911 }
912 parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE
913 return yaml_parser_process_empty_scalar(parser, event, token.start_mark)
914}
915
916// Parse the productions:
917// flow_sequence ::= FLOW-SEQUENCE-START

Callers 1

Calls 4

peek_tokenFunction · 0.85
skip_tokenFunction · 0.85
yaml_parser_parse_nodeFunction · 0.85

Tested by

no test coverage detected