internal static YamlNode ParseNode(IParser parser, DocumentLoadingState state)
{
if (parser.Accept<Scalar>())
{
return new YamlScalarNode(parser, state);
}
if (parser.Accept<SequenceStart>())
{
return new YamlSequenceNode(parser, state);
}
if (parser.Accept<MappingStart>())
{
return new YamlMappingNode(parser, state);
}
if (parser.Accept<AnchorAlias>())
{
var alias = parser.Expect<AnchorAlias>();
return state.GetNode(alias.Value, false, alias.Start, alias.End) ?? new YamlAliasNode(alias.Value);
}
throw new ArgumentException("The current event is of an unsupported type.", "events");
}