// Copyright 2023-2025 Buf Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        (unknown)
// source: buf/validate/conformance/cases/enums.proto

//go:build protoopaque

package cases

import (
	_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
	other_package "buf.build/go/protovalidate/internal/gen/buf/validate/conformance/cases/other_package"
	yet_another_package "buf.build/go/protovalidate/internal/gen/buf/validate/conformance/cases/yet_another_package"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type TestEnum int32

const (
	TestEnum_TEST_ENUM_UNSPECIFIED TestEnum = 0
	TestEnum_TEST_ENUM_ONE         TestEnum = 1
	TestEnum_TEST_ENUM_TWO         TestEnum = 2
)

// Enum value maps for TestEnum.
var (
	TestEnum_name = map[int32]string{
		0: "TEST_ENUM_UNSPECIFIED",
		1: "TEST_ENUM_ONE",
		2: "TEST_ENUM_TWO",
	}
	TestEnum_value = map[string]int32{
		"TEST_ENUM_UNSPECIFIED": 0,
		"TEST_ENUM_ONE":         1,
		"TEST_ENUM_TWO":         2,
	}
)

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

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

func (TestEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_buf_validate_conformance_cases_enums_proto_enumTypes[0].Descriptor()
}

func (TestEnum) Type() protoreflect.EnumType {
	return &file_buf_validate_conformance_cases_enums_proto_enumTypes[0]
}

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

type TestEnumAlias int32

const (
	TestEnumAlias_TEST_ENUM_ALIAS_UNSPECIFIED TestEnumAlias = 0
	TestEnumAlias_TEST_ENUM_ALIAS_A           TestEnumAlias = 1
	TestEnumAlias_TEST_ENUM_ALIAS_B           TestEnumAlias = 2
	TestEnumAlias_TEST_ENUM_ALIAS_C           TestEnumAlias = 3
	TestEnumAlias_TEST_ENUM_ALIAS_ALPHA       TestEnumAlias = 1
	TestEnumAlias_TEST_ENUM_ALIAS_BETA        TestEnumAlias = 2
	TestEnumAlias_TEST_ENUM_ALIAS_GAMMA       TestEnumAlias = 3
)

// Enum value maps for TestEnumAlias.
var (
	TestEnumAlias_name = map[int32]string{
		0: "TEST_ENUM_ALIAS_UNSPECIFIED",
		1: "TEST_ENUM_ALIAS_A",
		2: "TEST_ENUM_ALIAS_B",
		3: "TEST_ENUM_ALIAS_C",
		// Duplicate value: 1: "TEST_ENUM_ALIAS_ALPHA",
		// Duplicate value: 2: "TEST_ENUM_ALIAS_BETA",
		// Duplicate value: 3: "TEST_ENUM_ALIAS_GAMMA",
	}
	TestEnumAlias_value = map[string]int32{
		"TEST_ENUM_ALIAS_UNSPECIFIED": 0,
		"TEST_ENUM_ALIAS_A":           1,
		"TEST_ENUM_ALIAS_B":           2,
		"TEST_ENUM_ALIAS_C":           3,
		"TEST_ENUM_ALIAS_ALPHA":       1,
		"TEST_ENUM_ALIAS_BETA":        2,
		"TEST_ENUM_ALIAS_GAMMA":       3,
	}
)

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

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

func (TestEnumAlias) Descriptor() protoreflect.EnumDescriptor {
	return file_buf_validate_conformance_cases_enums_proto_enumTypes[1].Descriptor()
}

func (TestEnumAlias) Type() protoreflect.EnumType {
	return &file_buf_validate_conformance_cases_enums_proto_enumTypes[1]
}

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

type EnumNone struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnum               `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*EnumNone) ProtoMessage() {}

func (x *EnumNone) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_enums_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)
}

func (x *EnumNone) GetVal() TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumNone) SetVal(v TestEnum) {
	x.xxx_hidden_Val = v
}

type EnumNone_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnum
}

func (b0 EnumNone_builder) Build() *EnumNone {
	m0 := &EnumNone{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumConst struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnum               `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*EnumConst) ProtoMessage() {}

func (x *EnumConst) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_enums_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)
}

func (x *EnumConst) GetVal() TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumConst) SetVal(v TestEnum) {
	x.xxx_hidden_Val = v
}

type EnumConst_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnum
}

