ProtocolBuffers.ProtoParser.ParseMessages C# (CSharp) Method

ParseMessages() static private method

static private ParseMessages ( TokenReader tr, Proto p ) : void
tr TokenReader
p Proto
return void
        static void ParseMessages(TokenReader tr, Proto p)
        {
            while (true) {
                string token;
                try {
                    token = tr.ReadNext ();
                } catch (EndOfStreamException) {
                    return;
                }
                if (ParseComment (token))
                    continue;

                switch (token) {
                case "message":
                    p.Messages.Add (ParseMessage (tr, p));
                    break;
                case "option":
                    //Save options
                    ParseOption (tr, p);
                    break;
                case "import": //Ignored
                    tr.ReadNext ();
                    tr.ReadNextOrThrow (";");
                    break;
                case "package":
                    string pkg = tr.ReadNext ();
                    tr.ReadNextOrThrow (";");
                    p.OptionNamespace = pkg;
                    break;
                default:
                    throw new ProtoFormatException ("Unexpected/not implemented: " + token);
                }
            }
        }