// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

edition = "2023";

package goproto.proto.messageset;

import "internal/testprotos/messageset/messagesetpb/message_set.proto";

option go_package = "google.golang.org/protobuf/internal/testprotos/messageset/msetextpb";

message Ext1 {
  extend MessageSet {
    Ext1 message_set_ext1 = 1000;
  }
  int32 ext1_field1 = 1;
  int32 ext1_field2 = 2;
}

message Ext2 {
  extend MessageSet {
    Ext2 message_set_ext2 = 1001;
  }
  int32 ext2_field1 = 1;
}

message ExtRequired {
  extend MessageSet {
    ExtRequired message_set_extrequired = 1002;
  }
  int32 required_field1 = 1 [features.field_presence = LEGACY_REQUIRED];
}

message ExtLargeNumber {
  extend MessageSet {
    ExtLargeNumber message_set_extlarge = 536870912;  // 1<<29
  }
}
