|  | // 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 = "proto3"; | 
|  |  | 
|  | package objc.protobuf.tests.proto3_preserve_unknown_enum; | 
|  | option objc_class_prefix = "UnknownEnums"; | 
|  |  | 
|  | enum MyEnum { | 
|  | FOO = 0; | 
|  | BAR = 1; | 
|  | BAZ = 2; | 
|  | } | 
|  |  | 
|  | enum MyEnumPlusExtra { | 
|  | E_FOO = 0; | 
|  | E_BAR = 1; | 
|  | E_BAZ = 2; | 
|  | E_EXTRA = 3; | 
|  | } | 
|  |  | 
|  | message MyMessage { | 
|  | MyEnum e = 1; | 
|  | repeated MyEnum repeated_e = 2; | 
|  | repeated MyEnum repeated_packed_e = 3 [packed=true]; | 
|  | repeated MyEnumPlusExtra repeated_packed_unexpected_e = 4;  // not packed | 
|  | oneof o { | 
|  | MyEnum oneof_e_1 = 5; | 
|  | MyEnum oneof_e_2 = 6; | 
|  | } | 
|  | } | 
|  |  | 
|  | message MyMessagePlusExtra { | 
|  | MyEnumPlusExtra e = 1; | 
|  | repeated MyEnumPlusExtra repeated_e = 2; | 
|  | repeated MyEnumPlusExtra repeated_packed_e = 3 [packed=true]; | 
|  | repeated MyEnumPlusExtra repeated_packed_unexpected_e = 4 [packed=true]; | 
|  | oneof o { | 
|  | MyEnumPlusExtra oneof_e_1 = 5; | 
|  | MyEnumPlusExtra oneof_e_2 = 6; | 
|  | } | 
|  | } |