// 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 opaque.goproto.proto.messageset;

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

option go_package = "google.golang.org/protobuf/internal/testprotos/messageset/msetextpb/msetextpb_opaque";
import "google/protobuf/go_features.proto";
option features.(pb.go).api_level = API_OPAQUE;

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