// 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;
  }
}