Пример #1
0
        internal static VdfValue Parce(StreamReader reader)
        {
            reader.ReadEmpty();
            var next = reader.CheckNext();

            switch (next)
            {
            case VdfReaderToken.BlockStart:
                return(new VdfValue(VdfObject.Parce(reader)));

            case VdfReaderToken.Limiter:
                reader.ReadLimiter();
                var text = reader.ReadText();
                reader.ReadLimiter();
                if (text == null)
                {
                    return(new VdfValue());
                }
                return(new VdfValue(text));

            default: throw new Exception(reader.BaseStream.Position + ": Limiter or BlockStart expected");
            }
        }