// Copyright 2025 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: internal/testprotos/test/test_option.proto

package test_option

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

type OptionImportMessage struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Name        *string                `protobuf:"bytes,1,opt,name=name"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

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

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

func (*OptionImportMessage) ProtoMessage() {}

func (x *OptionImportMessage) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_test_test_option_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 *OptionImportMessage) GetName() string {
	if x != nil {
		if x.xxx_hidden_Name != nil {
			return *x.xxx_hidden_Name
		}
		return ""
	}
	return ""
}

func (x *OptionImportMessage) SetName(v string) {
	x.xxx_hidden_Name = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *OptionImportMessage) HasName() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *OptionImportMessage) ClearName() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_Name = nil
}

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

	Name *string
}

func (b0 OptionImportMessage_builder) Build() *OptionImportMessage {
	m0 := &OptionImportMessage{}
	b, x := &b0, m0
	_, _ = b, x
	if b.Name != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_Name = b.Name
	}
	return m0
}

var File_internal_testprotos_test_test_option_proto protoreflect.FileDescriptor

const file_internal_testprotos_test_test_option_proto_rawDesc = "" +
	"\n" +
	"*internal/testprotos/test/test_option.proto\x12\x12goproto.proto.test\")\n" +
	"\x13OptionImportMessage\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04nameBbZ?google.golang.org/protobuf/internal/testprotos/test/test_option\x92\x03\x05\xd2>\x02\x10\x03\xaa\xd1\xf9\xd6\x03\x13\n" +
	"\x11no package optionb\beditionsp\xe9\az-internal/testprotos/test/test_nopackage.protoz!google/protobuf/go_features.proto"

var file_internal_testprotos_test_test_option_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_internal_testprotos_test_test_option_proto_goTypes = []any{
	(*OptionImportMessage)(nil), // 0: goproto.proto.test.OptionImportMessage
}
var file_internal_testprotos_test_test_option_proto_depIdxs = []int32{
	0, // [0:0] is the sub-list for method output_type
	0, // [0:0] is the sub-list for method input_type
	0, // [0:0] is the sub-list for extension type_name
	0, // [0:0] is the sub-list for extension extendee
	0, // [0:0] is the sub-list for field type_name
}

func init() { file_internal_testprotos_test_test_option_proto_init() }
func file_internal_testprotos_test_test_option_proto_init() {
	if File_internal_testprotos_test_test_option_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_testprotos_test_test_option_proto_rawDesc), len(file_internal_testprotos_test_test_option_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   1,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_internal_testprotos_test_test_option_proto_goTypes,
		DependencyIndexes: file_internal_testprotos_test_test_option_proto_depIdxs,
		MessageInfos:      file_internal_testprotos_test_test_option_proto_msgTypes,
	}.Build()
	File_internal_testprotos_test_test_option_proto = out.File
	file_internal_testprotos_test_test_option_proto_goTypes = nil
	file_internal_testprotos_test_test_option_proto_depIdxs = nil
}
