syntax = "proto2";

package testprotos;

import "desc_test1.proto";

import "nopkg/desc_test_nopkg.proto";

import "pkg/desc_test_pkg.proto";

option go_package = "github.com/jhump/protoreflect/internal/testprotos";

message Frobnitz {
   optional TestMessage a = 1;

   optional AnotherTestMessage b = 2;

   oneof abc {
      TestMessage.NestedMessage c1 = 3;

      TestMessage.NestedEnum c2 = 4;
   }

   optional TestMessage.NestedMessage d = 5;

   optional TestMessage.NestedEnum e = 6 [default = VALUE2];

   repeated string f = 7 [deprecated = true];

   oneof def {
      int32 g1 = 8;

      sint32 g2 = 9;

      uint32 g3 = 10;
   }
}

message Whatchamacallit {
   required jhump.protoreflect.desc.Foo foos = 1;
}

message Whatzit {
   repeated jhump.protoreflect.desc.Bar gyzmeau = 1;
}

extend TopLevel {
   optional TopLevel otl = 100;

   optional group GroupX = 104 {
      optional int64 groupxi = 1041;

      optional string groupxs = 1042;
   }
}
