| // Protocol Buffers - Google's data interchange format |
| // Copyright 2008 Google Inc. All rights reserved. |
| // |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file or at |
| // https://developers.google.com/open-source/licenses/bsd |
| |
| syntax = "proto2"; |
| |
| package objc.protobuf.tests.mset; |
| |
| option objc_class_prefix = "MSet"; |
| |
| // A message with message_set_wire_format. |
| message Message { |
| option message_set_wire_format = true; |
| |
| extensions 4 to max; |
| } |
| |
| message MessageExtension1 { |
| extend Message { |
| optional MessageExtension1 message_set_extension = 1545008; |
| } |
| optional int32 i = 15; |
| optional Message recursive = 16; |
| optional string test_aliasing = 17 [ctype = STRING_PIECE]; |
| } |
| |
| message MessageExtension2 { |
| extend Message { |
| optional MessageExtension2 message_set_extension = 1547769; |
| } |
| optional string str = 25; |
| } |
| |
| // MessageSet wire format is equivalent to this. |
| message RawMessageSet { |
| repeated group Item = 1 { |
| required int32 type_id = 2; |
| required bytes message = 3; |
| } |
| } |
| |
| // MessageSet wire format is equivalent to this but since the fields |
| // are repeated they can be left off or over present to testing. |
| message RawBreakableMessageSet { |
| repeated group Item = 1 { |
| repeated int32 type_id = 2; |
| repeated bytes message = 3; |
| } |
| } |