blob: 2159592cc7dd2ff2107fd7f369074562bc9728d9 [file] [log] [blame]
Damien Neil61e93c72019-03-27 09:23:20 -07001// 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
7package proto
8
9import (
Damien Neile89e6242019-05-13 23:55:40 -070010 "google.golang.org/protobuf/internal/encoding/wire"
11 "google.golang.org/protobuf/reflect/protoreflect"
Damien Neil61e93c72019-03-27 09:23:20 -070012)
13
14func sizeSingular(num wire.Number, kind protoreflect.Kind, v protoreflect.Value) int {
15 switch kind {
16 case protoreflect.BoolKind:
17 return wire.SizeVarint(wire.EncodeBool(v.Bool()))
18 case protoreflect.EnumKind:
19 return wire.SizeVarint(uint64(v.Enum()))
20 case protoreflect.Int32Kind:
21 return wire.SizeVarint(uint64(int32(v.Int())))
22 case protoreflect.Sint32Kind:
23 return wire.SizeVarint(wire.EncodeZigZag(int64(int32(v.Int()))))
24 case protoreflect.Uint32Kind:
25 return wire.SizeVarint(uint64(uint32(v.Uint())))
26 case protoreflect.Int64Kind:
27 return wire.SizeVarint(uint64(v.Int()))
28 case protoreflect.Sint64Kind:
29 return wire.SizeVarint(wire.EncodeZigZag(v.Int()))
30 case protoreflect.Uint64Kind:
31 return wire.SizeVarint(v.Uint())
32 case protoreflect.Sfixed32Kind:
33 return wire.SizeFixed32()
34 case protoreflect.Fixed32Kind:
35 return wire.SizeFixed32()
36 case protoreflect.FloatKind:
37 return wire.SizeFixed32()
38 case protoreflect.Sfixed64Kind:
39 return wire.SizeFixed64()
40 case protoreflect.Fixed64Kind:
41 return wire.SizeFixed64()
42 case protoreflect.DoubleKind:
43 return wire.SizeFixed64()
44 case protoreflect.StringKind:
Damien Neilcedb5952019-06-21 12:04:07 -070045 return wire.SizeBytes(len(v.String()))
Damien Neil61e93c72019-03-27 09:23:20 -070046 case protoreflect.BytesKind:
47 return wire.SizeBytes(len(v.Bytes()))
48 case protoreflect.MessageKind:
49 return wire.SizeBytes(sizeMessage(v.Message()))
50 case protoreflect.GroupKind:
51 return wire.SizeGroup(num, sizeMessage(v.Message()))
52 default:
53 return 0
54 }
55}