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

// Author: pbogle@google.com (Phil Bogle)

syntax = "proto2";

package protobuf_unittest.lite_equals_and_hash;


message TestOneofEquals {
  oneof oneof_field {
    string name = 1;
    int32 value = 2;
  }
}

message Foo {
  optional int32 value = 1;
  repeated Bar bar = 2;
  map<string, string> my_map = 3;
  oneof Single {
    sint64 sint64 = 4;
    // LINT: ALLOW_GROUPS
    group MyGroup = 5 {
      optional int32 value = 1;
    }
  }

  extensions 100 to max;
}

message Bar {
  extend Foo {
    optional Bar foo_ext = 100;
  }

  optional string name = 1;
}

message BarPrime {
  optional string name = 1;
}

message Empty {}

extend Foo {
  optional int32 varint = 101;
  optional fixed32 fixed32 = 102;
  optional fixed64 fixed64 = 103;
  optional group MyGroup = 104 {
    optional string group_value = 1;
  }
}

message TestRecursiveOneof {
  oneof Foo {
    TestRecursiveOneof r = 1;
  }
}