func (b0 EnumConst_builder) Build() *EnumConst {
	m0 := &EnumConst{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumAliasConst struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnumAlias          `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnumAlias"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*EnumAliasConst) ProtoMessage() {}

func (x *EnumAliasConst) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_enums_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)
}

func (x *EnumAliasConst) GetVal() TestEnumAlias {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnumAlias_TEST_ENUM_ALIAS_UNSPECIFIED
}

func (x *EnumAliasConst) SetVal(v TestEnumAlias) {
	x.xxx_hidden_Val = v
}

type EnumAliasConst_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnumAlias
}

func (b0 EnumAliasConst_builder) Build() *EnumAliasConst {
	m0 := &EnumAliasConst{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumDefined struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnum               `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*EnumDefined) ProtoMessage() {}

func (x *EnumDefined) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_enums_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)
}

func (x *EnumDefined) GetVal() TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumDefined) SetVal(v TestEnum) {
	x.xxx_hidden_Val = v
}

type EnumDefined_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnum
}

func (b0 EnumDefined_builder) Build() *EnumDefined {
	m0 := &EnumDefined{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumAliasDefined struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnumAlias          `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnumAlias"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnumAliasDefined) Reset() {
	*x = EnumAliasDefined{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnumAliasDefined) ProtoMessage() {}

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

func (x *EnumAliasDefined) GetVal() TestEnumAlias {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnumAlias_TEST_ENUM_ALIAS_UNSPECIFIED
}

func (x *EnumAliasDefined) SetVal(v TestEnumAlias) {
	x.xxx_hidden_Val = v
}

type EnumAliasDefined_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnumAlias
}

func (b0 EnumAliasDefined_builder) Build() *EnumAliasDefined {
	m0 := &EnumAliasDefined{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumIn struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnum               `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnumIn) Reset() {
	*x = EnumIn{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnumIn) ProtoMessage() {}

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

func (x *EnumIn) GetVal() TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumIn) SetVal(v TestEnum) {
	x.xxx_hidden_Val = v
}

type EnumIn_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnum
}

func (b0 EnumIn_builder) Build() *EnumIn {
	m0 := &EnumIn{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumAliasIn struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnumAlias          `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnumAlias"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnumAliasIn) Reset() {
	*x = EnumAliasIn{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnumAliasIn) ProtoMessage() {}

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

func (x *EnumAliasIn) GetVal() TestEnumAlias {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnumAlias_TEST_ENUM_ALIAS_UNSPECIFIED
}

func (x *EnumAliasIn) SetVal(v TestEnumAlias) {
	x.xxx_hidden_Val = v
}

type EnumAliasIn_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnumAlias
}

func (b0 EnumAliasIn_builder) Build() *EnumAliasIn {
	m0 := &EnumAliasIn{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumNotIn struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnum               `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*EnumNotIn) ProtoMessage() {}

func (x *EnumNotIn) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_enums_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)
}

func (x *EnumNotIn) GetVal() TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumNotIn) SetVal(v TestEnum) {
	x.xxx_hidden_Val = v
}

type EnumNotIn_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnum
}

