WIP: Save agent roles integration work before CHORUS rebrand
- Agent roles and coordination features - Chat API integration testing - New configuration and workspace management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
		
							
								
								
									
										36
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| # Go support for Protocol Buffers - Google's data interchange format | ||||
| # | ||||
| # Copyright 2010 The Go Authors.  All rights reserved. | ||||
| # https://github.com/golang/protobuf | ||||
| # | ||||
| # 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. | ||||
|  | ||||
| regenerate: | ||||
| 	go install github.com/gogo/protobuf/protoc-gen-gogo | ||||
| 	go install github.com/gogo/protobuf/protoc-gen-gostring | ||||
| 	protoc --gogo_out=. -I=../../protobuf/google/protobuf ../../protobuf/google/protobuf/descriptor.proto | ||||
| 	protoc --gostring_out=. -I=../../protobuf/google/protobuf ../../protobuf/google/protobuf/descriptor.proto | ||||
							
								
								
									
										118
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,118 @@ | ||||
| // Go support for Protocol Buffers - Google's data interchange format | ||||
| // | ||||
| // Copyright 2016 The Go Authors.  All rights reserved. | ||||
| // https://github.com/golang/protobuf | ||||
| // | ||||
| // 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. | ||||
|  | ||||
| // Package descriptor provides functions for obtaining protocol buffer | ||||
| // descriptors for generated Go types. | ||||
| // | ||||
| // These functions cannot go in package proto because they depend on the | ||||
| // generated protobuf descriptor messages, which themselves depend on proto. | ||||
| package descriptor | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"compress/gzip" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
|  | ||||
| 	"github.com/gogo/protobuf/proto" | ||||
| ) | ||||
|  | ||||
| // extractFile extracts a FileDescriptorProto from a gzip'd buffer. | ||||
| func extractFile(gz []byte) (*FileDescriptorProto, error) { | ||||
| 	r, err := gzip.NewReader(bytes.NewReader(gz)) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("failed to open gzip reader: %v", err) | ||||
| 	} | ||||
| 	defer r.Close() | ||||
|  | ||||
| 	b, err := ioutil.ReadAll(r) | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("failed to uncompress descriptor: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	fd := new(FileDescriptorProto) | ||||
| 	if err := proto.Unmarshal(b, fd); err != nil { | ||||
| 		return nil, fmt.Errorf("malformed FileDescriptorProto: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	return fd, nil | ||||
| } | ||||
|  | ||||
| // Message is a proto.Message with a method to return its descriptor. | ||||
| // | ||||
| // Message types generated by the protocol compiler always satisfy | ||||
| // the Message interface. | ||||
| type Message interface { | ||||
| 	proto.Message | ||||
| 	Descriptor() ([]byte, []int) | ||||
| } | ||||
|  | ||||
| // ForMessage returns a FileDescriptorProto and a DescriptorProto from within it | ||||
| // describing the given message. | ||||
| func ForMessage(msg Message) (fd *FileDescriptorProto, md *DescriptorProto) { | ||||
| 	gz, path := msg.Descriptor() | ||||
| 	fd, err := extractFile(gz) | ||||
| 	if err != nil { | ||||
| 		panic(fmt.Sprintf("invalid FileDescriptorProto for %T: %v", msg, err)) | ||||
| 	} | ||||
|  | ||||
| 	md = fd.MessageType[path[0]] | ||||
| 	for _, i := range path[1:] { | ||||
| 		md = md.NestedType[i] | ||||
| 	} | ||||
| 	return fd, md | ||||
| } | ||||
|  | ||||
| // Is this field a scalar numeric type? | ||||
| func (field *FieldDescriptorProto) IsScalar() bool { | ||||
| 	if field.Type == nil { | ||||
| 		return false | ||||
| 	} | ||||
| 	switch *field.Type { | ||||
| 	case FieldDescriptorProto_TYPE_DOUBLE, | ||||
| 		FieldDescriptorProto_TYPE_FLOAT, | ||||
| 		FieldDescriptorProto_TYPE_INT64, | ||||
| 		FieldDescriptorProto_TYPE_UINT64, | ||||
| 		FieldDescriptorProto_TYPE_INT32, | ||||
| 		FieldDescriptorProto_TYPE_FIXED64, | ||||
| 		FieldDescriptorProto_TYPE_FIXED32, | ||||
| 		FieldDescriptorProto_TYPE_BOOL, | ||||
| 		FieldDescriptorProto_TYPE_UINT32, | ||||
| 		FieldDescriptorProto_TYPE_ENUM, | ||||
| 		FieldDescriptorProto_TYPE_SFIXED32, | ||||
| 		FieldDescriptorProto_TYPE_SFIXED64, | ||||
| 		FieldDescriptorProto_TYPE_SINT32, | ||||
| 		FieldDescriptorProto_TYPE_SINT64: | ||||
| 		return true | ||||
| 	default: | ||||
| 		return false | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										2865
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2865
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										752
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										752
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor_gostring.gen.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,752 @@ | ||||
| // Code generated by protoc-gen-gogo. DO NOT EDIT. | ||||
| // source: descriptor.proto | ||||
|  | ||||
| package descriptor | ||||
|  | ||||
| import ( | ||||
| 	fmt "fmt" | ||||
| 	github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" | ||||
| 	proto "github.com/gogo/protobuf/proto" | ||||
| 	math "math" | ||||
| 	reflect "reflect" | ||||
| 	sort "sort" | ||||
| 	strconv "strconv" | ||||
| 	strings "strings" | ||||
| ) | ||||
|  | ||||
| // Reference imports to suppress errors if they are not otherwise used. | ||||
| var _ = proto.Marshal | ||||
| var _ = fmt.Errorf | ||||
| var _ = math.Inf | ||||
|  | ||||
| func (this *FileDescriptorSet) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 5) | ||||
| 	s = append(s, "&descriptor.FileDescriptorSet{") | ||||
| 	if this.File != nil { | ||||
| 		s = append(s, "File: "+fmt.Sprintf("%#v", this.File)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *FileDescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 16) | ||||
| 	s = append(s, "&descriptor.FileDescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Package != nil { | ||||
| 		s = append(s, "Package: "+valueToGoStringDescriptor(this.Package, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Dependency != nil { | ||||
| 		s = append(s, "Dependency: "+fmt.Sprintf("%#v", this.Dependency)+",\n") | ||||
| 	} | ||||
| 	if this.PublicDependency != nil { | ||||
| 		s = append(s, "PublicDependency: "+fmt.Sprintf("%#v", this.PublicDependency)+",\n") | ||||
| 	} | ||||
| 	if this.WeakDependency != nil { | ||||
| 		s = append(s, "WeakDependency: "+fmt.Sprintf("%#v", this.WeakDependency)+",\n") | ||||
| 	} | ||||
| 	if this.MessageType != nil { | ||||
| 		s = append(s, "MessageType: "+fmt.Sprintf("%#v", this.MessageType)+",\n") | ||||
| 	} | ||||
| 	if this.EnumType != nil { | ||||
| 		s = append(s, "EnumType: "+fmt.Sprintf("%#v", this.EnumType)+",\n") | ||||
| 	} | ||||
| 	if this.Service != nil { | ||||
| 		s = append(s, "Service: "+fmt.Sprintf("%#v", this.Service)+",\n") | ||||
| 	} | ||||
| 	if this.Extension != nil { | ||||
| 		s = append(s, "Extension: "+fmt.Sprintf("%#v", this.Extension)+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.SourceCodeInfo != nil { | ||||
| 		s = append(s, "SourceCodeInfo: "+fmt.Sprintf("%#v", this.SourceCodeInfo)+",\n") | ||||
| 	} | ||||
| 	if this.Syntax != nil { | ||||
| 		s = append(s, "Syntax: "+valueToGoStringDescriptor(this.Syntax, "string")+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *DescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 14) | ||||
| 	s = append(s, "&descriptor.DescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Field != nil { | ||||
| 		s = append(s, "Field: "+fmt.Sprintf("%#v", this.Field)+",\n") | ||||
| 	} | ||||
| 	if this.Extension != nil { | ||||
| 		s = append(s, "Extension: "+fmt.Sprintf("%#v", this.Extension)+",\n") | ||||
| 	} | ||||
| 	if this.NestedType != nil { | ||||
| 		s = append(s, "NestedType: "+fmt.Sprintf("%#v", this.NestedType)+",\n") | ||||
| 	} | ||||
| 	if this.EnumType != nil { | ||||
| 		s = append(s, "EnumType: "+fmt.Sprintf("%#v", this.EnumType)+",\n") | ||||
| 	} | ||||
| 	if this.ExtensionRange != nil { | ||||
| 		s = append(s, "ExtensionRange: "+fmt.Sprintf("%#v", this.ExtensionRange)+",\n") | ||||
| 	} | ||||
| 	if this.OneofDecl != nil { | ||||
| 		s = append(s, "OneofDecl: "+fmt.Sprintf("%#v", this.OneofDecl)+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.ReservedRange != nil { | ||||
| 		s = append(s, "ReservedRange: "+fmt.Sprintf("%#v", this.ReservedRange)+",\n") | ||||
| 	} | ||||
| 	if this.ReservedName != nil { | ||||
| 		s = append(s, "ReservedName: "+fmt.Sprintf("%#v", this.ReservedName)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *DescriptorProto_ExtensionRange) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 7) | ||||
| 	s = append(s, "&descriptor.DescriptorProto_ExtensionRange{") | ||||
| 	if this.Start != nil { | ||||
| 		s = append(s, "Start: "+valueToGoStringDescriptor(this.Start, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.End != nil { | ||||
| 		s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *DescriptorProto_ReservedRange) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 6) | ||||
| 	s = append(s, "&descriptor.DescriptorProto_ReservedRange{") | ||||
| 	if this.Start != nil { | ||||
| 		s = append(s, "Start: "+valueToGoStringDescriptor(this.Start, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.End != nil { | ||||
| 		s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *ExtensionRangeOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 5) | ||||
| 	s = append(s, "&descriptor.ExtensionRangeOptions{") | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *FieldDescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 14) | ||||
| 	s = append(s, "&descriptor.FieldDescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Number != nil { | ||||
| 		s = append(s, "Number: "+valueToGoStringDescriptor(this.Number, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.Label != nil { | ||||
| 		s = append(s, "Label: "+valueToGoStringDescriptor(this.Label, "FieldDescriptorProto_Label")+",\n") | ||||
| 	} | ||||
| 	if this.Type != nil { | ||||
| 		s = append(s, "Type: "+valueToGoStringDescriptor(this.Type, "FieldDescriptorProto_Type")+",\n") | ||||
| 	} | ||||
| 	if this.TypeName != nil { | ||||
| 		s = append(s, "TypeName: "+valueToGoStringDescriptor(this.TypeName, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Extendee != nil { | ||||
| 		s = append(s, "Extendee: "+valueToGoStringDescriptor(this.Extendee, "string")+",\n") | ||||
| 	} | ||||
| 	if this.DefaultValue != nil { | ||||
| 		s = append(s, "DefaultValue: "+valueToGoStringDescriptor(this.DefaultValue, "string")+",\n") | ||||
| 	} | ||||
| 	if this.OneofIndex != nil { | ||||
| 		s = append(s, "OneofIndex: "+valueToGoStringDescriptor(this.OneofIndex, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.JsonName != nil { | ||||
| 		s = append(s, "JsonName: "+valueToGoStringDescriptor(this.JsonName, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *OneofDescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 6) | ||||
| 	s = append(s, "&descriptor.OneofDescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *EnumDescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 9) | ||||
| 	s = append(s, "&descriptor.EnumDescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Value != nil { | ||||
| 		s = append(s, "Value: "+fmt.Sprintf("%#v", this.Value)+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.ReservedRange != nil { | ||||
| 		s = append(s, "ReservedRange: "+fmt.Sprintf("%#v", this.ReservedRange)+",\n") | ||||
| 	} | ||||
| 	if this.ReservedName != nil { | ||||
| 		s = append(s, "ReservedName: "+fmt.Sprintf("%#v", this.ReservedName)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *EnumDescriptorProto_EnumReservedRange) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 6) | ||||
| 	s = append(s, "&descriptor.EnumDescriptorProto_EnumReservedRange{") | ||||
| 	if this.Start != nil { | ||||
| 		s = append(s, "Start: "+valueToGoStringDescriptor(this.Start, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.End != nil { | ||||
| 		s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *EnumValueDescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 7) | ||||
| 	s = append(s, "&descriptor.EnumValueDescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Number != nil { | ||||
| 		s = append(s, "Number: "+valueToGoStringDescriptor(this.Number, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *ServiceDescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 7) | ||||
| 	s = append(s, "&descriptor.ServiceDescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Method != nil { | ||||
| 		s = append(s, "Method: "+fmt.Sprintf("%#v", this.Method)+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *MethodDescriptorProto) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 10) | ||||
| 	s = append(s, "&descriptor.MethodDescriptorProto{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+valueToGoStringDescriptor(this.Name, "string")+",\n") | ||||
| 	} | ||||
| 	if this.InputType != nil { | ||||
| 		s = append(s, "InputType: "+valueToGoStringDescriptor(this.InputType, "string")+",\n") | ||||
| 	} | ||||
| 	if this.OutputType != nil { | ||||
| 		s = append(s, "OutputType: "+valueToGoStringDescriptor(this.OutputType, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Options != nil { | ||||
| 		s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n") | ||||
| 	} | ||||
| 	if this.ClientStreaming != nil { | ||||
| 		s = append(s, "ClientStreaming: "+valueToGoStringDescriptor(this.ClientStreaming, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.ServerStreaming != nil { | ||||
| 		s = append(s, "ServerStreaming: "+valueToGoStringDescriptor(this.ServerStreaming, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *FileOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 25) | ||||
| 	s = append(s, "&descriptor.FileOptions{") | ||||
| 	if this.JavaPackage != nil { | ||||
| 		s = append(s, "JavaPackage: "+valueToGoStringDescriptor(this.JavaPackage, "string")+",\n") | ||||
| 	} | ||||
| 	if this.JavaOuterClassname != nil { | ||||
| 		s = append(s, "JavaOuterClassname: "+valueToGoStringDescriptor(this.JavaOuterClassname, "string")+",\n") | ||||
| 	} | ||||
| 	if this.JavaMultipleFiles != nil { | ||||
| 		s = append(s, "JavaMultipleFiles: "+valueToGoStringDescriptor(this.JavaMultipleFiles, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.JavaGenerateEqualsAndHash != nil { | ||||
| 		s = append(s, "JavaGenerateEqualsAndHash: "+valueToGoStringDescriptor(this.JavaGenerateEqualsAndHash, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.JavaStringCheckUtf8 != nil { | ||||
| 		s = append(s, "JavaStringCheckUtf8: "+valueToGoStringDescriptor(this.JavaStringCheckUtf8, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.OptimizeFor != nil { | ||||
| 		s = append(s, "OptimizeFor: "+valueToGoStringDescriptor(this.OptimizeFor, "FileOptions_OptimizeMode")+",\n") | ||||
| 	} | ||||
| 	if this.GoPackage != nil { | ||||
| 		s = append(s, "GoPackage: "+valueToGoStringDescriptor(this.GoPackage, "string")+",\n") | ||||
| 	} | ||||
| 	if this.CcGenericServices != nil { | ||||
| 		s = append(s, "CcGenericServices: "+valueToGoStringDescriptor(this.CcGenericServices, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.JavaGenericServices != nil { | ||||
| 		s = append(s, "JavaGenericServices: "+valueToGoStringDescriptor(this.JavaGenericServices, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.PyGenericServices != nil { | ||||
| 		s = append(s, "PyGenericServices: "+valueToGoStringDescriptor(this.PyGenericServices, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.PhpGenericServices != nil { | ||||
| 		s = append(s, "PhpGenericServices: "+valueToGoStringDescriptor(this.PhpGenericServices, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.Deprecated != nil { | ||||
| 		s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.CcEnableArenas != nil { | ||||
| 		s = append(s, "CcEnableArenas: "+valueToGoStringDescriptor(this.CcEnableArenas, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.ObjcClassPrefix != nil { | ||||
| 		s = append(s, "ObjcClassPrefix: "+valueToGoStringDescriptor(this.ObjcClassPrefix, "string")+",\n") | ||||
| 	} | ||||
| 	if this.CsharpNamespace != nil { | ||||
| 		s = append(s, "CsharpNamespace: "+valueToGoStringDescriptor(this.CsharpNamespace, "string")+",\n") | ||||
| 	} | ||||
| 	if this.SwiftPrefix != nil { | ||||
| 		s = append(s, "SwiftPrefix: "+valueToGoStringDescriptor(this.SwiftPrefix, "string")+",\n") | ||||
| 	} | ||||
| 	if this.PhpClassPrefix != nil { | ||||
| 		s = append(s, "PhpClassPrefix: "+valueToGoStringDescriptor(this.PhpClassPrefix, "string")+",\n") | ||||
| 	} | ||||
| 	if this.PhpNamespace != nil { | ||||
| 		s = append(s, "PhpNamespace: "+valueToGoStringDescriptor(this.PhpNamespace, "string")+",\n") | ||||
| 	} | ||||
| 	if this.PhpMetadataNamespace != nil { | ||||
| 		s = append(s, "PhpMetadataNamespace: "+valueToGoStringDescriptor(this.PhpMetadataNamespace, "string")+",\n") | ||||
| 	} | ||||
| 	if this.RubyPackage != nil { | ||||
| 		s = append(s, "RubyPackage: "+valueToGoStringDescriptor(this.RubyPackage, "string")+",\n") | ||||
| 	} | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *MessageOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 9) | ||||
| 	s = append(s, "&descriptor.MessageOptions{") | ||||
| 	if this.MessageSetWireFormat != nil { | ||||
| 		s = append(s, "MessageSetWireFormat: "+valueToGoStringDescriptor(this.MessageSetWireFormat, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.NoStandardDescriptorAccessor != nil { | ||||
| 		s = append(s, "NoStandardDescriptorAccessor: "+valueToGoStringDescriptor(this.NoStandardDescriptorAccessor, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.Deprecated != nil { | ||||
| 		s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.MapEntry != nil { | ||||
| 		s = append(s, "MapEntry: "+valueToGoStringDescriptor(this.MapEntry, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *FieldOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 11) | ||||
| 	s = append(s, "&descriptor.FieldOptions{") | ||||
| 	if this.Ctype != nil { | ||||
| 		s = append(s, "Ctype: "+valueToGoStringDescriptor(this.Ctype, "FieldOptions_CType")+",\n") | ||||
| 	} | ||||
| 	if this.Packed != nil { | ||||
| 		s = append(s, "Packed: "+valueToGoStringDescriptor(this.Packed, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.Jstype != nil { | ||||
| 		s = append(s, "Jstype: "+valueToGoStringDescriptor(this.Jstype, "FieldOptions_JSType")+",\n") | ||||
| 	} | ||||
| 	if this.Lazy != nil { | ||||
| 		s = append(s, "Lazy: "+valueToGoStringDescriptor(this.Lazy, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.Deprecated != nil { | ||||
| 		s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.Weak != nil { | ||||
| 		s = append(s, "Weak: "+valueToGoStringDescriptor(this.Weak, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *OneofOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 5) | ||||
| 	s = append(s, "&descriptor.OneofOptions{") | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *EnumOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 7) | ||||
| 	s = append(s, "&descriptor.EnumOptions{") | ||||
| 	if this.AllowAlias != nil { | ||||
| 		s = append(s, "AllowAlias: "+valueToGoStringDescriptor(this.AllowAlias, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.Deprecated != nil { | ||||
| 		s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *EnumValueOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 6) | ||||
| 	s = append(s, "&descriptor.EnumValueOptions{") | ||||
| 	if this.Deprecated != nil { | ||||
| 		s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *ServiceOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 6) | ||||
| 	s = append(s, "&descriptor.ServiceOptions{") | ||||
| 	if this.Deprecated != nil { | ||||
| 		s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *MethodOptions) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 7) | ||||
| 	s = append(s, "&descriptor.MethodOptions{") | ||||
| 	if this.Deprecated != nil { | ||||
| 		s = append(s, "Deprecated: "+valueToGoStringDescriptor(this.Deprecated, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.IdempotencyLevel != nil { | ||||
| 		s = append(s, "IdempotencyLevel: "+valueToGoStringDescriptor(this.IdempotencyLevel, "MethodOptions_IdempotencyLevel")+",\n") | ||||
| 	} | ||||
| 	if this.UninterpretedOption != nil { | ||||
| 		s = append(s, "UninterpretedOption: "+fmt.Sprintf("%#v", this.UninterpretedOption)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "XXX_InternalExtensions: "+extensionToGoStringDescriptor(this)+",\n") | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *UninterpretedOption) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 11) | ||||
| 	s = append(s, "&descriptor.UninterpretedOption{") | ||||
| 	if this.Name != nil { | ||||
| 		s = append(s, "Name: "+fmt.Sprintf("%#v", this.Name)+",\n") | ||||
| 	} | ||||
| 	if this.IdentifierValue != nil { | ||||
| 		s = append(s, "IdentifierValue: "+valueToGoStringDescriptor(this.IdentifierValue, "string")+",\n") | ||||
| 	} | ||||
| 	if this.PositiveIntValue != nil { | ||||
| 		s = append(s, "PositiveIntValue: "+valueToGoStringDescriptor(this.PositiveIntValue, "uint64")+",\n") | ||||
| 	} | ||||
| 	if this.NegativeIntValue != nil { | ||||
| 		s = append(s, "NegativeIntValue: "+valueToGoStringDescriptor(this.NegativeIntValue, "int64")+",\n") | ||||
| 	} | ||||
| 	if this.DoubleValue != nil { | ||||
| 		s = append(s, "DoubleValue: "+valueToGoStringDescriptor(this.DoubleValue, "float64")+",\n") | ||||
| 	} | ||||
| 	if this.StringValue != nil { | ||||
| 		s = append(s, "StringValue: "+valueToGoStringDescriptor(this.StringValue, "byte")+",\n") | ||||
| 	} | ||||
| 	if this.AggregateValue != nil { | ||||
| 		s = append(s, "AggregateValue: "+valueToGoStringDescriptor(this.AggregateValue, "string")+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *UninterpretedOption_NamePart) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 6) | ||||
| 	s = append(s, "&descriptor.UninterpretedOption_NamePart{") | ||||
| 	if this.NamePart != nil { | ||||
| 		s = append(s, "NamePart: "+valueToGoStringDescriptor(this.NamePart, "string")+",\n") | ||||
| 	} | ||||
| 	if this.IsExtension != nil { | ||||
| 		s = append(s, "IsExtension: "+valueToGoStringDescriptor(this.IsExtension, "bool")+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *SourceCodeInfo) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 5) | ||||
| 	s = append(s, "&descriptor.SourceCodeInfo{") | ||||
| 	if this.Location != nil { | ||||
| 		s = append(s, "Location: "+fmt.Sprintf("%#v", this.Location)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *SourceCodeInfo_Location) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 9) | ||||
| 	s = append(s, "&descriptor.SourceCodeInfo_Location{") | ||||
| 	if this.Path != nil { | ||||
| 		s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n") | ||||
| 	} | ||||
| 	if this.Span != nil { | ||||
| 		s = append(s, "Span: "+fmt.Sprintf("%#v", this.Span)+",\n") | ||||
| 	} | ||||
| 	if this.LeadingComments != nil { | ||||
| 		s = append(s, "LeadingComments: "+valueToGoStringDescriptor(this.LeadingComments, "string")+",\n") | ||||
| 	} | ||||
| 	if this.TrailingComments != nil { | ||||
| 		s = append(s, "TrailingComments: "+valueToGoStringDescriptor(this.TrailingComments, "string")+",\n") | ||||
| 	} | ||||
| 	if this.LeadingDetachedComments != nil { | ||||
| 		s = append(s, "LeadingDetachedComments: "+fmt.Sprintf("%#v", this.LeadingDetachedComments)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *GeneratedCodeInfo) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 5) | ||||
| 	s = append(s, "&descriptor.GeneratedCodeInfo{") | ||||
| 	if this.Annotation != nil { | ||||
| 		s = append(s, "Annotation: "+fmt.Sprintf("%#v", this.Annotation)+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func (this *GeneratedCodeInfo_Annotation) GoString() string { | ||||
| 	if this == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := make([]string, 0, 8) | ||||
| 	s = append(s, "&descriptor.GeneratedCodeInfo_Annotation{") | ||||
| 	if this.Path != nil { | ||||
| 		s = append(s, "Path: "+fmt.Sprintf("%#v", this.Path)+",\n") | ||||
| 	} | ||||
| 	if this.SourceFile != nil { | ||||
| 		s = append(s, "SourceFile: "+valueToGoStringDescriptor(this.SourceFile, "string")+",\n") | ||||
| 	} | ||||
| 	if this.Begin != nil { | ||||
| 		s = append(s, "Begin: "+valueToGoStringDescriptor(this.Begin, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.End != nil { | ||||
| 		s = append(s, "End: "+valueToGoStringDescriptor(this.End, "int32")+",\n") | ||||
| 	} | ||||
| 	if this.XXX_unrecognized != nil { | ||||
| 		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n") | ||||
| 	} | ||||
| 	s = append(s, "}") | ||||
| 	return strings.Join(s, "") | ||||
| } | ||||
| func valueToGoStringDescriptor(v interface{}, typ string) string { | ||||
| 	rv := reflect.ValueOf(v) | ||||
| 	if rv.IsNil() { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	pv := reflect.Indirect(rv).Interface() | ||||
| 	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv) | ||||
| } | ||||
| func extensionToGoStringDescriptor(m github_com_gogo_protobuf_proto.Message) string { | ||||
| 	e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m) | ||||
| 	if e == nil { | ||||
| 		return "nil" | ||||
| 	} | ||||
| 	s := "proto.NewUnsafeXXX_InternalExtensions(map[int32]proto.Extension{" | ||||
| 	keys := make([]int, 0, len(e)) | ||||
| 	for k := range e { | ||||
| 		keys = append(keys, int(k)) | ||||
| 	} | ||||
| 	sort.Ints(keys) | ||||
| 	ss := []string{} | ||||
| 	for _, k := range keys { | ||||
| 		ss = append(ss, strconv.Itoa(k)+": "+e[int32(k)].GoString()) | ||||
| 	} | ||||
| 	s += strings.Join(ss, ",") + "})" | ||||
| 	return s | ||||
| } | ||||
							
								
								
									
										390
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										390
									
								
								vendor/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/helper.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,390 @@ | ||||
| // Protocol Buffers for Go with Gadgets | ||||
| // | ||||
| // Copyright (c) 2013, The GoGo Authors. All rights reserved. | ||||
| // http://github.com/gogo/protobuf | ||||
| // | ||||
| // 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. | ||||
| // | ||||
| // 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. | ||||
|  | ||||
| package descriptor | ||||
|  | ||||
| import ( | ||||
| 	"strings" | ||||
| ) | ||||
|  | ||||
| func (msg *DescriptorProto) GetMapFields() (*FieldDescriptorProto, *FieldDescriptorProto) { | ||||
| 	if !msg.GetOptions().GetMapEntry() { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	return msg.GetField()[0], msg.GetField()[1] | ||||
| } | ||||
|  | ||||
| func dotToUnderscore(r rune) rune { | ||||
| 	if r == '.' { | ||||
| 		return '_' | ||||
| 	} | ||||
| 	return r | ||||
| } | ||||
|  | ||||
| func (field *FieldDescriptorProto) WireType() (wire int) { | ||||
| 	switch *field.Type { | ||||
| 	case FieldDescriptorProto_TYPE_DOUBLE: | ||||
| 		return 1 | ||||
| 	case FieldDescriptorProto_TYPE_FLOAT: | ||||
| 		return 5 | ||||
| 	case FieldDescriptorProto_TYPE_INT64: | ||||
| 		return 0 | ||||
| 	case FieldDescriptorProto_TYPE_UINT64: | ||||
| 		return 0 | ||||
| 	case FieldDescriptorProto_TYPE_INT32: | ||||
| 		return 0 | ||||
| 	case FieldDescriptorProto_TYPE_UINT32: | ||||
| 		return 0 | ||||
| 	case FieldDescriptorProto_TYPE_FIXED64: | ||||
| 		return 1 | ||||
| 	case FieldDescriptorProto_TYPE_FIXED32: | ||||
| 		return 5 | ||||
| 	case FieldDescriptorProto_TYPE_BOOL: | ||||
| 		return 0 | ||||
| 	case FieldDescriptorProto_TYPE_STRING: | ||||
| 		return 2 | ||||
| 	case FieldDescriptorProto_TYPE_GROUP: | ||||
| 		return 2 | ||||
| 	case FieldDescriptorProto_TYPE_MESSAGE: | ||||
| 		return 2 | ||||
| 	case FieldDescriptorProto_TYPE_BYTES: | ||||
| 		return 2 | ||||
| 	case FieldDescriptorProto_TYPE_ENUM: | ||||
| 		return 0 | ||||
| 	case FieldDescriptorProto_TYPE_SFIXED32: | ||||
| 		return 5 | ||||
| 	case FieldDescriptorProto_TYPE_SFIXED64: | ||||
| 		return 1 | ||||
| 	case FieldDescriptorProto_TYPE_SINT32: | ||||
| 		return 0 | ||||
| 	case FieldDescriptorProto_TYPE_SINT64: | ||||
| 		return 0 | ||||
| 	} | ||||
| 	panic("unreachable") | ||||
| } | ||||
|  | ||||
| func (field *FieldDescriptorProto) GetKeyUint64() (x uint64) { | ||||
| 	packed := field.IsPacked() | ||||
| 	wireType := field.WireType() | ||||
| 	fieldNumber := field.GetNumber() | ||||
| 	if packed { | ||||
| 		wireType = 2 | ||||
| 	} | ||||
| 	x = uint64(uint32(fieldNumber)<<3 | uint32(wireType)) | ||||
| 	return x | ||||
| } | ||||
|  | ||||
| func (field *FieldDescriptorProto) GetKey3Uint64() (x uint64) { | ||||
| 	packed := field.IsPacked3() | ||||
| 	wireType := field.WireType() | ||||
| 	fieldNumber := field.GetNumber() | ||||
| 	if packed { | ||||
| 		wireType = 2 | ||||
| 	} | ||||
| 	x = uint64(uint32(fieldNumber)<<3 | uint32(wireType)) | ||||
| 	return x | ||||
| } | ||||
|  | ||||
| func (field *FieldDescriptorProto) GetKey() []byte { | ||||
| 	x := field.GetKeyUint64() | ||||
| 	i := 0 | ||||
| 	keybuf := make([]byte, 0) | ||||
| 	for i = 0; x > 127; i++ { | ||||
| 		keybuf = append(keybuf, 0x80|uint8(x&0x7F)) | ||||
| 		x >>= 7 | ||||
| 	} | ||||
| 	keybuf = append(keybuf, uint8(x)) | ||||
| 	return keybuf | ||||
| } | ||||
|  | ||||
| func (field *FieldDescriptorProto) GetKey3() []byte { | ||||
| 	x := field.GetKey3Uint64() | ||||
| 	i := 0 | ||||
| 	keybuf := make([]byte, 0) | ||||
| 	for i = 0; x > 127; i++ { | ||||
| 		keybuf = append(keybuf, 0x80|uint8(x&0x7F)) | ||||
| 		x >>= 7 | ||||
| 	} | ||||
| 	keybuf = append(keybuf, uint8(x)) | ||||
| 	return keybuf | ||||
| } | ||||
|  | ||||
| func (desc *FileDescriptorSet) GetField(packageName, messageName, fieldName string) *FieldDescriptorProto { | ||||
| 	msg := desc.GetMessage(packageName, messageName) | ||||
| 	if msg == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	for _, field := range msg.GetField() { | ||||
| 		if field.GetName() == fieldName { | ||||
| 			return field | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (file *FileDescriptorProto) GetMessage(typeName string) *DescriptorProto { | ||||
| 	for _, msg := range file.GetMessageType() { | ||||
| 		if msg.GetName() == typeName { | ||||
| 			return msg | ||||
| 		} | ||||
| 		nes := file.GetNestedMessage(msg, strings.TrimPrefix(typeName, msg.GetName()+".")) | ||||
| 		if nes != nil { | ||||
| 			return nes | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (file *FileDescriptorProto) GetNestedMessage(msg *DescriptorProto, typeName string) *DescriptorProto { | ||||
| 	for _, nes := range msg.GetNestedType() { | ||||
| 		if nes.GetName() == typeName { | ||||
| 			return nes | ||||
| 		} | ||||
| 		res := file.GetNestedMessage(nes, strings.TrimPrefix(typeName, nes.GetName()+".")) | ||||
| 		if res != nil { | ||||
| 			return res | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (desc *FileDescriptorSet) GetMessage(packageName string, typeName string) *DescriptorProto { | ||||
| 	for _, file := range desc.GetFile() { | ||||
| 		if strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) { | ||||
| 			continue | ||||
| 		} | ||||
| 		for _, msg := range file.GetMessageType() { | ||||
| 			if msg.GetName() == typeName { | ||||
| 				return msg | ||||
| 			} | ||||
| 		} | ||||
| 		for _, msg := range file.GetMessageType() { | ||||
| 			for _, nes := range msg.GetNestedType() { | ||||
| 				if nes.GetName() == typeName { | ||||
| 					return nes | ||||
| 				} | ||||
| 				if msg.GetName()+"."+nes.GetName() == typeName { | ||||
| 					return nes | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (desc *FileDescriptorSet) IsProto3(packageName string, typeName string) bool { | ||||
| 	for _, file := range desc.GetFile() { | ||||
| 		if strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) { | ||||
| 			continue | ||||
| 		} | ||||
| 		for _, msg := range file.GetMessageType() { | ||||
| 			if msg.GetName() == typeName { | ||||
| 				return file.GetSyntax() == "proto3" | ||||
| 			} | ||||
| 		} | ||||
| 		for _, msg := range file.GetMessageType() { | ||||
| 			for _, nes := range msg.GetNestedType() { | ||||
| 				if nes.GetName() == typeName { | ||||
| 					return file.GetSyntax() == "proto3" | ||||
| 				} | ||||
| 				if msg.GetName()+"."+nes.GetName() == typeName { | ||||
| 					return file.GetSyntax() == "proto3" | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| func (msg *DescriptorProto) IsExtendable() bool { | ||||
| 	return len(msg.GetExtensionRange()) > 0 | ||||
| } | ||||
|  | ||||
| func (desc *FileDescriptorSet) FindExtension(packageName string, typeName string, fieldName string) (extPackageName string, field *FieldDescriptorProto) { | ||||
| 	parent := desc.GetMessage(packageName, typeName) | ||||
| 	if parent == nil { | ||||
| 		return "", nil | ||||
| 	} | ||||
| 	if !parent.IsExtendable() { | ||||
| 		return "", nil | ||||
| 	} | ||||
| 	extendee := "." + packageName + "." + typeName | ||||
| 	for _, file := range desc.GetFile() { | ||||
| 		for _, ext := range file.GetExtension() { | ||||
| 			if strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) { | ||||
| 				if !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) { | ||||
| 					continue | ||||
| 				} | ||||
| 			} else { | ||||
| 				if ext.GetExtendee() != extendee { | ||||
| 					continue | ||||
| 				} | ||||
| 			} | ||||
| 			if ext.GetName() == fieldName { | ||||
| 				return file.GetPackage(), ext | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return "", nil | ||||
| } | ||||
|  | ||||
| func (desc *FileDescriptorSet) FindExtensionByFieldNumber(packageName string, typeName string, fieldNum int32) (extPackageName string, field *FieldDescriptorProto) { | ||||
| 	parent := desc.GetMessage(packageName, typeName) | ||||
| 	if parent == nil { | ||||
| 		return "", nil | ||||
| 	} | ||||
| 	if !parent.IsExtendable() { | ||||
| 		return "", nil | ||||
| 	} | ||||
| 	extendee := "." + packageName + "." + typeName | ||||
| 	for _, file := range desc.GetFile() { | ||||
| 		for _, ext := range file.GetExtension() { | ||||
| 			if strings.Map(dotToUnderscore, file.GetPackage()) == strings.Map(dotToUnderscore, packageName) { | ||||
| 				if !(ext.GetExtendee() == typeName || ext.GetExtendee() == extendee) { | ||||
| 					continue | ||||
| 				} | ||||
| 			} else { | ||||
| 				if ext.GetExtendee() != extendee { | ||||
| 					continue | ||||
| 				} | ||||
| 			} | ||||
| 			if ext.GetNumber() == fieldNum { | ||||
| 				return file.GetPackage(), ext | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return "", nil | ||||
| } | ||||
|  | ||||
| func (desc *FileDescriptorSet) FindMessage(packageName string, typeName string, fieldName string) (msgPackageName string, msgName string) { | ||||
| 	parent := desc.GetMessage(packageName, typeName) | ||||
| 	if parent == nil { | ||||
| 		return "", "" | ||||
| 	} | ||||
| 	field := parent.GetFieldDescriptor(fieldName) | ||||
| 	if field == nil { | ||||
| 		var extPackageName string | ||||
| 		extPackageName, field = desc.FindExtension(packageName, typeName, fieldName) | ||||
| 		if field == nil { | ||||
| 			return "", "" | ||||
| 		} | ||||
| 		packageName = extPackageName | ||||
| 	} | ||||
| 	typeNames := strings.Split(field.GetTypeName(), ".") | ||||
| 	if len(typeNames) == 1 { | ||||
| 		msg := desc.GetMessage(packageName, typeName) | ||||
| 		if msg == nil { | ||||
| 			return "", "" | ||||
| 		} | ||||
| 		return packageName, msg.GetName() | ||||
| 	} | ||||
| 	if len(typeNames) > 2 { | ||||
| 		for i := 1; i < len(typeNames)-1; i++ { | ||||
| 			packageName = strings.Join(typeNames[1:len(typeNames)-i], ".") | ||||
| 			typeName = strings.Join(typeNames[len(typeNames)-i:], ".") | ||||
| 			msg := desc.GetMessage(packageName, typeName) | ||||
| 			if msg != nil { | ||||
| 				typeNames := strings.Split(msg.GetName(), ".") | ||||
| 				if len(typeNames) == 1 { | ||||
| 					return packageName, msg.GetName() | ||||
| 				} | ||||
| 				return strings.Join(typeNames[1:len(typeNames)-1], "."), typeNames[len(typeNames)-1] | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return "", "" | ||||
| } | ||||
|  | ||||
| func (msg *DescriptorProto) GetFieldDescriptor(fieldName string) *FieldDescriptorProto { | ||||
| 	for _, field := range msg.GetField() { | ||||
| 		if field.GetName() == fieldName { | ||||
| 			return field | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (desc *FileDescriptorSet) GetEnum(packageName string, typeName string) *EnumDescriptorProto { | ||||
| 	for _, file := range desc.GetFile() { | ||||
| 		if strings.Map(dotToUnderscore, file.GetPackage()) != strings.Map(dotToUnderscore, packageName) { | ||||
| 			continue | ||||
| 		} | ||||
| 		for _, enum := range file.GetEnumType() { | ||||
| 			if enum.GetName() == typeName { | ||||
| 				return enum | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsEnum() bool { | ||||
| 	return *f.Type == FieldDescriptorProto_TYPE_ENUM | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsMessage() bool { | ||||
| 	return *f.Type == FieldDescriptorProto_TYPE_MESSAGE | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsBytes() bool { | ||||
| 	return *f.Type == FieldDescriptorProto_TYPE_BYTES | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsRepeated() bool { | ||||
| 	return f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REPEATED | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsString() bool { | ||||
| 	return *f.Type == FieldDescriptorProto_TYPE_STRING | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsBool() bool { | ||||
| 	return *f.Type == FieldDescriptorProto_TYPE_BOOL | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsRequired() bool { | ||||
| 	return f.Label != nil && *f.Label == FieldDescriptorProto_LABEL_REQUIRED | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsPacked() bool { | ||||
| 	return f.Options != nil && f.GetOptions().GetPacked() | ||||
| } | ||||
|  | ||||
| func (f *FieldDescriptorProto) IsPacked3() bool { | ||||
| 	if f.IsRepeated() && f.IsScalar() { | ||||
| 		if f.Options == nil || f.GetOptions().Packed == nil { | ||||
| 			return true | ||||
| 		} | ||||
| 		return f.Options != nil && f.GetOptions().GetPacked() | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| func (m *DescriptorProto) HasExtension() bool { | ||||
| 	return len(m.ExtensionRange) > 0 | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 anthonyrawlins
					anthonyrawlins