gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

encode_gen.go (3573B)


      1 // Copyright 2018 The Go Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 // Code generated by generate-types. DO NOT EDIT.
      6 
      7 package proto
      8 
      9 import (
     10 	"math"
     11 	"unicode/utf8"
     12 
     13 	"google.golang.org/protobuf/encoding/protowire"
     14 	"google.golang.org/protobuf/internal/errors"
     15 	"google.golang.org/protobuf/internal/strs"
     16 	"google.golang.org/protobuf/reflect/protoreflect"
     17 )
     18 
     19 var wireTypes = map[protoreflect.Kind]protowire.Type{
     20 	protoreflect.BoolKind:     protowire.VarintType,
     21 	protoreflect.EnumKind:     protowire.VarintType,
     22 	protoreflect.Int32Kind:    protowire.VarintType,
     23 	protoreflect.Sint32Kind:   protowire.VarintType,
     24 	protoreflect.Uint32Kind:   protowire.VarintType,
     25 	protoreflect.Int64Kind:    protowire.VarintType,
     26 	protoreflect.Sint64Kind:   protowire.VarintType,
     27 	protoreflect.Uint64Kind:   protowire.VarintType,
     28 	protoreflect.Sfixed32Kind: protowire.Fixed32Type,
     29 	protoreflect.Fixed32Kind:  protowire.Fixed32Type,
     30 	protoreflect.FloatKind:    protowire.Fixed32Type,
     31 	protoreflect.Sfixed64Kind: protowire.Fixed64Type,
     32 	protoreflect.Fixed64Kind:  protowire.Fixed64Type,
     33 	protoreflect.DoubleKind:   protowire.Fixed64Type,
     34 	protoreflect.StringKind:   protowire.BytesType,
     35 	protoreflect.BytesKind:    protowire.BytesType,
     36 	protoreflect.MessageKind:  protowire.BytesType,
     37 	protoreflect.GroupKind:    protowire.StartGroupType,
     38 }
     39 
     40 func (o MarshalOptions) marshalSingular(b []byte, fd protoreflect.FieldDescriptor, v protoreflect.Value) ([]byte, error) {
     41 	switch fd.Kind() {
     42 	case protoreflect.BoolKind:
     43 		b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool()))
     44 	case protoreflect.EnumKind:
     45 		b = protowire.AppendVarint(b, uint64(v.Enum()))
     46 	case protoreflect.Int32Kind:
     47 		b = protowire.AppendVarint(b, uint64(int32(v.Int())))
     48 	case protoreflect.Sint32Kind:
     49 		b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int()))))
     50 	case protoreflect.Uint32Kind:
     51 		b = protowire.AppendVarint(b, uint64(uint32(v.Uint())))
     52 	case protoreflect.Int64Kind:
     53 		b = protowire.AppendVarint(b, uint64(v.Int()))
     54 	case protoreflect.Sint64Kind:
     55 		b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int()))
     56 	case protoreflect.Uint64Kind:
     57 		b = protowire.AppendVarint(b, v.Uint())
     58 	case protoreflect.Sfixed32Kind:
     59 		b = protowire.AppendFixed32(b, uint32(v.Int()))
     60 	case protoreflect.Fixed32Kind:
     61 		b = protowire.AppendFixed32(b, uint32(v.Uint()))
     62 	case protoreflect.FloatKind:
     63 		b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float())))
     64 	case protoreflect.Sfixed64Kind:
     65 		b = protowire.AppendFixed64(b, uint64(v.Int()))
     66 	case protoreflect.Fixed64Kind:
     67 		b = protowire.AppendFixed64(b, v.Uint())
     68 	case protoreflect.DoubleKind:
     69 		b = protowire.AppendFixed64(b, math.Float64bits(v.Float()))
     70 	case protoreflect.StringKind:
     71 		if strs.EnforceUTF8(fd) && !utf8.ValidString(v.String()) {
     72 			return b, errors.InvalidUTF8(string(fd.FullName()))
     73 		}
     74 		b = protowire.AppendString(b, v.String())
     75 	case protoreflect.BytesKind:
     76 		b = protowire.AppendBytes(b, v.Bytes())
     77 	case protoreflect.MessageKind:
     78 		var pos int
     79 		var err error
     80 		b, pos = appendSpeculativeLength(b)
     81 		b, err = o.marshalMessage(b, v.Message())
     82 		if err != nil {
     83 			return b, err
     84 		}
     85 		b = finishSpeculativeLength(b, pos)
     86 	case protoreflect.GroupKind:
     87 		var err error
     88 		b, err = o.marshalMessage(b, v.Message())
     89 		if err != nil {
     90 			return b, err
     91 		}
     92 		b = protowire.AppendVarint(b, protowire.EncodeTag(fd.Number(), protowire.EndGroupType))
     93 	default:
     94 		return b, errors.New("invalid kind %v", fd.Kind())
     95 	}
     96 	return b, nil
     97 }