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

ParseExplicitValue() private method

private ParseExplicitValue ( bool &success ) : YamlUtility.Grammar.DataItem
success bool
return YamlUtility.Grammar.DataItem
        private DataItem ParseExplicitValue(out bool success)
        {
            int errorCount = Errors.Count;
            DataItem dataItem = null;

            while (true)
            {
                int seq_start_position1 = position;
                MatchTerminal(':', out success);
                if (!success)
                {
                    Error("Failed to parse ':' of ExplicitValue.");
                    break;
                }

                ParseSeparationLinesInFlow(out success);
                if (!success)
                {
                    Error("Failed to parse SeparationLinesInFlow of ExplicitValue.");
                    position = seq_start_position1;
                    break;
                }

                dataItem = ParseFlowNodeInFlow(out success);
                if (!success)
                {
                    Error("Failed to parse FlowNodeInFlow of ExplicitValue.");
                    position = seq_start_position1;
                    break;
                }

                ParseSeparationLinesInFlow(out success);
                success = true;
                break;
            }
            if (success) { ClearError(errorCount); return dataItem; }

            while (true)
            {
                int seq_start_position2 = position;
                MatchTerminal(':', out success);
                if (!success)
                {
                    Error("Failed to parse ':' of ExplicitValue.");
                    break;
                }

                dataItem = ParseEmptyFlow(out success);

                ParseSeparationLinesInFlow(out success);
                if (!success)
                {
                    Error("Failed to parse SeparationLinesInFlow of ExplicitValue.");
                    position = seq_start_position2;
                }
                break;
            }
            if (success) { ClearError(errorCount); return dataItem; }

            return dataItem;
        }
YamlParser