// Copyright 2018 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.

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: cmd/protoc-gen-go/testdata/proto2/fields.proto

package proto2

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	math "math"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

type FieldTestMessage_Enum int32

const (
	FieldTestMessage_ZERO FieldTestMessage_Enum = 0
	FieldTestMessage_ONE  FieldTestMessage_Enum = 1
)

// Enum value maps for FieldTestMessage_Enum.
var (
	FieldTestMessage_Enum_name = map[int32]string{
		0: "ZERO",
		1: "ONE",
	}
	FieldTestMessage_Enum_value = map[string]int32{
		"ZERO": 0,
		"ONE":  1,
	}
)

func (x FieldTestMessage_Enum) Enum() *FieldTestMessage_Enum {
	p := new(FieldTestMessage_Enum)
	*p = x
	return p
}

func (x FieldTestMessage_Enum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (FieldTestMessage_Enum) Descriptor() protoreflect.EnumDescriptor {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_enumTypes[0].Descriptor()
}

func (FieldTestMessage_Enum) Type() protoreflect.EnumType {
	return &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_enumTypes[0]
}

func (x FieldTestMessage_Enum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *FieldTestMessage_Enum) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = FieldTestMessage_Enum(num)
	return nil
}

// Deprecated: Use FieldTestMessage_Enum.Descriptor instead.
func (FieldTestMessage_Enum) EnumDescriptor() ([]byte, []int) {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP(), []int{0, 0}
}

