blob: b9f023a78c3005cec3a701affdc26a7422ed0044 [file] [log] [blame]
Joe Tsai8e9d5f62019-10-04 18:57:48 -07001// Copyright 2019 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.md file.
4
5// Package protolegacy is a stub version of the v1 proto package
6// to satisfy internal/testprotos/legacy dependencies.
7package protolegacy
8
9import (
10 "bytes"
11 "compress/gzip"
12 "errors"
13 "fmt"
14 "io/ioutil"
15
16 "google.golang.org/protobuf/reflect/protoreflect"
17 "google.golang.org/protobuf/reflect/protoregistry"
18 "google.golang.org/protobuf/runtime/protoiface"
19 "google.golang.org/protobuf/runtime/protoimpl"
20)
21
22const (
23 ProtoPackageIsVersion1 = true
24 ProtoPackageIsVersion2 = true
25 ProtoPackageIsVersion3 = true
26)
27
28const (
29 WireVarint = 0
30 WireFixed32 = 5
31 WireFixed64 = 1
32 WireBytes = 2
33 WireStartGroup = 3
34 WireEndGroup = 4
35)
36
37type (
38 Message = protoiface.MessageV1
39 ExtensionRange = protoiface.ExtensionRangeV1
40 ExtensionDesc = protoimpl.ExtensionInfo
41 Extension = protoimpl.ExtensionFieldV1
42 XXX_InternalExtensions = protoimpl.ExtensionFields
43)
44
45func RegisterFile(s string, d []byte) {
46 // Decompress the descriptor.
47 zr, err := gzip.NewReader(bytes.NewReader(d))
48 if err != nil {
49 panic(fmt.Sprintf("proto: invalid compressed file descriptor: %v", err))
50 }
51 b, err := ioutil.ReadAll(zr)
52 if err != nil {
53 panic(fmt.Sprintf("proto: invalid compressed file descriptor: %v", err))
54 }
55
56 // Construct a protoreflect.FileDescriptor from the raw descriptor.
57 // Note that DescBuilder.Build automatically registers the constructed
58 // file descriptor with the v2 registry.
59 protoimpl.DescBuilder{RawDescriptor: b}.Build()
60}
61
62func RegisterType(m Message, s string) {
63 mt := protoimpl.X.LegacyMessageTypeOf(m, protoreflect.FullName(s))
Damien Neilc8268852019-10-08 13:28:53 -070064 if err := protoregistry.GlobalTypes.RegisterMessage(mt); err != nil {
Joe Tsai8e9d5f62019-10-04 18:57:48 -070065 panic(err)
66 }
67}
68
69func RegisterMapType(interface{}, string) {
70 // Do nothing.
71}
72
73func RegisterEnum(string, map[int32]string, map[string]int32) {
74 // Do nothing.
75}
76
77func RegisterExtension(d *ExtensionDesc) {
Damien Neilc8268852019-10-08 13:28:53 -070078 if err := protoregistry.GlobalTypes.RegisterExtension(d); err != nil {
Joe Tsai8e9d5f62019-10-04 18:57:48 -070079 panic(err)
80 }
81}
82
83var ErrInternalBadWireType = errors.New("not implemented")
84
85func Size(Message) int { panic("not implemented") }
86func Marshal(Message) ([]byte, error) { panic("not implemented") }
87func Unmarshal([]byte, Message) error { panic("not implemented") }
88
89func SizeVarint(uint64) int { panic("not implemented") }
90func EncodeVarint(uint64) []byte { panic("not implemented") }
91func DecodeVarint([]byte) (uint64, int) { panic("not implemented") }
92
93func CompactTextString(Message) string { panic("not implemented") }
94func EnumName(map[int32]string, int32) string { panic("not implemented") }
95func UnmarshalJSONEnum(map[string]int32, []byte, string) (int32, error) { panic("not implemented") }
96
97type Buffer struct{}
98
99func (*Buffer) DecodeFixed32() (uint64, error) { panic("not implemented") }
100func (*Buffer) DecodeFixed64() (uint64, error) { panic("not implemented") }
101func (*Buffer) DecodeGroup(Message) error { panic("not implemented") }
102func (*Buffer) DecodeMessage(Message) error { panic("not implemented") }
103func (*Buffer) DecodeRawBytes(bool) ([]byte, error) { panic("not implemented") }
104func (*Buffer) DecodeStringBytes() (string, error) { panic("not implemented") }
105func (*Buffer) DecodeVarint() (uint64, error) { panic("not implemented") }
106func (*Buffer) DecodeZigzag32() (uint64, error) { panic("not implemented") }
107func (*Buffer) DecodeZigzag64() (uint64, error) { panic("not implemented") }
108func (*Buffer) EncodeFixed32(uint64) error { panic("not implemented") }
109func (*Buffer) EncodeFixed64(uint64) error { panic("not implemented") }
110func (*Buffer) EncodeMessage(Message) error { panic("not implemented") }
111func (*Buffer) EncodeRawBytes([]byte) error { panic("not implemented") }
112func (*Buffer) EncodeStringBytes(string) error { panic("not implemented") }
113func (*Buffer) EncodeVarint(uint64) error { panic("not implemented") }
114func (*Buffer) EncodeZigzag32(uint64) error { panic("not implemented") }
115func (*Buffer) EncodeZigzag64(uint64) error { panic("not implemented") }
116func (*Buffer) Marshal(Message) error { panic("not implemented") }
117func (*Buffer) Unmarshal(Message) error { panic("not implemented") }
118
119type InternalMessageInfo struct{}
120
121func (*InternalMessageInfo) DiscardUnknown(Message) { panic("not implemented") }
122func (*InternalMessageInfo) Marshal([]byte, Message, bool) ([]byte, error) { panic("not implemented") }
123func (*InternalMessageInfo) Merge(Message, Message) { panic("not implemented") }
124func (*InternalMessageInfo) Size(Message) int { panic("not implemented") }
125func (*InternalMessageInfo) Unmarshal(Message, []byte) error { panic("not implemented") }