MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / yaml_parser_load_document

Function yaml_parser_load_document

xs/tools/yaml/loader.c:186–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

184 */
185
186static int
187yaml_parser_load_document(yaml_parser_t *parser, yaml_event_t *first_event)
188{
189 yaml_event_t event;
190
191 assert(first_event->type == YAML_DOCUMENT_START_EVENT);
192 /* DOCUMENT-START is expected. */
193
194 parser->document->version_directive
195 = first_event->data.document_start.version_directive;
196 parser->document->tag_directives.start
197 = first_event->data.document_start.tag_directives.start;
198 parser->document->tag_directives.end
199 = first_event->data.document_start.tag_directives.end;
200 parser->document->start_implicit
201 = first_event->data.document_start.implicit;
202 parser->document->start_mark = first_event->start_mark;
203
204 if (!yaml_parser_parse(parser, &event)) return 0;
205
206 if (!yaml_parser_load_node(parser, &event)) return 0;
207
208 if (!yaml_parser_parse(parser, &event)) return 0;
209 assert(event.type == YAML_DOCUMENT_END_EVENT);
210 /* DOCUMENT-END is expected. */
211
212 parser->document->end_implicit = event.data.document_end.implicit;
213 parser->document->end_mark = event.end_mark;
214
215 return 1;
216}
217
218/*
219 * Compose a node.

Callers 1

yaml_parser_loadFunction · 0.85

Calls 3

yaml_parser_parseFunction · 0.85
yaml_parser_load_nodeFunction · 0.85
assertFunction · 0.50

Tested by

no test coverage detected