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 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") } 93