func (*Whatzit) Descriptor() ([]byte, []int) {
	return file_desc_test2_proto_rawDescGZIP(), []int{2}
}
Deprecated: Use Whatzit.ProtoReflect.Descriptor instead.
package testprotos
import (
	proto "github.com/golang/protobuf/proto"
	nopkg "github.com/jhump/protoreflect/internal/testprotos/nopkg"
	pkg "github.com/jhump/protoreflect/internal/testprotos/pkg"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)
const (
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
const _ = proto.ProtoPackageIsVersion4
type Frobnitz struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	A *TestMessage        `protobuf:"bytes,1,opt,name=a" json:"a,omitempty"`
	B *AnotherTestMessage `protobuf:"bytes,2,opt,name=b" json:"b,omitempty"`
	Abc isFrobnitz_Abc             `protobuf_oneof:"abc"`
	D   *TestMessage_NestedMessage `protobuf:"bytes,5,opt,name=d" json:"d,omitempty"`
	E   *TestMessage_NestedEnum    `protobuf:"varint,6,opt,name=e,enum=testprotos.TestMessage_NestedEnum,def=2" json:"e,omitempty"`
	F []string `protobuf:"bytes,7,rep,name=f" json:"f,omitempty"`
	Def isFrobnitz_Def `protobuf_oneof:"def"`
}
const (
	Default_Frobnitz_E = TestMessage_VALUE2
)
func (x *Frobnitz) Reset() {
	*x = Frobnitz{}
	if protoimpl.UnsafeEnabled {
		mi := &file_desc_test2_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Frobnitz) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Frobnitz) ProtoMessage() {}
func (x *Frobnitz) ProtoReflect() protoreflect.Message {
	mi := &file_desc_test2_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Frobnitz) Descriptor() ([]byte, []int) {
	return file_desc_test2_proto_rawDescGZIP(), []int{0}
}
func (x *Frobnitz) GetA() *TestMessage {
	if x != nil {
		return x.A
	}
	return nil
}
func (x *Frobnitz) GetB() *AnotherTestMessage {
	if x != nil {
		return x.B
	}
	return nil
}
func (m *Frobnitz) GetAbc() isFrobnitz_Abc {
	if m != nil {
		return m.Abc
	}
	return nil
}
func (x *Frobnitz) GetC1() *TestMessage_NestedMessage {
	if x, ok := x.GetAbc().(*Frobnitz_C1); ok {
		return x.C1
	}
	return nil
}
func (x *Frobnitz) GetC2() TestMessage_NestedEnum {
	if x, ok := x.GetAbc().(*Frobnitz_C2); ok {
		return x.C2
	}
	return TestMessage_VALUE1
}
func (x *Frobnitz) GetD() *TestMessage_NestedMessage {
	if x != nil {
		return x.D
	}
	return nil
}
func (x *Frobnitz) GetE() TestMessage_NestedEnum {
	if x != nil && x.E != nil {
		return *x.E
	}
	return Default_Frobnitz_E
}
func (x *Frobnitz) GetF() []string {
	if x != nil {
		return x.F
	}
	return nil
}
func (m *Frobnitz) GetDef() isFrobnitz_Def {
	if m != nil {
		return m.Def
	}
	return nil
}
func (x *Frobnitz) GetG1() int32 {
	if x, ok := x.GetDef().(*Frobnitz_G1); ok {
		return x.G1
	}
	return 0
}
func (x *Frobnitz) GetG2() int32 {
	if x, ok := x.GetDef().(*Frobnitz_G2); ok {
		return x.G2
	}
	return 0
}
func (x *Frobnitz) GetG3() uint32 {
	if x, ok := x.GetDef().(*Frobnitz_G3); ok {
		return x.G3
	}
	return 0
}
type isFrobnitz_Abc interface {
	isFrobnitz_Abc()
}
type Frobnitz_C1 struct {
	C1 *TestMessage_NestedMessage `protobuf:"bytes,3,opt,name=c1,oneof"`
}
type Frobnitz_C2 struct {
	C2 TestMessage_NestedEnum `protobuf:"varint,4,opt,name=c2,enum=testprotos.TestMessage_NestedEnum,oneof"`
}
func (*Frobnitz_C1) isFrobnitz_Abc() {}
func (*Frobnitz_C2) isFrobnitz_Abc() {}
type isFrobnitz_Def interface {
	isFrobnitz_Def()
}
type Frobnitz_G1 struct {
	G1 int32 `protobuf:"varint,8,opt,name=g1,oneof"`
}
type Frobnitz_G2 struct {
	G2 int32 `protobuf:"zigzag32,9,opt,name=g2,oneof"`
}
type Frobnitz_G3 struct {
	G3 uint32 `protobuf:"varint,10,opt,name=g3,oneof"`
}
func (*Frobnitz_G1) isFrobnitz_Def() {}
func (*Frobnitz_G2) isFrobnitz_Def() {}
func (*Frobnitz_G3) isFrobnitz_Def() {}
type Whatchamacallit struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Foos *pkg.Foo `protobuf:"varint,1,req,name=foos,enum=jhump.protoreflect.desc.Foo" json:"foos,omitempty"`
}
func (x *Whatchamacallit) Reset() {
	*x = Whatchamacallit{}
	if protoimpl.UnsafeEnabled {
		mi := &file_desc_test2_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Whatchamacallit) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Whatchamacallit) ProtoMessage() {}
func (x *Whatchamacallit) ProtoReflect() protoreflect.Message {
	mi := &file_desc_test2_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Whatchamacallit) Descriptor() ([]byte, []int) {
	return file_desc_test2_proto_rawDescGZIP(), []int{1}
}
func (x *Whatchamacallit) GetFoos() pkg.Foo {
	if x != nil && x.Foos != nil {
		return *x.Foos
	}
	return pkg.Foo_ABC
}
type Whatzit struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Gyzmeau []*pkg.Bar `protobuf:"bytes,1,rep,name=gyzmeau" json:"gyzmeau,omitempty"`
}
func (x *Whatzit) Reset() {
	*x = Whatzit{}
	if protoimpl.UnsafeEnabled {
		mi := &file_desc_test2_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Whatzit) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Whatzit) ProtoMessage() {}
func (x *Whatzit) ProtoReflect() protoreflect.Message {
	mi := &file_desc_test2_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}