YamlUtility.Grammar.YamlParser.ParseVerbatimTag C# (CSharp) Method

ParseVerbatimTag() private method

private ParseVerbatimTag ( bool &success ) : VerbatimTag
success bool
return VerbatimTag
        private VerbatimTag ParseVerbatimTag(out bool success)
        {
            int errorCount = Errors.Count;
            VerbatimTag verbatimTag = new VerbatimTag();
            int start_position = position;

            MatchTerminal('!', out success);
            if (!success)
            {
                Error("Failed to parse '!' of VerbatimTag.");
                position = start_position;
                return verbatimTag;
            }

            MatchTerminal('<', out success);
            if (!success)
            {
                Error("Failed to parse '<' of VerbatimTag.");
                position = start_position;
                return verbatimTag;
            }

            int counter = 0;
            while (true)
            {
                char ch = ParseUriChar(out success);
                if (success) { verbatimTag.Chars.Add(ch); }
                else { break; }
                counter++;
            }
            if (counter > 0) { success = true; }
            if (!success)
            {
                Error("Failed to parse Chars of VerbatimTag.");
                position = start_position;
                return verbatimTag;
            }

            MatchTerminal('>', out success);
            if (!success)
            {
                Error("Failed to parse '>' of VerbatimTag.");
                position = start_position;
            }

            if (success) { ClearError(errorCount); }
            return verbatimTag;
        }
YamlParser