AcManager.Tools.Helpers.Vdf.Get C# (CSharp) Method

Get() private static method

private static Get ( VdfTokenizer tokenizer, bool child = false ) : Vdf
tokenizer VdfTokenizer
child bool
return Vdf
        private static Vdf Get(VdfTokenizer tokenizer, bool child = false) {
            var section = new Vdf();
            while (!tokenizer.IsFinished) {
                switch (tokenizer.ReadNext()) {
                    case null:
                        if (child) throw new Exception("Unexpected end of file");
                        return section;
                    case VdfToken.End:
                        if (!child) throw new Exception("Unexpected end of section");
                        return section;
                    case VdfToken.Begin:
                        throw new Exception("Unexpected begin of section");
                }

                var key = tokenizer.Consume();
                switch (tokenizer.ReadNext()) {
                    case null:
                        throw new Exception("Unexpected end of file");
                    case VdfToken.End:
                        throw new Exception("Unexpected end of section");
                    case VdfToken.Begin:
                        section.Children[key] = Get(tokenizer, true);
                        break;
                    case VdfToken.String:
                        section.Values[key] = tokenizer.Consume();
                        break;
                }
            }

            return section;
        }