in lib/src/parser.dart [69:124]
Event _stateMachine() {
switch (_state) {
case _State.STREAM_START:
return _parseStreamStart();
case _State.DOCUMENT_START:
return _parseDocumentStart();
case _State.DOCUMENT_CONTENT:
return _parseDocumentContent();
case _State.DOCUMENT_END:
return _parseDocumentEnd();
case _State.BLOCK_NODE:
return _parseNode(block: true);
case _State.BLOCK_NODE_OR_INDENTLESS_SEQUENCE:
return _parseNode(block: true, indentlessSequence: true);
case _State.FLOW_NODE:
return _parseNode();
case _State.BLOCK_SEQUENCE_FIRST_ENTRY:
// Scan past the `BLOCK-SEQUENCE-FIRST-ENTRY` token to the
// `BLOCK-SEQUENCE-ENTRY` token.
_scanner.scan();
return _parseBlockSequenceEntry();
case _State.BLOCK_SEQUENCE_ENTRY:
return _parseBlockSequenceEntry();
case _State.INDENTLESS_SEQUENCE_ENTRY:
return _parseIndentlessSequenceEntry();
case _State.BLOCK_MAPPING_FIRST_KEY:
// Scan past the `BLOCK-MAPPING-FIRST-KEY` token to the
// `BLOCK-MAPPING-KEY` token.
_scanner.scan();
return _parseBlockMappingKey();
case _State.BLOCK_MAPPING_KEY:
return _parseBlockMappingKey();
case _State.BLOCK_MAPPING_VALUE:
return _parseBlockMappingValue();
case _State.FLOW_SEQUENCE_FIRST_ENTRY:
return _parseFlowSequenceEntry(first: true);
case _State.FLOW_SEQUENCE_ENTRY:
return _parseFlowSequenceEntry();
case _State.FLOW_SEQUENCE_ENTRY_MAPPING_KEY:
return _parseFlowSequenceEntryMappingKey();
case _State.FLOW_SEQUENCE_ENTRY_MAPPING_VALUE:
return _parseFlowSequenceEntryMappingValue();
case _State.FLOW_SEQUENCE_ENTRY_MAPPING_END:
return _parseFlowSequenceEntryMappingEnd();
case _State.FLOW_MAPPING_FIRST_KEY:
return _parseFlowMappingKey(first: true);
case _State.FLOW_MAPPING_KEY:
return _parseFlowMappingKey();
case _State.FLOW_MAPPING_VALUE:
return _parseFlowMappingValue();
case _State.FLOW_MAPPING_EMPTY_VALUE:
return _parseFlowMappingValue(empty: true);
default:
throw StateError('Unreachable');
}
}