internal/legacy: use v2 proto.Unmarshal
The v2 decoder isn't 100% complete, but it's good enough.
Delete the vendored copy of the v1 Unmarshal implementation.
Change-Id: Ibeabbb2e9109a1ec3df57e71f98b7aa4a583fc5b
Reviewed-on: https://go-review.googlesource.com/c/154577
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/legacy/file.go b/internal/legacy/file.go
index 606327f..d2a75c4 100644
--- a/internal/legacy/file.go
+++ b/internal/legacy/file.go
@@ -10,11 +10,7 @@
"io/ioutil"
"sync"
- // TODO: Avoid reliance on old API. However, there is currently a
- // chicken and egg problem where we need the descriptor protos to implement
- // the new API.
- protoV1 "github.com/golang/protobuf/v2/internal/legacy/protoV1"
-
+ "github.com/golang/protobuf/v2/proto"
pref "github.com/golang/protobuf/v2/reflect/protoreflect"
descriptorpb "github.com/golang/protobuf/v2/types/descriptor"
)
@@ -62,7 +58,7 @@
}
// TODO: What about extensions?
// The protoV1 API does not eagerly unmarshal extensions.
- if err := protoV1.Unmarshal(b, m); err != nil {
+ if err := proto.Unmarshal(b, m); err != nil {
panic(err)
}
fileDescCache.Store(&b[0], m)