type FieldTestMessage struct {
	state               protoimpl.MessageState               `protogen:"open.v1"`
	OptionalBool        *bool                                `protobuf:"varint,1,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"`
	OptionalEnum        *FieldTestMessage_Enum               `protobuf:"varint,2,opt,name=optional_enum,json=optionalEnum,enum=goproto.protoc.proto2.FieldTestMessage_Enum" json:"optional_enum,omitempty"`
	OptionalInt32       *int32                               `protobuf:"varint,3,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
	OptionalSint32      *int32                               `protobuf:"zigzag32,4,opt,name=optional_sint32,json=optionalSint32" json:"optional_sint32,omitempty"`
	OptionalUint32      *uint32                              `protobuf:"varint,5,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"`
	OptionalInt64       *int64                               `protobuf:"varint,6,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
	OptionalSint64      *int64                               `protobuf:"zigzag64,7,opt,name=optional_sint64,json=optionalSint64" json:"optional_sint64,omitempty"`
	OptionalUint64      *uint64                              `protobuf:"varint,8,opt,name=optional_uint64,json=optionalUint64" json:"optional_uint64,omitempty"`
	OptionalSfixed32    *int32                               `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32" json:"optional_sfixed32,omitempty"`
	OptionalFixed32     *uint32                              `protobuf:"fixed32,10,opt,name=optional_fixed32,json=optionalFixed32" json:"optional_fixed32,omitempty"`
	OptionalFloat       *float32                             `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat" json:"optional_float,omitempty"`
	OptionalSfixed64    *int64                               `protobuf:"fixed64,12,opt,name=optional_sfixed64,json=optionalSfixed64" json:"optional_sfixed64,omitempty"`
	OptionalFixed64     *uint64                              `protobuf:"fixed64,13,opt,name=optional_fixed64,json=optionalFixed64" json:"optional_fixed64,omitempty"`
	OptionalDouble      *float64                             `protobuf:"fixed64,14,opt,name=optional_double,json=optionalDouble" json:"optional_double,omitempty"`
	OptionalString      *string                              `protobuf:"bytes,15,opt,name=optional_string,json=optionalString" json:"optional_string,omitempty"`
	OptionalBytes       []byte                               `protobuf:"bytes,16,opt,name=optional_bytes,json=optionalBytes" json:"optional_bytes,omitempty"`
	Optional_Message    *FieldTestMessage_Message            `protobuf:"bytes,17,opt,name=optional_Message,json=optionalMessage" json:"optional_Message,omitempty"`
	Optionalgroup       *FieldTestMessage_OptionalGroup      `protobuf:"group,18,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
	RequiredBool        *bool                                `protobuf:"varint,101,req,name=required_bool,json=requiredBool" json:"required_bool,omitempty"`
	RequiredEnum        *FieldTestMessage_Enum               `protobuf:"varint,102,req,name=required_enum,json=requiredEnum,enum=goproto.protoc.proto2.FieldTestMessage_Enum" json:"required_enum,omitempty"`
	RequiredInt32       *int32                               `protobuf:"varint,103,req,name=required_int32,json=requiredInt32" json:"required_int32,omitempty"`
	RequiredSint32      *int32                               `protobuf:"zigzag32,104,req,name=required_sint32,json=requiredSint32" json:"required_sint32,omitempty"`
	RequiredUint32      *uint32                              `protobuf:"varint,105,req,name=required_uint32,json=requiredUint32" json:"required_uint32,omitempty"`
	RequiredInt64       *int64                               `protobuf:"varint,106,req,name=required_int64,json=requiredInt64" json:"required_int64,omitempty"`
	RequiredSint64      *int64                               `protobuf:"zigzag64,107,req,name=required_sint64,json=requiredSint64" json:"required_sint64,omitempty"`
	RequiredUint64      *uint64                              `protobuf:"varint,108,req,name=required_uint64,json=requiredUint64" json:"required_uint64,omitempty"`
	RequiredSfixed32    *int32                               `protobuf:"fixed32,109,req,name=required_sfixed32,json=requiredSfixed32" json:"required_sfixed32,omitempty"`
	RequiredFixed32     *uint32                              `protobuf:"fixed32,110,req,name=required_fixed32,json=requiredFixed32" json:"required_fixed32,omitempty"`
	RequiredFloat       *float32                             `protobuf:"fixed32,111,req,name=required_float,json=requiredFloat" json:"required_float,omitempty"`
	RequiredSfixed64    *int64                               `protobuf:"fixed64,112,req,name=required_sfixed64,json=requiredSfixed64" json:"required_sfixed64,omitempty"`
	RequiredFixed64     *uint64                              `protobuf:"fixed64,113,req,name=required_fixed64,json=requiredFixed64" json:"required_fixed64,omitempty"`
	RequiredDouble      *float64                             `protobuf:"fixed64,114,req,name=required_double,json=requiredDouble" json:"required_double,omitempty"`
	RequiredString      *string                              `protobuf:"bytes,115,req,name=required_string,json=requiredString" json:"required_string,omitempty"`
	RequiredBytes       []byte                               `protobuf:"bytes,116,req,name=required_bytes,json=requiredBytes" json:"required_bytes,omitempty"`
	Required_Message    *FieldTestMessage_Message            `protobuf:"bytes,117,req,name=required_Message,json=requiredMessage" json:"required_Message,omitempty"`
	Requiredgroup       *FieldTestMessage_RequiredGroup      `protobuf:"group,118,req,name=RequiredGroup,json=requiredgroup" json:"requiredgroup,omitempty"`
	RepeatedBool        []bool                               `protobuf:"varint,201,rep,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"`
	RepeatedEnum        []FieldTestMessage_Enum              `protobuf:"varint,202,rep,name=repeated_enum,json=repeatedEnum,enum=goproto.protoc.proto2.FieldTestMessage_Enum" json:"repeated_enum,omitempty"`
	RepeatedInt32       []int32                              `protobuf:"varint,203,rep,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"`
	RepeatedSint32      []int32                              `protobuf:"zigzag32,204,rep,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"`
	RepeatedUint32      []uint32                             `protobuf:"varint,205,rep,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"`
	RepeatedInt64       []int64                              `protobuf:"varint,206,rep,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"`
	RepeatedSint64      []int64                              `protobuf:"zigzag64,207,rep,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"`
	RepeatedUint64      []uint64                             `protobuf:"varint,208,rep,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"`
	RepeatedSfixed32    []int32                              `protobuf:"fixed32,209,rep,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"`
	RepeatedFixed32     []uint32                             `protobuf:"fixed32,210,rep,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"`
	RepeatedFloat       []float32                            `protobuf:"fixed32,211,rep,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"`
	RepeatedSfixed64    []int64                              `protobuf:"fixed64,212,rep,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"`
	RepeatedFixed64     []uint64                             `protobuf:"fixed64,213,rep,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"`
	RepeatedDouble      []float64                            `protobuf:"fixed64,214,rep,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"`
	RepeatedString      []string                             `protobuf:"bytes,215,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"`
	RepeatedBytes       [][]byte                             `protobuf:"bytes,216,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"`
	Repeated_Message    []*FieldTestMessage_Message          `protobuf:"bytes,217,rep,name=repeated_Message,json=repeatedMessage" json:"repeated_Message,omitempty"`
	Repeatedgroup       []*FieldTestMessage_RepeatedGroup    `protobuf:"group,218,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
	DefaultBool         *bool                                `protobuf:"varint,301,opt,name=default_bool,json=defaultBool,def=1" json:"default_bool,omitempty"`
	DefaultEnum         *FieldTestMessage_Enum               `protobuf:"varint,302,opt,name=default_enum,json=defaultEnum,enum=goproto.protoc.proto2.FieldTestMessage_Enum,def=1" json:"default_enum,omitempty"`
	DefaultInt32        *int32                               `protobuf:"varint,303,opt,name=default_int32,json=defaultInt32,def=1" json:"default_int32,omitempty"`
	DefaultSint32       *int32                               `protobuf:"zigzag32,304,opt,name=default_sint32,json=defaultSint32,def=1" json:"default_sint32,omitempty"`
	DefaultUint32       *uint32                              `protobuf:"varint,305,opt,name=default_uint32,json=defaultUint32,def=1" json:"default_uint32,omitempty"`
	DefaultInt64        *int64                               `protobuf:"varint,306,opt,name=default_int64,json=defaultInt64,def=1" json:"default_int64,omitempty"`
	DefaultSint64       *int64                               `protobuf:"zigzag64,307,opt,name=default_sint64,json=defaultSint64,def=1" json:"default_sint64,omitempty"`
	DefaultUint64       *uint64                              `protobuf:"varint,308,opt,name=default_uint64,json=defaultUint64,def=1" json:"default_uint64,omitempty"`
	DefaultSfixed32     *int32                               `protobuf:"fixed32,309,opt,name=default_sfixed32,json=defaultSfixed32,def=1" json:"default_sfixed32,omitempty"`
	DefaultFixed32      *uint32                              `protobuf:"fixed32,310,opt,name=default_fixed32,json=defaultFixed32,def=1" json:"default_fixed32,omitempty"`
	DefaultFloat        *float32                             `protobuf:"fixed32,311,opt,name=default_float,json=defaultFloat,def=3.14" json:"default_float,omitempty"`
	DefaultSfixed64     *int64                               `protobuf:"fixed64,312,opt,name=default_sfixed64,json=defaultSfixed64,def=1" json:"default_sfixed64,omitempty"`
	DefaultFixed64      *uint64                              `protobuf:"fixed64,313,opt,name=default_fixed64,json=defaultFixed64,def=1" json:"default_fixed64,omitempty"`
	DefaultDouble       *float64                             `protobuf:"fixed64,314,opt,name=default_double,json=defaultDouble,def=3.1415" json:"default_double,omitempty"`
	DefaultString       *string                              `protobuf:"bytes,315,opt,name=default_string,json=defaultString,def=hello,\"world!\"\n" json:"default_string,omitempty"`
	DefaultBytes        []byte                               `protobuf:"bytes,316,opt,name=default_bytes,json=defaultBytes,def=hello,\\336\\255\\276\\357" json:"default_bytes,omitempty"`
	DefaultZeroString   *string                              `protobuf:"bytes,350,opt,name=default_zero_string,json=defaultZeroString,def=" json:"default_zero_string,omitempty"`
	DefaultZeroBytes    []byte                               `protobuf:"bytes,351,opt,name=default_zero_bytes,json=defaultZeroBytes,def=" json:"default_zero_bytes,omitempty"`
	DefaultFloatNeginf  *float32                             `protobuf:"fixed32,400,opt,name=default_float_neginf,json=defaultFloatNeginf,def=-inf" json:"default_float_neginf,omitempty"`
	DefaultFloatPosinf  *float32                             `protobuf:"fixed32,401,opt,name=default_float_posinf,json=defaultFloatPosinf,def=inf" json:"default_float_posinf,omitempty"`
	DefaultFloatNan     *float32                             `protobuf:"fixed32,402,opt,name=default_float_nan,json=defaultFloatNan,def=nan" json:"default_float_nan,omitempty"`
	DefaultDoubleNeginf *float64                             `protobuf:"fixed64,403,opt,name=default_double_neginf,json=defaultDoubleNeginf,def=-inf" json:"default_double_neginf,omitempty"`
	DefaultDoublePosinf *float64                             `protobuf:"fixed64,404,opt,name=default_double_posinf,json=defaultDoublePosinf,def=inf" json:"default_double_posinf,omitempty"`
	DefaultDoubleNan    *float64                             `protobuf:"fixed64,405,opt,name=default_double_nan,json=defaultDoubleNan,def=nan" json:"default_double_nan,omitempty"`
	MapInt32Int64       map[int32]int64                      `protobuf:"bytes,500,rep,name=map_int32_int64,json=mapInt32Int64" json:"map_int32_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapStringMessage    map[string]*FieldTestMessage_Message `protobuf:"bytes,501,rep,name=map_string_message,json=mapStringMessage" json:"map_string_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapFixed64Enum      map[uint64]FieldTestMessage_Enum     `protobuf:"bytes,502,rep,name=map_fixed64_enum,json=mapFixed64Enum" json:"map_fixed64_enum,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=goproto.protoc.proto2.FieldTestMessage_Enum"`
	// Types that are valid to be assigned to OneofField:
	//
	//	*FieldTestMessage_OneofBool
	//	*FieldTestMessage_OneofEnum
	//	*FieldTestMessage_OneofInt32
	//	*FieldTestMessage_OneofSint32
	//	*FieldTestMessage_OneofUint32
	//	*FieldTestMessage_OneofInt64
	//	*FieldTestMessage_OneofSint64
	//	*FieldTestMessage_OneofUint64
	//	*FieldTestMessage_OneofSfixed32
	//	*FieldTestMessage_OneofFixed32
	//	*FieldTestMessage_OneofFloat
	//	*FieldTestMessage_OneofSfixed64
	//	*FieldTestMessage_OneofFixed64
	//	*FieldTestMessage_OneofDouble
	//	*FieldTestMessage_OneofString
	//	*FieldTestMessage_OneofBytes
	//	*FieldTestMessage_Oneof_Message
	//	*FieldTestMessage_Oneofgroup
	//	*FieldTestMessage_OneofLargestTag
	OneofField isFieldTestMessage_OneofField `protobuf_oneof:"oneof_field"`
	// Types that are valid to be assigned to OneofTwo:
	//
	//	*FieldTestMessage_OneofTwo_1
	//	*FieldTestMessage_OneofTwo_2
	OneofTwo      isFieldTestMessage_OneofTwo `protobuf_oneof:"oneof_two"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

// Default values for FieldTestMessage fields.
const (
	Default_FieldTestMessage_DefaultBool       = bool(true)
	Default_FieldTestMessage_DefaultEnum       = FieldTestMessage_ONE
	Default_FieldTestMessage_DefaultInt32      = int32(1)
	Default_FieldTestMessage_DefaultSint32     = int32(1)
	Default_FieldTestMessage_DefaultUint32     = uint32(1)
	Default_FieldTestMessage_DefaultInt64      = int64(1)
	Default_FieldTestMessage_DefaultSint64     = int64(1)
	Default_FieldTestMessage_DefaultUint64     = uint64(1)
	Default_FieldTestMessage_DefaultSfixed32   = int32(1)
	Default_FieldTestMessage_DefaultFixed32    = uint32(1)
	Default_FieldTestMessage_DefaultFloat      = float32(3.140000104904175)
	Default_FieldTestMessage_DefaultSfixed64   = int64(1)
	Default_FieldTestMessage_DefaultFixed64    = uint64(1)
	Default_FieldTestMessage_DefaultDouble     = float64(3.1415)
	Default_FieldTestMessage_DefaultString     = string("hello,\"world!\"\n")
	Default_FieldTestMessage_DefaultZeroString = string("")
)

// Default values for FieldTestMessage fields.
var (
	Default_FieldTestMessage_DefaultBytes        = []byte("hello,ޭ\xbe\xef")
	Default_FieldTestMessage_DefaultZeroBytes    = []byte("")
	Default_FieldTestMessage_DefaultFloatNeginf  = float32(math.Inf(-1))
	Default_FieldTestMessage_DefaultFloatPosinf  = float32(math.Inf(+1))
	Default_FieldTestMessage_DefaultFloatNan     = float32(math.NaN())
	Default_FieldTestMessage_DefaultDoubleNeginf = float64(math.Inf(-1))
	Default_FieldTestMessage_DefaultDoublePosinf = float64(math.Inf(+1))
	Default_FieldTestMessage_DefaultDoubleNan    = float64(math.NaN())
)

func (x *FieldTestMessage) Reset() {
	*x = FieldTestMessage{}
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FieldTestMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldTestMessage) ProtoMessage() {}

func (x *FieldTestMessage) ProtoReflect() protoreflect.Message {
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldTestMessage.ProtoReflect.Descriptor instead.
func (*FieldTestMessage) Descriptor() ([]byte, []int) {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP(), []int{0}
}

func (x *FieldTestMessage) GetOptionalBool() bool {
	if x != nil && x.OptionalBool != nil {
		return *x.OptionalBool
	}
	return false
}

func (x *FieldTestMessage) GetOptionalEnum() FieldTestMessage_Enum {
	if x != nil && x.OptionalEnum != nil {
		return *x.OptionalEnum
	}
	return FieldTestMessage_ZERO
}

func (x *FieldTestMessage) GetOptionalInt32() int32 {
	if x != nil && x.OptionalInt32 != nil {
		return *x.OptionalInt32
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalSint32() int32 {
	if x != nil && x.OptionalSint32 != nil {
		return *x.OptionalSint32
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalUint32() uint32 {
	if x != nil && x.OptionalUint32 != nil {
		return *x.OptionalUint32
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalInt64() int64 {
	if x != nil && x.OptionalInt64 != nil {
		return *x.OptionalInt64
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalSint64() int64 {
	if x != nil && x.OptionalSint64 != nil {
		return *x.OptionalSint64
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalUint64() uint64 {
	if x != nil && x.OptionalUint64 != nil {
		return *x.OptionalUint64
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalSfixed32() int32 {
	if x != nil && x.OptionalSfixed32 != nil {
		return *x.OptionalSfixed32
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalFixed32() uint32 {
	if x != nil && x.OptionalFixed32 != nil {
		return *x.OptionalFixed32
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalFloat() float32 {
	if x != nil && x.OptionalFloat != nil {
		return *x.OptionalFloat
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalSfixed64() int64 {
	if x != nil && x.OptionalSfixed64 != nil {
		return *x.OptionalSfixed64
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalFixed64() uint64 {
	if x != nil && x.OptionalFixed64 != nil {
		return *x.OptionalFixed64
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalDouble() float64 {
	if x != nil && x.OptionalDouble != nil {
		return *x.OptionalDouble
	}
	return 0
}

func (x *FieldTestMessage) GetOptionalString() string {
	if x != nil && x.OptionalString != nil {
		return *x.OptionalString
	}
	return ""
}

func (x *FieldTestMessage) GetOptionalBytes() []byte {
	if x != nil {
		return x.OptionalBytes
	}
	return nil
}

func (x *FieldTestMessage) GetOptional_Message() *FieldTestMessage_Message {
	if x != nil {
		return x.Optional_Message
	}
	return nil
}

func (x *FieldTestMessage) GetOptionalgroup() *FieldTestMessage_OptionalGroup {
	if x != nil {
		return x.Optionalgroup
	}
	return nil
}

func (x *FieldTestMessage) GetRequiredBool() bool {
	if x != nil && x.RequiredBool != nil {
		return *x.RequiredBool
	}
	return false
}

func (x *FieldTestMessage) GetRequiredEnum() FieldTestMessage_Enum {
	if x != nil && x.RequiredEnum != nil {
		return *x.RequiredEnum
	}
	return FieldTestMessage_ZERO
}

func (x *FieldTestMessage) GetRequiredInt32() int32 {
	if x != nil && x.RequiredInt32 != nil {
		return *x.RequiredInt32
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredSint32() int32 {
	if x != nil && x.RequiredSint32 != nil {
		return *x.RequiredSint32
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredUint32() uint32 {
	if x != nil && x.RequiredUint32 != nil {
		return *x.RequiredUint32
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredInt64() int64 {
	if x != nil && x.RequiredInt64 != nil {
		return *x.RequiredInt64
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredSint64() int64 {
	if x != nil && x.RequiredSint64 != nil {
		return *x.RequiredSint64
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredUint64() uint64 {
	if x != nil && x.RequiredUint64 != nil {
		return *x.RequiredUint64
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredSfixed32() int32 {
	if x != nil && x.RequiredSfixed32 != nil {
		return *x.RequiredSfixed32
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredFixed32() uint32 {
	if x != nil && x.RequiredFixed32 != nil {
		return *x.RequiredFixed32
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredFloat() float32 {
	if x != nil && x.RequiredFloat != nil {
		return *x.RequiredFloat
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredSfixed64() int64 {
	if x != nil && x.RequiredSfixed64 != nil {
		return *x.RequiredSfixed64
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredFixed64() uint64 {
	if x != nil && x.RequiredFixed64 != nil {
		return *x.RequiredFixed64
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredDouble() float64 {
	if x != nil && x.RequiredDouble != nil {
		return *x.RequiredDouble
	}
	return 0
}

func (x *FieldTestMessage) GetRequiredString() string {
	if x != nil && x.RequiredString != nil {
		return *x.RequiredString
	}
	return ""
}

func (x *FieldTestMessage) GetRequiredBytes() []byte {
	if x != nil {
		return x.RequiredBytes
	}
	return nil
}

func (x *FieldTestMessage) GetRequired_Message() *FieldTestMessage_Message {
	if x != nil {
		return x.Required_Message
	}
	return nil
}

func (x *FieldTestMessage) GetRequiredgroup() *FieldTestMessage_RequiredGroup {
	if x != nil {
		return x.Requiredgroup
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedBool() []bool {
	if x != nil {
		return x.RepeatedBool
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedEnum() []FieldTestMessage_Enum {
	if x != nil {
		return x.RepeatedEnum
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedInt32() []int32 {
	if x != nil {
		return x.RepeatedInt32
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedSint32() []int32 {
	if x != nil {
		return x.RepeatedSint32
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedUint32() []uint32 {
	if x != nil {
		return x.RepeatedUint32
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedInt64() []int64 {
	if x != nil {
		return x.RepeatedInt64
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedSint64() []int64 {
	if x != nil {
		return x.RepeatedSint64
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedUint64() []uint64 {
	if x != nil {
		return x.RepeatedUint64
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedSfixed32() []int32 {
	if x != nil {
		return x.RepeatedSfixed32
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedFixed32() []uint32 {
	if x != nil {
		return x.RepeatedFixed32
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedFloat() []float32 {
	if x != nil {
		return x.RepeatedFloat
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedSfixed64() []int64 {
	if x != nil {
		return x.RepeatedSfixed64
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedFixed64() []uint64 {
	if x != nil {
		return x.RepeatedFixed64
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedDouble() []float64 {
	if x != nil {
		return x.RepeatedDouble
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedString() []string {
	if x != nil {
		return x.RepeatedString
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedBytes() [][]byte {
	if x != nil {
		return x.RepeatedBytes
	}
	return nil
}

func (x *FieldTestMessage) GetRepeated_Message() []*FieldTestMessage_Message {
	if x != nil {
		return x.Repeated_Message
	}
	return nil
}

func (x *FieldTestMessage) GetRepeatedgroup() []*FieldTestMessage_RepeatedGroup {
	if x != nil {
		return x.Repeatedgroup
	}
	return nil
}

func (x *FieldTestMessage) GetDefaultBool() bool {
	if x != nil && x.DefaultBool != nil {
		return *x.DefaultBool
	}
	return Default_FieldTestMessage_DefaultBool
}

func (x *FieldTestMessage) GetDefaultEnum() FieldTestMessage_Enum {
	if x != nil && x.DefaultEnum != nil {
		return *x.DefaultEnum
	}
	return Default_FieldTestMessage_DefaultEnum
}

func (x *FieldTestMessage) GetDefaultInt32() int32 {
	if x != nil && x.DefaultInt32 != nil {
		return *x.DefaultInt32
	}
	return Default_FieldTestMessage_DefaultInt32
}

func (x *FieldTestMessage) GetDefaultSint32() int32 {
	if x != nil && x.DefaultSint32 != nil {
		return *x.DefaultSint32
	}
	return Default_FieldTestMessage_DefaultSint32
}

func (x *FieldTestMessage) GetDefaultUint32() uint32 {
	if x != nil && x.DefaultUint32 != nil {
		return *x.DefaultUint32
	}
	return Default_FieldTestMessage_DefaultUint32
}

func (x *FieldTestMessage) GetDefaultInt64() int64 {
	if x != nil && x.DefaultInt64 != nil {
		return *x.DefaultInt64
	}
	return Default_FieldTestMessage_DefaultInt64
}

func (x *FieldTestMessage) GetDefaultSint64() int64 {
	if x != nil && x.DefaultSint64 != nil {
		return *x.DefaultSint64
	}
	return Default_FieldTestMessage_DefaultSint64
}

func (x *FieldTestMessage) GetDefaultUint64() uint64 {
	if x != nil && x.DefaultUint64 != nil {
		return *x.DefaultUint64
	}
	return Default_FieldTestMessage_DefaultUint64
}

func (x *FieldTestMessage) GetDefaultSfixed32() int32 {
	if x != nil && x.DefaultSfixed32 != nil {
		return *x.DefaultSfixed32
	}
	return Default_FieldTestMessage_DefaultSfixed32
}

func (x *FieldTestMessage) GetDefaultFixed32() uint32 {
	if x != nil && x.DefaultFixed32 != nil {
		return *x.DefaultFixed32
	}
	return Default_FieldTestMessage_DefaultFixed32
}

func (x *FieldTestMessage) GetDefaultFloat() float32 {
	if x != nil && x.DefaultFloat != nil {
		return *x.DefaultFloat
	}
	return Default_FieldTestMessage_DefaultFloat
}

func (x *FieldTestMessage) GetDefaultSfixed64() int64 {
	if x != nil && x.DefaultSfixed64 != nil {
		return *x.DefaultSfixed64
	}
	return Default_FieldTestMessage_DefaultSfixed64
}

func (x *FieldTestMessage) GetDefaultFixed64() uint64 {
	if x != nil && x.DefaultFixed64 != nil {
		return *x.DefaultFixed64
	}
	return Default_FieldTestMessage_DefaultFixed64
}

func (x *FieldTestMessage) GetDefaultDouble() float64 {
	if x != nil && x.DefaultDouble != nil {
		return *x.DefaultDouble
	}
	return Default_FieldTestMessage_DefaultDouble
}

func (x *FieldTestMessage) GetDefaultString() string {
	if x != nil && x.DefaultString != nil {
		return *x.DefaultString
	}
	return Default_FieldTestMessage_DefaultString
}

func (x *FieldTestMessage) GetDefaultBytes() []byte {
	if x != nil && x.DefaultBytes != nil {
		return x.DefaultBytes
	}
	return append([]byte(nil), Default_FieldTestMessage_DefaultBytes...)
}

func (x *FieldTestMessage) GetDefaultZeroString() string {
	if x != nil && x.DefaultZeroString != nil {
		return *x.DefaultZeroString
	}
	return Default_FieldTestMessage_DefaultZeroString
}

func (x *FieldTestMessage) GetDefaultZeroBytes() []byte {
	if x != nil && x.DefaultZeroBytes != nil {
		return x.DefaultZeroBytes
	}
	return append([]byte(nil), Default_FieldTestMessage_DefaultZeroBytes...)
}

func (x *FieldTestMessage) GetDefaultFloatNeginf() float32 {
	if x != nil && x.DefaultFloatNeginf != nil {
		return *x.DefaultFloatNeginf
	}
	return Default_FieldTestMessage_DefaultFloatNeginf
}

func (x *FieldTestMessage) GetDefaultFloatPosinf() float32 {
	if x != nil && x.DefaultFloatPosinf != nil {
		return *x.DefaultFloatPosinf
	}
	return Default_FieldTestMessage_DefaultFloatPosinf
}

func (x *FieldTestMessage) GetDefaultFloatNan() float32 {
	if x != nil && x.DefaultFloatNan != nil {
		return *x.DefaultFloatNan
	}
	return Default_FieldTestMessage_DefaultFloatNan
}

func (x *FieldTestMessage) GetDefaultDoubleNeginf() float64 {
	if x != nil && x.DefaultDoubleNeginf != nil {
		return *x.DefaultDoubleNeginf
	}
	return Default_FieldTestMessage_DefaultDoubleNeginf
}

func (x *FieldTestMessage) GetDefaultDoublePosinf() float64 {
	if x != nil && x.DefaultDoublePosinf != nil {
		return *x.DefaultDoublePosinf
	}
	return Default_FieldTestMessage_DefaultDoublePosinf
}

func (x *FieldTestMessage) GetDefaultDoubleNan() float64 {
	if x != nil && x.DefaultDoubleNan != nil {
		return *x.DefaultDoubleNan
	}
	return Default_FieldTestMessage_DefaultDoubleNan
}

func (x *FieldTestMessage) GetMapInt32Int64() map[int32]int64 {
	if x != nil {
		return x.MapInt32Int64
	}
	return nil
}

func (x *FieldTestMessage) GetMapStringMessage() map[string]*FieldTestMessage_Message {
	if x != nil {
		return x.MapStringMessage
	}
	return nil
}

func (x *FieldTestMessage) GetMapFixed64Enum() map[uint64]FieldTestMessage_Enum {
	if x != nil {
		return x.MapFixed64Enum
	}
	return nil
}

func (x *FieldTestMessage) GetOneofField() isFieldTestMessage_OneofField {
	if x != nil {
		return x.OneofField
	}
	return nil
}

func (x *FieldTestMessage) GetOneofBool() bool {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofBool); ok {
			return x.OneofBool
		}
	}
	return false
}

func (x *FieldTestMessage) GetOneofEnum() FieldTestMessage_Enum {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofEnum); ok {
			return x.OneofEnum
		}
	}
	return FieldTestMessage_ZERO
}

func (x *FieldTestMessage) GetOneofInt32() int32 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofInt32); ok {
			return x.OneofInt32
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofSint32() int32 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofSint32); ok {
			return x.OneofSint32
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofUint32() uint32 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofUint32); ok {
			return x.OneofUint32
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofInt64() int64 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofInt64); ok {
			return x.OneofInt64
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofSint64() int64 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofSint64); ok {
			return x.OneofSint64
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofUint64() uint64 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofUint64); ok {
			return x.OneofUint64
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofSfixed32() int32 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofSfixed32); ok {
			return x.OneofSfixed32
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofFixed32() uint32 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofFixed32); ok {
			return x.OneofFixed32
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofFloat() float32 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofFloat); ok {
			return x.OneofFloat
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofSfixed64() int64 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofSfixed64); ok {
			return x.OneofSfixed64
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofFixed64() uint64 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofFixed64); ok {
			return x.OneofFixed64
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofDouble() float64 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofDouble); ok {
			return x.OneofDouble
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofString() string {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofString); ok {
			return x.OneofString
		}
	}
	return ""
}

func (x *FieldTestMessage) GetOneofBytes() []byte {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofBytes); ok {
			return x.OneofBytes
		}
	}
	return nil
}

func (x *FieldTestMessage) GetOneof_Message() *FieldTestMessage_Message {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_Oneof_Message); ok {
			return x.Oneof_Message
		}
	}
	return nil
}

func (x *FieldTestMessage) GetOneofgroup() *FieldTestMessage_OneofGroup {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_Oneofgroup); ok {
			return x.Oneofgroup
		}
	}
	return nil
}

func (x *FieldTestMessage) GetOneofLargestTag() int32 {
	if x != nil {
		if x, ok := x.OneofField.(*FieldTestMessage_OneofLargestTag); ok {
			return x.OneofLargestTag
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofTwo() isFieldTestMessage_OneofTwo {
	if x != nil {
		return x.OneofTwo
	}
	return nil
}

func (x *FieldTestMessage) GetOneofTwo_1() int32 {
	if x != nil {
		if x, ok := x.OneofTwo.(*FieldTestMessage_OneofTwo_1); ok {
			return x.OneofTwo_1
		}
	}
	return 0
}

func (x *FieldTestMessage) GetOneofTwo_2() int64 {
	if x != nil {
		if x, ok := x.OneofTwo.(*FieldTestMessage_OneofTwo_2); ok {
			return x.OneofTwo_2
		}
	}
	return 0
}

type isFieldTestMessage_OneofField interface {
	isFieldTestMessage_OneofField()
}

type FieldTestMessage_OneofBool struct {
	OneofBool bool `protobuf:"varint,601,opt,name=oneof_bool,json=oneofBool,oneof"`
}

type FieldTestMessage_OneofEnum struct {
	OneofEnum FieldTestMessage_Enum `protobuf:"varint,602,opt,name=oneof_enum,json=oneofEnum,enum=goproto.protoc.proto2.FieldTestMessage_Enum,oneof"`
}

type FieldTestMessage_OneofInt32 struct {
	OneofInt32 int32 `protobuf:"varint,603,opt,name=oneof_int32,json=oneofInt32,oneof"`
}

type FieldTestMessage_OneofSint32 struct {
	OneofSint32 int32 `protobuf:"zigzag32,604,opt,name=oneof_sint32,json=oneofSint32,oneof"`
}

type FieldTestMessage_OneofUint32 struct {
	OneofUint32 uint32 `protobuf:"varint,605,opt,name=oneof_uint32,json=oneofUint32,oneof"`
}

type FieldTestMessage_OneofInt64 struct {
	OneofInt64 int64 `protobuf:"varint,606,opt,name=oneof_int64,json=oneofInt64,oneof"`
}

type FieldTestMessage_OneofSint64 struct {
	OneofSint64 int64 `protobuf:"zigzag64,607,opt,name=oneof_sint64,json=oneofSint64,oneof"`
}

type FieldTestMessage_OneofUint64 struct {
	OneofUint64 uint64 `protobuf:"varint,608,opt,name=oneof_uint64,json=oneofUint64,oneof"`
}

type FieldTestMessage_OneofSfixed32 struct {
	OneofSfixed32 int32 `protobuf:"fixed32,609,opt,name=oneof_sfixed32,json=oneofSfixed32,oneof"`
}

type FieldTestMessage_OneofFixed32 struct {
	OneofFixed32 uint32 `protobuf:"fixed32,610,opt,name=oneof_fixed32,json=oneofFixed32,oneof"`
}

type FieldTestMessage_OneofFloat struct {
	OneofFloat float32 `protobuf:"fixed32,611,opt,name=oneof_float,json=oneofFloat,oneof"`
}

type FieldTestMessage_OneofSfixed64 struct {
	OneofSfixed64 int64 `protobuf:"fixed64,612,opt,name=oneof_sfixed64,json=oneofSfixed64,oneof"`
}

type FieldTestMessage_OneofFixed64 struct {
	OneofFixed64 uint64 `protobuf:"fixed64,613,opt,name=oneof_fixed64,json=oneofFixed64,oneof"`
}

type FieldTestMessage_OneofDouble struct {
	OneofDouble float64 `protobuf:"fixed64,614,opt,name=oneof_double,json=oneofDouble,oneof"`
}

type FieldTestMessage_OneofString struct {
	OneofString string `protobuf:"bytes,615,opt,name=oneof_string,json=oneofString,oneof"`
}

type FieldTestMessage_OneofBytes struct {
	OneofBytes []byte `protobuf:"bytes,616,opt,name=oneof_bytes,json=oneofBytes,oneof"`
}

type FieldTestMessage_Oneof_Message struct {
	Oneof_Message *FieldTestMessage_Message `protobuf:"bytes,617,opt,name=oneof_Message,json=oneofMessage,oneof"`
}

type FieldTestMessage_Oneofgroup struct {
	Oneofgroup *FieldTestMessage_OneofGroup `protobuf:"group,618,opt,name=OneofGroup,json=oneofgroup,oneof"`
}

type FieldTestMessage_OneofLargestTag struct {
	OneofLargestTag int32 `protobuf:"varint,536870911,opt,name=oneof_largest_tag,json=oneofLargestTag,oneof"`
}

func (*FieldTestMessage_OneofBool) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofEnum) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofInt32) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofSint32) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofUint32) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofInt64) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofSint64) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofUint64) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofSfixed32) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofFixed32) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofFloat) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofSfixed64) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofFixed64) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofDouble) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofString) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofBytes) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_Oneof_Message) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_Oneofgroup) isFieldTestMessage_OneofField() {}

func (*FieldTestMessage_OneofLargestTag) isFieldTestMessage_OneofField() {}

type isFieldTestMessage_OneofTwo interface {
	isFieldTestMessage_OneofTwo()
}

type FieldTestMessage_OneofTwo_1 struct {
	OneofTwo_1 int32 `protobuf:"varint,700,opt,name=oneof_two_1,json=oneofTwo1,oneof"`
}

type FieldTestMessage_OneofTwo_2 struct {
	OneofTwo_2 int64 `protobuf:"varint,701,opt,name=oneof_two_2,json=oneofTwo2,oneof"`
}

func (*FieldTestMessage_OneofTwo_1) isFieldTestMessage_OneofTwo() {}

func (*FieldTestMessage_OneofTwo_2) isFieldTestMessage_OneofTwo() {}

type FieldTestMessage_OptionalGroup struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	OptionalGroup *string                `protobuf:"bytes,19,opt,name=optional_group,json=optionalGroup" json:"optional_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FieldTestMessage_OptionalGroup) Reset() {
	*x = FieldTestMessage_OptionalGroup{}
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FieldTestMessage_OptionalGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldTestMessage_OptionalGroup) ProtoMessage() {}

