Go support for protocol buffers.
Consists of a compiler plugin and the support library, all written in Go.
This is a complete implementation except for:
- Extensions in the plugin
- coming soon
- support is already in the library
- Services (RPC)
- needs an external definition to honor before supporting.
- Insertion points in the plugin
- may come
R=rsc, dsymonds1, ken2
CC=golang-dev
http://codereview.appspot.com/676041
diff --git a/compiler/descriptor/Makefile b/compiler/descriptor/Makefile
new file mode 100644
index 0000000..cd2add9
--- /dev/null
+++ b/compiler/descriptor/Makefile
@@ -0,0 +1,53 @@
+# Go support for Protocol Buffers - Google's data interchange format
+#
+# Copyright 2010 Google Inc. All rights reserved.
+# http://code.google.com/p/goprotobuf/
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+include $(GOROOT)/src/Make.$(GOARCH)
+
+TARG=goprotobuf.googlecode.com/hg/compiler/descriptor
+GOFILES=\
+ descriptor.pb.go\
+
+include $(GOROOT)/src/Make.pkg
+
+# Not stored here, but descriptor.proto is in http://code.google.com/p/protobuf
+# at protobuf-2.3.0/src/google/protobuf/descriptor.proto
+# Also we need to fix an import.
+regenerate:
+ echo WARNING! THIS RULE IS PROBABLY NOT RIGHT FOR YOUR INSTALLATION
+ cd $(HOME)/protobuf-2.3.0/src && \
+ protoc --go_out=. ./google/protobuf/descriptor.proto && \
+ cp ./google/protobuf/descriptor.pb.go $(GOROOT)/src/pkg/goprotobuf.googlecode.com/hg/compiler/descriptor/descriptor.pb.go
+
+restore:
+ cp descriptor.pb.golden descriptor.pb.go
+
+preserve:
+ cp descriptor.pb.go descriptor.pb.golden
diff --git a/compiler/descriptor/descriptor.pb.go b/compiler/descriptor/descriptor.pb.go
new file mode 100644
index 0000000..dc7e4a6
--- /dev/null
+++ b/compiler/descriptor/descriptor.pb.go
@@ -0,0 +1,398 @@
+// Code generated by protoc-gen-go from "google/protobuf/descriptor.proto"
+// DO NOT EDIT!
+
+package google_protobuf
+
+import "goprotobuf.googlecode.com/hg/proto"
+
+type FieldDescriptorProto_Type int32
+const (
+ FieldDescriptorProto_TYPE_DOUBLE = 1
+ FieldDescriptorProto_TYPE_FLOAT = 2
+ FieldDescriptorProto_TYPE_INT64 = 3
+ FieldDescriptorProto_TYPE_UINT64 = 4
+ FieldDescriptorProto_TYPE_INT32 = 5
+ FieldDescriptorProto_TYPE_FIXED64 = 6
+ FieldDescriptorProto_TYPE_FIXED32 = 7
+ FieldDescriptorProto_TYPE_BOOL = 8
+ FieldDescriptorProto_TYPE_STRING = 9
+ FieldDescriptorProto_TYPE_GROUP = 10
+ FieldDescriptorProto_TYPE_MESSAGE = 11
+ FieldDescriptorProto_TYPE_BYTES = 12
+ FieldDescriptorProto_TYPE_UINT32 = 13
+ FieldDescriptorProto_TYPE_ENUM = 14
+ FieldDescriptorProto_TYPE_SFIXED32 = 15
+ FieldDescriptorProto_TYPE_SFIXED64 = 16
+ FieldDescriptorProto_TYPE_SINT32 = 17
+ FieldDescriptorProto_TYPE_SINT64 = 18
+)
+var FieldDescriptorProto_Type_name = map[int32] string {
+ 1: "TYPE_DOUBLE",
+ 2: "TYPE_FLOAT",
+ 3: "TYPE_INT64",
+ 4: "TYPE_UINT64",
+ 5: "TYPE_INT32",
+ 6: "TYPE_FIXED64",
+ 7: "TYPE_FIXED32",
+ 8: "TYPE_BOOL",
+ 9: "TYPE_STRING",
+ 10: "TYPE_GROUP",
+ 11: "TYPE_MESSAGE",
+ 12: "TYPE_BYTES",
+ 13: "TYPE_UINT32",
+ 14: "TYPE_ENUM",
+ 15: "TYPE_SFIXED32",
+ 16: "TYPE_SFIXED64",
+ 17: "TYPE_SINT32",
+ 18: "TYPE_SINT64",
+}
+var FieldDescriptorProto_Type_value = map[string] int32 {
+ "TYPE_DOUBLE": 1,
+ "TYPE_FLOAT": 2,
+ "TYPE_INT64": 3,
+ "TYPE_UINT64": 4,
+ "TYPE_INT32": 5,
+ "TYPE_FIXED64": 6,
+ "TYPE_FIXED32": 7,
+ "TYPE_BOOL": 8,
+ "TYPE_STRING": 9,
+ "TYPE_GROUP": 10,
+ "TYPE_MESSAGE": 11,
+ "TYPE_BYTES": 12,
+ "TYPE_UINT32": 13,
+ "TYPE_ENUM": 14,
+ "TYPE_SFIXED32": 15,
+ "TYPE_SFIXED64": 16,
+ "TYPE_SINT32": 17,
+ "TYPE_SINT64": 18,
+}
+func NewFieldDescriptorProto_Type(x int32) *FieldDescriptorProto_Type {
+ e := FieldDescriptorProto_Type(x)
+ return &e
+}
+
+type FieldDescriptorProto_Label int32
+const (
+ FieldDescriptorProto_LABEL_OPTIONAL = 1
+ FieldDescriptorProto_LABEL_REQUIRED = 2
+ FieldDescriptorProto_LABEL_REPEATED = 3
+)
+var FieldDescriptorProto_Label_name = map[int32] string {
+ 1: "LABEL_OPTIONAL",
+ 2: "LABEL_REQUIRED",
+ 3: "LABEL_REPEATED",
+}
+var FieldDescriptorProto_Label_value = map[string] int32 {
+ "LABEL_OPTIONAL": 1,
+ "LABEL_REQUIRED": 2,
+ "LABEL_REPEATED": 3,
+}
+func NewFieldDescriptorProto_Label(x int32) *FieldDescriptorProto_Label {
+ e := FieldDescriptorProto_Label(x)
+ return &e
+}
+
+type FileOptions_OptimizeMode int32
+const (
+ FileOptions_SPEED = 1
+ FileOptions_CODE_SIZE = 2
+ FileOptions_LITE_RUNTIME = 3
+)
+var FileOptions_OptimizeMode_name = map[int32] string {
+ 1: "SPEED",
+ 2: "CODE_SIZE",
+ 3: "LITE_RUNTIME",
+}
+var FileOptions_OptimizeMode_value = map[string] int32 {
+ "SPEED": 1,
+ "CODE_SIZE": 2,
+ "LITE_RUNTIME": 3,
+}
+func NewFileOptions_OptimizeMode(x int32) *FileOptions_OptimizeMode {
+ e := FileOptions_OptimizeMode(x)
+ return &e
+}
+
+type FieldOptions_CType int32
+const (
+ FieldOptions_STRING = 0
+ FieldOptions_CORD = 1
+ FieldOptions_STRING_PIECE = 2
+)
+var FieldOptions_CType_name = map[int32] string {
+ 0: "STRING",
+ 1: "CORD",
+ 2: "STRING_PIECE",
+}
+var FieldOptions_CType_value = map[string] int32 {
+ "STRING": 0,
+ "CORD": 1,
+ "STRING_PIECE": 2,
+}
+func NewFieldOptions_CType(x int32) *FieldOptions_CType {
+ e := FieldOptions_CType(x)
+ return &e
+}
+
+type FileDescriptorSet struct {
+ File []*FileDescriptorProto "PB(bytes,1,rep,name=file)"
+ XXX_unrecognized []byte
+}
+func (this *FileDescriptorSet) Reset() {
+ *this = FileDescriptorSet{}
+}
+func NewFileDescriptorSet() *FileDescriptorSet {
+ return new(FileDescriptorSet)
+}
+
+type FileDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Package *string "PB(bytes,2,opt,name=package)"
+ Dependency []string "PB(bytes,3,rep,name=dependency)"
+ MessageType []*DescriptorProto "PB(bytes,4,rep,name=message_type)"
+ EnumType []*EnumDescriptorProto "PB(bytes,5,rep,name=enum_type)"
+ Service []*ServiceDescriptorProto "PB(bytes,6,rep,name=service)"
+ Extension []*FieldDescriptorProto "PB(bytes,7,rep,name=extension)"
+ Options *FileOptions "PB(bytes,8,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *FileDescriptorProto) Reset() {
+ *this = FileDescriptorProto{}
+}
+func NewFileDescriptorProto() *FileDescriptorProto {
+ return new(FileDescriptorProto)
+}
+
+type DescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Field []*FieldDescriptorProto "PB(bytes,2,rep,name=field)"
+ Extension []*FieldDescriptorProto "PB(bytes,6,rep,name=extension)"
+ NestedType []*DescriptorProto "PB(bytes,3,rep,name=nested_type)"
+ EnumType []*EnumDescriptorProto "PB(bytes,4,rep,name=enum_type)"
+ ExtensionRange []*DescriptorProto_ExtensionRange "PB(bytes,5,rep,name=extension_range)"
+ Options *MessageOptions "PB(bytes,7,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *DescriptorProto) Reset() {
+ *this = DescriptorProto{}
+}
+func NewDescriptorProto() *DescriptorProto {
+ return new(DescriptorProto)
+}
+
+type DescriptorProto_ExtensionRange struct {
+ Start *int32 "PB(varint,1,opt,name=start)"
+ End *int32 "PB(varint,2,opt,name=end)"
+ XXX_unrecognized []byte
+}
+func (this *DescriptorProto_ExtensionRange) Reset() {
+ *this = DescriptorProto_ExtensionRange{}
+}
+func NewDescriptorProto_ExtensionRange() *DescriptorProto_ExtensionRange {
+ return new(DescriptorProto_ExtensionRange)
+}
+
+type FieldDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Number *int32 "PB(varint,3,opt,name=number)"
+ Label *FieldDescriptorProto_Label "PB(varint,4,opt,name=label,enum=google_protobuf.FieldDescriptorProto_Label)"
+ Type *FieldDescriptorProto_Type "PB(varint,5,opt,name=type,enum=google_protobuf.FieldDescriptorProto_Type)"
+ TypeName *string "PB(bytes,6,opt,name=type_name)"
+ Extendee *string "PB(bytes,2,opt,name=extendee)"
+ DefaultValue *string "PB(bytes,7,opt,name=default_value)"
+ Options *FieldOptions "PB(bytes,8,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *FieldDescriptorProto) Reset() {
+ *this = FieldDescriptorProto{}
+}
+func NewFieldDescriptorProto() *FieldDescriptorProto {
+ return new(FieldDescriptorProto)
+}
+
+type EnumDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Value []*EnumValueDescriptorProto "PB(bytes,2,rep,name=value)"
+ Options *EnumOptions "PB(bytes,3,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *EnumDescriptorProto) Reset() {
+ *this = EnumDescriptorProto{}
+}
+func NewEnumDescriptorProto() *EnumDescriptorProto {
+ return new(EnumDescriptorProto)
+}
+
+type EnumValueDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Number *int32 "PB(varint,2,opt,name=number)"
+ Options *EnumValueOptions "PB(bytes,3,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *EnumValueDescriptorProto) Reset() {
+ *this = EnumValueDescriptorProto{}
+}
+func NewEnumValueDescriptorProto() *EnumValueDescriptorProto {
+ return new(EnumValueDescriptorProto)
+}
+
+type ServiceDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Method []*MethodDescriptorProto "PB(bytes,2,rep,name=method)"
+ Options *ServiceOptions "PB(bytes,3,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *ServiceDescriptorProto) Reset() {
+ *this = ServiceDescriptorProto{}
+}
+func NewServiceDescriptorProto() *ServiceDescriptorProto {
+ return new(ServiceDescriptorProto)
+}
+
+type MethodDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ InputType *string "PB(bytes,2,opt,name=input_type)"
+ OutputType *string "PB(bytes,3,opt,name=output_type)"
+ Options *MethodOptions "PB(bytes,4,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *MethodDescriptorProto) Reset() {
+ *this = MethodDescriptorProto{}
+}
+func NewMethodDescriptorProto() *MethodDescriptorProto {
+ return new(MethodDescriptorProto)
+}
+
+type FileOptions struct {
+ JavaPackage *string "PB(bytes,1,opt,name=java_package)"
+ JavaOuterClassname *string "PB(bytes,8,opt,name=java_outer_classname)"
+ JavaMultipleFiles *bool "PB(varint,10,opt,name=java_multiple_files,def=0)"
+ OptimizeFor *FileOptions_OptimizeMode "PB(varint,9,opt,name=optimize_for,enum=google_protobuf.FileOptions_OptimizeMode,def=1)"
+ CcGenericServices *bool "PB(varint,16,opt,name=cc_generic_services,def=1)"
+ JavaGenericServices *bool "PB(varint,17,opt,name=java_generic_services,def=1)"
+ PyGenericServices *bool "PB(varint,18,opt,name=py_generic_services,def=1)"
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *FileOptions) Reset() {
+ *this = FileOptions{}
+}
+func NewFileOptions() *FileOptions {
+ return new(FileOptions)
+}
+const Default_FileOptions_JavaMultipleFiles bool = false
+const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
+const Default_FileOptions_CcGenericServices bool = true
+const Default_FileOptions_JavaGenericServices bool = true
+const Default_FileOptions_PyGenericServices bool = true
+
+type MessageOptions struct {
+ MessageSetWireFormat *bool "PB(varint,1,opt,name=message_set_wire_format,def=0)"
+ NoStandardDescriptorAccessor *bool "PB(varint,2,opt,name=no_standard_descriptor_accessor,def=0)"
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *MessageOptions) Reset() {
+ *this = MessageOptions{}
+}
+func NewMessageOptions() *MessageOptions {
+ return new(MessageOptions)
+}
+const Default_MessageOptions_MessageSetWireFormat bool = false
+const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
+
+type FieldOptions struct {
+ Ctype *FieldOptions_CType "PB(varint,1,opt,name=ctype,enum=google_protobuf.FieldOptions_CType,def=0)"
+ Packed *bool "PB(varint,2,opt,name=packed)"
+ Deprecated *bool "PB(varint,3,opt,name=deprecated,def=0)"
+ ExperimentalMapKey *string "PB(bytes,9,opt,name=experimental_map_key)"
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *FieldOptions) Reset() {
+ *this = FieldOptions{}
+}
+func NewFieldOptions() *FieldOptions {
+ return new(FieldOptions)
+}
+const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
+const Default_FieldOptions_Deprecated bool = false
+
+type EnumOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *EnumOptions) Reset() {
+ *this = EnumOptions{}
+}
+func NewEnumOptions() *EnumOptions {
+ return new(EnumOptions)
+}
+
+type EnumValueOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *EnumValueOptions) Reset() {
+ *this = EnumValueOptions{}
+}
+func NewEnumValueOptions() *EnumValueOptions {
+ return new(EnumValueOptions)
+}
+
+type ServiceOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *ServiceOptions) Reset() {
+ *this = ServiceOptions{}
+}
+func NewServiceOptions() *ServiceOptions {
+ return new(ServiceOptions)
+}
+
+type MethodOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *MethodOptions) Reset() {
+ *this = MethodOptions{}
+}
+func NewMethodOptions() *MethodOptions {
+ return new(MethodOptions)
+}
+
+type UninterpretedOption struct {
+ Name []*UninterpretedOption_NamePart "PB(bytes,2,rep,name=name)"
+ IdentifierValue *string "PB(bytes,3,opt,name=identifier_value)"
+ PositiveIntValue *uint64 "PB(varint,4,opt,name=positive_int_value)"
+ NegativeIntValue *int64 "PB(varint,5,opt,name=negative_int_value)"
+ DoubleValue *float64 "PB(fixed64,6,opt,name=double_value)"
+ StringValue []byte "PB(bytes,7,opt,name=string_value)"
+ XXX_unrecognized []byte
+}
+func (this *UninterpretedOption) Reset() {
+ *this = UninterpretedOption{}
+}
+func NewUninterpretedOption() *UninterpretedOption {
+ return new(UninterpretedOption)
+}
+
+type UninterpretedOption_NamePart struct {
+ NamePart *string "PB(bytes,1,req,name=name_part)"
+ IsExtension *bool "PB(varint,2,req,name=is_extension)"
+ XXX_unrecognized []byte
+}
+func (this *UninterpretedOption_NamePart) Reset() {
+ *this = UninterpretedOption_NamePart{}
+}
+func NewUninterpretedOption_NamePart() *UninterpretedOption_NamePart {
+ return new(UninterpretedOption_NamePart)
+}
+
+func init() {
+ proto.RegisterEnum("google_protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
+ proto.RegisterEnum("google_protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
+ proto.RegisterEnum("google_protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
+ proto.RegisterEnum("google_protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
+}
diff --git a/compiler/descriptor/descriptor.pb.golden b/compiler/descriptor/descriptor.pb.golden
new file mode 100644
index 0000000..dc7e4a6
--- /dev/null
+++ b/compiler/descriptor/descriptor.pb.golden
@@ -0,0 +1,398 @@
+// Code generated by protoc-gen-go from "google/protobuf/descriptor.proto"
+// DO NOT EDIT!
+
+package google_protobuf
+
+import "goprotobuf.googlecode.com/hg/proto"
+
+type FieldDescriptorProto_Type int32
+const (
+ FieldDescriptorProto_TYPE_DOUBLE = 1
+ FieldDescriptorProto_TYPE_FLOAT = 2
+ FieldDescriptorProto_TYPE_INT64 = 3
+ FieldDescriptorProto_TYPE_UINT64 = 4
+ FieldDescriptorProto_TYPE_INT32 = 5
+ FieldDescriptorProto_TYPE_FIXED64 = 6
+ FieldDescriptorProto_TYPE_FIXED32 = 7
+ FieldDescriptorProto_TYPE_BOOL = 8
+ FieldDescriptorProto_TYPE_STRING = 9
+ FieldDescriptorProto_TYPE_GROUP = 10
+ FieldDescriptorProto_TYPE_MESSAGE = 11
+ FieldDescriptorProto_TYPE_BYTES = 12
+ FieldDescriptorProto_TYPE_UINT32 = 13
+ FieldDescriptorProto_TYPE_ENUM = 14
+ FieldDescriptorProto_TYPE_SFIXED32 = 15
+ FieldDescriptorProto_TYPE_SFIXED64 = 16
+ FieldDescriptorProto_TYPE_SINT32 = 17
+ FieldDescriptorProto_TYPE_SINT64 = 18
+)
+var FieldDescriptorProto_Type_name = map[int32] string {
+ 1: "TYPE_DOUBLE",
+ 2: "TYPE_FLOAT",
+ 3: "TYPE_INT64",
+ 4: "TYPE_UINT64",
+ 5: "TYPE_INT32",
+ 6: "TYPE_FIXED64",
+ 7: "TYPE_FIXED32",
+ 8: "TYPE_BOOL",
+ 9: "TYPE_STRING",
+ 10: "TYPE_GROUP",
+ 11: "TYPE_MESSAGE",
+ 12: "TYPE_BYTES",
+ 13: "TYPE_UINT32",
+ 14: "TYPE_ENUM",
+ 15: "TYPE_SFIXED32",
+ 16: "TYPE_SFIXED64",
+ 17: "TYPE_SINT32",
+ 18: "TYPE_SINT64",
+}
+var FieldDescriptorProto_Type_value = map[string] int32 {
+ "TYPE_DOUBLE": 1,
+ "TYPE_FLOAT": 2,
+ "TYPE_INT64": 3,
+ "TYPE_UINT64": 4,
+ "TYPE_INT32": 5,
+ "TYPE_FIXED64": 6,
+ "TYPE_FIXED32": 7,
+ "TYPE_BOOL": 8,
+ "TYPE_STRING": 9,
+ "TYPE_GROUP": 10,
+ "TYPE_MESSAGE": 11,
+ "TYPE_BYTES": 12,
+ "TYPE_UINT32": 13,
+ "TYPE_ENUM": 14,
+ "TYPE_SFIXED32": 15,
+ "TYPE_SFIXED64": 16,
+ "TYPE_SINT32": 17,
+ "TYPE_SINT64": 18,
+}
+func NewFieldDescriptorProto_Type(x int32) *FieldDescriptorProto_Type {
+ e := FieldDescriptorProto_Type(x)
+ return &e
+}
+
+type FieldDescriptorProto_Label int32
+const (
+ FieldDescriptorProto_LABEL_OPTIONAL = 1
+ FieldDescriptorProto_LABEL_REQUIRED = 2
+ FieldDescriptorProto_LABEL_REPEATED = 3
+)
+var FieldDescriptorProto_Label_name = map[int32] string {
+ 1: "LABEL_OPTIONAL",
+ 2: "LABEL_REQUIRED",
+ 3: "LABEL_REPEATED",
+}
+var FieldDescriptorProto_Label_value = map[string] int32 {
+ "LABEL_OPTIONAL": 1,
+ "LABEL_REQUIRED": 2,
+ "LABEL_REPEATED": 3,
+}
+func NewFieldDescriptorProto_Label(x int32) *FieldDescriptorProto_Label {
+ e := FieldDescriptorProto_Label(x)
+ return &e
+}
+
+type FileOptions_OptimizeMode int32
+const (
+ FileOptions_SPEED = 1
+ FileOptions_CODE_SIZE = 2
+ FileOptions_LITE_RUNTIME = 3
+)
+var FileOptions_OptimizeMode_name = map[int32] string {
+ 1: "SPEED",
+ 2: "CODE_SIZE",
+ 3: "LITE_RUNTIME",
+}
+var FileOptions_OptimizeMode_value = map[string] int32 {
+ "SPEED": 1,
+ "CODE_SIZE": 2,
+ "LITE_RUNTIME": 3,
+}
+func NewFileOptions_OptimizeMode(x int32) *FileOptions_OptimizeMode {
+ e := FileOptions_OptimizeMode(x)
+ return &e
+}
+
+type FieldOptions_CType int32
+const (
+ FieldOptions_STRING = 0
+ FieldOptions_CORD = 1
+ FieldOptions_STRING_PIECE = 2
+)
+var FieldOptions_CType_name = map[int32] string {
+ 0: "STRING",
+ 1: "CORD",
+ 2: "STRING_PIECE",
+}
+var FieldOptions_CType_value = map[string] int32 {
+ "STRING": 0,
+ "CORD": 1,
+ "STRING_PIECE": 2,
+}
+func NewFieldOptions_CType(x int32) *FieldOptions_CType {
+ e := FieldOptions_CType(x)
+ return &e
+}
+
+type FileDescriptorSet struct {
+ File []*FileDescriptorProto "PB(bytes,1,rep,name=file)"
+ XXX_unrecognized []byte
+}
+func (this *FileDescriptorSet) Reset() {
+ *this = FileDescriptorSet{}
+}
+func NewFileDescriptorSet() *FileDescriptorSet {
+ return new(FileDescriptorSet)
+}
+
+type FileDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Package *string "PB(bytes,2,opt,name=package)"
+ Dependency []string "PB(bytes,3,rep,name=dependency)"
+ MessageType []*DescriptorProto "PB(bytes,4,rep,name=message_type)"
+ EnumType []*EnumDescriptorProto "PB(bytes,5,rep,name=enum_type)"
+ Service []*ServiceDescriptorProto "PB(bytes,6,rep,name=service)"
+ Extension []*FieldDescriptorProto "PB(bytes,7,rep,name=extension)"
+ Options *FileOptions "PB(bytes,8,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *FileDescriptorProto) Reset() {
+ *this = FileDescriptorProto{}
+}
+func NewFileDescriptorProto() *FileDescriptorProto {
+ return new(FileDescriptorProto)
+}
+
+type DescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Field []*FieldDescriptorProto "PB(bytes,2,rep,name=field)"
+ Extension []*FieldDescriptorProto "PB(bytes,6,rep,name=extension)"
+ NestedType []*DescriptorProto "PB(bytes,3,rep,name=nested_type)"
+ EnumType []*EnumDescriptorProto "PB(bytes,4,rep,name=enum_type)"
+ ExtensionRange []*DescriptorProto_ExtensionRange "PB(bytes,5,rep,name=extension_range)"
+ Options *MessageOptions "PB(bytes,7,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *DescriptorProto) Reset() {
+ *this = DescriptorProto{}
+}
+func NewDescriptorProto() *DescriptorProto {
+ return new(DescriptorProto)
+}
+
+type DescriptorProto_ExtensionRange struct {
+ Start *int32 "PB(varint,1,opt,name=start)"
+ End *int32 "PB(varint,2,opt,name=end)"
+ XXX_unrecognized []byte
+}
+func (this *DescriptorProto_ExtensionRange) Reset() {
+ *this = DescriptorProto_ExtensionRange{}
+}
+func NewDescriptorProto_ExtensionRange() *DescriptorProto_ExtensionRange {
+ return new(DescriptorProto_ExtensionRange)
+}
+
+type FieldDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Number *int32 "PB(varint,3,opt,name=number)"
+ Label *FieldDescriptorProto_Label "PB(varint,4,opt,name=label,enum=google_protobuf.FieldDescriptorProto_Label)"
+ Type *FieldDescriptorProto_Type "PB(varint,5,opt,name=type,enum=google_protobuf.FieldDescriptorProto_Type)"
+ TypeName *string "PB(bytes,6,opt,name=type_name)"
+ Extendee *string "PB(bytes,2,opt,name=extendee)"
+ DefaultValue *string "PB(bytes,7,opt,name=default_value)"
+ Options *FieldOptions "PB(bytes,8,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *FieldDescriptorProto) Reset() {
+ *this = FieldDescriptorProto{}
+}
+func NewFieldDescriptorProto() *FieldDescriptorProto {
+ return new(FieldDescriptorProto)
+}
+
+type EnumDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Value []*EnumValueDescriptorProto "PB(bytes,2,rep,name=value)"
+ Options *EnumOptions "PB(bytes,3,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *EnumDescriptorProto) Reset() {
+ *this = EnumDescriptorProto{}
+}
+func NewEnumDescriptorProto() *EnumDescriptorProto {
+ return new(EnumDescriptorProto)
+}
+
+type EnumValueDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Number *int32 "PB(varint,2,opt,name=number)"
+ Options *EnumValueOptions "PB(bytes,3,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *EnumValueDescriptorProto) Reset() {
+ *this = EnumValueDescriptorProto{}
+}
+func NewEnumValueDescriptorProto() *EnumValueDescriptorProto {
+ return new(EnumValueDescriptorProto)
+}
+
+type ServiceDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ Method []*MethodDescriptorProto "PB(bytes,2,rep,name=method)"
+ Options *ServiceOptions "PB(bytes,3,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *ServiceDescriptorProto) Reset() {
+ *this = ServiceDescriptorProto{}
+}
+func NewServiceDescriptorProto() *ServiceDescriptorProto {
+ return new(ServiceDescriptorProto)
+}
+
+type MethodDescriptorProto struct {
+ Name *string "PB(bytes,1,opt,name=name)"
+ InputType *string "PB(bytes,2,opt,name=input_type)"
+ OutputType *string "PB(bytes,3,opt,name=output_type)"
+ Options *MethodOptions "PB(bytes,4,opt,name=options)"
+ XXX_unrecognized []byte
+}
+func (this *MethodDescriptorProto) Reset() {
+ *this = MethodDescriptorProto{}
+}
+func NewMethodDescriptorProto() *MethodDescriptorProto {
+ return new(MethodDescriptorProto)
+}
+
+type FileOptions struct {
+ JavaPackage *string "PB(bytes,1,opt,name=java_package)"
+ JavaOuterClassname *string "PB(bytes,8,opt,name=java_outer_classname)"
+ JavaMultipleFiles *bool "PB(varint,10,opt,name=java_multiple_files,def=0)"
+ OptimizeFor *FileOptions_OptimizeMode "PB(varint,9,opt,name=optimize_for,enum=google_protobuf.FileOptions_OptimizeMode,def=1)"
+ CcGenericServices *bool "PB(varint,16,opt,name=cc_generic_services,def=1)"
+ JavaGenericServices *bool "PB(varint,17,opt,name=java_generic_services,def=1)"
+ PyGenericServices *bool "PB(varint,18,opt,name=py_generic_services,def=1)"
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *FileOptions) Reset() {
+ *this = FileOptions{}
+}
+func NewFileOptions() *FileOptions {
+ return new(FileOptions)
+}
+const Default_FileOptions_JavaMultipleFiles bool = false
+const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
+const Default_FileOptions_CcGenericServices bool = true
+const Default_FileOptions_JavaGenericServices bool = true
+const Default_FileOptions_PyGenericServices bool = true
+
+type MessageOptions struct {
+ MessageSetWireFormat *bool "PB(varint,1,opt,name=message_set_wire_format,def=0)"
+ NoStandardDescriptorAccessor *bool "PB(varint,2,opt,name=no_standard_descriptor_accessor,def=0)"
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *MessageOptions) Reset() {
+ *this = MessageOptions{}
+}
+func NewMessageOptions() *MessageOptions {
+ return new(MessageOptions)
+}
+const Default_MessageOptions_MessageSetWireFormat bool = false
+const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
+
+type FieldOptions struct {
+ Ctype *FieldOptions_CType "PB(varint,1,opt,name=ctype,enum=google_protobuf.FieldOptions_CType,def=0)"
+ Packed *bool "PB(varint,2,opt,name=packed)"
+ Deprecated *bool "PB(varint,3,opt,name=deprecated,def=0)"
+ ExperimentalMapKey *string "PB(bytes,9,opt,name=experimental_map_key)"
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *FieldOptions) Reset() {
+ *this = FieldOptions{}
+}
+func NewFieldOptions() *FieldOptions {
+ return new(FieldOptions)
+}
+const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
+const Default_FieldOptions_Deprecated bool = false
+
+type EnumOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *EnumOptions) Reset() {
+ *this = EnumOptions{}
+}
+func NewEnumOptions() *EnumOptions {
+ return new(EnumOptions)
+}
+
+type EnumValueOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *EnumValueOptions) Reset() {
+ *this = EnumValueOptions{}
+}
+func NewEnumValueOptions() *EnumValueOptions {
+ return new(EnumValueOptions)
+}
+
+type ServiceOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *ServiceOptions) Reset() {
+ *this = ServiceOptions{}
+}
+func NewServiceOptions() *ServiceOptions {
+ return new(ServiceOptions)
+}
+
+type MethodOptions struct {
+ UninterpretedOption []*UninterpretedOption "PB(bytes,999,rep,name=uninterpreted_option)"
+ XXX_unrecognized []byte
+}
+func (this *MethodOptions) Reset() {
+ *this = MethodOptions{}
+}
+func NewMethodOptions() *MethodOptions {
+ return new(MethodOptions)
+}
+
+type UninterpretedOption struct {
+ Name []*UninterpretedOption_NamePart "PB(bytes,2,rep,name=name)"
+ IdentifierValue *string "PB(bytes,3,opt,name=identifier_value)"
+ PositiveIntValue *uint64 "PB(varint,4,opt,name=positive_int_value)"
+ NegativeIntValue *int64 "PB(varint,5,opt,name=negative_int_value)"
+ DoubleValue *float64 "PB(fixed64,6,opt,name=double_value)"
+ StringValue []byte "PB(bytes,7,opt,name=string_value)"
+ XXX_unrecognized []byte
+}
+func (this *UninterpretedOption) Reset() {
+ *this = UninterpretedOption{}
+}
+func NewUninterpretedOption() *UninterpretedOption {
+ return new(UninterpretedOption)
+}
+
+type UninterpretedOption_NamePart struct {
+ NamePart *string "PB(bytes,1,req,name=name_part)"
+ IsExtension *bool "PB(varint,2,req,name=is_extension)"
+ XXX_unrecognized []byte
+}
+func (this *UninterpretedOption_NamePart) Reset() {
+ *this = UninterpretedOption_NamePart{}
+}
+func NewUninterpretedOption_NamePart() *UninterpretedOption_NamePart {
+ return new(UninterpretedOption_NamePart)
+}
+
+func init() {
+ proto.RegisterEnum("google_protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
+ proto.RegisterEnum("google_protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
+ proto.RegisterEnum("google_protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
+ proto.RegisterEnum("google_protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
+}