func (b0 EnumNotIn_builder) Build() *EnumNotIn {
	m0 := &EnumNotIn{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumAliasNotIn struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnumAlias          `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnumAlias"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*EnumAliasNotIn) ProtoMessage() {}

func (x *EnumAliasNotIn) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_enums_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)
}

func (x *EnumAliasNotIn) GetVal() TestEnumAlias {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnumAlias_TEST_ENUM_ALIAS_UNSPECIFIED
}

func (x *EnumAliasNotIn) SetVal(v TestEnumAlias) {
	x.xxx_hidden_Val = v
}

type EnumAliasNotIn_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnumAlias
}

func (b0 EnumAliasNotIn_builder) Build() *EnumAliasNotIn {
	m0 := &EnumAliasNotIn{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumExternal struct {
	state          protoimpl.MessageState         `protogen:"opaque.v1"`
	xxx_hidden_Val other_package.Embed_Enumerated `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.other_package.Embed_Enumerated"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnumExternal) Reset() {
	*x = EnumExternal{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnumExternal) ProtoMessage() {}

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

func (x *EnumExternal) GetVal() other_package.Embed_Enumerated {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return other_package.Embed_Enumerated(0)
}

func (x *EnumExternal) SetVal(v other_package.Embed_Enumerated) {
	x.xxx_hidden_Val = v
}

type EnumExternal_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val other_package.Embed_Enumerated
}

func (b0 EnumExternal_builder) Build() *EnumExternal {
	m0 := &EnumExternal{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumExternal2 struct {
	state          protoimpl.MessageState                           `protogen:"opaque.v1"`
	xxx_hidden_Val other_package.Embed_DoubleEmbed_DoubleEnumerated `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.other_package.Embed_DoubleEmbed_DoubleEnumerated"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnumExternal2) Reset() {
	*x = EnumExternal2{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnumExternal2) ProtoMessage() {}

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

func (x *EnumExternal2) GetVal() other_package.Embed_DoubleEmbed_DoubleEnumerated {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return other_package.Embed_DoubleEmbed_DoubleEnumerated(0)
}

func (x *EnumExternal2) SetVal(v other_package.Embed_DoubleEmbed_DoubleEnumerated) {
	x.xxx_hidden_Val = v
}

type EnumExternal2_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val other_package.Embed_DoubleEmbed_DoubleEnumerated
}

func (b0 EnumExternal2_builder) Build() *EnumExternal2 {
	m0 := &EnumExternal2{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type RepeatedEnumDefined struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val []TestEnum             `protobuf:"varint,1,rep,packed,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *RepeatedEnumDefined) Reset() {
	*x = RepeatedEnumDefined{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RepeatedEnumDefined) ProtoMessage() {}

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

func (x *RepeatedEnumDefined) GetVal() []TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return nil
}

func (x *RepeatedEnumDefined) SetVal(v []TestEnum) {
	x.xxx_hidden_Val = v
}

type RepeatedEnumDefined_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val []TestEnum
}

func (b0 RepeatedEnumDefined_builder) Build() *RepeatedEnumDefined {
	m0 := &RepeatedEnumDefined{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type RepeatedExternalEnumDefined struct {
	state          protoimpl.MessageState           `protogen:"opaque.v1"`
	xxx_hidden_Val []other_package.Embed_Enumerated `protobuf:"varint,1,rep,packed,name=val,proto3,enum=buf.validate.conformance.cases.other_package.Embed_Enumerated"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *RepeatedExternalEnumDefined) Reset() {
	*x = RepeatedExternalEnumDefined{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RepeatedExternalEnumDefined) ProtoMessage() {}

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

func (x *RepeatedExternalEnumDefined) GetVal() []other_package.Embed_Enumerated {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return nil
}

func (x *RepeatedExternalEnumDefined) SetVal(v []other_package.Embed_Enumerated) {
	x.xxx_hidden_Val = v
}

type RepeatedExternalEnumDefined_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val []other_package.Embed_Enumerated
}

func (b0 RepeatedExternalEnumDefined_builder) Build() *RepeatedExternalEnumDefined {
	m0 := &RepeatedExternalEnumDefined{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type RepeatedYetAnotherExternalEnumDefined struct {
	state          protoimpl.MessageState                 `protogen:"opaque.v1"`
	xxx_hidden_Val []yet_another_package.Embed_Enumerated `protobuf:"varint,1,rep,packed,name=val,proto3,enum=buf.validate.conformance.cases.yet_another_package.Embed_Enumerated"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *RepeatedYetAnotherExternalEnumDefined) Reset() {
	*x = RepeatedYetAnotherExternalEnumDefined{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RepeatedYetAnotherExternalEnumDefined) ProtoMessage() {}

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

func (x *RepeatedYetAnotherExternalEnumDefined) GetVal() []yet_another_package.Embed_Enumerated {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return nil
}

func (x *RepeatedYetAnotherExternalEnumDefined) SetVal(v []yet_another_package.Embed_Enumerated) {
	x.xxx_hidden_Val = v
}

type RepeatedYetAnotherExternalEnumDefined_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val []yet_another_package.Embed_Enumerated
}

func (b0 RepeatedYetAnotherExternalEnumDefined_builder) Build() *RepeatedYetAnotherExternalEnumDefined {
	m0 := &RepeatedYetAnotherExternalEnumDefined{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type MapEnumDefined struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val map[string]TestEnum    `protobuf:"bytes,1,rep,name=val,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MapEnumDefined) Reset() {
	*x = MapEnumDefined{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MapEnumDefined) ProtoMessage() {}

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

func (x *MapEnumDefined) GetVal() map[string]TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return nil
}

func (x *MapEnumDefined) SetVal(v map[string]TestEnum) {
	x.xxx_hidden_Val = v
}

type MapEnumDefined_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val map[string]TestEnum
}

func (b0 MapEnumDefined_builder) Build() *MapEnumDefined {
	m0 := &MapEnumDefined{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type MapExternalEnumDefined struct {
	state          protoimpl.MessageState                    `protogen:"opaque.v1"`
	xxx_hidden_Val map[string]other_package.Embed_Enumerated `protobuf:"bytes,1,rep,name=val,proto3" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=buf.validate.conformance.cases.other_package.Embed_Enumerated"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *MapExternalEnumDefined) Reset() {
	*x = MapExternalEnumDefined{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MapExternalEnumDefined) ProtoMessage() {}

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

func (x *MapExternalEnumDefined) GetVal() map[string]other_package.Embed_Enumerated {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return nil
}

func (x *MapExternalEnumDefined) SetVal(v map[string]other_package.Embed_Enumerated) {
	x.xxx_hidden_Val = v
}

type MapExternalEnumDefined_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val map[string]other_package.Embed_Enumerated
}

func (b0 MapExternalEnumDefined_builder) Build() *MapExternalEnumDefined {
	m0 := &MapExternalEnumDefined{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

type EnumInsideOneof struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Foo isEnumInsideOneof_Foo  `protobuf_oneof:"foo"`
	xxx_hidden_Bar isEnumInsideOneof_Bar  `protobuf_oneof:"bar"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnumInsideOneof) Reset() {
	*x = EnumInsideOneof{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnumInsideOneof) ProtoMessage() {}

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

func (x *EnumInsideOneof) GetVal() TestEnum {
	if x != nil {
		if x, ok := x.xxx_hidden_Foo.(*enumInsideOneof_Val); ok {
			return x.Val
		}
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumInsideOneof) GetVal2() TestEnum {
	if x != nil {
		if x, ok := x.xxx_hidden_Bar.(*enumInsideOneof_Val2); ok {
			return x.Val2
		}
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumInsideOneof) SetVal(v TestEnum) {
	x.xxx_hidden_Foo = &enumInsideOneof_Val{v}
}

func (x *EnumInsideOneof) SetVal2(v TestEnum) {
	x.xxx_hidden_Bar = &enumInsideOneof_Val2{v}
}

func (x *EnumInsideOneof) HasFoo() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Foo != nil
}

func (x *EnumInsideOneof) HasVal() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_Foo.(*enumInsideOneof_Val)
	return ok
}

func (x *EnumInsideOneof) HasBar() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Bar != nil
}

func (x *EnumInsideOneof) HasVal2() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_Bar.(*enumInsideOneof_Val2)
	return ok
}

func (x *EnumInsideOneof) ClearFoo() {
	x.xxx_hidden_Foo = nil
}

func (x *EnumInsideOneof) ClearVal() {
	if _, ok := x.xxx_hidden_Foo.(*enumInsideOneof_Val); ok {
		x.xxx_hidden_Foo = nil
	}
}

func (x *EnumInsideOneof) ClearBar() {
	x.xxx_hidden_Bar = nil
}

func (x *EnumInsideOneof) ClearVal2() {
	if _, ok := x.xxx_hidden_Bar.(*enumInsideOneof_Val2); ok {
		x.xxx_hidden_Bar = nil
	}
}

const EnumInsideOneof_Foo_not_set_case case_EnumInsideOneof_Foo = 0
const EnumInsideOneof_Val_case case_EnumInsideOneof_Foo = 1

func (x *EnumInsideOneof) WhichFoo() case_EnumInsideOneof_Foo {
	if x == nil {
		return EnumInsideOneof_Foo_not_set_case
	}
	switch x.xxx_hidden_Foo.(type) {
	case *enumInsideOneof_Val:
		return EnumInsideOneof_Val_case
	default:
		return EnumInsideOneof_Foo_not_set_case
	}
}

const EnumInsideOneof_Bar_not_set_case case_EnumInsideOneof_Bar = 0
const EnumInsideOneof_Val2_case case_EnumInsideOneof_Bar = 2

func (x *EnumInsideOneof) WhichBar() case_EnumInsideOneof_Bar {
	if x == nil {
		return EnumInsideOneof_Bar_not_set_case
	}
	switch x.xxx_hidden_Bar.(type) {
	case *enumInsideOneof_Val2:
		return EnumInsideOneof_Val2_case
	default:
		return EnumInsideOneof_Bar_not_set_case
	}
}

type EnumInsideOneof_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// Fields of oneof xxx_hidden_Foo:
	Val *TestEnum
	// -- end of xxx_hidden_Foo
	// Fields of oneof xxx_hidden_Bar:
	Val2 *TestEnum
	// -- end of xxx_hidden_Bar
}

func (b0 EnumInsideOneof_builder) Build() *EnumInsideOneof {
	m0 := &EnumInsideOneof{}
	b, x := &b0, m0
	_, _ = b, x
	if b.Val != nil {
		x.xxx_hidden_Foo = &enumInsideOneof_Val{*b.Val}
	}
	if b.Val2 != nil {
		x.xxx_hidden_Bar = &enumInsideOneof_Val2{*b.Val2}
	}
	return m0
}

type case_EnumInsideOneof_Foo protoreflect.FieldNumber

func (x case_EnumInsideOneof_Foo) String() string {
	md := file_buf_validate_conformance_cases_enums_proto_msgTypes[16].Descriptor()
	if x == 0 {
		return "not set"
	}
	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}

type case_EnumInsideOneof_Bar protoreflect.FieldNumber

func (x case_EnumInsideOneof_Bar) String() string {
	md := file_buf_validate_conformance_cases_enums_proto_msgTypes[16].Descriptor()
	if x == 0 {
		return "not set"
	}
	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}

type isEnumInsideOneof_Foo interface {
	isEnumInsideOneof_Foo()
}

type enumInsideOneof_Val struct {
	Val TestEnum `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum,oneof"`
}

func (*enumInsideOneof_Val) isEnumInsideOneof_Foo() {}

type isEnumInsideOneof_Bar interface {
	isEnumInsideOneof_Bar()
}

type enumInsideOneof_Val2 struct {
	Val2 TestEnum `protobuf:"varint,2,opt,name=val2,proto3,enum=buf.validate.conformance.cases.TestEnum,oneof"`
}

func (*enumInsideOneof_Val2) isEnumInsideOneof_Bar() {}

type EnumExample struct {
	state          protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Val TestEnum               `protobuf:"varint,1,opt,name=val,proto3,enum=buf.validate.conformance.cases.TestEnum"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EnumExample) Reset() {
	*x = EnumExample{}
	mi := &file_buf_validate_conformance_cases_enums_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*EnumExample) ProtoMessage() {}

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

func (x *EnumExample) GetVal() TestEnum {
	if x != nil {
		return x.xxx_hidden_Val
	}
	return TestEnum_TEST_ENUM_UNSPECIFIED
}

func (x *EnumExample) SetVal(v TestEnum) {
	x.xxx_hidden_Val = v
}

type EnumExample_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Val TestEnum
}

func (b0 EnumExample_builder) Build() *EnumExample {
	m0 := &EnumExample{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Val = b.Val
	return m0
}

var File_buf_validate_conformance_cases_enums_proto protoreflect.FileDescriptor

const file_buf_validate_conformance_cases_enums_proto_rawDesc = "" +
	"\n" +
	"*buf/validate/conformance/cases/enums.proto\x12\x1ebuf.validate.conformance.cases\x1a8buf/validate/conformance/cases/other_package/embed.proto\x1a?buf/validate/conformance/cases/yet_another_package/embed2.proto\x1a\x1bbuf/validate/validate.proto\"F\n" +
	"\bEnumNone\x12:\n" +
	"\x03val\x18\x01 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumR\x03val\"Q\n" +
	"\tEnumConst\x12D\n" +
	"\x03val\x18\x01 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumB\b\xbaH\x05\x82\x01\x02\b\x02R\x03val\"[\n" +
	"\x0eEnumAliasConst\x12I\n" +
	"\x03val\x18\x01 \x01(\x0e2-.buf.validate.conformance.cases.TestEnumAliasB\b\xbaH\x05\x82\x01\x02\b\x02R\x03val\"S\n" +
	"\vEnumDefined\x12D\n" +
	"\x03val\x18\x01 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumB\b\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"]\n" +
	"\x10EnumAliasDefined\x12I\n" +
	"\x03val\x18\x01 \x01(\x0e2-.buf.validate.conformance.cases.TestEnumAliasB\b\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"P\n" +
	"\x06EnumIn\x12F\n" +
	"\x03val\x18\x01 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumB\n" +
	"\xbaH\a\x82\x01\x04\x18\x00\x18\x02R\x03val\"Z\n" +
	"\vEnumAliasIn\x12K\n" +
	"\x03val\x18\x01 \x01(\x0e2-.buf.validate.conformance.cases.TestEnumAliasB\n" +
	"\xbaH\a\x82\x01\x04\x18\x00\x18\x02R\x03val\"Q\n" +
	"\tEnumNotIn\x12D\n" +
	"\x03val\x18\x01 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumB\b\xbaH\x05\x82\x01\x02 \x01R\x03val\"[\n" +
	"\x0eEnumAliasNotIn\x12I\n" +
	"\x03val\x18\x01 \x01(\x0e2-.buf.validate.conformance.cases.TestEnumAliasB\b\xbaH\x05\x82\x01\x02 \x01R\x03val\"j\n" +
	"\fEnumExternal\x12Z\n" +
	"\x03val\x18\x01 \x01(\x0e2>.buf.validate.conformance.cases.other_package.Embed.EnumeratedB\b\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"}\n" +
	"\rEnumExternal2\x12l\n" +
	"\x03val\x18\x01 \x01(\x0e2P.buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumeratedB\b\xbaH\x05\x82\x01\x02\x10\x01R\x03val\"`\n" +
	"\x13RepeatedEnumDefined\x12I\n" +
	"\x03val\x18\x01 \x03(\x0e2(.buf.validate.conformance.cases.TestEnumB\r\xbaH\n" +
	"\x92\x01\a\"\x05\x82\x01\x02\x10\x01R\x03val\"~\n" +
	"\x1bRepeatedExternalEnumDefined\x12_\n" +
	"\x03val\x18\x01 \x03(\x0e2>.buf.validate.conformance.cases.other_package.Embed.EnumeratedB\r\xbaH\n" +
	"\x92\x01\a\"\x05\x82\x01\x02\x10\x01R\x03val\"\x8e\x01\n" +
	"%RepeatedYetAnotherExternalEnumDefined\x12e\n" +
	"\x03val\x18\x01 \x03(\x0e2D.buf.validate.conformance.cases.yet_another_package.Embed.EnumeratedB\r\xbaH\n" +
	"\x92\x01\a\"\x05\x82\x01\x02\x10\x01R\x03val\"\xcc\x01\n" +
	"\x0eMapEnumDefined\x12X\n" +
	"\x03val\x18\x01 \x03(\v27.buf.validate.conformance.cases.MapEnumDefined.ValEntryB\r\xbaH\n" +
	"\x9a\x01\a*\x05\x82\x01\x02\x10\x01R\x03val\x1a`\n" +
	"\bValEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12>\n" +
	"\x05value\x18\x02 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumR\x05value:\x028\x01\"\xf2\x01\n" +
	"\x16MapExternalEnumDefined\x12`\n" +
	"\x03val\x18\x01 \x03(\v2?.buf.validate.conformance.cases.MapExternalEnumDefined.ValEntryB\r\xbaH\n" +
	"\x9a\x01\a*\x05\x82\x01\x02\x10\x01R\x03val\x1av\n" +
	"\bValEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12T\n" +
	"\x05value\x18\x02 \x01(\x0e2>.buf.validate.conformance.cases.other_package.Embed.EnumeratedR\x05value:\x028\x01\"\xb3\x01\n" +
	"\x0fEnumInsideOneof\x12F\n" +
	"\x03val\x18\x01 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumB\b\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x03val\x12J\n" +
	"\x04val2\x18\x02 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumB\n" +
	"\xbaH\a\x82\x01\x04\x10\x01 \x00H\x01R\x04val2B\x05\n" +
	"\x03fooB\x05\n" +
	"\x03bar\"S\n" +
	"\vEnumExample\x12D\n" +
	"\x03val\x18\x01 \x01(\x0e2(.buf.validate.conformance.cases.TestEnumB\b\xbaH\x05\x82\x01\x02(\x02R\x03val*K\n" +
	"\bTestEnum\x12\x19\n" +
	"\x15TEST_ENUM_UNSPECIFIED\x10\x00\x12\x11\n" +
	"\rTEST_ENUM_ONE\x10\x01\x12\x11\n" +
	"\rTEST_ENUM_TWO\x10\x02*\xc9\x01\n" +
	"\rTestEnumAlias\x12\x1f\n" +
	"\x1bTEST_ENUM_ALIAS_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11TEST_ENUM_ALIAS_A\x10\x01\x12\x15\n" +
	"\x11TEST_ENUM_ALIAS_B\x10\x02\x12\x15\n" +
	"\x11TEST_ENUM_ALIAS_C\x10\x03\x12\x19\n" +
	"\x15TEST_ENUM_ALIAS_ALPHA\x10\x01\x12\x18\n" +
	"\x14TEST_ENUM_ALIAS_BETA\x10\x02\x12\x19\n" +
	"\x15TEST_ENUM_ALIAS_GAMMA\x10\x03\x1a\x02\x10\x01B\x94\x02\n" +
	"\"com.buf.validate.conformance.casesB\n" +
	"EnumsProtoP\x01ZFbuf.build/go/protovalidate/internal/gen/buf/validate/conformance/cases\xa2\x02\x04BVCC\xaa\x02\x1eBuf.Validate.Conformance.Cases\xca\x02\x1eBuf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3"

var file_buf_validate_conformance_cases_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_buf_validate_conformance_cases_enums_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_buf_validate_conformance_cases_enums_proto_goTypes = []any{
	(TestEnum)(0),                                 // 0: buf.validate.conformance.cases.TestEnum
	(TestEnumAlias)(0),                            // 1: buf.validate.conformance.cases.TestEnumAlias
	(*EnumNone)(nil),                              // 2: buf.validate.conformance.cases.EnumNone
	(*EnumConst)(nil),                             // 3: buf.validate.conformance.cases.EnumConst
	(*EnumAliasConst)(nil),                        // 4: buf.validate.conformance.cases.EnumAliasConst
	(*EnumDefined)(nil),                           // 5: buf.validate.conformance.cases.EnumDefined
	(*EnumAliasDefined)(nil),                      // 6: buf.validate.conformance.cases.EnumAliasDefined
	(*EnumIn)(nil),                                // 7: buf.validate.conformance.cases.EnumIn
	(*EnumAliasIn)(nil),                           // 8: buf.validate.conformance.cases.EnumAliasIn
	(*EnumNotIn)(nil),                             // 9: buf.validate.conformance.cases.EnumNotIn
	(*EnumAliasNotIn)(nil),                        // 10: buf.validate.conformance.cases.EnumAliasNotIn
	(*EnumExternal)(nil),                          // 11: buf.validate.conformance.cases.EnumExternal
	(*EnumExternal2)(nil),                         // 12: buf.validate.conformance.cases.EnumExternal2
	(*RepeatedEnumDefined)(nil),                   // 13: buf.validate.conformance.cases.RepeatedEnumDefined
	(*RepeatedExternalEnumDefined)(nil),           // 14: buf.validate.conformance.cases.RepeatedExternalEnumDefined
	(*RepeatedYetAnotherExternalEnumDefined)(nil), // 15: buf.validate.conformance.cases.RepeatedYetAnotherExternalEnumDefined
	(*MapEnumDefined)(nil),                        // 16: buf.validate.conformance.cases.MapEnumDefined
	(*MapExternalEnumDefined)(nil),                // 17: buf.validate.conformance.cases.MapExternalEnumDefined
	(*EnumInsideOneof)(nil),                       // 18: buf.validate.conformance.cases.EnumInsideOneof
	(*EnumExample)(nil),                           // 19: buf.validate.conformance.cases.EnumExample
	nil,                                           // 20: buf.validate.conformance.cases.MapEnumDefined.ValEntry
	nil,                                           // 21: buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry
	(other_package.Embed_Enumerated)(0),           // 22: buf.validate.conformance.cases.other_package.Embed.Enumerated
	(other_package.Embed_DoubleEmbed_DoubleEnumerated)(0), // 23: buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumerated
	(yet_another_package.Embed_Enumerated)(0),             // 24: buf.validate.conformance.cases.yet_another_package.Embed.Enumerated
}
var file_buf_validate_conformance_cases_enums_proto_depIdxs = []int32{
	0,  // 0: buf.validate.conformance.cases.EnumNone.val:type_name -> buf.validate.conformance.cases.TestEnum
	0,  // 1: buf.validate.conformance.cases.EnumConst.val:type_name -> buf.validate.conformance.cases.TestEnum
	1,  // 2: buf.validate.conformance.cases.EnumAliasConst.val:type_name -> buf.validate.conformance.cases.TestEnumAlias
	0,  // 3: buf.validate.conformance.cases.EnumDefined.val:type_name -> buf.validate.conformance.cases.TestEnum
	1,  // 4: buf.validate.conformance.cases.EnumAliasDefined.val:type_name -> buf.validate.conformance.cases.TestEnumAlias
	0,  // 5: buf.validate.conformance.cases.EnumIn.val:type_name -> buf.validate.conformance.cases.TestEnum
	1,  // 6: buf.validate.conformance.cases.EnumAliasIn.val:type_name -> buf.validate.conformance.cases.TestEnumAlias
	0,  // 7: buf.validate.conformance.cases.EnumNotIn.val:type_name -> buf.validate.conformance.cases.TestEnum
	1,  // 8: buf.validate.conformance.cases.EnumAliasNotIn.val:type_name -> buf.validate.conformance.cases.TestEnumAlias
	22, // 9: buf.validate.conformance.cases.EnumExternal.val:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated
	23, // 10: buf.validate.conformance.cases.EnumExternal2.val:type_name -> buf.validate.conformance.cases.other_package.Embed.DoubleEmbed.DoubleEnumerated
	0,  // 11: buf.validate.conformance.cases.RepeatedEnumDefined.val:type_name -> buf.validate.conformance.cases.TestEnum
	22, // 12: buf.validate.conformance.cases.RepeatedExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated
	24, // 13: buf.validate.conformance.cases.RepeatedYetAnotherExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.yet_another_package.Embed.Enumerated
	20, // 14: buf.validate.conformance.cases.MapEnumDefined.val:type_name -> buf.validate.conformance.cases.MapEnumDefined.ValEntry
	21, // 15: buf.validate.conformance.cases.MapExternalEnumDefined.val:type_name -> buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry
	0,  // 16: buf.validate.conformance.cases.EnumInsideOneof.val:type_name -> buf.validate.conformance.cases.TestEnum
	0,  // 17: buf.validate.conformance.cases.EnumInsideOneof.val2:type_name -> buf.validate.conformance.cases.TestEnum
	0,  // 18: buf.validate.conformance.cases.EnumExample.val:type_name -> buf.validate.conformance.cases.TestEnum
	0,  // 19: buf.validate.conformance.cases.MapEnumDefined.ValEntry.value:type_name -> buf.validate.conformance.cases.TestEnum
	22, // 20: buf.validate.conformance.cases.MapExternalEnumDefined.ValEntry.value:type_name -> buf.validate.conformance.cases.other_package.Embed.Enumerated
	21, // [21:21] is the sub-list for method output_type
	21, // [21:21] is the sub-list for method input_type
	21, // [21:21] is the sub-list for extension type_name
	21, // [21:21] is the sub-list for extension extendee
	0,  // [0:21] is the sub-list for field type_name
}

func init() { file_buf_validate_conformance_cases_enums_proto_init() }
func file_buf_validate_conformance_cases_enums_proto_init() {
	if File_buf_validate_conformance_cases_enums_proto != nil {
		return
	}
	file_buf_validate_conformance_cases_enums_proto_msgTypes[16].OneofWrappers = []any{
		(*enumInsideOneof_Val)(nil),
		(*enumInsideOneof_Val2)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_buf_validate_conformance_cases_enums_proto_rawDesc), len(file_buf_validate_conformance_cases_enums_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_buf_validate_conformance_cases_enums_proto_goTypes,
		DependencyIndexes: file_buf_validate_conformance_cases_enums_proto_depIdxs,
		EnumInfos:         file_buf_validate_conformance_cases_enums_proto_enumTypes,
		MessageInfos:      file_buf_validate_conformance_cases_enums_proto_msgTypes,
	}.Build()
	File_buf_validate_conformance_cases_enums_proto = out.File
	file_buf_validate_conformance_cases_enums_proto_goTypes = nil
	file_buf_validate_conformance_cases_enums_proto_depIdxs = nil
}
