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