// clang-format off
// 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
//
// Test schema for proto3 messages.  This test schema is used by:
//
// - benchmarks
// - fuzz tests
// - conformance tests

edition = "2023";

package protobuf_test_messages.editions.proto3;

import "google/protobuf/any.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";

option features.field_presence = IMPLICIT;
option java_package = "com.google.protobuf_test_messages.editions.proto3";
option objc_class_prefix = "EditionsProto3";

// This is the default, but we specify it here explicitly.
option optimize_for = SPEED;
option cc_enable_arenas = true;

// This proto includes every type of field in both singular and repeated
// forms.
//
// Also, crucially, all messages and enums in this file are eventually
// submessages of this message.  So for example, a fuzz test of TestAllTypes
// could trigger bugs that occur in any message type in this file.  We verify
// this stays true in a unit test.
message TestAllTypesProto3 {
  message NestedMessage {
    int32 a = 1;
    TestAllTypesProto3 corecursive = 2;
  }

  enum NestedEnum {
    FOO = 0;
    BAR = 1;
    BAZ = 2;
    NEG = -1; // Intentionally negative.
  }

  enum AliasedEnum {
    option allow_alias = true;

    ALIAS_FOO = 0;
    ALIAS_BAR = 1;
    ALIAS_BAZ = 2;
    MOO = 2;
    moo = 2;
    bAz = 2;
  }

  // Singular
  // test [kotlin] comment
  int32 optional_int32 = 1;
  int64 optional_int64 = 2;
  uint32 optional_uint32 = 3;
  uint64 optional_uint64 = 4;
  sint32 optional_sint32 = 5;
  sint64 optional_sint64 = 6;
  fixed32 optional_fixed32 = 7;
  fixed64 optional_fixed64 = 8;
  sfixed32 optional_sfixed32 = 9;
  sfixed64 optional_sfixed64 = 10;
  float optional_float = 11;
  double optional_double = 12;
  bool optional_bool = 13;
  string optional_string = 14;
  bytes optional_bytes = 15;
  NestedMessage optional_nested_message = 18;
  ForeignMessage optional_foreign_message = 19;
  NestedEnum optional_nested_enum = 21;
  ForeignEnum optional_foreign_enum = 22;
  AliasedEnum optional_aliased_enum = 23;
  string optional_string_piece = 24 [
    ctype = STRING_PIECE
  ];

  string optional_cord = 25 [
    ctype = CORD
  ];

  TestAllTypesProto3 recursive_message = 27;

  // Repeated
  repeated int32 repeated_int32 = 31;
  repeated int64 repeated_int64 = 32;
  repeated uint32 repeated_uint32 = 33;
  repeated uint64 repeated_uint64 = 34;
  repeated sint32 repeated_sint32 = 35;
  repeated sint64 repeated_sint64 = 36;
  repeated fixed32 repeated_fixed32 = 37;
  repeated fixed64 repeated_fixed64 = 38;
  repeated sfixed32 repeated_sfixed32 = 39;
  repeated sfixed64 repeated_sfixed64 = 40;
  repeated float repeated_float = 41;
  repeated double repeated_double = 42;
  repeated bool repeated_bool = 43;
  repeated string repeated_string = 44;
  repeated bytes repeated_bytes = 45;
  repeated NestedMessage repeated_nested_message = 48;
  repeated ForeignMessage repeated_foreign_message = 49;
  repeated NestedEnum repeated_nested_enum = 51;
  repeated ForeignEnum repeated_foreign_enum = 52;
  repeated string repeated_string_piece = 54 [
    ctype = STRING_PIECE
  ];

  repeated string repeated_cord = 55 [
    ctype = CORD
  ];

  // Packed
  repeated int32 packed_int32 = 75;
  repeated int64 packed_int64 = 76;
  repeated uint32 packed_uint32 = 77;
  repeated uint64 packed_uint64 = 78;
  repeated sint32 packed_sint32 = 79;
  repeated sint64 packed_sint64 = 80;
  repeated fixed32 packed_fixed32 = 81;
  repeated fixed64 packed_fixed64 = 82;
  repeated sfixed32 packed_sfixed32 = 83;
  repeated sfixed64 packed_sfixed64 = 84;
  repeated float packed_float = 85;
  repeated double packed_double = 86;
  repeated bool packed_bool = 87;
  repeated NestedEnum packed_nested_enum = 88;

  // Unpacked
  repeated int32 unpacked_int32 = 89 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated int64 unpacked_int64 = 90 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated uint32 unpacked_uint32 = 91 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated uint64 unpacked_uint64 = 92 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated sint32 unpacked_sint32 = 93 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated sint64 unpacked_sint64 = 94 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated fixed32 unpacked_fixed32 = 95 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated fixed64 unpacked_fixed64 = 96 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated sfixed32 unpacked_sfixed32 = 97 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated sfixed64 unpacked_sfixed64 = 98 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated float unpacked_float = 99 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated double unpacked_double = 100 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated bool unpacked_bool = 101 [
    features.repeated_field_encoding = EXPANDED
  ];

  repeated NestedEnum unpacked_nested_enum = 102 [
    features.repeated_field_encoding = EXPANDED
  ];

  // Map
  map<int32, int32> map_int32_int32 = 56;
  map<int64, int64> map_int64_int64 = 57;
  map<uint32, uint32> map_uint32_uint32 = 58;
  map<uint64, uint64> map_uint64_uint64 = 59;
  map<sint32, sint32> map_sint32_sint32 = 60;
  map<sint64, sint64> map_sint64_sint64 = 61;
  map<fixed32, fixed32> map_fixed32_fixed32 = 62;
  map<fixed64, fixed64> map_fixed64_fixed64 = 63;
  map<sfixed32, sfixed32> map_sfixed32_sfixed32 = 64;
  map<sfixed64, sfixed64> map_sfixed64_sfixed64 = 65;
  map<int32, float> map_int32_float = 66;
  map<int32, double> map_int32_double = 67;
  map<bool, bool> map_bool_bool = 68;
  map<string, string> map_string_string = 69;
  map<string, bytes> map_string_bytes = 70;
  map<string, NestedMessage> map_string_nested_message = 71;
  map<string, ForeignMessage> map_string_foreign_message = 72;
  map<string, NestedEnum> map_string_nested_enum = 73;
  map<string, ForeignEnum> map_string_foreign_enum = 74;

  oneof oneof_field {
    uint32 oneof_uint32 = 111;
    NestedMessage oneof_nested_message = 112;
    string oneof_string = 113;
    bytes oneof_bytes = 114;
    bool oneof_bool = 115;
    uint64 oneof_uint64 = 116;
    float oneof_float = 117;
    double oneof_double = 118;
    NestedEnum oneof_enum = 119;
    google.protobuf.NullValue oneof_null_value = 120;
  }

  // Well-known types
  google.protobuf.BoolValue optional_bool_wrapper = 201;
  google.protobuf.Int32Value optional_int32_wrapper = 202;
  google.protobuf.Int64Value optional_int64_wrapper = 203;
  google.protobuf.UInt32Value optional_uint32_wrapper = 204;
  google.protobuf.UInt64Value optional_uint64_wrapper = 205;
  google.protobuf.FloatValue optional_float_wrapper = 206;
  google.protobuf.DoubleValue optional_double_wrapper = 207;
  google.protobuf.StringValue optional_string_wrapper = 208;
  google.protobuf.BytesValue optional_bytes_wrapper = 209;
  repeated google.protobuf.BoolValue repeated_bool_wrapper = 211;
  repeated google.protobuf.Int32Value repeated_int32_wrapper = 212;
  repeated google.protobuf.Int64Value repeated_int64_wrapper = 213;
  repeated google.protobuf.UInt32Value repeated_uint32_wrapper = 214;
  repeated google.protobuf.UInt64Value repeated_uint64_wrapper = 215;
  repeated google.protobuf.FloatValue repeated_float_wrapper = 216;
  repeated google.protobuf.DoubleValue repeated_double_wrapper = 217;
  repeated google.protobuf.StringValue repeated_string_wrapper = 218;
  repeated google.protobuf.BytesValue repeated_bytes_wrapper = 219;
  google.protobuf.Duration optional_duration = 301;
  google.protobuf.Timestamp optional_timestamp = 302;
  google.protobuf.FieldMask optional_field_mask = 303;
  google.protobuf.Struct optional_struct = 304;
  google.protobuf.Any optional_any = 305;
  google.protobuf.Value optional_value = 306;
  google.protobuf.NullValue optional_null_value = 307;
  repeated google.protobuf.Duration repeated_duration = 311;
  repeated google.protobuf.Timestamp repeated_timestamp = 312;
  repeated google.protobuf.FieldMask repeated_fieldmask = 313;
  repeated google.protobuf.Struct repeated_struct = 324;
  repeated google.protobuf.Any repeated_any = 315;
  repeated google.protobuf.Value repeated_value = 316;
  repeated google.protobuf.ListValue repeated_list_value = 317;

  // Test field-name-to-JSON-name convention.
  // (protobuf says names can be any valid C/C++ identifier.)
  int32 fieldname1 = 401;
  int32 field_name2 = 402;
  int32 _field_name3 = 403;
  int32 field__name4_ = 404;
  int32 field0name5 = 405;
  int32 field_0_name6 = 406;
  int32 fieldName7 = 407;
  int32 FieldName8 = 408;
  int32 field_Name9 = 409;
  int32 Field_Name10 = 410;
  int32 FIELD_NAME11 = 411;
  int32 FIELD_name12 = 412;
  int32 __field_name13 = 413;
  int32 __Field_name14 = 414;
  int32 field__name15 = 415;
  int32 field__Name16 = 416;
  int32 field_name17__ = 417;
  int32 Field_name18__ = 418;

  // Reserved for testing unknown fields
  reserved 501 to 510;

  reserved reserved_field;

  reserved 999999;
}

message ForeignMessage {
  int32 c = 1;
}

enum ForeignEnum {
  FOREIGN_FOO = 0;
  FOREIGN_BAR = 1;
  FOREIGN_BAZ = 2;
}

message NullHypothesisProto3 {
}

message EnumOnlyProto3 {
  enum Bool {
    kFalse = 0;
    kTrue = 1;
  }
}