func (x *FieldTestMessage_OptionalGroup) ProtoReflect() protoreflect.Message {
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldTestMessage_OptionalGroup.ProtoReflect.Descriptor instead.
func (*FieldTestMessage_OptionalGroup) Descriptor() ([]byte, []int) {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP(), []int{0, 0}
}

func (x *FieldTestMessage_OptionalGroup) GetOptionalGroup() string {
	if x != nil && x.OptionalGroup != nil {
		return *x.OptionalGroup
	}
	return ""
}

type FieldTestMessage_RequiredGroup struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RequiredGroup *string                `protobuf:"bytes,119,req,name=required_group,json=requiredGroup" json:"required_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FieldTestMessage_RequiredGroup) Reset() {
	*x = FieldTestMessage_RequiredGroup{}
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FieldTestMessage_RequiredGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldTestMessage_RequiredGroup) ProtoMessage() {}

func (x *FieldTestMessage_RequiredGroup) ProtoReflect() protoreflect.Message {
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldTestMessage_RequiredGroup.ProtoReflect.Descriptor instead.
func (*FieldTestMessage_RequiredGroup) Descriptor() ([]byte, []int) {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP(), []int{0, 1}
}

func (x *FieldTestMessage_RequiredGroup) GetRequiredGroup() string {
	if x != nil && x.RequiredGroup != nil {
		return *x.RequiredGroup
	}
	return ""
}

type FieldTestMessage_RepeatedGroup struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RepeatedGroup []string               `protobuf:"bytes,219,rep,name=repeated_group,json=repeatedGroup" json:"repeated_group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FieldTestMessage_RepeatedGroup) Reset() {
	*x = FieldTestMessage_RepeatedGroup{}
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FieldTestMessage_RepeatedGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldTestMessage_RepeatedGroup) ProtoMessage() {}

