Example #1
0
        public Resource Parse()
        {
            var body   = new List <IEntry>(6);
            var errors = new List <ParseError>();

            _reader.SkipBlankBlock();

            while (_reader.IsNotEof)
            {
                var entryStart = _reader.Position;
                (var entry, ParseError? error) = GetEntryRuntime(entryStart);
                if (entry is { } and not Junk)
                {
                    body.Add(entry);
                }

                if (error != null)
                {
                    AddError(error, entryStart, errors, body);
                }

                _reader.SkipBlankBlock();
            }

            return(new Resource(body, errors));
        }
Example #2
0
        public void TestSkipBlank(string text, char postSkipChar)
        {
            ZeroCopyReader reader = new ZeroCopyReader(text);

            reader.SkipBlankBlock();
            Assert.That(postSkipChar.EqualsSpans(reader.GetCharSpan()));
        }