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