func (x *FieldTestMessage_RepeatedGroup) ProtoReflect() protoreflect.Message {
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldTestMessage_RepeatedGroup.ProtoReflect.Descriptor instead.
func (*FieldTestMessage_RepeatedGroup) Descriptor() ([]byte, []int) {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP(), []int{0, 2}
}

func (x *FieldTestMessage_RepeatedGroup) GetRepeatedGroup() []string {
	if x != nil {
		return x.RepeatedGroup
	}
	return nil
}

type FieldTestMessage_OneofGroup struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	OneofGroupField *string                `protobuf:"bytes,619,opt,name=oneof_group_field,json=oneofGroupField" json:"oneof_group_field,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *FieldTestMessage_OneofGroup) Reset() {
	*x = FieldTestMessage_OneofGroup{}
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FieldTestMessage_OneofGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldTestMessage_OneofGroup) ProtoMessage() {}

func (x *FieldTestMessage_OneofGroup) ProtoReflect() protoreflect.Message {
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldTestMessage_OneofGroup.ProtoReflect.Descriptor instead.
func (*FieldTestMessage_OneofGroup) Descriptor() ([]byte, []int) {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP(), []int{0, 6}
}

func (x *FieldTestMessage_OneofGroup) GetOneofGroupField() string {
	if x != nil && x.OneofGroupField != nil {
		return *x.OneofGroupField
	}
	return ""
}

type FieldTestMessage_Message struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FieldTestMessage_Message) Reset() {
	*x = FieldTestMessage_Message{}
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FieldTestMessage_Message) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FieldTestMessage_Message) ProtoMessage() {}

func (x *FieldTestMessage_Message) ProtoReflect() protoreflect.Message {
	mi := &file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FieldTestMessage_Message.ProtoReflect.Descriptor instead.
func (*FieldTestMessage_Message) Descriptor() ([]byte, []int) {
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP(), []int{0, 7}
}

var File_cmd_protoc_gen_go_testdata_proto2_fields_proto protoreflect.FileDescriptor

const file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDesc = "" +
	"\n" +
	".cmd/protoc-gen-go/testdata/proto2/fields.proto\x12\x15goproto.protoc.proto2\"\xa7-\n" +
	"\x10FieldTestMessage\x12#\n" +
	"\roptional_bool\x18\x01 \x01(\bR\foptionalBool\x12Q\n" +
	"\roptional_enum\x18\x02 \x01(\x0e2,.goproto.protoc.proto2.FieldTestMessage.EnumR\foptionalEnum\x12%\n" +
	"\x0eoptional_int32\x18\x03 \x01(\x05R\roptionalInt32\x12'\n" +
	"\x0foptional_sint32\x18\x04 \x01(\x11R\x0eoptionalSint32\x12'\n" +
	"\x0foptional_uint32\x18\x05 \x01(\rR\x0eoptionalUint32\x12%\n" +
	"\x0eoptional_int64\x18\x06 \x01(\x03R\roptionalInt64\x12'\n" +
	"\x0foptional_sint64\x18\a \x01(\x12R\x0eoptionalSint64\x12'\n" +
	"\x0foptional_uint64\x18\b \x01(\x04R\x0eoptionalUint64\x12+\n" +
	"\x11optional_sfixed32\x18\t \x01(\x0fR\x10optionalSfixed32\x12)\n" +
	"\x10optional_fixed32\x18\n" +
	" \x01(\aR\x0foptionalFixed32\x12%\n" +
	"\x0eoptional_float\x18\v \x01(\x02R\roptionalFloat\x12+\n" +
	"\x11optional_sfixed64\x18\f \x01(\x10R\x10optionalSfixed64\x12)\n" +
	"\x10optional_fixed64\x18\r \x01(\x06R\x0foptionalFixed64\x12'\n" +
	"\x0foptional_double\x18\x0e \x01(\x01R\x0eoptionalDouble\x12'\n" +
	"\x0foptional_string\x18\x0f \x01(\tR\x0eoptionalString\x12%\n" +
	"\x0eoptional_bytes\x18\x10 \x01(\fR\roptionalBytes\x12Z\n" +
	"\x10optional_Message\x18\x11 \x01(\v2/.goproto.protoc.proto2.FieldTestMessage.MessageR\x0foptionalMessage\x12[\n" +
	"\roptionalgroup\x18\x12 \x01(\n" +
	"25.goproto.protoc.proto2.FieldTestMessage.OptionalGroupR\roptionalgroup\x12#\n" +
	"\rrequired_bool\x18e \x02(\bR\frequiredBool\x12Q\n" +
	"\rrequired_enum\x18f \x02(\x0e2,.goproto.protoc.proto2.FieldTestMessage.EnumR\frequiredEnum\x12%\n" +
	"\x0erequired_int32\x18g \x02(\x05R\rrequiredInt32\x12'\n" +
	"\x0frequired_sint32\x18h \x02(\x11R\x0erequiredSint32\x12'\n" +
	"\x0frequired_uint32\x18i \x02(\rR\x0erequiredUint32\x12%\n" +
	"\x0erequired_int64\x18j \x02(\x03R\rrequiredInt64\x12'\n" +
	"\x0frequired_sint64\x18k \x02(\x12R\x0erequiredSint64\x12'\n" +
	"\x0frequired_uint64\x18l \x02(\x04R\x0erequiredUint64\x12+\n" +
	"\x11required_sfixed32\x18m \x02(\x0fR\x10requiredSfixed32\x12)\n" +
	"\x10required_fixed32\x18n \x02(\aR\x0frequiredFixed32\x12%\n" +
	"\x0erequired_float\x18o \x02(\x02R\rrequiredFloat\x12+\n" +
	"\x11required_sfixed64\x18p \x02(\x10R\x10requiredSfixed64\x12)\n" +
	"\x10required_fixed64\x18q \x02(\x06R\x0frequiredFixed64\x12'\n" +
	"\x0frequired_double\x18r \x02(\x01R\x0erequiredDouble\x12'\n" +
	"\x0frequired_string\x18s \x02(\tR\x0erequiredString\x12%\n" +
	"\x0erequired_bytes\x18t \x02(\fR\rrequiredBytes\x12Z\n" +
	"\x10required_Message\x18u \x02(\v2/.goproto.protoc.proto2.FieldTestMessage.MessageR\x0frequiredMessage\x12[\n" +
	"\rrequiredgroup\x18v \x02(\n" +
	"25.goproto.protoc.proto2.FieldTestMessage.RequiredGroupR\rrequiredgroup\x12$\n" +
	"\rrepeated_bool\x18\xc9\x01 \x03(\bR\frepeatedBool\x12R\n" +
	"\rrepeated_enum\x18\xca\x01 \x03(\x0e2,.goproto.protoc.proto2.FieldTestMessage.EnumR\frepeatedEnum\x12&\n" +
	"\x0erepeated_int32\x18\xcb\x01 \x03(\x05R\rrepeatedInt32\x12(\n" +
	"\x0frepeated_sint32\x18\xcc\x01 \x03(\x11R\x0erepeatedSint32\x12(\n" +
	"\x0frepeated_uint32\x18\xcd\x01 \x03(\rR\x0erepeatedUint32\x12&\n" +
	"\x0erepeated_int64\x18\xce\x01 \x03(\x03R\rrepeatedInt64\x12(\n" +
	"\x0frepeated_sint64\x18\xcf\x01 \x03(\x12R\x0erepeatedSint64\x12(\n" +
	"\x0frepeated_uint64\x18\xd0\x01 \x03(\x04R\x0erepeatedUint64\x12,\n" +
	"\x11repeated_sfixed32\x18\xd1\x01 \x03(\x0fR\x10repeatedSfixed32\x12*\n" +
	"\x10repeated_fixed32\x18\xd2\x01 \x03(\aR\x0frepeatedFixed32\x12&\n" +
	"\x0erepeated_float\x18\xd3\x01 \x03(\x02R\rrepeatedFloat\x12,\n" +
	"\x11repeated_sfixed64\x18\xd4\x01 \x03(\x10R\x10repeatedSfixed64\x12*\n" +
	"\x10repeated_fixed64\x18\xd5\x01 \x03(\x06R\x0frepeatedFixed64\x12(\n" +
	"\x0frepeated_double\x18\xd6\x01 \x03(\x01R\x0erepeatedDouble\x12(\n" +
	"\x0frepeated_string\x18\xd7\x01 \x03(\tR\x0erepeatedString\x12&\n" +
	"\x0erepeated_bytes\x18\xd8\x01 \x03(\fR\rrepeatedBytes\x12[\n" +
	"\x10repeated_Message\x18\xd9\x01 \x03(\v2/.goproto.protoc.proto2.FieldTestMessage.MessageR\x0frepeatedMessage\x12\\\n" +
	"\rrepeatedgroup\x18\xda\x01 \x03(\n" +
	"25.goproto.protoc.proto2.FieldTestMessage.RepeatedGroupR\rrepeatedgroup\x12(\n" +
	"\fdefault_bool\x18\xad\x02 \x01(\b:\x04trueR\vdefaultBool\x12U\n" +
	"\fdefault_enum\x18\xae\x02 \x01(\x0e2,.goproto.protoc.proto2.FieldTestMessage.Enum:\x03ONER\vdefaultEnum\x12'\n" +
	"\rdefault_int32\x18\xaf\x02 \x01(\x05:\x011R\fdefaultInt32\x12)\n" +
	"\x0edefault_sint32\x18\xb0\x02 \x01(\x11:\x011R\rdefaultSint32\x12)\n" +
	"\x0edefault_uint32\x18\xb1\x02 \x01(\r:\x011R\rdefaultUint32\x12'\n" +
	"\rdefault_int64\x18\xb2\x02 \x01(\x03:\x011R\fdefaultInt64\x12)\n" +
	"\x0edefault_sint64\x18\xb3\x02 \x01(\x12:\x011R\rdefaultSint64\x12)\n" +
	"\x0edefault_uint64\x18\xb4\x02 \x01(\x04:\x011R\rdefaultUint64\x12-\n" +
	"\x10default_sfixed32\x18\xb5\x02 \x01(\x0f:\x011R\x0fdefaultSfixed32\x12+\n" +
	"\x0fdefault_fixed32\x18\xb6\x02 \x01(\a:\x011R\x0edefaultFixed32\x12*\n" +
	"\rdefault_float\x18\xb7\x02 \x01(\x02:\x043.14R\fdefaultFloat\x12-\n" +
	"\x10default_sfixed64\x18\xb8\x02 \x01(\x10:\x011R\x0fdefaultSfixed64\x12+\n" +
	"\x0fdefault_fixed64\x18\xb9\x02 \x01(\x06:\x011R\x0edefaultFixed64\x12.\n" +
	"\x0edefault_double\x18\xba\x02 \x01(\x01:\x063.1415R\rdefaultDouble\x127\n" +
	"\x0edefault_string\x18\xbb\x02 \x01(\t:\x0fhello,\"world!\"\n" +
	"R\rdefaultString\x12<\n" +
	"\rdefault_bytes\x18\xbc\x02 \x01(\f:\x16hello,\\336\\255\\276\\357R\fdefaultBytes\x121\n" +
	"\x13default_zero_string\x18\xde\x02 \x01(\t:\x00R\x11defaultZeroString\x12/\n" +
	"\x12default_zero_bytes\x18\xdf\x02 \x01(\f:\x00R\x10defaultZeroBytes\x127\n" +
	"\x14default_float_neginf\x18\x90\x03 \x01(\x02:\x04-infR\x12defaultFloatNeginf\x126\n" +
	"\x14default_float_posinf\x18\x91\x03 \x01(\x02:\x03infR\x12defaultFloatPosinf\x120\n" +
	"\x11default_float_nan\x18\x92\x03 \x01(\x02:\x03nanR\x0fdefaultFloatNan\x129\n" +
	"\x15default_double_neginf\x18\x93\x03 \x01(\x01:\x04-infR\x13defaultDoubleNeginf\x128\n" +
	"\x15default_double_posinf\x18\x94\x03 \x01(\x01:\x03infR\x13defaultDoublePosinf\x122\n" +
	"\x12default_double_nan\x18\x95\x03 \x01(\x01:\x03nanR\x10defaultDoubleNan\x12c\n" +
	"\x0fmap_int32_int64\x18\xf4\x03 \x03(\v2:.goproto.protoc.proto2.FieldTestMessage.MapInt32Int64EntryR\rmapInt32Int64\x12l\n" +
	"\x12map_string_message\x18\xf5\x03 \x03(\v2=.goproto.protoc.proto2.FieldTestMessage.MapStringMessageEntryR\x10mapStringMessage\x12f\n" +
	"\x10map_fixed64_enum\x18\xf6\x03 \x03(\v2;.goproto.protoc.proto2.FieldTestMessage.MapFixed64EnumEntryR\x0emapFixed64Enum\x12 \n" +
	"\n" +
	"oneof_bool\x18\xd9\x04 \x01(\bH\x00R\toneofBool\x12N\n" +
	"\n" +
	"oneof_enum\x18\xda\x04 \x01(\x0e2,.goproto.protoc.proto2.FieldTestMessage.EnumH\x00R\toneofEnum\x12\"\n" +
	"\voneof_int32\x18\xdb\x04 \x01(\x05H\x00R\n" +
	"oneofInt32\x12$\n" +
	"\foneof_sint32\x18\xdc\x04 \x01(\x11H\x00R\voneofSint32\x12$\n" +
	"\foneof_uint32\x18\xdd\x04 \x01(\rH\x00R\voneofUint32\x12\"\n" +
	"\voneof_int64\x18\xde\x04 \x01(\x03H\x00R\n" +
	"oneofInt64\x12$\n" +
	"\foneof_sint64\x18\xdf\x04 \x01(\x12H\x00R\voneofSint64\x12$\n" +
	"\foneof_uint64\x18\xe0\x04 \x01(\x04H\x00R\voneofUint64\x12(\n" +
	"\x0eoneof_sfixed32\x18\xe1\x04 \x01(\x0fH\x00R\roneofSfixed32\x12&\n" +
	"\roneof_fixed32\x18\xe2\x04 \x01(\aH\x00R\foneofFixed32\x12\"\n" +
	"\voneof_float\x18\xe3\x04 \x01(\x02H\x00R\n" +
	"oneofFloat\x12(\n" +
	"\x0eoneof_sfixed64\x18\xe4\x04 \x01(\x10H\x00R\roneofSfixed64\x12&\n" +
	"\roneof_fixed64\x18\xe5\x04 \x01(\x06H\x00R\foneofFixed64\x12$\n" +
	"\foneof_double\x18\xe6\x04 \x01(\x01H\x00R\voneofDouble\x12$\n" +
	"\foneof_string\x18\xe7\x04 \x01(\tH\x00R\voneofString\x12\"\n" +
	"\voneof_bytes\x18\xe8\x04 \x01(\fH\x00R\n" +
	"oneofBytes\x12W\n" +
	"\roneof_Message\x18\xe9\x04 \x01(\v2/.goproto.protoc.proto2.FieldTestMessage.MessageH\x00R\foneofMessage\x12U\n" +
	"\n" +
	"oneofgroup\x18\xea\x04 \x01(\n" +
	"22.goproto.protoc.proto2.FieldTestMessage.OneofGroupH\x00R\n" +
	"oneofgroup\x120\n" +
	"\x11oneof_largest_tag\x18\xff\xff\xff\xff\x01 \x01(\x05H\x00R\x0foneofLargestTag\x12!\n" +
	"\voneof_two_1\x18\xbc\x05 \x01(\x05H\x01R\toneofTwo1\x12!\n" +
	"\voneof_two_2\x18\xbd\x05 \x01(\x03H\x01R\toneofTwo2\x1a6\n" +
	"\rOptionalGroup\x12%\n" +
	"\x0eoptional_group\x18\x13 \x01(\tR\roptionalGroup\x1a6\n" +
	"\rRequiredGroup\x12%\n" +
	"\x0erequired_group\x18w \x02(\tR\rrequiredGroup\x1a7\n" +
	"\rRepeatedGroup\x12&\n" +
	"\x0erepeated_group\x18\xdb\x01 \x03(\tR\rrepeatedGroup\x1a@\n" +
	"\x12MapInt32Int64Entry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\x1at\n" +
	"\x15MapStringMessageEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12E\n" +
	"\x05value\x18\x02 \x01(\v2/.goproto.protoc.proto2.FieldTestMessage.MessageR\x05value:\x028\x01\x1ao\n" +
	"\x13MapFixed64EnumEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x06R\x03key\x12B\n" +
	"\x05value\x18\x02 \x01(\x0e2,.goproto.protoc.proto2.FieldTestMessage.EnumR\x05value:\x028\x01\x1a9\n" +
	"\n" +
	"OneofGroup\x12+\n" +
	"\x11oneof_group_field\x18\xeb\x04 \x01(\tR\x0foneofGroupField\x1a\t\n" +
	"\aMessage\"\x19\n" +
	"\x04Enum\x12\b\n" +
	"\x04ZERO\x10\x00\x12\a\n" +
	"\x03ONE\x10\x01B\r\n" +
	"\voneof_fieldB\v\n" +
	"\toneof_twoJ\x06\b\x90N\x10\x91NJ\x06\b\x91N\x10\x92NR\fTEN_THOUSANDR\x14TEN_THOUSAND_AND_ONEB>Z<google.golang.org/protobuf/cmd/protoc-gen-go/testdata/proto2"

var (
	file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescOnce sync.Once
	file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescData []byte
)

func file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescGZIP() []byte {
	file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescOnce.Do(func() {
		file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDesc), len(file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDesc)))
	})
	return file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDescData
}

var file_cmd_protoc_gen_go_testdata_proto2_fields_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_cmd_protoc_gen_go_testdata_proto2_fields_proto_goTypes = []any{
	(FieldTestMessage_Enum)(0),             // 0: goproto.protoc.proto2.FieldTestMessage.Enum
	(*FieldTestMessage)(nil),               // 1: goproto.protoc.proto2.FieldTestMessage
	(*FieldTestMessage_OptionalGroup)(nil), // 2: goproto.protoc.proto2.FieldTestMessage.OptionalGroup
	(*FieldTestMessage_RequiredGroup)(nil), // 3: goproto.protoc.proto2.FieldTestMessage.RequiredGroup
	(*FieldTestMessage_RepeatedGroup)(nil), // 4: goproto.protoc.proto2.FieldTestMessage.RepeatedGroup
	nil,                                    // 5: goproto.protoc.proto2.FieldTestMessage.MapInt32Int64Entry
	nil,                                    // 6: goproto.protoc.proto2.FieldTestMessage.MapStringMessageEntry
	nil,                                    // 7: goproto.protoc.proto2.FieldTestMessage.MapFixed64EnumEntry
	(*FieldTestMessage_OneofGroup)(nil),    // 8: goproto.protoc.proto2.FieldTestMessage.OneofGroup
	(*FieldTestMessage_Message)(nil),       // 9: goproto.protoc.proto2.FieldTestMessage.Message
}
var file_cmd_protoc_gen_go_testdata_proto2_fields_proto_depIdxs = []int32{
	0,  // 0: goproto.protoc.proto2.FieldTestMessage.optional_enum:type_name -> goproto.protoc.proto2.FieldTestMessage.Enum
	9,  // 1: goproto.protoc.proto2.FieldTestMessage.optional_Message:type_name -> goproto.protoc.proto2.FieldTestMessage.Message
	2,  // 2: goproto.protoc.proto2.FieldTestMessage.optionalgroup:type_name -> goproto.protoc.proto2.FieldTestMessage.OptionalGroup
	0,  // 3: goproto.protoc.proto2.FieldTestMessage.required_enum:type_name -> goproto.protoc.proto2.FieldTestMessage.Enum
	9,  // 4: goproto.protoc.proto2.FieldTestMessage.required_Message:type_name -> goproto.protoc.proto2.FieldTestMessage.Message
	3,  // 5: goproto.protoc.proto2.FieldTestMessage.requiredgroup:type_name -> goproto.protoc.proto2.FieldTestMessage.RequiredGroup
	0,  // 6: goproto.protoc.proto2.FieldTestMessage.repeated_enum:type_name -> goproto.protoc.proto2.FieldTestMessage.Enum
	9,  // 7: goproto.protoc.proto2.FieldTestMessage.repeated_Message:type_name -> goproto.protoc.proto2.FieldTestMessage.Message
	4,  // 8: goproto.protoc.proto2.FieldTestMessage.repeatedgroup:type_name -> goproto.protoc.proto2.FieldTestMessage.RepeatedGroup
	0,  // 9: goproto.protoc.proto2.FieldTestMessage.default_enum:type_name -> goproto.protoc.proto2.FieldTestMessage.Enum
	5,  // 10: goproto.protoc.proto2.FieldTestMessage.map_int32_int64:type_name -> goproto.protoc.proto2.FieldTestMessage.MapInt32Int64Entry
	6,  // 11: goproto.protoc.proto2.FieldTestMessage.map_string_message:type_name -> goproto.protoc.proto2.FieldTestMessage.MapStringMessageEntry
	7,  // 12: goproto.protoc.proto2.FieldTestMessage.map_fixed64_enum:type_name -> goproto.protoc.proto2.FieldTestMessage.MapFixed64EnumEntry
	0,  // 13: goproto.protoc.proto2.FieldTestMessage.oneof_enum:type_name -> goproto.protoc.proto2.FieldTestMessage.Enum
	9,  // 14: goproto.protoc.proto2.FieldTestMessage.oneof_Message:type_name -> goproto.protoc.proto2.FieldTestMessage.Message
	8,  // 15: goproto.protoc.proto2.FieldTestMessage.oneofgroup:type_name -> goproto.protoc.proto2.FieldTestMessage.OneofGroup
	9,  // 16: goproto.protoc.proto2.FieldTestMessage.MapStringMessageEntry.value:type_name -> goproto.protoc.proto2.FieldTestMessage.Message
	0,  // 17: goproto.protoc.proto2.FieldTestMessage.MapFixed64EnumEntry.value:type_name -> goproto.protoc.proto2.FieldTestMessage.Enum
	18, // [18:18] is the sub-list for method output_type
	18, // [18:18] is the sub-list for method input_type
	18, // [18:18] is the sub-list for extension type_name
	18, // [18:18] is the sub-list for extension extendee
	0,  // [0:18] is the sub-list for field type_name
}

func init() { file_cmd_protoc_gen_go_testdata_proto2_fields_proto_init() }
func file_cmd_protoc_gen_go_testdata_proto2_fields_proto_init() {
	if File_cmd_protoc_gen_go_testdata_proto2_fields_proto != nil {
		return
	}
	file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes[0].OneofWrappers = []any{
		(*FieldTestMessage_OneofBool)(nil),
		(*FieldTestMessage_OneofEnum)(nil),
		(*FieldTestMessage_OneofInt32)(nil),
		(*FieldTestMessage_OneofSint32)(nil),
		(*FieldTestMessage_OneofUint32)(nil),
		(*FieldTestMessage_OneofInt64)(nil),
		(*FieldTestMessage_OneofSint64)(nil),
		(*FieldTestMessage_OneofUint64)(nil),
		(*FieldTestMessage_OneofSfixed32)(nil),
		(*FieldTestMessage_OneofFixed32)(nil),
		(*FieldTestMessage_OneofFloat)(nil),
		(*FieldTestMessage_OneofSfixed64)(nil),
		(*FieldTestMessage_OneofFixed64)(nil),
		(*FieldTestMessage_OneofDouble)(nil),
		(*FieldTestMessage_OneofString)(nil),
		(*FieldTestMessage_OneofBytes)(nil),
		(*FieldTestMessage_Oneof_Message)(nil),
		(*FieldTestMessage_Oneofgroup)(nil),
		(*FieldTestMessage_OneofLargestTag)(nil),
		(*FieldTestMessage_OneofTwo_1)(nil),
		(*FieldTestMessage_OneofTwo_2)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDesc), len(file_cmd_protoc_gen_go_testdata_proto2_fields_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_cmd_protoc_gen_go_testdata_proto2_fields_proto_goTypes,
		DependencyIndexes: file_cmd_protoc_gen_go_testdata_proto2_fields_proto_depIdxs,
		EnumInfos:         file_cmd_protoc_gen_go_testdata_proto2_fields_proto_enumTypes,
		MessageInfos:      file_cmd_protoc_gen_go_testdata_proto2_fields_proto_msgTypes,
	}.Build()
	File_cmd_protoc_gen_go_testdata_proto2_fields_proto = out.File
	file_cmd_protoc_gen_go_testdata_proto2_fields_proto_goTypes = nil
	file_cmd_protoc_gen_go_testdata_proto2_fields_proto_depIdxs = nil
}
