xref: /aosp_15_r20/external/golang-protobuf/types/pluginpb/plugin.pb.go (revision 1c12ee1efe575feb122dbf939ff15148a3b3e8f2)
1// Protocol Buffers - Google's data interchange format
2// Copyright 2008 Google Inc.  All rights reserved.
3// https://developers.google.com/protocol-buffers/
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are
7// met:
8//
9//     * Redistributions of source code must retain the above copyright
10// notice, this list of conditions and the following disclaimer.
11//     * Redistributions in binary form must reproduce the above
12// copyright notice, this list of conditions and the following disclaimer
13// in the documentation and/or other materials provided with the
14// distribution.
15//     * Neither the name of Google Inc. nor the names of its
16// contributors may be used to endorse or promote products derived from
17// this software without specific prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31// Author: [email protected] (Kenton Varda)
32//
33// protoc (aka the Protocol Compiler) can be extended via plugins.  A plugin is
34// just a program that reads a CodeGeneratorRequest from stdin and writes a
35// CodeGeneratorResponse to stdout.
36//
37// Plugins written using C++ can use google/protobuf/compiler/plugin.h instead
38// of dealing with the raw protocol defined here.
39//
40// A plugin executable needs only to be placed somewhere in the path.  The
41// plugin should be named "protoc-gen-$NAME", and will then be used when the
42// flag "--${NAME}_out" is passed to protoc.
43
44// Code generated by protoc-gen-go. DO NOT EDIT.
45// source: google/protobuf/compiler/plugin.proto
46
47package pluginpb
48
49import (
50	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
51	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
52	descriptorpb "google.golang.org/protobuf/types/descriptorpb"
53	reflect "reflect"
54	sync "sync"
55)
56
57// Sync with code_generator.h.
58type CodeGeneratorResponse_Feature int32
59
60const (
61	CodeGeneratorResponse_FEATURE_NONE            CodeGeneratorResponse_Feature = 0
62	CodeGeneratorResponse_FEATURE_PROTO3_OPTIONAL CodeGeneratorResponse_Feature = 1
63)
64
65// Enum value maps for CodeGeneratorResponse_Feature.
66var (
67	CodeGeneratorResponse_Feature_name = map[int32]string{
68		0: "FEATURE_NONE",
69		1: "FEATURE_PROTO3_OPTIONAL",
70	}
71	CodeGeneratorResponse_Feature_value = map[string]int32{
72		"FEATURE_NONE":            0,
73		"FEATURE_PROTO3_OPTIONAL": 1,
74	}
75)
76
77func (x CodeGeneratorResponse_Feature) Enum() *CodeGeneratorResponse_Feature {
78	p := new(CodeGeneratorResponse_Feature)
79	*p = x
80	return p
81}
82
83func (x CodeGeneratorResponse_Feature) String() string {
84	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
85}
86
87func (CodeGeneratorResponse_Feature) Descriptor() protoreflect.EnumDescriptor {
88	return file_google_protobuf_compiler_plugin_proto_enumTypes[0].Descriptor()
89}
90
91func (CodeGeneratorResponse_Feature) Type() protoreflect.EnumType {
92	return &file_google_protobuf_compiler_plugin_proto_enumTypes[0]
93}
94
95func (x CodeGeneratorResponse_Feature) Number() protoreflect.EnumNumber {
96	return protoreflect.EnumNumber(x)
97}
98
99// Deprecated: Do not use.
100func (x *CodeGeneratorResponse_Feature) UnmarshalJSON(b []byte) error {
101	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
102	if err != nil {
103		return err
104	}
105	*x = CodeGeneratorResponse_Feature(num)
106	return nil
107}
108
109// Deprecated: Use CodeGeneratorResponse_Feature.Descriptor instead.
110func (CodeGeneratorResponse_Feature) EnumDescriptor() ([]byte, []int) {
111	return file_google_protobuf_compiler_plugin_proto_rawDescGZIP(), []int{2, 0}
112}
113
114// The version number of protocol compiler.
115type Version struct {
116	state         protoimpl.MessageState
117	sizeCache     protoimpl.SizeCache
118	unknownFields protoimpl.UnknownFields
119
120	Major *int32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"`
121	Minor *int32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"`
122	Patch *int32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"`
123	// A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
124	// be empty for mainline stable releases.
125	Suffix *string `protobuf:"bytes,4,opt,name=suffix" json:"suffix,omitempty"`
126}
127
128func (x *Version) Reset() {
129	*x = Version{}
130	if protoimpl.UnsafeEnabled {
131		mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[0]
132		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
133		ms.StoreMessageInfo(mi)
134	}
135}
136
137func (x *Version) String() string {
138	return protoimpl.X.MessageStringOf(x)
139}
140
141func (*Version) ProtoMessage() {}
142
143func (x *Version) ProtoReflect() protoreflect.Message {
144	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[0]
145	if protoimpl.UnsafeEnabled && x != nil {
146		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
147		if ms.LoadMessageInfo() == nil {
148			ms.StoreMessageInfo(mi)
149		}
150		return ms
151	}
152	return mi.MessageOf(x)
153}
154
155// Deprecated: Use Version.ProtoReflect.Descriptor instead.
156func (*Version) Descriptor() ([]byte, []int) {
157	return file_google_protobuf_compiler_plugin_proto_rawDescGZIP(), []int{0}
158}
159
160func (x *Version) GetMajor() int32 {
161	if x != nil && x.Major != nil {
162		return *x.Major
163	}
164	return 0
165}
166
167func (x *Version) GetMinor() int32 {
168	if x != nil && x.Minor != nil {
169		return *x.Minor
170	}
171	return 0
172}
173
174func (x *Version) GetPatch() int32 {
175	if x != nil && x.Patch != nil {
176		return *x.Patch
177	}
178	return 0
179}
180
181func (x *Version) GetSuffix() string {
182	if x != nil && x.Suffix != nil {
183		return *x.Suffix
184	}
185	return ""
186}
187
188// An encoded CodeGeneratorRequest is written to the plugin's stdin.
189type CodeGeneratorRequest struct {
190	state         protoimpl.MessageState
191	sizeCache     protoimpl.SizeCache
192	unknownFields protoimpl.UnknownFields
193
194	// The .proto files that were explicitly listed on the command-line.  The
195	// code generator should generate code only for these files.  Each file's
196	// descriptor will be included in proto_file, below.
197	FileToGenerate []string `protobuf:"bytes,1,rep,name=file_to_generate,json=fileToGenerate" json:"file_to_generate,omitempty"`
198	// The generator parameter passed on the command-line.
199	Parameter *string `protobuf:"bytes,2,opt,name=parameter" json:"parameter,omitempty"`
200	// FileDescriptorProtos for all files in files_to_generate and everything
201	// they import.  The files will appear in topological order, so each file
202	// appears before any file that imports it.
203	//
204	// protoc guarantees that all proto_files will be written after
205	// the fields above, even though this is not technically guaranteed by the
206	// protobuf wire format.  This theoretically could allow a plugin to stream
207	// in the FileDescriptorProtos and handle them one by one rather than read
208	// the entire set into memory at once.  However, as of this writing, this
209	// is not similarly optimized on protoc's end -- it will store all fields in
210	// memory at once before sending them to the plugin.
211	//
212	// Type names of fields and extensions in the FileDescriptorProto are always
213	// fully qualified.
214	ProtoFile []*descriptorpb.FileDescriptorProto `protobuf:"bytes,15,rep,name=proto_file,json=protoFile" json:"proto_file,omitempty"`
215	// The version number of protocol compiler.
216	CompilerVersion *Version `protobuf:"bytes,3,opt,name=compiler_version,json=compilerVersion" json:"compiler_version,omitempty"`
217}
218
219func (x *CodeGeneratorRequest) Reset() {
220	*x = CodeGeneratorRequest{}
221	if protoimpl.UnsafeEnabled {
222		mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[1]
223		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
224		ms.StoreMessageInfo(mi)
225	}
226}
227
228func (x *CodeGeneratorRequest) String() string {
229	return protoimpl.X.MessageStringOf(x)
230}
231
232func (*CodeGeneratorRequest) ProtoMessage() {}
233
234func (x *CodeGeneratorRequest) ProtoReflect() protoreflect.Message {
235	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[1]
236	if protoimpl.UnsafeEnabled && x != nil {
237		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
238		if ms.LoadMessageInfo() == nil {
239			ms.StoreMessageInfo(mi)
240		}
241		return ms
242	}
243	return mi.MessageOf(x)
244}
245
246// Deprecated: Use CodeGeneratorRequest.ProtoReflect.Descriptor instead.
247func (*CodeGeneratorRequest) Descriptor() ([]byte, []int) {
248	return file_google_protobuf_compiler_plugin_proto_rawDescGZIP(), []int{1}
249}
250
251func (x *CodeGeneratorRequest) GetFileToGenerate() []string {
252	if x != nil {
253		return x.FileToGenerate
254	}
255	return nil
256}
257
258func (x *CodeGeneratorRequest) GetParameter() string {
259	if x != nil && x.Parameter != nil {
260		return *x.Parameter
261	}
262	return ""
263}
264
265func (x *CodeGeneratorRequest) GetProtoFile() []*descriptorpb.FileDescriptorProto {
266	if x != nil {
267		return x.ProtoFile
268	}
269	return nil
270}
271
272func (x *CodeGeneratorRequest) GetCompilerVersion() *Version {
273	if x != nil {
274		return x.CompilerVersion
275	}
276	return nil
277}
278
279// The plugin writes an encoded CodeGeneratorResponse to stdout.
280type CodeGeneratorResponse struct {
281	state         protoimpl.MessageState
282	sizeCache     protoimpl.SizeCache
283	unknownFields protoimpl.UnknownFields
284
285	// Error message.  If non-empty, code generation failed.  The plugin process
286	// should exit with status code zero even if it reports an error in this way.
287	//
288	// This should be used to indicate errors in .proto files which prevent the
289	// code generator from generating correct code.  Errors which indicate a
290	// problem in protoc itself -- such as the input CodeGeneratorRequest being
291	// unparseable -- should be reported by writing a message to stderr and
292	// exiting with a non-zero status code.
293	Error *string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
294	// A bitmask of supported features that the code generator supports.
295	// This is a bitwise "or" of values from the Feature enum.
296	SupportedFeatures *uint64                       `protobuf:"varint,2,opt,name=supported_features,json=supportedFeatures" json:"supported_features,omitempty"`
297	File              []*CodeGeneratorResponse_File `protobuf:"bytes,15,rep,name=file" json:"file,omitempty"`
298}
299
300func (x *CodeGeneratorResponse) Reset() {
301	*x = CodeGeneratorResponse{}
302	if protoimpl.UnsafeEnabled {
303		mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[2]
304		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
305		ms.StoreMessageInfo(mi)
306	}
307}
308
309func (x *CodeGeneratorResponse) String() string {
310	return protoimpl.X.MessageStringOf(x)
311}
312
313func (*CodeGeneratorResponse) ProtoMessage() {}
314
315func (x *CodeGeneratorResponse) ProtoReflect() protoreflect.Message {
316	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[2]
317	if protoimpl.UnsafeEnabled && x != nil {
318		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
319		if ms.LoadMessageInfo() == nil {
320			ms.StoreMessageInfo(mi)
321		}
322		return ms
323	}
324	return mi.MessageOf(x)
325}
326
327// Deprecated: Use CodeGeneratorResponse.ProtoReflect.Descriptor instead.
328func (*CodeGeneratorResponse) Descriptor() ([]byte, []int) {
329	return file_google_protobuf_compiler_plugin_proto_rawDescGZIP(), []int{2}
330}
331
332func (x *CodeGeneratorResponse) GetError() string {
333	if x != nil && x.Error != nil {
334		return *x.Error
335	}
336	return ""
337}
338
339func (x *CodeGeneratorResponse) GetSupportedFeatures() uint64 {
340	if x != nil && x.SupportedFeatures != nil {
341		return *x.SupportedFeatures
342	}
343	return 0
344}
345
346func (x *CodeGeneratorResponse) GetFile() []*CodeGeneratorResponse_File {
347	if x != nil {
348		return x.File
349	}
350	return nil
351}
352
353// Represents a single generated file.
354type CodeGeneratorResponse_File struct {
355	state         protoimpl.MessageState
356	sizeCache     protoimpl.SizeCache
357	unknownFields protoimpl.UnknownFields
358
359	// The file name, relative to the output directory.  The name must not
360	// contain "." or ".." components and must be relative, not be absolute (so,
361	// the file cannot lie outside the output directory).  "/" must be used as
362	// the path separator, not "\".
363	//
364	// If the name is omitted, the content will be appended to the previous
365	// file.  This allows the generator to break large files into small chunks,
366	// and allows the generated text to be streamed back to protoc so that large
367	// files need not reside completely in memory at one time.  Note that as of
368	// this writing protoc does not optimize for this -- it will read the entire
369	// CodeGeneratorResponse before writing files to disk.
370	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
371	// If non-empty, indicates that the named file should already exist, and the
372	// content here is to be inserted into that file at a defined insertion
373	// point.  This feature allows a code generator to extend the output
374	// produced by another code generator.  The original generator may provide
375	// insertion points by placing special annotations in the file that look
376	// like:
377	//
378	//	@@protoc_insertion_point(NAME)
379	//
380	// The annotation can have arbitrary text before and after it on the line,
381	// which allows it to be placed in a comment.  NAME should be replaced with
382	// an identifier naming the point -- this is what other generators will use
383	// as the insertion_point.  Code inserted at this point will be placed
384	// immediately above the line containing the insertion point (thus multiple
385	// insertions to the same point will come out in the order they were added).
386	// The double-@ is intended to make it unlikely that the generated code
387	// could contain things that look like insertion points by accident.
388	//
389	// For example, the C++ code generator places the following line in the
390	// .pb.h files that it generates:
391	//
392	//	// @@protoc_insertion_point(namespace_scope)
393	//
394	// This line appears within the scope of the file's package namespace, but
395	// outside of any particular class.  Another plugin can then specify the
396	// insertion_point "namespace_scope" to generate additional classes or
397	// other declarations that should be placed in this scope.
398	//
399	// Note that if the line containing the insertion point begins with
400	// whitespace, the same whitespace will be added to every line of the
401	// inserted text.  This is useful for languages like Python, where
402	// indentation matters.  In these languages, the insertion point comment
403	// should be indented the same amount as any inserted code will need to be
404	// in order to work correctly in that context.
405	//
406	// The code generator that generates the initial file and the one which
407	// inserts into it must both run as part of a single invocation of protoc.
408	// Code generators are executed in the order in which they appear on the
409	// command line.
410	//
411	// If |insertion_point| is present, |name| must also be present.
412	InsertionPoint *string `protobuf:"bytes,2,opt,name=insertion_point,json=insertionPoint" json:"insertion_point,omitempty"`
413	// The file contents.
414	Content *string `protobuf:"bytes,15,opt,name=content" json:"content,omitempty"`
415	// Information describing the file content being inserted. If an insertion
416	// point is used, this information will be appropriately offset and inserted
417	// into the code generation metadata for the generated files.
418	GeneratedCodeInfo *descriptorpb.GeneratedCodeInfo `protobuf:"bytes,16,opt,name=generated_code_info,json=generatedCodeInfo" json:"generated_code_info,omitempty"`
419}
420
421func (x *CodeGeneratorResponse_File) Reset() {
422	*x = CodeGeneratorResponse_File{}
423	if protoimpl.UnsafeEnabled {
424		mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[3]
425		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
426		ms.StoreMessageInfo(mi)
427	}
428}
429
430func (x *CodeGeneratorResponse_File) String() string {
431	return protoimpl.X.MessageStringOf(x)
432}
433
434func (*CodeGeneratorResponse_File) ProtoMessage() {}
435
436func (x *CodeGeneratorResponse_File) ProtoReflect() protoreflect.Message {
437	mi := &file_google_protobuf_compiler_plugin_proto_msgTypes[3]
438	if protoimpl.UnsafeEnabled && x != nil {
439		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
440		if ms.LoadMessageInfo() == nil {
441			ms.StoreMessageInfo(mi)
442		}
443		return ms
444	}
445	return mi.MessageOf(x)
446}
447
448// Deprecated: Use CodeGeneratorResponse_File.ProtoReflect.Descriptor instead.
449func (*CodeGeneratorResponse_File) Descriptor() ([]byte, []int) {
450	return file_google_protobuf_compiler_plugin_proto_rawDescGZIP(), []int{2, 0}
451}
452
453func (x *CodeGeneratorResponse_File) GetName() string {
454	if x != nil && x.Name != nil {
455		return *x.Name
456	}
457	return ""
458}
459
460func (x *CodeGeneratorResponse_File) GetInsertionPoint() string {
461	if x != nil && x.InsertionPoint != nil {
462		return *x.InsertionPoint
463	}
464	return ""
465}
466
467func (x *CodeGeneratorResponse_File) GetContent() string {
468	if x != nil && x.Content != nil {
469		return *x.Content
470	}
471	return ""
472}
473
474func (x *CodeGeneratorResponse_File) GetGeneratedCodeInfo() *descriptorpb.GeneratedCodeInfo {
475	if x != nil {
476		return x.GeneratedCodeInfo
477	}
478	return nil
479}
480
481var File_google_protobuf_compiler_plugin_proto protoreflect.FileDescriptor
482
483var file_google_protobuf_compiler_plugin_proto_rawDesc = []byte{
484	0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
485	0x66, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69,
486	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
487	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65,
488	0x72, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
489	0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
490	0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14,
491	0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6d,
492	0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x02, 0x20,
493	0x01, 0x28, 0x05, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61,
494	0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68,
495	0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
496	0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x22, 0xf1, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x64,
497	0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
498	0x74, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x67, 0x65, 0x6e,
499	0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x69, 0x6c,
500	0x65, 0x54, 0x6f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70,
501	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
502	0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
503	0x74, 0x6f, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
504	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
505	0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72,
506	0x6f, 0x74, 0x6f, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x4c,
507	0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
508	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
509	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
510	0x6c, 0x65, 0x72, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x63, 0x6f, 0x6d,
511	0x70, 0x69, 0x6c, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x03, 0x0a,
512	0x15, 0x43, 0x6f, 0x64, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65,
513	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
514	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2d, 0x0a, 0x12,
515	0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
516	0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
517	0x74, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x04, 0x66,
518	0x69, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
519	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70,
520	0x69, 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
521	0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x52,
522	0x04, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0xb1, 0x01, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12,
523	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
524	0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
525	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x73,
526	0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63,
527	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f,
528	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x52, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
529	0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x01,
530	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
531	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f,
532	0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
533	0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x38, 0x0a, 0x07, 0x46, 0x65, 0x61,
534	0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f,
535	0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52,
536	0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x33, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41,
537	0x4c, 0x10, 0x01, 0x42, 0x72, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
538	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x69,
539	0x6c, 0x65, 0x72, 0x42, 0x0c, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
540	0x73, 0x5a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
541	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79,
542	0x70, 0x65, 0x73, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x70, 0x62, 0xaa, 0x02, 0x18, 0x47,
543	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x43,
544	0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72,
545}
546
547var (
548	file_google_protobuf_compiler_plugin_proto_rawDescOnce sync.Once
549	file_google_protobuf_compiler_plugin_proto_rawDescData = file_google_protobuf_compiler_plugin_proto_rawDesc
550)
551
552func file_google_protobuf_compiler_plugin_proto_rawDescGZIP() []byte {
553	file_google_protobuf_compiler_plugin_proto_rawDescOnce.Do(func() {
554		file_google_protobuf_compiler_plugin_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_compiler_plugin_proto_rawDescData)
555	})
556	return file_google_protobuf_compiler_plugin_proto_rawDescData
557}
558
559var file_google_protobuf_compiler_plugin_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
560var file_google_protobuf_compiler_plugin_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
561var file_google_protobuf_compiler_plugin_proto_goTypes = []interface{}{
562	(CodeGeneratorResponse_Feature)(0),       // 0: google.protobuf.compiler.CodeGeneratorResponse.Feature
563	(*Version)(nil),                          // 1: google.protobuf.compiler.Version
564	(*CodeGeneratorRequest)(nil),             // 2: google.protobuf.compiler.CodeGeneratorRequest
565	(*CodeGeneratorResponse)(nil),            // 3: google.protobuf.compiler.CodeGeneratorResponse
566	(*CodeGeneratorResponse_File)(nil),       // 4: google.protobuf.compiler.CodeGeneratorResponse.File
567	(*descriptorpb.FileDescriptorProto)(nil), // 5: google.protobuf.FileDescriptorProto
568	(*descriptorpb.GeneratedCodeInfo)(nil),   // 6: google.protobuf.GeneratedCodeInfo
569}
570var file_google_protobuf_compiler_plugin_proto_depIdxs = []int32{
571	5, // 0: google.protobuf.compiler.CodeGeneratorRequest.proto_file:type_name -> google.protobuf.FileDescriptorProto
572	1, // 1: google.protobuf.compiler.CodeGeneratorRequest.compiler_version:type_name -> google.protobuf.compiler.Version
573	4, // 2: google.protobuf.compiler.CodeGeneratorResponse.file:type_name -> google.protobuf.compiler.CodeGeneratorResponse.File
574	6, // 3: google.protobuf.compiler.CodeGeneratorResponse.File.generated_code_info:type_name -> google.protobuf.GeneratedCodeInfo
575	4, // [4:4] is the sub-list for method output_type
576	4, // [4:4] is the sub-list for method input_type
577	4, // [4:4] is the sub-list for extension type_name
578	4, // [4:4] is the sub-list for extension extendee
579	0, // [0:4] is the sub-list for field type_name
580}
581
582func init() { file_google_protobuf_compiler_plugin_proto_init() }
583func file_google_protobuf_compiler_plugin_proto_init() {
584	if File_google_protobuf_compiler_plugin_proto != nil {
585		return
586	}
587	if !protoimpl.UnsafeEnabled {
588		file_google_protobuf_compiler_plugin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
589			switch v := v.(*Version); i {
590			case 0:
591				return &v.state
592			case 1:
593				return &v.sizeCache
594			case 2:
595				return &v.unknownFields
596			default:
597				return nil
598			}
599		}
600		file_google_protobuf_compiler_plugin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
601			switch v := v.(*CodeGeneratorRequest); i {
602			case 0:
603				return &v.state
604			case 1:
605				return &v.sizeCache
606			case 2:
607				return &v.unknownFields
608			default:
609				return nil
610			}
611		}
612		file_google_protobuf_compiler_plugin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
613			switch v := v.(*CodeGeneratorResponse); i {
614			case 0:
615				return &v.state
616			case 1:
617				return &v.sizeCache
618			case 2:
619				return &v.unknownFields
620			default:
621				return nil
622			}
623		}
624		file_google_protobuf_compiler_plugin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
625			switch v := v.(*CodeGeneratorResponse_File); i {
626			case 0:
627				return &v.state
628			case 1:
629				return &v.sizeCache
630			case 2:
631				return &v.unknownFields
632			default:
633				return nil
634			}
635		}
636	}
637	type x struct{}
638	out := protoimpl.TypeBuilder{
639		File: protoimpl.DescBuilder{
640			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
641			RawDescriptor: file_google_protobuf_compiler_plugin_proto_rawDesc,
642			NumEnums:      1,
643			NumMessages:   4,
644			NumExtensions: 0,
645			NumServices:   0,
646		},
647		GoTypes:           file_google_protobuf_compiler_plugin_proto_goTypes,
648		DependencyIndexes: file_google_protobuf_compiler_plugin_proto_depIdxs,
649		EnumInfos:         file_google_protobuf_compiler_plugin_proto_enumTypes,
650		MessageInfos:      file_google_protobuf_compiler_plugin_proto_msgTypes,
651	}.Build()
652	File_google_protobuf_compiler_plugin_proto = out.File
653	file_google_protobuf_compiler_plugin_proto_rawDesc = nil
654	file_google_protobuf_compiler_plugin_proto_goTypes = nil
655	file_google_protobuf_compiler_plugin_proto_depIdxs = nil
656}
657