blob: a205482a32328d3029ec51b3572f7d7f188b11ac [file] [log] [blame]
Scott Baker105df152020-04-13 15:55:14 -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
5package proto
6
7import (
8 "encoding/json"
9 "errors"
10 "fmt"
11 "strconv"
12)
13
14var (
15 // Deprecated: No longer returned.
16 ErrNil = errors.New("proto: Marshal called with nil")
17
18 // Deprecated: No longer returned.
19 ErrTooLarge = errors.New("proto: message encodes to over 2 GB")
20
21 // Deprecated: No longer returned.
22 ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof")
23)
24
25// Deprecated: Do not use.
26type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 }
27
28// Deprecated: Do not use.
29func GetStats() Stats { return Stats{} }
30
31// Deprecated: Do not use.
32func MarshalMessageSet(interface{}) ([]byte, error) {
33 return nil, errors.New("proto: not implemented")
34}
35
36// Deprecated: Do not use.
37func UnmarshalMessageSet([]byte, interface{}) error {
38 return errors.New("proto: not implemented")
39}
40
41// Deprecated: Do not use.
42func MarshalMessageSetJSON(interface{}) ([]byte, error) {
43 return nil, errors.New("proto: not implemented")
44}
45
46// Deprecated: Do not use.
47func UnmarshalMessageSetJSON([]byte, interface{}) error {
48 return errors.New("proto: not implemented")
49}
50
51// Deprecated: Do not use.
52func RegisterMessageSetType(Message, int32, string) {}
53
54// Deprecated: Do not use.
55func EnumName(m map[int32]string, v int32) string {
56 s, ok := m[v]
57 if ok {
58 return s
59 }
60 return strconv.Itoa(int(v))
61}
62
63// Deprecated: Do not use.
64func UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {
65 if data[0] == '"' {
66 // New style: enums are strings.
67 var repr string
68 if err := json.Unmarshal(data, &repr); err != nil {
69 return -1, err
70 }
71 val, ok := m[repr]
72 if !ok {
73 return 0, fmt.Errorf("unrecognized enum %s value %q", enumName, repr)
74 }
75 return val, nil
76 }
77 // Old style: enums are ints.
78 var val int32
79 if err := json.Unmarshal(data, &val); err != nil {
80 return 0, fmt.Errorf("cannot unmarshal %#q into enum %s", data, enumName)
81 }
82 return val, nil
83}
84
85// Deprecated: Do not use.
86type InternalMessageInfo struct{}
87
88func (*InternalMessageInfo) DiscardUnknown(Message) { panic("not implemented") }
89func (*InternalMessageInfo) Marshal([]byte, Message, bool) ([]byte, error) { panic("not implemented") }
90func (*InternalMessageInfo) Merge(Message, Message) { panic("not implemented") }
91func (*InternalMessageInfo) Size(Message) int { panic("not implemented") }
92func (*InternalMessageInfo) Unmarshal(Message, []byte) error { panic("not implemented") }