diff --git a/README.md b/README.md
index 8d4661c9..24d7744f 100644
--- a/README.md
+++ b/README.md
@@ -33,14 +33,6 @@ NZ ALRZ 10 EHN 2017-01-09T00:00:00 2017-01-09T02:00:00
NZ ALRZ 10 AC* 2017-01-02T00:00:00 2017-01-10T00:00:00
NZ ALRZ 10 B? 2017-01-09T00:00:00 2017-01-10T00:00:00
```
-### fdsn-ws-nrt
-
-Federation of Digital Seismic Networks (FDSN) Web Services (FDSN-WS) http://www.fdsn.org/webservices/ For
-near real time data from a Postgres database.
-
-### fdsn-slink-db
-
-Listens to a SEEDLink server and saves miniSEED records to a Postgres database.
### fdsn-quake-consumer
diff --git a/all.sh b/all.sh
index fda24ca8..1fb79b81 100755
--- a/all.sh
+++ b/all.sh
@@ -16,10 +16,6 @@ if [ ! -f all.sh ]; then
exit 1
fi
-# Build the C libraries required by our vendored go wrappers
-#make -C vendor/github.com/GeoNet/kit/cvendor/libmseed
-#make -C vendor/github.com/GeoNet/kit/cvendor/libslink
-
projects=`ls cmd`
diff --git a/cmd/fdsn-slink-db/app.go b/cmd/fdsn-slink-db/app.go
deleted file mode 100644
index 21faa9d1..00000000
--- a/cmd/fdsn-slink-db/app.go
+++ /dev/null
@@ -1,126 +0,0 @@
-package main
-
-import (
- "database/sql"
- "fmt"
- "log"
- "time"
-
- "github.com/GeoNet/kit/cfg"
- "github.com/GeoNet/kit/metrics"
- ms "github.com/GeoNet/kit/seis/ms"
-)
-
-// app is for shared application resources
-type app struct {
- db *sql.DB
- maxOpen int
- saveRecordStmt *sql.Stmt
-}
-
-func (a *app) initDB() error {
- p, err := cfg.PostgresEnv()
- if err != nil {
- return fmt.Errorf("error reading DB config from the environment vars: %w", err)
- }
-
- a.db, err = sql.Open("postgres", p.Connection())
- if err != nil {
- return fmt.Errorf("error with DB config: %w", err)
- }
-
- a.db.SetMaxIdleConns(p.MaxIdle)
- a.db.SetMaxOpenConns(p.MaxOpen)
- a.maxOpen = p.MaxOpen
-
- for {
- err = a.db.Ping()
- if err != nil {
- log.Printf("error pinging a.db, waiting and trying again: %s", err.Error())
- time.Sleep(time.Second * 20)
- continue
- }
- break
- }
-
- a.saveRecordStmt, err = a.db.Prepare(`INSERT INTO fdsn.record (streamPK, start_time, raw, latency_tx, latency_data)
- SELECT streamPK, $5, $6, $7, $8
- FROM fdsn.stream
- WHERE network = $1
- AND station = $2
- AND channel = $3
- AND location = $4`)
- if err != nil {
- return fmt.Errorf("error preparing saveRecord stmt: %w", err)
- }
-
- return nil
-}
-
-func (a *app) save(inbound chan []byte) {
- for b := range inbound {
- t := metrics.Start()
- msr, err := ms.NewRecord(b)
- if err != nil {
- metrics.MsgErr()
- log.Printf("unpacking miniSEED record: %s", err.Error())
- continue
- }
-
- for {
- err = a.saveRecord(record{
- network: msr.Network(),
- station: msr.Station(),
- channel: msr.Channel(),
- location: msr.Location(),
- start: msr.StartTime(),
- latency_tx: time.Now().UTC().Sub(msr.EndTime()).Seconds(),
- latency_data: time.Now().UTC().Sub(msr.StartTime()).Seconds(),
- raw: b,
- })
- if err != nil {
- metrics.MsgErr()
- log.Printf("error saving record sleeping and trying again: %s", err)
- time.Sleep(time.Second * 10)
- continue
- }
- break
- }
-
- if err := t.Track("save"); err != nil {
- log.Print(err)
- }
- metrics.MsgProc()
-
- }
-}
-
-// expire removes old data from the DB. The archive runs 7 days between real time. Keep
-// 8 days to allow some overlap.
-func (a *app) expire() {
- ticker := time.NewTicker(time.Minute).C
- var err error
- for range ticker {
- _, err = a.db.Exec(`DELETE FROM fdsn.record WHERE start_time < now() - interval '8 days'`)
- if err != nil {
- log.Printf("deleting old records: %s", err.Error())
- }
- }
-}
-
-// returns the latest records's time
-func (a *app) latestTS() (t time.Time, err error) {
- var ts string
- err = a.db.QueryRow(`SELECT start_time FROM fdsn.record ORDER BY start_time DESC LIMIT 1`).Scan(&ts)
- if err != nil {
- return
- }
-
- err = t.UnmarshalText([]byte(ts))
- return
-}
-
-func (a *app) close() {
- a.saveRecordStmt.Close()
- a.db.Close()
-}
diff --git a/cmd/fdsn-slink-db/env.list b/cmd/fdsn-slink-db/env.list
deleted file mode 100644
index 4fc4bb79..00000000
--- a/cmd/fdsn-slink-db/env.list
+++ /dev/null
@@ -1,14 +0,0 @@
-SLINK_HOST=link.geonet.org.nz:18000
-
-GODEBUG=cgocheck=0
-
-DB_HOST=localhost
-DB_USER=fdsn_w
-DB_PASSWD=test
-DB_NAME=fdsn
-DB_SSLMODE=disable
-DB_CONN_TIMEOUT=5
-DB_MAX_IDLE_CONNS=30
-DB_MAX_OPEN_CONNS=30
-
-DDOG_API_KEY=
\ No newline at end of file
diff --git a/cmd/fdsn-slink-db/log.go b/cmd/fdsn-slink-db/log.go
deleted file mode 100644
index 97301950..00000000
--- a/cmd/fdsn-slink-db/log.go
+++ /dev/null
@@ -1,20 +0,0 @@
-package main
-
-import (
- "github.com/GeoNet/kit/metrics"
- "log"
- "os"
-)
-
-var Prefix string
-
-func init() {
- logger := log.New(os.Stderr, "", log.LstdFlags)
-
- if Prefix != "" {
- log.SetPrefix(Prefix + " ")
- logger.SetPrefix(Prefix + " ")
- }
-
- metrics.DataDogMsg(os.Getenv("DDOG_API_KEY"), metrics.HostName(), metrics.AppName(), logger)
-}
diff --git a/cmd/fdsn-slink-db/main.go b/cmd/fdsn-slink-db/main.go
deleted file mode 100644
index 94bcaae3..00000000
--- a/cmd/fdsn-slink-db/main.go
+++ /dev/null
@@ -1,71 +0,0 @@
-package main
-
-/*
-slink-ws connects to a SEEDLink server and saves records to a postgres DB.
-*/
-
-import (
- "log"
- "os"
- "time"
-
- "github.com/GeoNet/kit/metrics"
- "github.com/GeoNet/kit/seis/sl"
- _ "github.com/lib/pq"
-)
-
-const maxPatchBefore = 10 * time.Minute
-
-var server = os.Getenv("SLINK_HOST")
-var netto = 60 * time.Second
-var keepalive = 1 * time.Second
-var streams = "*_*"
-
-func main() {
- var a app
-
- err := a.initDB()
- if err != nil {
- log.Fatal(err)
- }
- defer a.close()
-
- // buffered chan to allow for DB back pressure.
- // Allows ~ 10-12 minutes of records.
- process := make(chan []byte, 200000)
-
- /// run as many consumers for process as there are connections in the DB pool.
- for i := 0; i <= a.maxOpen; i++ {
- go a.save(process)
- }
-
- go a.expire()
-
- log.Println("listening for packets from seedlink")
-
- // additional logic in recv loop handles cases where the connection to
- // SEEDLink is hung or a corrupt packet is received. In these
- // cases the program exits and the service should restart it.
- var latest time.Time
- for {
- if latest, err = a.latestTS(); err != nil || time.Since(latest) > maxPatchBefore {
- // In fact, whenever we can't get the latest it means database is not working properly.
- // We would facing error when doing save()
- latest = time.Now().UTC().Add(-1 * maxPatchBefore)
- }
- slink := sl.NewSLink(
- sl.SetServer(server),
- sl.SetNetTo(netto),
- sl.SetKeepAlive(keepalive),
- sl.SetStart(latest),
- sl.SetStreams(streams),
- )
- if err := slink.Collect(func(seq string, data []byte) (bool, error) {
- process <- data // when process chan is full, the collect waits.
- metrics.MsgRx()
- return false, nil
- }); err != nil {
- log.Println("slink.Collect:", err)
- }
- }
-}
diff --git a/cmd/fdsn-slink-db/record.go b/cmd/fdsn-slink-db/record.go
deleted file mode 100644
index 8a7629a3..00000000
--- a/cmd/fdsn-slink-db/record.go
+++ /dev/null
@@ -1,79 +0,0 @@
-package main
-
-import (
- "fmt"
- "time"
-
- "github.com/lib/pq"
-)
-
-// http://www.postgresql.org/docs/9.4/static/errcodes-appendix.html
-const (
- errorUniqueViolation pq.ErrorCode = "23505"
-)
-
-type record struct {
- network, station, channel, location string
- start time.Time
- latency_tx float64 // the transmission latency
- latency_data float64 // the data latency
- raw []byte
-}
-
-// save saves r to the DB adding the stream information to the DB if needed.
-// slink can deliver duplicate packets and there may be multiple consumers
-// this can cause races on updating the DB which are handled.
-func (a *app) saveRecord(r record) error {
- n, err := a.saveRecordStmt.Exec(r.network, r.station, r.channel, r.location, r.start, r.raw, r.latency_tx, r.latency_data)
- if err != nil {
- if u, ok := err.(*pq.Error); ok && u.Code == errorUniqueViolation {
- // it is not an error if the record already exists.
- return nil
- } else {
- return err
- }
- }
-
- i, err := n.RowsAffected()
- if err != nil {
- return err
- }
-
- if i == 1 {
- // success - affected 1 row. This should be the most common exit.
- return nil
- }
-
- // if no rows were affected - need to add the stream information
- _, err = a.db.Exec(`INSERT INTO fdsn.stream (network, station, channel, location) VALUES($1, $2, $3, $4)`,
- r.network, r.station, r.channel, r.location)
- if err != nil {
- if u, ok := err.(*pq.Error); ok && u.Code == errorUniqueViolation {
- // ignore unique errors, there is a DB race for multiple consumers adding stream information
- } else {
- return err
- }
- }
-
- // try to save the record again.
- n, err = a.saveRecordStmt.Exec(r.network, r.station, r.channel, r.location, r.start, r.raw, r.latency_tx, r.latency_data)
- if err != nil {
- if u, ok := err.(*pq.Error); ok && u.Code == errorUniqueViolation {
- return nil
- } else {
- return err
- }
- }
-
- i, err = n.RowsAffected()
- if err != nil {
- return err
- }
-
- if i == 1 {
- // success - affected 1 row.
- return nil
- }
-
- return fmt.Errorf("affected zero rows saving record %s.%s.%s.%s", r.network, r.station, r.location, r.channel)
-}
diff --git a/cmd/fdsn-ws-nrt/assets/fdsn-ws-dataselect.html b/cmd/fdsn-ws-nrt/assets/fdsn-ws-dataselect.html
deleted file mode 100644
index bf07a96b..00000000
--- a/cmd/fdsn-ws-nrt/assets/fdsn-ws-dataselect.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
- FDSNWS - Dataselect
-
-
-FDSNWS Dataselect Web Service
-The dataselect Web service provides access to earthquake data in miniseed format.
- Events may be filtered e.g. by network, station, location, channel, and starttime/endtime. The
- request type is HTTP-GET for simple queries and HTTP-POST for multiple queries. Please refer to http://www.fdsn.org/webservice for
- a complete service description.
-
-Available URLs
-
-
-Feature Notes
-
- - The result set is limited to 20,000 files. Queries that would return more than 20,000 files receive an HTTP
- 413 response and will need to be broken in to smaller queries.
-
-
-
diff --git a/cmd/fdsn-ws-nrt/assets/tmpl/fdsn-ws-dataselect.wadl b/cmd/fdsn-ws-nrt/assets/tmpl/fdsn-ws-dataselect.wadl
deleted file mode 100644
index 4ec194b4..00000000
--- a/cmd/fdsn-ws-nrt/assets/tmpl/fdsn-ws-dataselect.wadl
+++ /dev/null
@@ -1,50 +0,0 @@
-{{define "body" -}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{{end}}
\ No newline at end of file
diff --git a/cmd/fdsn-ws-nrt/data_nrt.go b/cmd/fdsn-ws-nrt/data_nrt.go
deleted file mode 100644
index 253cd151..00000000
--- a/cmd/fdsn-ws-nrt/data_nrt.go
+++ /dev/null
@@ -1,122 +0,0 @@
-package main
-
-import (
- "context"
- "database/sql"
- "errors"
- "fmt"
- "github.com/GeoNet/fdsn/internal/fdsn"
- "github.com/GeoNet/kit/metrics"
- "github.com/golang/groupcache"
- "log"
- "strings"
- "time"
-)
-
-var errNoData = errors.New("no data")
-
-// holdingsSearchNrt searches for near real time records matching the query.
-// network, station, channel, and location are matched using POSIX regular expressions.
-// https://www.postgresql.org/docs/9.3/static/functions-matching.html
-// start and end should be set for all queries.
-func holdingsSearchNrt(d fdsn.DataSearch) ([]string, error) {
- timer := metrics.Start()
- defer func() {
- if err := timer.Track("holdingsSearchNrt"); err != nil {
- log.Println(err)
- }
- }()
-
- rows, err := db.Query(`WITH s AS (SELECT DISTINCT ON (streamPK) network, station, channel, location, streamPK
- FROM fdsn.stream WHERE network ~ $1
- AND station ~ $2
- AND channel ~ $3
- AND location ~ $4)
- SELECT network, station, channel, location, start_time FROM s JOIN fdsn.record USING (streamPK) WHERE start_time >= $5 AND start_time <= $6
- ORDER BY network, station, channel, location, start_time ASC`,
- d.Network, d.Station, d.Channel, d.Location, d.Start, d.End)
- if err != nil {
- return []string{}, err
- }
- defer rows.Close()
-
- var keys []string
-
- var n, s, c, l string
- var t time.Time
-
- for rows.Next() {
- err = rows.Scan(&n, &s, &c, &l, &t)
- if err != nil {
- return []string{}, err
- }
- keys = append(keys, fmt.Sprintf("%s_%s_%s_%s_%s", n, s, c, l, t.Format(time.RFC3339Nano)))
- }
-
- return keys, nil
-}
-
-// primeCache fills the miniSEED record cache from the DB. It fills for records
-// more recent than start.
-func primeCache(start time.Time) error {
- rows, err := db.Query(`WITH r AS (SELECT streamPk, start_time
- FROM fdsn.record WHERE start_time > $1)
- SELECT network, station, channel, location, start_time FROM fdsn.stream JOIN r USING (streamPK)
- ORDER BY start_time DESC`, start)
- if err != nil {
- return err
- }
- defer rows.Close()
-
- var keys []string
-
- var n, s, c, l string
- var t time.Time
-
- for rows.Next() {
- err = rows.Scan(&n, &s, &c, &l, &t)
- if err != nil {
- return err
- }
- keys = append(keys, fmt.Sprintf("%s_%s_%s_%s_%s", n, s, c, l, t.Format(time.RFC3339Nano)))
- }
-
- rows.Close()
-
- var rec []byte
-
- for _, k := range keys {
- err = recordCache.Get(context.TODO(), k, groupcache.AllocatingByteSliceSink(&rec))
- if err != nil && err != errNoData {
- return err
- }
- }
-
- return nil
-}
-
-// recordGetter implements groupcache.Getter for fetching miniSEED records from the cache.
-// key is like "NZ_AWRB_HNN_23_2017-04-22T22:38:50.115Z"
-// network_station_channel_location_time.RFC3339Nano
-func recordGetter(ctx context.Context, key string, dest groupcache.Sink) error {
- p := strings.Split(key, "_")
- if len(p) != 5 {
- return errors.New("expected 5 parts to key: " + key)
- }
-
- t, err := time.Parse(time.RFC3339Nano, p[4])
- if err != nil {
- return err
- }
-
- var b []byte
- err = recordStmt.QueryRow(p[0], p[1], p[2], p[3], t).Scan(&b)
- if err != nil {
- if err == sql.ErrNoRows {
- return errNoData
- }
- return err
- }
-
- return dest.SetBytes(b)
-}
diff --git a/cmd/fdsn-ws-nrt/data_nrt_test.go b/cmd/fdsn-ws-nrt/data_nrt_test.go
deleted file mode 100644
index 1b0be7e2..00000000
--- a/cmd/fdsn-ws-nrt/data_nrt_test.go
+++ /dev/null
@@ -1,336 +0,0 @@
-package main
-
-import (
- "context"
- "database/sql"
- "io"
- "os"
- "testing"
- "time"
-
- "github.com/GeoNet/fdsn/internal/fdsn"
- "github.com/GeoNet/kit/seis/ms"
- "github.com/golang/groupcache"
-)
-
-func TestHoldingsSearch(t *testing.T) {
- testSetUp(t)
- defer testTearDown()
-
- testLoadFirst("etc/NZ.ABAZ.10.EHE.D.2016.079", t)
-
- s, err := time.Parse(time.RFC3339Nano, "2016-03-18T00:00:00.0Z")
- if err != nil {
- t.Error(err)
- }
-
- e, err := time.Parse(time.RFC3339Nano, "2016-03-20T00:00:00.0Z")
- if err != nil {
- t.Error(err)
- }
-
- d := fdsn.DataSearch{
- Network: "^NZ$",
- Station: "^ABAZ$",
- Channel: "^EHE$",
- Location: "^10$",
- Start: s,
- End: e,
- }
-
- k, err := holdingsSearchNrt(d)
- if err != nil {
- t.Error(err)
- }
-
- if len(k) != 1 {
- t.Errorf("expected 1 result got %d", len(k))
- }
-
- if k[0] != "NZ_ABAZ_EHE_10_2016-03-19T00:00:01.968393Z" {
- t.Errorf("expected key NZ_ABAZ_EHE_10_2016-03-19T00:00:01.968393Z got %s", k[0])
- }
-}
-
-func TestGetRecord(t *testing.T) {
- testSetUp(t)
- defer testTearDown()
-
- testLoadFirst("etc/NZ.ABAZ.10.EHE.D.2016.079", t)
-
- var r []byte
-
- err := recordCache.Get(context.TODO(), "NZ_ABAZ_EHE_10_2016-03-19T00:00:01.968393Z", groupcache.AllocatingByteSliceSink(&r))
- if err != nil {
- t.Error(err)
- }
- if len(r) != 512 {
- t.Errorf("expected 512 bytes got %d", len(r))
- }
-
- // make sure we can unpack the miniSEED
- msr, err := ms.NewRecord(r)
- if err != nil {
- t.Error(err)
- }
-
- if msr.Network() != "NZ" {
- t.Errorf("expected network NZ got %s", msr.Network())
- }
-
- if msr.Station() != "ABAZ" {
- t.Errorf("expected station ABAZ got %s", msr.Station())
- }
-
- if msr.Channel() != "EHE" {
- t.Errorf("expected channel EHE got %s", msr.Channel())
- }
-
- if msr.Location() != "10" {
- t.Errorf("expected location 10 got %s", msr.Location())
- }
-
- _, err = msr.Int32s()
- if err != nil {
- t.Errorf("error reading data %s", err.Error())
- }
-}
-
-func BenchmarkHoldingsSearch(b *testing.B) {
- testSetUp(b)
- defer testTearDown()
-
- // run benchmarks with more data if needed by loading all the data.
- //testLoad("etc/NZ.ABAZ.10.EHE.D.2016.079", b)
-
- testLoadFirst("etc/NZ.ABAZ.10.EHE.D.2016.079", b)
-
- s, err := time.Parse(time.RFC3339Nano, "2016-03-18T00:15:00.0Z")
- if err != nil {
- b.Error(err)
- }
-
- e, err := time.Parse(time.RFC3339Nano, "2016-03-20T00:30:00.0Z")
- if err != nil {
- b.Error(err)
- }
-
- d := fdsn.DataSearch{
- Network: "^NZ$",
- Station: "^ABAZ$",
- Channel: "^EHE$",
- Location: "^10$",
- Start: s,
- End: e,
- }
-
- // exclude the set up from benchmark.
- b.ResetTimer()
-
- for n := 0; n < b.N; n++ {
- _, err = holdingsSearchNrt(d)
- if err != nil {
- b.Error(err)
- }
- }
-}
-
-func BenchmarkGetRecordCache(b *testing.B) {
- testSetUp(b)
- defer testTearDown()
-
- // run benchmarks with more data if needed by loading all the data.
- //testLoad("etc/NZ.ABAZ.10.EHE.D.2016.079", b)
-
- testLoadFirst("etc/NZ.ABAZ.10.EHE.D.2016.079", b)
-
- var r []byte
- var err error
-
- // exclude the set up from benchmark.
- b.ResetTimer()
-
- for n := 0; n < b.N; n++ {
- err = recordCache.Get(context.TODO(), "NZ_ABAZ_EHE_10_2016-03-19T00:00:01.968393Z", groupcache.AllocatingByteSliceSink(&r))
- if err != nil {
- b.Error(err)
- }
- if len(r) != 512 {
- b.Errorf("expected 512 bytes got %d", len(r))
- }
- }
-}
-
-// BenchmarkGetRecordDB is for comparison to BenchmarkGetRecordCache
-// It hits the DB directly with no caching.
-func BenchmarkGetRecordDB(b *testing.B) {
- testSetUp(b)
- defer testTearDown()
-
- // run benchmarks with more data if needed by loading all the data.
- //testLoad("etc/NZ.ABAZ.10.EHE.D.2016.079", b)
-
- testLoadFirst("etc/NZ.ABAZ.10.EHE.D.2016.079", b)
-
- start, err := time.Parse(time.RFC3339Nano, "2016-03-19T00:00:01.968393Z")
- if err != nil {
- b.Error(err)
- }
-
- var r []byte
-
- for n := 0; n < b.N; n++ {
- err = db.QueryRow(`SELECT raw FROM fdsn.record WHERE streampk =
- (SELECT streampk FROM fdsn.stream WHERE network = $1 AND station = $2 AND channel = $3 AND location = $4)
- AND start_time = $5`, "NZ", "ABAZ", "EHE", "10", start).Scan(&r)
- if err != nil {
- b.Error(err)
- }
- if len(r) != 512 {
- b.Errorf("expected 512 bytes got %d", len(r))
- }
- }
-}
-
-// funcs for setting up test data.
-func testSetUp(t testing.TB) {
- var err error
- db, err = sql.Open("postgres", "host=localhost connect_timeout=5 user=fdsn_w password=test dbname=fdsn sslmode=disable")
- if err != nil {
- t.Fatalf("error with DB config: %s", err)
- }
-
- db.SetMaxIdleConns(10)
- db.SetMaxOpenConns(10)
-
- recordStmt, _ = db.Prepare(`SELECT raw FROM fdsn.record WHERE streampk =
- (SELECT streampk FROM fdsn.stream WHERE network = $1 AND station = $2 AND channel = $3 AND location = $4)
- AND start_time = $5`)
-
- if recordCache == nil {
- recordCache = groupcache.NewGroup("record", 1000000000, groupcache.GetterFunc(recordGetter))
- }
-}
-
-func testTearDown() {
- db.Close()
-}
-
-// testLoad inserts all the records in file.
-// Existing data for the stream in file are deleted first.
-//nolint:unused,deadcode // for benchmarking on more records
-func testLoad(file string, t testing.TB) {
- in, err := os.Open(file)
- if err != nil {
- t.Fatal(err)
- }
- defer in.Close()
-
- r := make([]byte, 512)
- first := true
-
- for {
- _, err = io.ReadFull(in, r)
- switch {
- case err == io.EOF:
- return
- case err != nil:
- t.Fatal(err)
- }
-
- msr, err := ms.NewRecord(r)
- if err != nil {
- t.Error(err)
- continue
- }
-
- network := msr.Network()
- station := msr.Station()
- channel := msr.Channel()
- location := msr.Location()
-
- // not bothering setting min and max
-
- if first {
- // first time through delete all the data and then readd the stream.
- _, err = db.Exec(`DELETE FROM fdsn.stream WHERE network = $1 AND station=$2 AND channel=$3 AND location=$4`,
- network, station, channel, location)
- if err != nil {
- t.Error(err)
- }
- _, err = db.Exec(`INSERT INTO fdsn.stream (network, station, channel, location) VALUES($1, $2, $3, $4)`,
- network, station, channel, location)
- if err != nil {
- t.Error(err)
- }
- first = false
- }
-
- _, err = db.Exec(`INSERT INTO fdsn.record (streamPK, start_time, raw, latency)
- SELECT streamPK, $5, $6, $7
- FROM fdsn.stream
- WHERE network = $1
- AND station = $2
- AND channel = $3
- AND location = $4`, network, station, channel, location, msr.StartTime(), r, 0)
- if err != nil {
- t.Error(err)
- }
- }
-}
-
-// testLoadDataFirst inserts the first record in file.
-// Existing data for the stream in file are deleted first.
-func testLoadFirst(file string, t testing.TB) {
- in, err := os.Open(file)
- if err != nil {
- t.Fatal(err)
- }
- defer in.Close()
-
- r := make([]byte, 512)
-
- _, err = io.ReadFull(in, r)
- switch {
- case err == io.EOF:
- return
- case err != nil:
- t.Fatal(err)
- }
-
- msr, err := ms.NewRecord(r)
- if err != nil {
- t.Error(err)
- return
- }
-
- network := msr.Network()
- station := msr.Station()
- channel := msr.Channel()
- location := msr.Location()
-
- // not bothering setting min and max
-
- // delete all the data and then readd the stream.
- _, err = db.Exec(`DELETE FROM fdsn.stream WHERE network=$1 AND station=$2 AND channel=$3 AND location=$4`,
- network, station, channel, location)
- if err != nil {
- t.Error(err)
- }
- _, err = db.Exec(`INSERT INTO fdsn.stream (network, station, channel, location) VALUES($1, $2, $3, $4)`,
- network, station, channel, location)
- if err != nil {
- t.Error(err)
- }
-
- _, err = db.Exec(`INSERT INTO fdsn.record (streamPK, start_time, raw, latency_tx, latency_data)
- SELECT streamPK, $5, $6, $7, $8
- FROM fdsn.stream
- WHERE network = $1
- AND station = $2
- AND channel = $3
- AND location = $4`, network, station, channel, location, msr.StartTime(), r, 0, 0)
- if err != nil {
- t.Error(err)
- }
-}
diff --git a/cmd/fdsn-ws-nrt/deploy/.ebextensions/cwl-application-logs.config b/cmd/fdsn-ws-nrt/deploy/.ebextensions/cwl-application-logs.config
deleted file mode 100644
index a65ccffb..00000000
--- a/cmd/fdsn-ws-nrt/deploy/.ebextensions/cwl-application-logs.config
+++ /dev/null
@@ -1,44 +0,0 @@
-Mappings:
- CWLogs:
- WebRequestLogGroup:
- LogFile: "/var/log/eb-docker/containers/eb-current-app/*-stdouterr.log"
- TimestampFormat: "%d/%b/%Y %H:%M:%S"
-
-Outputs:
- WebRequestCWLogGroup:
- Description: "The name of the Cloudwatch Logs Log Group created for this environments web server access logs. You can specify this by setting the value for the environment variable: WebRequestCWLogGroup. Please note: if you update this value, then you will need to go and clear out the old cloudwatch logs group and delete it through Cloudwatch Logs."
- Value: { "Ref" : "AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0WebRequestLogGroup"}
-
-
-Resources :
- AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0WebRequestLogGroup: ## Must have prefix: AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0
- Type: "AWS::Logs::LogGroup"
- DependsOn: AWSEBBeanstalkMetadata
- DeletionPolicy: Retain ## this is required
- Properties:
- LogGroupName:
- "Fn::GetOptionSetting":
- Namespace: "aws:elasticbeanstalk:application:environment"
- OptionName: WebRequestCWLogGroup
- DefaultValue: {"Fn::Join":["-", [{ "Ref":"AWSEBEnvironmentName" }, "application"]]}
- RetentionInDays: 14
-
-
- ## Register the files/log groups for monitoring
- AWSEBAutoScalingGroup:
- Metadata:
- "AWS::CloudFormation::Init":
- CWLogsAgentConfigSetup:
- files:
- ## any .conf file put into /tmp/cwlogs/conf.d will be added to the cwlogs config (see cwl-agent.config)
- "/tmp/cwlogs/conf.d/nginx-access.conf":
- content : |
- [nginx-access_log]
- file = `{"Fn::FindInMap":["CWLogs", "WebRequestLogGroup", "LogFile"]}`
- log_group_name = `{ "Ref" : "AWSEBCloudWatchLogs8832c8d3f1a54c238a40e36f31ef55a0WebRequestLogGroup" }`
- log_stream_name = {instance_id}
- datetime_format = `{"Fn::FindInMap":["CWLogs", "WebRequestLogGroup", "TimestampFormat"]}`
- mode : "000400"
- owner : root
- group : root
-
diff --git a/cmd/fdsn-ws-nrt/deploy/.ebextensions/cwl-setup.config b/cmd/fdsn-ws-nrt/deploy/.ebextensions/cwl-setup.config
deleted file mode 100644
index 619bfa6a..00000000
--- a/cmd/fdsn-ws-nrt/deploy/.ebextensions/cwl-setup.config
+++ /dev/null
@@ -1,138 +0,0 @@
-########################################################################
-##
-########################################################################
-
-Conditions:
- SNSTopicExists : { "Fn::Not" : [{ "Fn::Equals" : [ "", {"Fn::FindInMap" : ["AWSEBOptions", "options", "EBSNSTopicArn"]}]}]}
-
-Outputs:
- ElasticBeanstalkSNSTopicArn:
- Description: "The SNS Topic ARN for Elastic Beanstalk event notifications. Empty string if none specified."
- Value: { "Fn::FindInMap": ["AWSEBOptions", "options", "EBSNSTopicArn"] }
-
-
-Resources:
- AWSEBAutoScalingGroup:
- Metadata:
- "AWS::CloudFormation::Init":
- configSets:
- "_OnInstanceBoot":
- "CmpFn::Insert":
- values:
- - CWLogsAgentClearConfig
- - CWLogsAgentConfigSetup
- - CWLogsAgentUpdaterInstallation
- - CWLogsAgentInstallation
- "CWLogsAgentInstallation":
- - CWLogsAgentClearConfig
- - CWLogsAgentConfigSetup
- - CWLogsAgentUpdaterInstallation
- - CWLogsAgentInstallation
- "CWLogsAgentConfigUpdate":
- - CWLogsAgentClearConfig
- - CWLogsAgentConfigSetup
- - CWLogsAgentUpdateConfig
- CWLogsAgentClearConfig:
- commands:
- 01-clear-agent-config:
- command: rm -rf /tmp/cwlogs/conf.d
- CWLogsAgentConfigSetup:
- files:
- "/tmp/cwlogs/conf.d/general.conf":
- content : |
- [general]
- state_file = /var/awslogs/state/agent-state
- mode : "000400"
- owner : root
- group : root
- commands:
- 01-setup-agent-config:
- ## Every .conf file in /tmp/cwlogs/conf.d/ will be concatenated together to form the cwl agent config file
- command: |
- cat /tmp/cwlogs/conf.d/*.conf > /tmp/cwlogs/cwlogs-config.conf
- CWLogsAgentInstallation:
- files:
- "/tmp/cwlogs/awslogs-agent-setup.py" :
- source : "https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py"
- mode : "000700"
- owner : root
- group : root
- commands:
- 01-setup-cwlogs-agent:
- ## Install the cwlogs agent - this will also install the cli it needs (in a virtualenv)
- command: |
- setsid /tmp/cwlogs/awslogs-agent-setup.py -n -r `{"Ref" : "AWS::Region" }` -c /tmp/cwlogs/cwlogs-config.conf && exit 0;
-
- ## Configuration deployment command - update agent if needed
- CWLogsAgentUpdaterInstallation:
- files:
- "/opt/elasticbeanstalk/hooks/configdeploy/enact/00_update_cwlogs_agent.sh":
- content: |
- #!/bin/bash
- . /etc/elasticbeanstalk/.aws-eb-stack.properties
- /opt/aws/bin/cfn-init -v -s "$stack_name" -r "$resource" --region "$region" --configsets CWLogsAgentConfigUpdate > /var/log/eb-cfn-init-call.log 2>&1
- mode : "000700"
- owner : root
- group : root
- CWLogsAgentUpdateConfig:
- files:
- "/tmp/cwlogs/bin/cwlogs-update.sh":
- content: |
- #!/bin/bash
- log() {
- echo [$(date -u +"%Y-%m-%d %TZ")] $1
- }
- log "Executing cwlogs agent configuration update"
-
- if cmp /var/awslogs/etc/awslogs.conf /tmp/cwlogs/cwlogs-config.conf > /dev/null 2>&1; then
- log "Configuration has not changed - not updating"
- exit 0;
- fi
-
- log "Copying new cwlogs config to /var/awslogs/etc/awslogs.conf"
- cp /tmp/cwlogs/cwlogs-config.conf /var/awslogs/etc/awslogs.conf;
- log "Restarting awslogs service"
- service awslogs restart;
- log "awslogs service restart complete"
- log "Completed cwlogs agent configuration update"
- exit 0;
- mode : "000700"
- owner : root
- group : root
- commands:
- 01-update-agent-config:
- command: "/tmp/cwlogs/bin/cwlogs-update.sh >> /var/log/eb-cwlogs.log 2>&1"
-
-
-## Version deployment command - ensure agent is installed
-files:
- "/tmp/cwlogs/bin/cwlogs-install.sh":
- content: |
- #!/bin/bash
- log() {
- echo [$(date -u +"%Y-%m-%d %TZ")] $1
- }
-
- log "Initiating cwlogs agent installation/update"
- . /etc/elasticbeanstalk/.aws-eb-stack.properties
- CONFIG_SET=CWLogsAgentInstallation
-
- ## just do an update if we think it's already installed
- if [ -f "/var/awslogs/etc/awslogs.conf" ]; then
- CONFIG_SET=CWLogsAgentConfigUpdate
- log "Running agent configuration update"
- else
- log "Running agent installation"
- fi
-
- /opt/aws/bin/cfn-init -v -s "$stack_name" -r "$resource" --region "$region" --configsets $CONFIG_SET;
- log "Completed cwlogs agent installation/update"
- exit 0;
- mode : "000700"
- owner : root
- group : root
-
-commands:
- 01-ensure-agent-installation:
- command: "/tmp/cwlogs/bin/cwlogs-install.sh >> /var/log/eb-cwlogs.log 2>&1"
-
diff --git a/cmd/fdsn-ws-nrt/deploy/.ebextensions/eb-logs.config b/cmd/fdsn-ws-nrt/deploy/.ebextensions/eb-logs.config
deleted file mode 100644
index 377ba72c..00000000
--- a/cmd/fdsn-ws-nrt/deploy/.ebextensions/eb-logs.config
+++ /dev/null
@@ -1,39 +0,0 @@
-##################################################################
-## Sets up the elastic beanstalk log publication to include
-## the admin logs for cloudwatch logs
-##################################################################
-
-Resources:
- AWSEBAutoScalingGroup:
- Metadata:
- "AWS::CloudFormation::Init":
- configSets:
- "_OnInstanceBoot":
- "CmpFn::Insert":
- values:
- - EBCWLLogPublicationSetup
- EBCWLLogPublicationSetup:
- files:
- "/opt/elasticbeanstalk/tasks/taillogs.d/cwl-system.conf":
- content: |
- /var/log/awslogs-agent-setup.log
- /var/log/awslogs.log
- /var/log/eb-cwlogs.log
- mode : "000644"
- "/opt/elasticbeanstalk/tasks/bundlelogs.d/cwl-system.conf":
- content: |
- /var/log/awslogs-agent-setup.log
- /var/log/awslogs.log
- /var/log/eb-cwlogs.log
- mode : "000644"
- "/opt/elasticbeanstalk/tasks/systemtaillogs.d/cwl-system.conf":
- content: |
- /var/log/awslogs-agent-setup.log
- /var/log/awslogs.log
- /var/log/eb-cwlogs.log
- mode : "000644"
- "/opt/elasticbeanstalk/tasks/publishlogs.d/cwl-system.conf":
- content: |
- /var/log/awslogs-agent-setup.log ## this isn't rotated
- /var/log/awslogs.log*.gz
- mode : "000644"
diff --git a/cmd/fdsn-ws-nrt/deploy/Dockerrun.aws.json b/cmd/fdsn-ws-nrt/deploy/Dockerrun.aws.json
deleted file mode 100644
index 9fcf2f39..00000000
--- a/cmd/fdsn-ws-nrt/deploy/Dockerrun.aws.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "AWSEBDockerrunVersion": "1",
- "Image": {
- "Name": "862640294325.dkr.ecr.ap-southeast-2.amazonaws.com/fdsn-ws-nrt:prod"
- },
- "Ports": [
- {
- "ContainerPort": "8080"
- }
- ],
- "Logging": "/var/log/"
-}
diff --git a/cmd/fdsn-ws-nrt/deploy/fdsn-ws-nrt.zip b/cmd/fdsn-ws-nrt/deploy/fdsn-ws-nrt.zip
deleted file mode 100644
index 2cb9a4e9..00000000
Binary files a/cmd/fdsn-ws-nrt/deploy/fdsn-ws-nrt.zip and /dev/null differ
diff --git a/cmd/fdsn-ws-nrt/env.list b/cmd/fdsn-ws-nrt/env.list
deleted file mode 100644
index 0b0fa855..00000000
--- a/cmd/fdsn-ws-nrt/env.list
+++ /dev/null
@@ -1,14 +0,0 @@
-DB_HOST=localhost
-DB_USER=fdsn_r
-DB_PASSWD=test
-DB_NAME=fdsn
-DB_SSLMODE=disable
-DB_CONN_TIMEOUT=5
-DB_MAX_IDLE_CONNS=20
-DB_MAX_OPEN_CONNS=30
-
-DDOG_API_KEY=
-HOST_CNAME=localhost
-
-# size for the RAM base miniSEED record cache in GB
-CACHE_SIZE=4
\ No newline at end of file
diff --git a/cmd/fdsn-ws-nrt/etc/NZ.ABAZ.10.EHE.D.2016.079 b/cmd/fdsn-ws-nrt/etc/NZ.ABAZ.10.EHE.D.2016.079
deleted file mode 100644
index 562523db..00000000
Binary files a/cmd/fdsn-ws-nrt/etc/NZ.ABAZ.10.EHE.D.2016.079 and /dev/null differ
diff --git a/cmd/fdsn-ws-nrt/fdsn_dataselect.go b/cmd/fdsn-ws-nrt/fdsn_dataselect.go
deleted file mode 100644
index 27365bc7..00000000
--- a/cmd/fdsn-ws-nrt/fdsn_dataselect.go
+++ /dev/null
@@ -1,167 +0,0 @@
-package main
-
-import (
- "bytes"
- "context"
- "fmt"
- "log"
- "net/http"
- "os"
- "regexp"
- "text/template"
- "time"
-
- "github.com/GeoNet/fdsn/internal/fdsn"
- "github.com/GeoNet/kit/metrics"
- "github.com/GeoNet/kit/weft"
- "github.com/golang/groupcache"
-)
-
-const NO_DATA = 204
-
-var (
- fdsnDataselectWadlFile []byte
- fdsnDataselectIndex []byte
-)
-
-func init() {
- var err error
- var b bytes.Buffer
-
- t, err := template.New("t").ParseFiles("assets/tmpl/fdsn-ws-dataselect.wadl")
- if err != nil {
- log.Printf("error parsing assets/tmpl/fdsn-ws-dataselect.wadl: %s", err.Error())
- }
- err = t.ExecuteTemplate(&b, "body", os.Getenv("HOST_CNAME"))
- if err != nil {
- log.Printf("error executing assets/tmpl/fdsn-ws-dataselect.wadl: %s", err.Error())
- }
- fdsnDataselectWadlFile = b.Bytes()
-
- fdsnDataselectIndex, err = os.ReadFile("assets/fdsn-ws-dataselect.html")
- if err != nil {
- log.Printf("error reading assets/fdsn-ws-dataselect.html: %s", err.Error())
- }
-}
-
-func fdsnDataselectV1Handler(r *http.Request, w http.ResponseWriter) (int64, error) {
- // the query parameters come from the URL or body. This makes using weft.CheckQuery to complicated.
- // Additional work is done to check the method and parameters.
-
- var params []fdsn.DataSelect
-
- switch r.Method {
- case "POST":
- defer r.Body.Close()
- if err := fdsn.ParseDataSelectPost(r.Body, ¶ms); err != nil {
- return 0, weft.StatusError{Code: http.StatusBadRequest, Err: err}
- }
- if len(params) == 0 {
- return 0, weft.StatusError{Code: NO_DATA, Err: fmt.Errorf("%s", "unable to parse post request")}
- }
- case "GET":
- d, err := fdsn.ParseDataSelectGet(r.URL.Query())
- if err != nil {
- return 0, weft.StatusError{Code: http.StatusBadRequest, Err: err}
- }
-
- params = append(params, d)
- default:
- return 0, weft.StatusError{Code: http.StatusMethodNotAllowed}
- }
-
- var keys []string
- var rec []byte
-
- // TODO - possibly limit request/response size and use a buffer for the response. This
- // would make http response codes to the client more accurate.
-
- w.Header().Set("Content-Type", "application/vnd.fdsn.mseed")
- var n int
- var written int
- for _, v := range params {
- s, err := v.Regexp()
- if err != nil {
- return 0, weft.StatusError{Code: http.StatusBadRequest, Err: err}
- }
- if !s.End.After(s.Start) {
- return 0, weft.StatusError{Code: http.StatusBadRequest, Err: fmt.Errorf("endtime must be after starttime")}
- }
- // we only do "NZ"
- if m, err := regexp.MatchString(s.Network, "NZ"); err != nil || !m {
- continue
- }
- // only run query when the pattern contains only uppercase alphabetic, numbers, wildcard chars
- // if the pattern string is out of this range, we knew it won't produce results
- if fdsn.WillBeEmpty(s.Station) || fdsn.WillBeEmpty(s.Location) || fdsn.WillBeEmpty(s.Channel) {
- continue
- }
- if s.End.Before(time.Now().Add(-7*24*time.Hour)) || s.Start.After(time.Now()) {
- continue // Our NRT service only keep 7 days, so no query required
- }
- keys, err = holdingsSearchNrt(s)
- if err != nil {
- return 0, err
- }
- for _, k := range keys {
- err = recordCache.Get(context.TODO(), k, groupcache.AllocatingByteSliceSink(&rec))
- switch err {
- case nil:
- n, err = w.Write(rec)
- if err != nil {
- return 0, err
- }
- metrics.MsgTx()
- written += n
- case errNoData:
- // do nothing for no data, it could be deleted from the db
- // before we get a chance to request it.
- default:
- return 0, err
- }
- }
- }
-
- if written == 0 {
- return 0, weft.StatusError{Code: params[0].NoData, Err: fmt.Errorf("%s", "no results for specified query")}
- }
-
- return int64(written), nil
-}
-
-func fdsnDataselectV1Index(r *http.Request, h http.Header, b *bytes.Buffer) error {
- err := weft.CheckQuery(r, []string{"GET"}, []string{}, []string{})
- if err != nil {
- return err
- }
-
- h.Set("Content-Type", "text/html")
-
- _, err = b.Write(fdsnDataselectIndex)
-
- return err
-}
-
-func fdsnDataselectVersion(r *http.Request, h http.Header, b *bytes.Buffer) error {
- err := weft.CheckQuery(r, []string{"GET"}, []string{}, []string{})
- if err != nil {
- return err
- }
-
- h.Set("Content-Type", "text/plain")
- _, err = b.WriteString("1.1")
-
- return err
-}
-
-func fdsnDataselectWadl(r *http.Request, h http.Header, b *bytes.Buffer) error {
- err := weft.CheckQuery(r, []string{"GET"}, []string{}, []string{})
- if err != nil {
- return err
- }
-
- h.Set("Content-Type", "application/xml")
- _, err = b.Write(fdsnDataselectWadlFile)
-
- return err
-}
diff --git a/cmd/fdsn-ws-nrt/log.go b/cmd/fdsn-ws-nrt/log.go
deleted file mode 100644
index 553706b3..00000000
--- a/cmd/fdsn-ws-nrt/log.go
+++ /dev/null
@@ -1,31 +0,0 @@
-package main
-
-import (
- "github.com/GeoNet/kit/weft"
- "log"
- "os"
- "strings"
-)
-
-var Prefix string
-
-func init() {
- logger := log.New(os.Stderr, "", log.LstdFlags)
-
- if Prefix != "" {
- log.SetPrefix(Prefix + " ")
- logger.SetPrefix(Prefix + " ")
- }
-
- weft.SetLogger(logger)
- weft.EnableLogRequest(true)
- weft.EnableLogPostBody(true)
-
- // find the hostname and appname for use with metrics.
- h, _ := os.Hostname()
-
- a := os.Args[0]
- a = strings.Replace(a[strings.LastIndex(a, "/")+1:], "-", "_", -1)
-
- weft.DataDog(os.Getenv("DDOG_API_KEY"), h, a, logger)
-}
diff --git a/cmd/fdsn-ws-nrt/routes.go b/cmd/fdsn-ws-nrt/routes.go
deleted file mode 100644
index f27df84c..00000000
--- a/cmd/fdsn-ws-nrt/routes.go
+++ /dev/null
@@ -1,58 +0,0 @@
-package main
-
-import (
- "bytes"
- "github.com/GeoNet/kit/weft"
- "net/http"
- "net/http/httputil"
-)
-
-var mux *http.ServeMux
-
-func init() {
- mux = http.NewServeMux()
-
- // station and event services are proxied
- stationDirector := func(r *http.Request) {
- r.Host = "service.geonet.org.nz"
- r.URL.Scheme = "https"
- r.URL.Host = "service.geonet.org.nz"
- }
-
- eventDirector := func(r *http.Request) {
- r.Host = "service.geonet.org.nz"
- r.URL.Scheme = "https"
- r.URL.Host = "service.geonet.org.nz"
- }
-
- mux.HandleFunc("/", weft.MakeHandler(weft.NoMatch, weft.TextError))
- mux.HandleFunc("/soh/up", weft.MakeHandler(weft.Up, weft.TextError))
- mux.HandleFunc("/soh", weft.MakeHandler(soh, weft.UseError))
-
- mux.Handle("/fdsnws/station/", &httputil.ReverseProxy{Director: stationDirector})
- mux.Handle("/fdsnws/event/", &httputil.ReverseProxy{Director: eventDirector})
-
- // This service implements the dataselect spec from http://www.fdsn.org/webservices/FDSN-WS-Specifications-1.1.pdf.
- mux.HandleFunc("/fdsnws/dataselect/1", weft.MakeHandler(fdsnDataselectV1Index, weft.TextError))
- mux.HandleFunc("/fdsnws/dataselect/1/query", weft.MakeDirectHandler(fdsnDataselectV1Handler, weft.TextError))
- mux.HandleFunc("/fdsnws/dataselect/1/version", weft.MakeHandler(fdsnDataselectVersion, weft.TextError))
- mux.HandleFunc("/fdsnws/dataselect/1/application.wadl", weft.MakeHandler(fdsnDataselectWadl, weft.TextError))
-}
-
-func soh(r *http.Request, h http.Header, b *bytes.Buffer) error {
- err := weft.CheckQuery(r, []string{"GET"}, []string{}, []string{})
- if err != nil {
- return err
- }
-
- var i int
-
- err = db.QueryRow(`SELECT 1`).Scan(&i)
- if err != nil {
- return err
- }
-
- b.WriteString("ok")
-
- return nil
-}
diff --git a/cmd/fdsn-ws-nrt/routes_test.go b/cmd/fdsn-ws-nrt/routes_test.go
deleted file mode 100644
index 07676b1d..00000000
--- a/cmd/fdsn-ws-nrt/routes_test.go
+++ /dev/null
@@ -1,87 +0,0 @@
-package main
-
-import (
- "database/sql"
- "io"
- "log"
- "net/http"
- "net/http/httptest"
- "testing"
-
- wt "github.com/GeoNet/kit/weft/wefttest"
-)
-
-var testServer *httptest.Server
-
-var routes = wt.Requests{
- {ID: wt.L(), URL: "/soh"},
- // fdsn-ws-dataselect
- {ID: wt.L(), URL: "/fdsnws/dataselect/1", Content: "text/html"},
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/version", Content: "text/plain"},
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/application.wadl", Content: "application/xml"},
- // valid record (inserted by data_nrt_test.go)
- // nrt service only return latest 7 days
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?starttime=2016-03-19T00:00:00&endtime=2016-03-19T01:00:00&network=NZ&station=ABAZ&location=10&channel=EHE",
- Status: http.StatusNoContent},
- // an invalid network or no files matching query should give 404 (could also give 204 as per spec)
- // Note: though the response is 204 but the mseed header already set before the content checking.
- // nrt service only return latest 7 days
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?starttime=2016-01-09T00:00:00&endtime=2016-01-09T23:00:00&network=INVALID_NETWORK&station=CHST&location=01&channel=LOG",
- Status: http.StatusNoContent},
- // very old time range, no files:
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?starttime=1900-01-09T00:00:00&endtime=1900-01-09T01:00:00&network=NZ&station=CHST&location=01&channel=LOG",
- Status: http.StatusNoContent},
- // spam
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?channel=LOG&endtime=1900-01-09T01:00:00&location=01&network=c:/Windows/system.ini&starttime=1900-01-09T00:00:00&station=CHST",
- Status: http.StatusBadRequest},
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?channel=LOG&endtime=1900-01-09T01%3A00%3A00&location=01&network=NZ&starttime=1900-01-09T00%3A00%3A00&station=c%3A%2FWindows%2Fsystem.ini",
- Status: http.StatusBadRequest},
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?channel=LOG&endtime=1900-01-09T01%3A00%3A00&location=01&network=c%3A%2FWindows%2Fsystem.ini&starttime=1900-01-09T00%3A00%3A00&station=CHST",
- Status: http.StatusBadRequest},
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?channel=LOG&endtime=c%3A%2FWindows%2Fsystem.ini&location=01&network=*&starttime=1900-01-09T00%3A00%3A00&station=CHST",
- Status: http.StatusBadRequest},
- {ID: wt.L(), URL: "/fdsnws/dataselect/1/query?unknownparam=1",
- Status: http.StatusBadRequest},
- // post
- // nrt service only return latest 7 days
- {ID: wt.L(), Method: "POST", URL: "/fdsnws/dataselect/1/query", PostBody: []byte("NZ ABAZ 10 EHE 2016-03-19T00:00:00 2016-03-19T01:00:00"),
- Status: http.StatusNoContent},
-}
-
-func TestRoutes(t *testing.T) {
- setup(t)
- defer teardown()
-
- for _, r := range routes {
- if b, err := r.Do(testServer.URL); err != nil {
- t.Error(err)
- t.Error(string(b))
- }
- }
-}
-
-func setup(t *testing.T) {
- var err error
- db, err = sql.Open("postgres", "host=localhost connect_timeout=300 user=fdsn_r password=test dbname=fdsn sslmode=disable")
- if err != nil {
- log.Fatal(err)
- }
-
- err = db.Ping()
-
- if err != nil {
- log.Fatal(err)
- }
-
- testServer = httptest.NewServer(mux)
-
- // Silence the logging unless running with
- // go test -v
- if !testing.Verbose() {
- log.SetOutput(io.Discard)
- }
-}
-
-func teardown() {
- testServer.Close()
-}
diff --git a/cmd/fdsn-ws-nrt/server.go b/cmd/fdsn-ws-nrt/server.go
deleted file mode 100644
index af4eceb3..00000000
--- a/cmd/fdsn-ws-nrt/server.go
+++ /dev/null
@@ -1,93 +0,0 @@
-package main
-
-import (
- "database/sql"
- "log"
- "net/http"
- "os"
- "strconv"
- "time"
-
- "github.com/GeoNet/kit/cfg"
- "github.com/GeoNet/kit/metrics"
- "github.com/golang/groupcache"
- _ "github.com/lib/pq"
-)
-
-var (
- db *sql.DB
- recordStmt *sql.Stmt
- recordCache *groupcache.Group
-)
-
-func main() {
- p, err := cfg.PostgresEnv()
- if err != nil {
- log.Fatalf("error reading DB config from the environment vars: %s", err)
- }
-
- size := os.Getenv("CACHE_SIZE")
- if size == "" {
- log.Fatal("CACHE_SIZE env var must be set")
- }
-
- cacheSize, err := strconv.ParseInt(size, 10, 64)
- if err != nil {
- log.Fatalf("error parsing CACHE_SIZE env var %s", err.Error())
- }
-
- cacheSize = cacheSize * 1000000000
-
- // set a statement timeout to cancel any very long running DB queries.
- // Value is int milliseconds.
- // https://www.postgresql.org/docs/9.5/static/runtime-config-client.html
- db, err = sql.Open("postgres", p.Connection()+" statement_timeout=600000")
- if err != nil {
- log.Fatalf("error with DB config: %s", err)
- }
- defer db.Close()
-
- db.SetMaxIdleConns(p.MaxIdle)
- db.SetMaxOpenConns(p.MaxOpen)
-
- recordStmt, err = db.Prepare(`SELECT raw FROM fdsn.record WHERE streampk =
- (SELECT streampk FROM fdsn.stream WHERE network = $1 AND station = $2 AND channel = $3 AND location = $4)
- AND start_time = $5`)
- if err != nil {
- log.Printf("error preparing record statement %s", err.Error())
- }
-
- if err = db.Ping(); err != nil {
- log.Println("ERROR: problem pinging DB - is it up and contactable? 500s will be served")
- }
-
- log.Printf("creating record cache size %d bytes", cacheSize)
-
- recordCache = groupcache.NewGroup("record", cacheSize, groupcache.GetterFunc(recordGetter))
-
- go func() {
- ticker := time.Tick(time.Second * 30)
-
- for range ticker {
- t := metrics.Start()
- err := primeCache(time.Now().UTC().Add(time.Second * -40))
- if err != nil {
- log.Printf("priming cache %s", err.Error())
- }
- err = t.Track("primeCache")
- if err != nil {
- log.Printf("Tracking prime cache %s", err.Error())
- }
- log.Printf("record cache: %+v", recordCache.CacheStats(groupcache.MainCache))
- }
- }()
-
- log.Println("starting server")
- server := &http.Server{
- Addr: ":8080",
- Handler: mux,
- ReadTimeout: 1 * time.Minute,
- WriteTimeout: 10 * time.Minute,
- }
- log.Fatal(server.ListenAndServe())
-}
diff --git a/go.mod b/go.mod
index abc4b27f..9a67bd03 100644
--- a/go.mod
+++ b/go.mod
@@ -4,7 +4,6 @@ go 1.21
require (
github.com/GeoNet/kit v0.0.0-20240512234353-4d4493144f60
- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
github.com/gorilla/schema v1.2.0
github.com/lib/pq v1.10.3
)
@@ -30,7 +29,5 @@ require (
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 // indirect
github.com/aws/smithy-go v1.20.1 // indirect
- github.com/golang/protobuf v1.5.4 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
- google.golang.org/protobuf v1.33.0 // indirect
)
diff --git a/go.sum b/go.sum
index deeb7ae9..1c2e1e7e 100644
--- a/go.sum
+++ b/go.sum
@@ -42,12 +42,6 @@ github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw=
github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
-github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
-github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
-github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/gorilla/schema v1.2.0 h1:YufUaxZYCKGFuAq3c96BOhjgd5nmXiOY9NGzF247Tsc=
github.com/gorilla/schema v1.2.0/go.mod h1:kgLaKoK1FELgZqMAVxx/5cbj0kT+57qxUrAlIO2eleU=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
@@ -61,10 +55,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/README.md b/vendor/github.com/GeoNet/kit/seis/sl/README.md
deleted file mode 100644
index f39cfe81..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/README.md
+++ /dev/null
@@ -1,716 +0,0 @@
-
-
-# sl
-`import "github.com/GeoNet/kit/seis/sl"`
-
-* [Overview](#pkg-overview)
-* [Index](#pkg-index)
-
-## Overview
-The sl module has been writen as a lightweight replacement for the C libslink library.
-It is aimed at clients that need to connect and decode data from a seedlink server.
-
-The seedlink code is not a direct replacement for libslink. It can run in two modes, either as a
-raw connection to the client connection (Conn) which allows mechanisms to monitor or have a finer
-control of the SeedLink connection, or in the collection mode (SLink) where a connection is established
-and received miniseed blocks can be processed with a call back function. A context can be passed into
-the collection loop to allow interuption or as a shutdown mechanism. It is not passed to the underlying
-seedlink connection messaging which is managed via a deadline mechanism, e.g. the `SetTimeout` option.
-
-An example Seedlink application can be as simple as:
-
-
- if err := sl.NewSLink().Collect(func(seq string, data []byte) (bool, error) {
- //... process miniseed data
-
- return false, nil
- }); err != nil {
- log.Fatal(err)
- }
-
-A state mechanism is available for the initial connection, although it is the clients responsibility to
-periodically maintain its content.
-
-
-
-
-## Index
-* [Constants](#pkg-constants)
-* [type CollectFunc](#CollectFunc)
-* [type Conn](#Conn)
- * [func NewConn(service string, timeout time.Duration) (*Conn, error)](#NewConn)
- * [func (c *Conn) Collect() (*Packet, error)](#Conn.Collect)
- * [func (c *Conn) CommandCat() ([]byte, error)](#Conn.CommandCat)
- * [func (c *Conn) CommandClose() ([]byte, error)](#Conn.CommandClose)
- * [func (c *Conn) CommandData(sequence string, starttime time.Time) error](#Conn.CommandData)
- * [func (c *Conn) CommandEnd() error](#Conn.CommandEnd)
- * [func (c *Conn) CommandHello() ([]byte, error)](#Conn.CommandHello)
- * [func (c *Conn) CommandId() ([]byte, error)](#Conn.CommandId)
- * [func (c *Conn) CommandSelect(selection string) error](#Conn.CommandSelect)
- * [func (c *Conn) CommandStation(station, network string) error](#Conn.CommandStation)
- * [func (c *Conn) CommandTime(starttime, endtime time.Time) error](#Conn.CommandTime)
- * [func (c *Conn) GetInfo(level string) (*Info, error)](#Conn.GetInfo)
- * [func (c *Conn) GetInfoLevel(level string) ([]byte, error)](#Conn.GetInfoLevel)
-* [type Info](#Info)
- * [func (s *Info) Unmarshal(data []byte) error](#Info.Unmarshal)
-* [type Packet](#Packet)
- * [func NewPacket(data []byte) (*Packet, error)](#NewPacket)
-* [type PacketError](#PacketError)
- * [func NewPacketError(message string) *PacketError](#NewPacketError)
- * [func (e *PacketError) Error() string](#PacketError.Error)
-* [type SLink](#SLink)
- * [func NewSLink(opts ...SLinkOpt) *SLink](#NewSLink)
- * [func (s *SLink) AddState(stations ...Station)](#SLink.AddState)
- * [func (s *SLink) Collect(fn CollectFunc) error](#SLink.Collect)
- * [func (s *SLink) CollectWithContext(ctx context.Context, fn CollectFunc) error](#SLink.CollectWithContext)
- * [func (s *SLink) SetEnd(t time.Time)](#SLink.SetEnd)
- * [func (s *SLink) SetKeepAlive(d time.Duration)](#SLink.SetKeepAlive)
- * [func (s *SLink) SetNetTo(d time.Duration)](#SLink.SetNetTo)
- * [func (s *SLink) SetSelectors(selectors string)](#SLink.SetSelectors)
- * [func (s *SLink) SetSequence(sequence int)](#SLink.SetSequence)
- * [func (s *SLink) SetStart(t time.Time)](#SLink.SetStart)
- * [func (s *SLink) SetState(stations ...Station)](#SLink.SetState)
- * [func (s *SLink) SetStreams(streams string)](#SLink.SetStreams)
- * [func (s *SLink) SetTimeout(d time.Duration)](#SLink.SetTimeout)
-* [type SLinkOpt](#SLinkOpt)
- * [func SetEnd(t time.Time) SLinkOpt](#SetEnd)
- * [func SetKeepAlive(d time.Duration) SLinkOpt](#SetKeepAlive)
- * [func SetNetTo(d time.Duration) SLinkOpt](#SetNetTo)
- * [func SetSelectors(selectors string) SLinkOpt](#SetSelectors)
- * [func SetSequence(sequence int) SLinkOpt](#SetSequence)
- * [func SetServer(v string) SLinkOpt](#SetServer)
- * [func SetStart(t time.Time) SLinkOpt](#SetStart)
- * [func SetState(stations ...Station) SLinkOpt](#SetState)
- * [func SetStreams(streams string) SLinkOpt](#SetStreams)
- * [func SetStrict(strict bool) SLinkOpt](#SetStrict)
- * [func SetTimeout(d time.Duration) SLinkOpt](#SetTimeout)
-* [type State](#State)
- * [func (s *State) Add(station Station)](#State.Add)
- * [func (s *State) Find(stn Station) *Station](#State.Find)
- * [func (s *State) Marshal() ([]byte, error)](#State.Marshal)
- * [func (s *State) ReadFile(path string) error](#State.ReadFile)
- * [func (s *State) Stations() []Station](#State.Stations)
- * [func (s *State) Unmarshal(data []byte) error](#State.Unmarshal)
- * [func (s *State) WriteFile(path string) error](#State.WriteFile)
-* [type Station](#Station)
- * [func (s Station) Key() Station](#Station.Key)
-
-
-#### Package files
-[conn.go](/src/target/conn.go) [doc.go](/src/target/doc.go) [info.go](/src/target/info.go) [packet.go](/src/target/packet.go) [slink.go](/src/target/slink.go) [state.go](/src/target/state.go) [stream.go](/src/target/stream.go)
-
-
-## Constants
-``` go
-const (
- PacketSize = 8 + 512
-)
-```
-
-
-
-
-## type [CollectFunc](/src/target/slink.go?s=4607:4658#L183)
-``` go
-type CollectFunc func(string, []byte) (bool, error)
-```
-CollectFunc is a function run on each returned seedlink packet. It should return a true value
-to stop collecting data without an error message. A non-nil returned error will also stop
-collection but with an assumed errored state.
-
-
-
-
-
-
-
-
-
-
-## type [Conn](/src/target/conn.go?s=1434:1581#L57)
-``` go
-type Conn struct {
- net.Conn
- // contains filtered or unexported fields
-}
-
-```
-
-
-
-
-
-
-### func [NewConn](/src/target/conn.go?s=1773:1839#L71)
-``` go
-func NewConn(service string, timeout time.Duration) (*Conn, error)
-```
-NewConn returns a new connection to the named seedlink server with a given command timeout. It is expected that the
-Close function be called when the connection is no longer required.
-
-
-
-
-
-### func (\*Conn) [Collect](/src/target/conn.go?s=9359:9400#L384)
-``` go
-func (c *Conn) Collect() (*Packet, error)
-```
-Collect returns a seedlink packet if available within the optional timout. Any error returned should be
-checked that it isn't a timeout, this should be handled as appropriate for the request.
-
-
-
-
-### func (\*Conn) [CommandCat](/src/target/conn.go?s=6641:6684#L296)
-``` go
-func (c *Conn) CommandCat() ([]byte, error)
-```
-CommandStationList sends a CAT command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandClose](/src/target/conn.go?s=6492:6537#L291)
-``` go
-func (c *Conn) CommandClose() ([]byte, error)
-```
-CommandClose sends a BYE command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandData](/src/target/conn.go?s=8008:8078#L333)
-``` go
-func (c *Conn) CommandData(sequence string, starttime time.Time) error
-```
-CommandData sends a DATA command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandEnd](/src/target/conn.go?s=9008:9041#L375)
-``` go
-func (c *Conn) CommandEnd() error
-```
-CommandEnd sends an END command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandHello](/src/target/conn.go?s=6349:6394#L286)
-``` go
-func (c *Conn) CommandHello() ([]byte, error)
-```
-CommandHello sends a HELLO command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandId](/src/target/conn.go?s=6206:6248#L281)
-``` go
-func (c *Conn) CommandId() ([]byte, error)
-```
-CommandId sends an INFO ID command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandSelect](/src/target/conn.go?s=7719:7771#L323)
-``` go
-func (c *Conn) CommandSelect(selection string) error
-```
-CommandSelect sends a SELECT command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandStation](/src/target/conn.go?s=6786:6846#L301)
-``` go
-func (c *Conn) CommandStation(station, network string) error
-```
-CommandStation sends a STATION command to the seedlink server.
-
-
-
-
-### func (\*Conn) [CommandTime](/src/target/conn.go?s=8492:8554#L353)
-``` go
-func (c *Conn) CommandTime(starttime, endtime time.Time) error
-```
-CommandTime sends a TIME command to the seedlink server.
-
-
-
-
-### func (\*Conn) [GetInfo](/src/target/conn.go?s=5910:5961#L266)
-``` go
-func (c *Conn) GetInfo(level string) (*Info, error)
-```
-GetInfo requests the seedlink server return an INFO request for the given level. The results
-are returned as a decoded Info pointer, or an error otherwise.
-
-
-
-
-### func (\*Conn) [GetInfoLevel](/src/target/conn.go?s=5417:5474#L252)
-``` go
-func (c *Conn) GetInfoLevel(level string) ([]byte, error)
-```
-GetInfoLevel requests the seedlink server return an INFO request for the given level.
-
-
-
-
-## type [Info](/src/target/info.go?s=40:858#L7)
-``` go
-type Info struct {
- XMLName xml.Name `xml:"seedlink"`
-
- Software string `xml:"software,attr"`
- Organization string `xml:"organization,attr"`
- Started string `xml:"started,attr"`
- Capability []struct {
- Name string `xml:"name,attr"`
- } `xml:"capability"`
- Station []struct {
- Name string `xml:"name,attr"`
- Network string `xml:"network,attr"`
- Description string `xml:"description,attr"`
- BeginSeq string `xml:"begin_seq,attr"`
- EndSeq string `xml:"end_seq,attr"`
- StreamCheck string `xml:"stream_check,attr"`
- Stream []struct {
- Location string `xml:"location,attr"`
- Seedname string `xml:"seedname,attr"`
- Type string `xml:"type,attr"`
- BeginTime string `xml:"begin_time,attr"`
- EndTime string `xml:"end_time,attr"`
- } `xml:"stream"`
- } `xml:"station"`
-}
-
-```
-
-
-
-
-
-
-
-
-
-### func (\*Info) [Unmarshal](/src/target/info.go?s=860:903#L33)
-``` go
-func (s *Info) Unmarshal(data []byte) error
-```
-
-
-
-## type [Packet](/src/target/packet.go?s=64:205#L11)
-``` go
-type Packet struct {
- SL [2]byte // ASCII String == "SL"
- Seq [6]byte // ASCII sequence number
- Data [512]byte // Fixed size payload
-}
-
-```
-
-
-
-
-
-
-### func [NewPacket](/src/target/packet.go?s=411:455#L31)
-``` go
-func NewPacket(data []byte) (*Packet, error)
-```
-
-
-
-
-## type [PacketError](/src/target/packet.go?s=207:250#L17)
-``` go
-type PacketError struct {
- // contains filtered or unexported fields
-}
-
-```
-
-
-
-
-
-
-### func [NewPacketError](/src/target/packet.go?s=252:300#L21)
-``` go
-func NewPacketError(message string) *PacketError
-```
-
-
-
-
-### func (\*PacketError) [Error](/src/target/packet.go?s=351:387#L27)
-``` go
-func (e *PacketError) Error() string
-```
-
-
-
-## type [SLink](/src/target/slink.go?s=156:393#L12)
-``` go
-type SLink struct {
- Server string
- Timeout time.Duration
-
- NetTo time.Duration
- KeepAlive time.Duration
- Strict bool
-
- Start time.Time
- End time.Time
- Sequence int
-
- Streams string
- Selectors string
-
- State []Station
-}
-
-```
-SLink is a wrapper around an SLConn to provide
-handling of timeouts and keep alive messages.
-
-
-
-
-
-
-
-### func [NewSLink](/src/target/slink.go?s=2577:2615#L111)
-``` go
-func NewSLink(opts ...SLinkOpt) *SLink
-```
-NewSlink returns a SLink pointer for the given server, optional settings can be passed as SLinkOpt functions.
-
-
-
-
-
-### func (\*SLink) [AddState](/src/target/slink.go?s=4186:4231#L174)
-``` go
-func (s *SLink) AddState(stations ...Station)
-```
-AddState appends the list of station state information.
-
-
-
-
-### func (\*SLink) [Collect](/src/target/slink.go?s=7891:7936#L301)
-``` go
-func (s *SLink) Collect(fn CollectFunc) error
-```
-Collect calls CollectWithContext with a background Context and a handler function.
-
-
-
-
-### func (\*SLink) [CollectWithContext](/src/target/slink.go?s=5499:5576#L194)
-``` go
-func (s *SLink) CollectWithContext(ctx context.Context, fn CollectFunc) error
-```
-CollectWithContext makes a connection to the seedlink server, recovers initial client information and
-the sets the connection into streaming mode. Recovered packets are passed to a given function
-to process, if this function returns a true value or a non-nil error value the collection will
-stop and the function will return.
-If a call returns with a timeout error a check is made whether a keepalive is needed or whether
-the function should return as no data has been received for an extended period of time. It is
-assumed the calling function will attempt a reconnection with an updated set of options, specifically
-any start or end time parameters. The Context parameter can be used to to cancel the data collection
-independent of the function as this may never be called if no appropriate has been received.
-
-
-
-
-### func (\*SLink) [SetEnd](/src/target/slink.go?s=3620:3655#L154)
-``` go
-func (s *SLink) SetEnd(t time.Time)
-```
-SetEndTime sets the initial end time of the request.
-
-
-
-
-### func (\*SLink) [SetKeepAlive](/src/target/slink.go?s=3237:3282#L139)
-``` go
-func (s *SLink) SetKeepAlive(d time.Duration)
-```
-SetKeepAlive sets the time interval needed without any packets for
-a check message is sent.
-
-
-
-
-### func (\*SLink) [SetNetTo](/src/target/slink.go?s=3079:3120#L133)
-``` go
-func (s *SLink) SetNetTo(d time.Duration)
-```
-SetNetTo sets the overall timeout after which a reconnection is tried.
-
-
-
-
-### func (\*SLink) [SetSelectors](/src/target/slink.go?s=3891:3937#L164)
-``` go
-func (s *SLink) SetSelectors(selectors string)
-```
-SetSelectors sets the channel selectors used for seedlink connections.
-
-
-
-
-### func (\*SLink) [SetSequence](/src/target/slink.go?s=3369:3410#L144)
-``` go
-func (s *SLink) SetSequence(sequence int)
-```
-SetSequence sets the start sequence for the initial request.
-
-
-
-
-### func (\*SLink) [SetStart](/src/target/slink.go?s=3502:3539#L149)
-``` go
-func (s *SLink) SetStart(t time.Time)
-```
-SetStartTime sets the initial starting time of the request.
-
-
-
-
-### func (\*SLink) [SetState](/src/target/slink.go?s=4032:4077#L169)
-``` go
-func (s *SLink) SetState(stations ...Station)
-```
-SetState sets the default list of station state information.
-
-
-
-
-### func (\*SLink) [SetStreams](/src/target/slink.go?s=3748:3790#L159)
-``` go
-func (s *SLink) SetStreams(streams string)
-```
-SetStreams sets the channel streams used for seedlink connections.
-
-
-
-
-### func (\*SLink) [SetTimeout](/src/target/slink.go?s=2941:2984#L128)
-``` go
-func (s *SLink) SetTimeout(d time.Duration)
-```
-SetTimeout sets the timeout value used for connection requests.
-
-
-
-
-## type [SLinkOpt](/src/target/slink.go?s=460:486#L31)
-``` go
-type SLinkOpt func(*SLink)
-```
-SLinkOpt is a function for setting SLink internal parameters.
-
-
-
-
-
-
-
-### func [SetEnd](/src/target/slink.go?s=1593:1626#L76)
-``` go
-func SetEnd(t time.Time) SLinkOpt
-```
-SetEndTime sets the end of the initial request from the seedlink server.
-
-
-### func [SetKeepAlive](/src/target/slink.go?s=1096:1139#L55)
-``` go
-func SetKeepAlive(d time.Duration) SLinkOpt
-```
-SetKeepAlive sets the time to send an ID message to server if no packets have been received.
-
-
-### func [SetNetTo](/src/target/slink.go?s=913:952#L48)
-``` go
-func SetNetTo(d time.Duration) SLinkOpt
-```
-SetNetTo sets the time to after which the connection is closed after no packets have been received.
-
-
-### func [SetSelectors](/src/target/slink.go?s=1943:1987#L90)
-``` go
-func SetSelectors(selectors string) SLinkOpt
-```
-SetSelectors sets the default list of selectors to use for seedlink stream requests.
-
-
-### func [SetSequence](/src/target/slink.go?s=1255:1294#L62)
-``` go
-func SetSequence(sequence int) SLinkOpt
-```
-SetSequence sets the start sequence for the initial request.
-
-
-### func [SetServer](/src/target/slink.go?s=556:589#L34)
-``` go
-func SetServer(v string) SLinkOpt
-```
-SetServer sets the seedlink server in the form of "host<:port>".
-
-
-### func [SetStart](/src/target/slink.go?s=1428:1463#L69)
-``` go
-func SetStart(t time.Time) SLinkOpt
-```
-SetStart sets the start of the initial request from the seedlink server.
-
-
-### func [SetState](/src/target/slink.go?s=2152:2195#L97)
-``` go
-func SetState(stations ...Station) SLinkOpt
-```
-SetState sets the default list of station state information, only used during the initial connection.
-
-
-### func [SetStreams](/src/target/slink.go?s=1759:1799#L83)
-``` go
-func SetStreams(streams string) SLinkOpt
-```
-SetStreams sets the list of stations and streams to from the seedlink server.
-
-
-### func [SetStrict](/src/target/slink.go?s=2374:2410#L104)
-``` go
-func SetStrict(strict bool) SLinkOpt
-```
-SetStrict sets whether a package error should restart the collection system, rather than be skipped.
-
-
-### func [SetTimeout](/src/target/slink.go?s=719:760#L41)
-``` go
-func SetTimeout(d time.Duration) SLinkOpt
-```
-SetTimeout sets the timeout for seedlink server commands and packet requests.
-
-
-
-
-
-## type [State](/src/target/state.go?s=637:719#L29)
-``` go
-type State struct {
- // contains filtered or unexported fields
-}
-
-```
-State maintains the current state information for a seedlink connection.
-
-
-
-
-
-
-
-
-
-
-### func (\*State) [Add](/src/target/state.go?s=1348:1384#L62)
-``` go
-func (s *State) Add(station Station)
-```
-Add inserts or updates the station collection details into the connection state.
-
-
-
-
-### func (\*State) [Find](/src/target/state.go?s=1655:1697#L75)
-``` go
-func (s *State) Find(stn Station) *Station
-```
-
-
-
-### func (\*State) [Marshal](/src/target/state.go?s=2177:2218#L106)
-``` go
-func (s *State) Marshal() ([]byte, error)
-```
-
-
-
-### func (\*State) [ReadFile](/src/target/state.go?s=2339:2382#L116)
-``` go
-func (s *State) ReadFile(path string) error
-```
-
-
-
-### func (\*State) [Stations](/src/target/state.go?s=794:830#L37)
-``` go
-func (s *State) Stations() []Station
-```
-Stations returns a sorted slice of current station state information.
-
-
-
-
-### func (\*State) [Unmarshal](/src/target/state.go?s=1971:2015#L92)
-``` go
-func (s *State) Unmarshal(data []byte) error
-```
-
-
-
-### func (\*State) [WriteFile](/src/target/state.go?s=2565:2609#L134)
-``` go
-func (s *State) WriteFile(path string) error
-```
-
-
-
-## type [Station](/src/target/state.go?s=180:358#L13)
-``` go
-type Station struct {
- Network string `json:"network"`
- Station string `json:"station"`
- Sequence int `json:"sequence"`
- Timestamp time.Time `json:"timestamp"`
-}
-
-```
-Station stores the latest state information for the given network and station combination.
-
-
-
-
-
-
-
-
-
-
-### func (Station) [Key](/src/target/state.go?s=461:491#L21)
-``` go
-func (s Station) Key() Station
-```
-Key returns a blank Station except for the Network and Station entries, this useful as a map key.
-
-
-
-
-
-
-
-
-- - -
-Generated by [godoc2md](http://godoc.org/github.com/davecheney/godoc2md)
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/conn.go b/vendor/github.com/GeoNet/kit/seis/sl/conn.go
deleted file mode 100644
index c67d5db7..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/conn.go
+++ /dev/null
@@ -1,391 +0,0 @@
-package sl
-
-import (
- "bytes"
- "encoding/binary"
- "fmt"
- "io"
- "net"
- "regexp"
- "strconv"
- "strings"
- "time"
-)
-
-const versionFinderString = `^SeedLink v(\d)\.(\d)`
-const timeFormat = "2006,01,02,15,04,05"
-
-var versionFinder = regexp.MustCompile(versionFinderString)
-
-const (
- cmdHello = "HELLO"
- cmdCat = "CAT" //Not implemented by Ringserver
- cmdClose = "BYE"
-
- cmdStation = "STATION" //Enables multi-station mode: STATION station code [network code]
- cmdEnd = "END" //End of handshaking for multi-station mode
-
- cmdSelect = "SELECT" // SELECT [pattern]
- cmdData = "DATA" // DATA [n [begin time]]
- //cmdFetch = "FETCH" // FETCH [n [begin time]]
- cmdTime = "TIME" // TIME [begin time [end time]]
-
- cmdInfoId = "INFO ID"
- cmdInfoCapabilities = "INFO CAPABILITIES"
- cmdInfoStations = "INFO STATIONS"
- cmdInfoStreams = "INFO STREAMS"
- cmdInfoGaps = "INFO GAPS"
- cmdInfoConnections = "INFO CONNECTIONS"
- cmdInfoAll = "INFO ALL"
-
- cmdCrLf = "\r\n"
-)
-
-var infoLevel = map[string]struct {
- capability string
- command string
-}{
- "ID": {"info:id", cmdInfoId},
- "CAPABILITIES": {"info:capabilities", cmdInfoCapabilities},
- "STATIONS": {"info:stations", cmdInfoStations},
- "STREAMS": {"info:streams", cmdInfoStreams},
- "GAPS": {"info:gaps", cmdInfoGaps},
- "CONNECTIONS": {"info:connections", cmdInfoConnections},
- "ALL": {"info:all", cmdInfoAll},
-}
-
-const capabilityWildCard = "NSWILDCARD"
-
-type Conn struct {
- net.Conn
- timeout time.Duration
-
- rawVersion string
- version struct {
- major, minor int
- }
-
- capabilities map[string]bool
-}
-
-// NewConn returns a new connection to the named seedlink server with a given command timeout. It is expected that the
-// Close function be called when the connection is no longer required.
-func NewConn(service string, timeout time.Duration) (*Conn, error) {
- if !strings.Contains(service, ":") {
- service = net.JoinHostPort(service, "18000")
- }
-
- client, err := net.Dial("tcp", service)
- if err != nil {
- return nil, err
- }
-
- conn := Conn{
- Conn: client,
- timeout: timeout,
- }
-
- if err := conn.getCapabilities(); err != nil {
- _ = conn.Close()
-
- return nil, err
- }
-
- return &conn, nil
-}
-
-func (c *Conn) setDeadline() error {
- if !(c.timeout > 0) {
- return nil
- }
- return c.SetDeadline(time.Now().Add(c.timeout))
-}
-
-func (c *Conn) readPacket() (*Packet, error) {
-
- var buf bytes.Buffer
- if _, err := io.CopyN(&buf, c, PacketSize); err != nil {
- return nil, err
- }
-
- pkt, err := NewPacket(buf.Bytes())
- if err != nil {
- return nil, err
- }
-
- return pkt, nil
-}
-
-func (c *Conn) writeString(str string) (int, error) {
- if err := c.setDeadline(); err != nil {
- return 0, err
- }
- return c.Write([]byte(str + cmdCrLf))
-}
-
-func (c *Conn) infoCommand(cmd string) ([]byte, error) {
-
- if _, err := c.writeString(cmd); err != nil {
- return nil, err
- }
-
- var buf bytes.Buffer
-
- for {
- pkt, err := c.readPacket()
- if err != nil {
- return nil, err
- }
- offset := binary.BigEndian.Uint16(pkt.Data[44:46])
- buf.WriteString(string(pkt.Data[offset:]))
-
- if pkt.Seq[5] != '*' {
- break
- }
-
- }
-
- return buf.Bytes(), nil
-}
-
-func (c *Conn) issueCommand(cmd string) ([]byte, error) {
-
- if _, err := c.writeString(cmd); err != nil {
- return nil, err
- }
-
- b := make([]byte, 512)
-
- i, err := c.Read(b)
- if err != nil {
- return nil, err
- }
-
- if s := string(b[:i]); strings.HasPrefix(s, "ERROR") {
- return nil, fmt.Errorf("got ERROR response: %v", s)
- }
-
- return b[:i], nil
-}
-
-func (c *Conn) modifierCommand(cmd string) error {
-
- if _, err := c.writeString(cmd); err != nil {
- return err
- }
-
- b := make([]byte, 10)
-
- i, err := c.Read(b)
- if err != nil {
- return err
- }
-
- if s := string(b[:i]); !strings.HasPrefix(s, "OK") {
- return fmt.Errorf("non-OK response from server: %v", strings.TrimSpace(s))
- }
-
- return nil
-}
-
-func (c *Conn) actionCommand(cmd string) error {
-
- if _, err := c.writeString(cmd); err != nil {
- return err
- }
-
- return nil
-}
-
-func parseSeedlinkVersion(hello string) (int, int) {
- match := versionFinder.FindStringSubmatch(hello)
-
- if len(match) == 0 {
- return 0, 0
- }
-
- major, _ := strconv.ParseInt(match[1], 10, 32)
- minor, _ := strconv.ParseInt(match[2], 10, 32)
-
- return int(major), int(minor)
-}
-
-func (c *Conn) getCapabilities() error {
- hello, err := c.issueCommand(cmdHello) // Use this to get some initial version/capability information.
- if err != nil {
- return fmt.Errorf("failed to issue a 'hello' command: %v", err)
- }
-
- c.rawVersion = string(hello)
- c.capabilities = make(map[string]bool)
-
- // h is like:
- // SeedLink v3.1 (2017.052 RingServer) :: SLPROTO:3.1 CAP EXTREPLY NSWILDCARD BATCH WS:13
- // GeoNet SeedLink Server
- // TODO: Can we implement EXTREPLY CAP reporting?
- // TODO: Investigate BATCH
-
- c.version.major, c.version.minor = parseSeedlinkVersion(string(hello))
-
- if caps := strings.Split(strings.Split(string(hello), cmdCrLf)[0], "::"); len(caps) == 2 {
- for _, hc := range strings.Split(caps[1], " ") {
- c.capabilities[hc] = true
- }
- }
-
- capinfo, err := c.infoCommand(cmdInfoCapabilities)
- if err != nil {
- return fmt.Errorf("unable to list capabilities: %v", err)
- }
-
- var info Info
- if err := info.Unmarshal(capinfo); err != nil {
- return fmt.Errorf("could not parse capabilities XML: %v", err)
- }
-
- for _, i := range info.Capability {
- c.capabilities[i.Name] = true
- }
-
- return nil
-}
-
-// GetInfoLevel requests the seedlink server return an INFO request for the given level.
-func (c *Conn) GetInfoLevel(level string) ([]byte, error) {
- info, ok := infoLevel[strings.ToUpper(level)]
- if !ok {
- return nil, fmt.Errorf("unknown info level: %v", level)
- }
- if !c.capabilities[info.capability] {
- return nil, fmt.Errorf("capability %s not present", info.capability)
- }
-
- return c.infoCommand(info.command)
-}
-
-// GetInfo requests the seedlink server return an INFO request for the given level. The results
-// are returned as a decoded Info pointer, or an error otherwise.
-func (c *Conn) GetInfo(level string) (*Info, error) {
- data, err := c.GetInfoLevel(level)
- if err != nil {
- return nil, err
- }
-
- var info Info
- if err := info.Unmarshal(data); err != nil {
- return nil, err
- }
-
- return &info, nil
-}
-
-// CommandId sends an INFO ID command to the seedlink server.
-func (c *Conn) CommandId() ([]byte, error) {
- return c.infoCommand(cmdInfoId)
-}
-
-// CommandHello sends a HELLO command to the seedlink server.
-func (c *Conn) CommandHello() ([]byte, error) {
- return c.infoCommand(cmdHello)
-}
-
-// CommandClose sends a BYE command to the seedlink server.
-func (c *Conn) CommandClose() ([]byte, error) {
- return c.infoCommand(cmdClose)
-}
-
-// CommandStationList sends a CAT command to the seedlink server.
-func (c *Conn) CommandCat() ([]byte, error) {
- return c.infoCommand(cmdCat)
-}
-
-// CommandStation sends a STATION command to the seedlink server.
-func (c *Conn) CommandStation(station, network string) error {
- if strings.ContainsAny(station, "*?") && !c.capabilities[capabilityWildCard] {
- return fmt.Errorf("station selector '%s' contains wildcards but the server does not report capability NSWILDCARD", station)
- }
- if strings.ContainsAny(network, "*?") && !c.capabilities[capabilityWildCard] {
- return fmt.Errorf("network selector '%s' contains wildcards but the server does not report capability NSWILDCARD", network)
- }
- switch {
- case network != "":
- if err := c.modifierCommand(fmt.Sprintf("%s %s %s", cmdStation, station, network)); err != nil {
- return fmt.Errorf("error sending STATION %s %s: %v", station, network, err)
- }
- default:
- if err := c.modifierCommand(fmt.Sprintf("%s %s", cmdStation, station)); err != nil {
- return fmt.Errorf("error sending STATION %s: %v", station, err)
- }
- }
-
- return nil
-}
-
-// CommandSelect sends a SELECT command to the seedlink server.
-func (c *Conn) CommandSelect(selection string) error {
-
- if err := c.modifierCommand(fmt.Sprintf("%s %s", cmdSelect, selection)); err != nil {
- return fmt.Errorf("error sending SELECT %s: %v", selection, err)
- }
-
- return nil
-}
-
-// CommandData sends a DATA command to the seedlink server.
-func (c *Conn) CommandData(sequence string, starttime time.Time) error {
-
- var dc string
- switch {
- case sequence == "":
- dc = cmdData
- case starttime.IsZero():
- dc = fmt.Sprintf("%s %s\n", cmdData, sequence)
- default:
- dc = fmt.Sprintf("%s %s %s\n", cmdData, sequence, starttime.Format(timeFormat))
- }
-
- if err := c.modifierCommand(dc); err != nil {
- return fmt.Errorf("error sending DATA: %v", err)
- }
-
- return nil
-}
-
-// CommandTime sends a TIME command to the seedlink server.
-func (c *Conn) CommandTime(starttime, endtime time.Time) error {
-
- if starttime.IsZero() {
- return nil
- }
-
- var tc string
- switch {
- case endtime.IsZero():
- tc = fmt.Sprintf("%s %s\n", cmdTime, starttime.Format(timeFormat))
- default:
- tc = fmt.Sprintf("%s %s %s\n", cmdTime, starttime.Format(timeFormat), endtime.Format(timeFormat))
- }
-
- if err := c.modifierCommand(tc); err != nil {
- return fmt.Errorf("error sending TIME: %v", err)
- }
-
- return nil
-}
-
-// CommandEnd sends an END command to the seedlink server.
-func (c *Conn) CommandEnd() error {
- if err := c.actionCommand(cmdEnd); err != nil {
- return fmt.Errorf("error sending END: %v", err)
- }
- return nil
-}
-
-// Collect returns a seedlink packet if available within the optional timout. Any error returned should be
-// checked that it isn't a timeout, this should be handled as appropriate for the request.
-func (c *Conn) Collect() (*Packet, error) {
- if err := c.setDeadline(); err != nil {
- return nil, err
- }
- return c.readPacket()
-}
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/doc.go b/vendor/github.com/GeoNet/kit/seis/sl/doc.go
deleted file mode 100644
index faac21ab..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/doc.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// The sl module has been writen as a lightweight replacement for the C libslink library.
-// It is aimed at clients that need to connect and decode data from a seedlink server.
-//
-// The seedlink code is not a direct replacement for libslink. It can run in two modes, either as a
-// raw connection to the client connection (Conn) which allows mechanisms to monitor or have a finer
-// control of the SeedLink connection, or in the collection mode (SLink) where a connection is established
-// and received miniseed blocks can be processed with a call back function. A context can be passed into
-// the collection loop to allow interuption or as a shutdown mechanism. It is not passed to the underlying
-// seedlink connection messaging which is managed via a deadline mechanism, e.g. the `SetTimeout` option.
-//
-// An example Seedlink application can be as simple as:
-//
-// if err := sl.NewSLink().Collect(func(seq string, data []byte) (bool, error) {
-// //... process miniseed data
-//
-// return false, nil
-// }); err != nil {
-// log.Fatal(err)
-// }
-//
-// A state mechanism is available for the initial connection, although it is the clients responsibility to
-// periodically maintain its content.
-//
-package sl
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/info.go b/vendor/github.com/GeoNet/kit/seis/sl/info.go
deleted file mode 100644
index 1e9de479..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/info.go
+++ /dev/null
@@ -1,35 +0,0 @@
-package sl
-
-import (
- "encoding/xml"
-)
-
-type Info struct {
- XMLName xml.Name `xml:"seedlink"`
-
- Software string `xml:"software,attr"`
- Organization string `xml:"organization,attr"`
- Started string `xml:"started,attr"`
- Capability []struct {
- Name string `xml:"name,attr"`
- } `xml:"capability"`
- Station []struct {
- Name string `xml:"name,attr"`
- Network string `xml:"network,attr"`
- Description string `xml:"description,attr"`
- BeginSeq string `xml:"begin_seq,attr"`
- EndSeq string `xml:"end_seq,attr"`
- StreamCheck string `xml:"stream_check,attr"`
- Stream []struct {
- Location string `xml:"location,attr"`
- Seedname string `xml:"seedname,attr"`
- Type string `xml:"type,attr"`
- BeginTime string `xml:"begin_time,attr"`
- EndTime string `xml:"end_time,attr"`
- } `xml:"stream"`
- } `xml:"station"`
-}
-
-func (s *Info) Unmarshal(data []byte) error {
- return xml.Unmarshal(data, s)
-}
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/packet.go b/vendor/github.com/GeoNet/kit/seis/sl/packet.go
deleted file mode 100644
index ce879208..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/packet.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package sl
-
-import (
- "fmt"
-)
-
-const (
- PacketSize = 8 + 512
-)
-
-type Packet struct {
- SL [2]byte // ASCII String == "SL"
- Seq [6]byte // ASCII sequence number
- Data [512]byte // Fixed size payload
-}
-
-type PacketError struct {
- message string
-}
-
-func NewPacketError(message string) *PacketError {
- return &PacketError{
- message: message,
- }
-}
-
-func (e *PacketError) Error() string {
- return e.message
-}
-
-func NewPacket(data []byte) (*Packet, error) {
- if l := len(data); l < PacketSize {
- return nil, NewPacketError(fmt.Sprintf("invalid packet data length: %d", l))
- }
- if data[0] != 'S' || data[1] != 'L' {
- return nil, NewPacketError(fmt.Sprintf("invalid packet header tag: %v", string(data[0:2])))
- }
-
- var pkt Packet
-
- copy(pkt.SL[:], data[0:2])
- copy(pkt.Seq[:], data[2:8])
- copy(pkt.Data[:], data[8:])
-
- return &pkt, nil
-}
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/slink.go b/vendor/github.com/GeoNet/kit/seis/sl/slink.go
deleted file mode 100644
index 74f51368..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/slink.go
+++ /dev/null
@@ -1,303 +0,0 @@
-package sl
-
-import (
- "context"
- "fmt"
- "net"
- "time"
-)
-
-// SLink is a wrapper around an SLConn to provide
-// handling of timeouts and keep alive messages.
-type SLink struct {
- Server string
- Timeout time.Duration
-
- NetTo time.Duration
- KeepAlive time.Duration
- Strict bool
-
- Start time.Time
- End time.Time
- Sequence int
-
- Streams string
- Selectors string
-
- State []Station
-}
-
-// SLinkOpt is a function for setting SLink internal parameters.
-type SLinkOpt func(*SLink)
-
-// SetServer sets the seedlink server in the form of "host<:port>".
-func SetServer(v string) SLinkOpt {
- return func(s *SLink) {
- s.Server = v
- }
-}
-
-// SetTimeout sets the timeout for seedlink server commands and packet requests.
-func SetTimeout(d time.Duration) SLinkOpt {
- return func(s *SLink) {
- s.Timeout = d
- }
-}
-
-// SetNetTo sets the time to after which the connection is closed after no packets have been received.
-func SetNetTo(d time.Duration) SLinkOpt {
- return func(s *SLink) {
- s.NetTo = d
- }
-}
-
-// SetKeepAlive sets the time to send an ID message to server if no packets have been received.
-func SetKeepAlive(d time.Duration) SLinkOpt {
- return func(s *SLink) {
- s.KeepAlive = d
- }
-}
-
-// SetSequence sets the start sequence for the initial request.
-func SetSequence(sequence int) SLinkOpt {
- return func(s *SLink) {
- s.Sequence = sequence
- }
-}
-
-// SetStart sets the start of the initial request from the seedlink server.
-func SetStart(t time.Time) SLinkOpt {
- return func(s *SLink) {
- s.Start = t.UTC()
- }
-}
-
-// SetEndTime sets the end of the initial request from the seedlink server.
-func SetEnd(t time.Time) SLinkOpt {
- return func(s *SLink) {
- s.End = t.UTC()
- }
-}
-
-// SetStreams sets the list of stations and streams to from the seedlink server.
-func SetStreams(streams string) SLinkOpt {
- return func(s *SLink) {
- s.Streams = streams
- }
-}
-
-// SetSelectors sets the default list of selectors to use for seedlink stream requests.
-func SetSelectors(selectors string) SLinkOpt {
- return func(s *SLink) {
- s.Selectors = selectors
- }
-}
-
-// SetState sets the default list of station state information, only used during the initial connection.
-func SetState(stations ...Station) SLinkOpt {
- return func(s *SLink) {
- s.State = append(s.State, stations...)
- }
-}
-
-// SetStrict sets whether a package error should restart the collection system, rather than be skipped.
-func SetStrict(strict bool) SLinkOpt {
- return func(s *SLink) {
- s.Strict = strict
- }
-}
-
-// NewSlink returns a SLink pointer for the given server, optional settings can be passed as SLinkOpt functions.
-func NewSLink(opts ...SLinkOpt) *SLink {
- sl := SLink{
- Server: "localhost:18000",
- Streams: "*_*",
- Selectors: "???",
- Timeout: 5 * time.Second,
- NetTo: 300 * time.Second,
- KeepAlive: 30 * time.Second,
- Sequence: -1,
- }
- for _, opt := range opts {
- opt(&sl)
- }
- return &sl
-}
-
-// SetTimeout sets the timeout value used for connection requests.
-func (s *SLink) SetTimeout(d time.Duration) {
- s.Timeout = d
-}
-
-// SetNetTo sets the overall timeout after which a reconnection is tried.
-func (s *SLink) SetNetTo(d time.Duration) {
- s.NetTo = d
-}
-
-// SetKeepAlive sets the time interval needed without any packets for
-// a check message is sent.
-func (s *SLink) SetKeepAlive(d time.Duration) {
- s.KeepAlive = d
-}
-
-// SetSequence sets the start sequence for the initial request.
-func (s *SLink) SetSequence(sequence int) {
- s.Sequence = sequence
-}
-
-// SetStartTime sets the initial starting time of the request.
-func (s *SLink) SetStart(t time.Time) {
- s.Start = t.UTC()
-}
-
-// SetEndTime sets the initial end time of the request.
-func (s *SLink) SetEnd(t time.Time) {
- s.End = t.UTC()
-}
-
-// SetStreams sets the channel streams used for seedlink connections.
-func (s *SLink) SetStreams(streams string) {
- s.Streams = streams
-}
-
-// SetSelectors sets the channel selectors used for seedlink connections.
-func (s *SLink) SetSelectors(selectors string) {
- s.Selectors = selectors
-}
-
-// SetState sets the default list of station state information.
-func (s *SLink) SetState(stations ...Station) {
- s.State = append([]Station{}, stations...)
-}
-
-// AddState appends the list of station state information.
-func (s *SLink) AddState(stations ...Station) {
- s.State = append(s.State, stations...)
-}
-
-// NewSlink returns a SLink pointer for the given server, optional settings can be passed
-
-// CollectFunc is a function run on each returned seedlink packet. It should return a true value
-// to stop collecting data without an error message. A non-nil returned error will also stop
-// collection but with an assumed errored state.
-type CollectFunc func(string, []byte) (bool, error)
-
-// CollectWithContext makes a connection to the seedlink server, recovers initial client information and
-// the sets the connection into streaming mode. Recovered packets are passed to a given function
-// to process, if this function returns a true value or a non-nil error value the collection will
-// stop and the function will return.
-// If a call returns with a timeout error a check is made whether a keepalive is needed or whether
-// the function should return as no data has been received for an extended period of time. It is
-// assumed the calling function will attempt a reconnection with an updated set of options, specifically
-// any start or end time parameters. The Context parameter can be used to to cancel the data collection
-// independent of the function as this may never be called if no appropriate has been received.
-func (s *SLink) CollectWithContext(ctx context.Context, fn CollectFunc) error {
- ctx, cancel := context.WithCancel(ctx)
- defer cancel()
-
- var state State
- for _, v := range s.State {
- state.Add(v)
- }
-
- list, err := decodeStreams(s.Streams, s.Selectors)
- if err != nil {
- return err
- }
-
- conn, err := NewConn(s.Server, s.Timeout)
- if err != nil {
- return err
- }
- defer conn.Close()
-
- for _, l := range list {
- if err := conn.CommandStation(l.station, l.network); err != nil {
- return err
- }
-
- if err := conn.CommandSelect(l.selection); err != nil {
- return err
- }
-
- sequence, starttime := s.Sequence, s.Start
- if v := state.Find(Station{Network: l.network, Station: l.station}); v != nil {
- sequence, starttime = v.Sequence, v.Timestamp
- }
-
- switch {
- case !s.End.IsZero():
- if err := conn.CommandTime(s.Start, s.End); err != nil {
- return err
- }
- // there may be a sequence number
- case !(sequence < 0):
- //convert the next sequence number into uppercase hex
- seq := fmt.Sprintf("%06X", (s.Sequence+1)&0xffffff)
- if err := conn.CommandData(seq, starttime); err != nil {
- return err
- }
- default:
- // or check a possible start time
- if err := conn.CommandTime(starttime, time.Time{}); err != nil {
- return err
- }
- }
- }
- if err := conn.CommandEnd(); err != nil {
- return err
- }
-
- last := time.Now()
-
-loop:
- for {
- select {
- case <-ctx.Done():
- break loop
- default:
- switch pkt, err := conn.Collect(); {
- case err != nil:
- switch err := err.(type) {
- case net.Error:
- switch {
- case err.Timeout():
- // hit the limit so close the connection
- if s.NetTo > 0 && s.NetTo < time.Since(last) {
- return err
- }
- // may be time for a keep alive
- if s.KeepAlive > 0 && s.KeepAlive < time.Since(last) {
- // send an ID request, ignore any results other than an error
- if _, err := conn.CommandId(); err != nil {
- return err
- }
- last = time.Now()
- }
- default:
- // not a timeout
- return err
- }
- case *PacketError:
- if s.Strict {
- return err
- }
- default:
- return err
- }
- case pkt != nil:
- if stop, err := fn(string(pkt.Seq[:]), pkt.Data[:]); err != nil || stop {
- return err
- }
- last = time.Now()
- }
- }
- }
-
- return nil
-}
-
-// Collect calls CollectWithContext with a background Context and a handler function.
-func (s *SLink) Collect(fn CollectFunc) error {
- return s.CollectWithContext(context.Background(), fn)
-}
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/state.go b/vendor/github.com/GeoNet/kit/seis/sl/state.go
deleted file mode 100644
index d0a5918d..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/state.go
+++ /dev/null
@@ -1,150 +0,0 @@
-package sl
-
-import (
- "encoding/json"
- "os"
- "path"
- "sort"
- "sync"
- "time"
-)
-
-// Station stores the latest state information for the given network and station combination.
-type Station struct {
- Network string `json:"network"`
- Station string `json:"station"`
- Sequence int `json:"sequence"`
- Timestamp time.Time `json:"timestamp"`
-}
-
-// Key returns a blank Station except for the Network and Station entries, this useful as a map key.
-func (s Station) Key() Station {
- return Station{
- Network: s.Network,
- Station: s.Station,
- }
-}
-
-// State maintains the current state information for a seedlink connection.
-type State struct {
- mu sync.Mutex
- once sync.Once
-
- state map[Station]Station
-}
-
-// Stations returns a sorted slice of current station state information.
-func (s *State) Stations() []Station {
- s.mu.Lock()
- defer s.mu.Unlock()
-
- var stations []Station
- for _, v := range s.state {
- stations = append(stations, v)
- }
- sort.Slice(stations, func(i, j int) bool {
- switch {
- case stations[i].Network < stations[j].Network:
- return true
- case stations[i].Network > stations[j].Network:
- return false
- case stations[i].Station < stations[j].Station:
- return true
- default:
- return false
- }
- })
-
- return stations
-}
-
-// Add inserts or updates the station collection details into the connection state.
-func (s *State) Add(station Station) {
- s.mu.Lock()
- defer s.mu.Unlock()
-
- s.once.Do(func() {
- s.state = make(map[Station]Station)
- })
-
- // there is an edge case when using wildcard options are in use and
- // different sampling rates may generate timestamp mismatches.
- s.state[station.Key()] = station
-}
-
-func (s *State) Find(stn Station) *Station {
- s.mu.Lock()
- defer s.mu.Unlock()
-
- for k, v := range s.state {
- if ok, err := path.Match(stn.Network, k.Network); err != nil || !ok {
- continue
- }
- if ok, err := path.Match(stn.Station, k.Station); err != nil || !ok {
- continue
- }
- return &v
- }
-
- return nil
-}
-
-func (s *State) Unmarshal(data []byte) error {
-
- var stations []Station
- if err := json.Unmarshal(data, &stations); err != nil {
- return err
- }
-
- for _, v := range stations {
- s.Add(v)
- }
-
- return nil
-}
-
-func (s *State) Marshal() ([]byte, error) {
-
- data, err := json.MarshalIndent(s.Stations(), "", " ")
- if err != nil {
- return nil, err
- }
-
- return data, nil
-}
-
-func (s *State) ReadFile(path string) error {
-
- if path == "" {
- return nil
- }
-
- data, err := os.ReadFile(path)
- if err != nil {
- return err
- }
-
- if err := s.Unmarshal(data); err != nil {
- return err
- }
-
- return nil
-}
-
-func (s *State) WriteFile(path string) error {
-
- if path == "" {
- return nil
- }
-
- data, err := s.Marshal()
- if err != nil {
- return err
- }
-
- if err := os.WriteFile(path, data, 0644); err != nil { // nolint: gosec
- return err
- }
-
- return nil
-}
diff --git a/vendor/github.com/GeoNet/kit/seis/sl/stream.go b/vendor/github.com/GeoNet/kit/seis/sl/stream.go
deleted file mode 100644
index 3ca70fd7..00000000
--- a/vendor/github.com/GeoNet/kit/seis/sl/stream.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package sl
-
-import (
- "strings"
-)
-
-type slStream struct {
- network string
- station string
- selection string
-}
-
-func decodeStreams(streams, selectors string) ([]slStream, error) {
-
- var list []slStream
- for _, sl := range strings.Split(streams, ",") {
- stnSplit := strings.Split(sl, ":")
- var selectCmd []string
- switch {
- case len(stnSplit) > 1:
- selectCmd = strings.Fields(stnSplit[1])
- case selectors != "":
- selectCmd = strings.Split(selectors, " ")
- default:
- selectCmd = []string{"?????"}
- }
-
- var network, station string
- switch netSplit := strings.Split(stnSplit[0], "_"); {
- case len(netSplit) == 1:
- station, network = netSplit[0], "*"
- default:
- station, network = netSplit[1], netSplit[0]
- }
-
- for _, sel := range selectCmd {
- list = append(list, slStream{
- station: station,
- network: network,
- selection: sel,
- })
- }
- }
-
- return list, nil
-}
diff --git a/vendor/github.com/golang/groupcache/.gitignore b/vendor/github.com/golang/groupcache/.gitignore
deleted file mode 100644
index b25c15b8..00000000
--- a/vendor/github.com/golang/groupcache/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*~
diff --git a/vendor/github.com/golang/groupcache/.travis.yml b/vendor/github.com/golang/groupcache/.travis.yml
deleted file mode 100644
index 67492579..00000000
--- a/vendor/github.com/golang/groupcache/.travis.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-language: go
-go_import_path: github.com/golang/groupcache
-
-os: linux
-dist: trusty
-sudo: false
-
-script:
- - go test ./...
-
-go:
- - 1.9.x
- - 1.10.x
- - 1.11.x
- - master
-
-cache:
- directories:
- - $GOPATH/pkg
diff --git a/vendor/github.com/golang/groupcache/LICENSE b/vendor/github.com/golang/groupcache/LICENSE
deleted file mode 100644
index 37ec93a1..00000000
--- a/vendor/github.com/golang/groupcache/LICENSE
+++ /dev/null
@@ -1,191 +0,0 @@
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and
-distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright
-owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities
-that control, are controlled by, or are under common control with that entity.
-For the purposes of this definition, "control" means (i) the power, direct or
-indirect, to cause the direction or management of such entity, whether by
-contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
-outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising
-permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including
-but not limited to software source code, documentation source, and configuration
-files.
-
-"Object" form shall mean any form resulting from mechanical transformation or
-translation of a Source form, including but not limited to compiled object code,
-generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made
-available under the License, as indicated by a copyright notice that is included
-in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that
-is based on (or derived from) the Work and for which the editorial revisions,
-annotations, elaborations, or other modifications represent, as a whole, an
-original work of authorship. For the purposes of this License, Derivative Works
-shall not include works that remain separable from, or merely link (or bind by
-name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version
-of the Work and any modifications or additions to that Work or Derivative Works
-thereof, that is intentionally submitted to Licensor for inclusion in the Work
-by the copyright owner or by an individual or Legal Entity authorized to submit
-on behalf of the copyright owner. For the purposes of this definition,
-"submitted" means any form of electronic, verbal, or written communication sent
-to the Licensor or its representatives, including but not limited to
-communication on electronic mailing lists, source code control systems, and
-issue tracking systems that are managed by, or on behalf of, the Licensor for
-the purpose of discussing and improving the Work, but excluding communication
-that is conspicuously marked or otherwise designated in writing by the copyright
-owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
-of whom a Contribution has been received by Licensor and subsequently
-incorporated within the Work.
-
-2. Grant of Copyright License.
-
-Subject to the terms and conditions of this License, each Contributor hereby
-grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
-irrevocable copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the Work and such
-Derivative Works in Source or Object form.
-
-3. Grant of Patent License.
-
-Subject to the terms and conditions of this License, each Contributor hereby
-grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
-irrevocable (except as stated in this section) patent license to make, have
-made, use, offer to sell, sell, import, and otherwise transfer the Work, where
-such license applies only to those patent claims licensable by such Contributor
-that are necessarily infringed by their Contribution(s) alone or by combination
-of their Contribution(s) with the Work to which such Contribution(s) was
-submitted. If You institute patent litigation against any entity (including a
-cross-claim or counterclaim in a lawsuit) alleging that the Work or a
-Contribution incorporated within the Work constitutes direct or contributory
-patent infringement, then any patent licenses granted to You under this License
-for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution.
-
-You may reproduce and distribute copies of the Work or Derivative Works thereof
-in any medium, with or without modifications, and in Source or Object form,
-provided that You meet the following conditions:
-
-You must give any other recipients of the Work or Derivative Works a copy of
-this License; and
-You must cause any modified files to carry prominent notices stating that You
-changed the files; and
-You must retain, in the Source form of any Derivative Works that You distribute,
-all copyright, patent, trademark, and attribution notices from the Source form
-of the Work, excluding those notices that do not pertain to any part of the
-Derivative Works; and
-If the Work includes a "NOTICE" text file as part of its distribution, then any
-Derivative Works that You distribute must include a readable copy of the
-attribution notices contained within such NOTICE file, excluding those notices
-that do not pertain to any part of the Derivative Works, in at least one of the
-following places: within a NOTICE text file distributed as part of the
-Derivative Works; within the Source form or documentation, if provided along
-with the Derivative Works; or, within a display generated by the Derivative
-Works, if and wherever such third-party notices normally appear. The contents of
-the NOTICE file are for informational purposes only and do not modify the
-License. You may add Your own attribution notices within Derivative Works that
-You distribute, alongside or as an addendum to the NOTICE text from the Work,
-provided that such additional attribution notices cannot be construed as
-modifying the License.
-You may add Your own copyright statement to Your modifications and may provide
-additional or different license terms and conditions for use, reproduction, or
-distribution of Your modifications, or for any such Derivative Works as a whole,
-provided Your use, reproduction, and distribution of the Work otherwise complies
-with the conditions stated in this License.
-
-5. Submission of Contributions.
-
-Unless You explicitly state otherwise, any Contribution intentionally submitted
-for inclusion in the Work by You to the Licensor shall be under the terms and
-conditions of this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify the terms of
-any separate license agreement you may have executed with Licensor regarding
-such Contributions.
-
-6. Trademarks.
-
-This License does not grant permission to use the trade names, trademarks,
-service marks, or product names of the Licensor, except as required for
-reasonable and customary use in describing the origin of the Work and
-reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty.
-
-Unless required by applicable law or agreed to in writing, Licensor provides the
-Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
-including, without limitation, any warranties or conditions of TITLE,
-NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
-solely responsible for determining the appropriateness of using or
-redistributing the Work and assume any risks associated with Your exercise of
-permissions under this License.
-
-8. Limitation of Liability.
-
-In no event and under no legal theory, whether in tort (including negligence),
-contract, or otherwise, unless required by applicable law (such as deliberate
-and grossly negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special, incidental,
-or consequential damages of any character arising as a result of this License or
-out of the use or inability to use the Work (including but not limited to
-damages for loss of goodwill, work stoppage, computer failure or malfunction, or
-any and all other commercial damages or losses), even if such Contributor has
-been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability.
-
-While redistributing the Work or Derivative Works thereof, You may choose to
-offer, and charge a fee for, acceptance of support, warranty, indemnity, or
-other liability obligations and/or rights consistent with this License. However,
-in accepting such obligations, You may act only on Your own behalf and on Your
-sole responsibility, not on behalf of any other Contributor, and only if You
-agree to indemnify, defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason of your
-accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Apache License to your work
-
-To apply the Apache License to your work, attach the following boilerplate
-notice, with the fields enclosed by brackets "[]" replaced with your own
-identifying information. (Don't include the brackets!) The text should be
-enclosed in the appropriate comment syntax for the file format. We also
-recommend that a file or class name and description of purpose be included on
-the same "printed page" as the copyright notice for easier identification within
-third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/vendor/github.com/golang/groupcache/README.md b/vendor/github.com/golang/groupcache/README.md
deleted file mode 100644
index e4337ad3..00000000
--- a/vendor/github.com/golang/groupcache/README.md
+++ /dev/null
@@ -1,74 +0,0 @@
-# groupcache
-
-## Summary
-
-groupcache is a distributed caching and cache-filling library, intended as a
-replacement for a pool of memcached nodes in many cases.
-
-For API docs and examples, see http://godoc.org/github.com/golang/groupcache
-
-## Comparison to memcached
-
-### **Like memcached**, groupcache:
-
- * shards by key to select which peer is responsible for that key
-
-### **Unlike memcached**, groupcache:
-
- * does not require running a separate set of servers, thus massively
- reducing deployment/configuration pain. groupcache is a client
- library as well as a server. It connects to its own peers, forming
- a distributed cache.
-
- * comes with a cache filling mechanism. Whereas memcached just says
- "Sorry, cache miss", often resulting in a thundering herd of
- database (or whatever) loads from an unbounded number of clients
- (which has resulted in several fun outages), groupcache coordinates
- cache fills such that only one load in one process of an entire
- replicated set of processes populates the cache, then multiplexes
- the loaded value to all callers.
-
- * does not support versioned values. If key "foo" is value "bar",
- key "foo" must always be "bar". There are neither cache expiration
- times, nor explicit cache evictions. Thus there is also no CAS,
- nor Increment/Decrement. This also means that groupcache....
-
- * ... supports automatic mirroring of super-hot items to multiple
- processes. This prevents memcached hot spotting where a machine's
- CPU and/or NIC are overloaded by very popular keys/values.
-
- * is currently only available for Go. It's very unlikely that I
- (bradfitz@) will port the code to any other language.
-
-## Loading process
-
-In a nutshell, a groupcache lookup of **Get("foo")** looks like:
-
-(On machine #5 of a set of N machines running the same code)
-
- 1. Is the value of "foo" in local memory because it's super hot? If so, use it.
-
- 2. Is the value of "foo" in local memory because peer #5 (the current
- peer) is the owner of it? If so, use it.
-
- 3. Amongst all the peers in my set of N, am I the owner of the key
- "foo"? (e.g. does it consistent hash to 5?) If so, load it. If
- other callers come in, via the same process or via RPC requests
- from peers, they block waiting for the load to finish and get the
- same answer. If not, RPC to the peer that's the owner and get
- the answer. If the RPC fails, just load it locally (still with
- local dup suppression).
-
-## Users
-
-groupcache is in production use by dl.google.com (its original user),
-parts of Blogger, parts of Google Code, parts of Google Fiber, parts
-of Google production monitoring systems, etc.
-
-## Presentations
-
-See http://talks.golang.org/2013/oscon-dl.slide
-
-## Help
-
-Use the golang-nuts mailing list for any discussion or questions.
diff --git a/vendor/github.com/golang/groupcache/byteview.go b/vendor/github.com/golang/groupcache/byteview.go
deleted file mode 100644
index a2c2c493..00000000
--- a/vendor/github.com/golang/groupcache/byteview.go
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-Copyright 2012 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package groupcache
-
-import (
- "bytes"
- "errors"
- "io"
- "strings"
-)
-
-// A ByteView holds an immutable view of bytes.
-// Internally it wraps either a []byte or a string,
-// but that detail is invisible to callers.
-//
-// A ByteView is meant to be used as a value type, not
-// a pointer (like a time.Time).
-type ByteView struct {
- // If b is non-nil, b is used, else s is used.
- b []byte
- s string
-}
-
-// Len returns the view's length.
-func (v ByteView) Len() int {
- if v.b != nil {
- return len(v.b)
- }
- return len(v.s)
-}
-
-// ByteSlice returns a copy of the data as a byte slice.
-func (v ByteView) ByteSlice() []byte {
- if v.b != nil {
- return cloneBytes(v.b)
- }
- return []byte(v.s)
-}
-
-// String returns the data as a string, making a copy if necessary.
-func (v ByteView) String() string {
- if v.b != nil {
- return string(v.b)
- }
- return v.s
-}
-
-// At returns the byte at index i.
-func (v ByteView) At(i int) byte {
- if v.b != nil {
- return v.b[i]
- }
- return v.s[i]
-}
-
-// Slice slices the view between the provided from and to indices.
-func (v ByteView) Slice(from, to int) ByteView {
- if v.b != nil {
- return ByteView{b: v.b[from:to]}
- }
- return ByteView{s: v.s[from:to]}
-}
-
-// SliceFrom slices the view from the provided index until the end.
-func (v ByteView) SliceFrom(from int) ByteView {
- if v.b != nil {
- return ByteView{b: v.b[from:]}
- }
- return ByteView{s: v.s[from:]}
-}
-
-// Copy copies b into dest and returns the number of bytes copied.
-func (v ByteView) Copy(dest []byte) int {
- if v.b != nil {
- return copy(dest, v.b)
- }
- return copy(dest, v.s)
-}
-
-// Equal returns whether the bytes in b are the same as the bytes in
-// b2.
-func (v ByteView) Equal(b2 ByteView) bool {
- if b2.b == nil {
- return v.EqualString(b2.s)
- }
- return v.EqualBytes(b2.b)
-}
-
-// EqualString returns whether the bytes in b are the same as the bytes
-// in s.
-func (v ByteView) EqualString(s string) bool {
- if v.b == nil {
- return v.s == s
- }
- l := v.Len()
- if len(s) != l {
- return false
- }
- for i, bi := range v.b {
- if bi != s[i] {
- return false
- }
- }
- return true
-}
-
-// EqualBytes returns whether the bytes in b are the same as the bytes
-// in b2.
-func (v ByteView) EqualBytes(b2 []byte) bool {
- if v.b != nil {
- return bytes.Equal(v.b, b2)
- }
- l := v.Len()
- if len(b2) != l {
- return false
- }
- for i, bi := range b2 {
- if bi != v.s[i] {
- return false
- }
- }
- return true
-}
-
-// Reader returns an io.ReadSeeker for the bytes in v.
-func (v ByteView) Reader() io.ReadSeeker {
- if v.b != nil {
- return bytes.NewReader(v.b)
- }
- return strings.NewReader(v.s)
-}
-
-// ReadAt implements io.ReaderAt on the bytes in v.
-func (v ByteView) ReadAt(p []byte, off int64) (n int, err error) {
- if off < 0 {
- return 0, errors.New("view: invalid offset")
- }
- if off >= int64(v.Len()) {
- return 0, io.EOF
- }
- n = v.SliceFrom(int(off)).Copy(p)
- if n < len(p) {
- err = io.EOF
- }
- return
-}
-
-// WriteTo implements io.WriterTo on the bytes in v.
-func (v ByteView) WriteTo(w io.Writer) (n int64, err error) {
- var m int
- if v.b != nil {
- m, err = w.Write(v.b)
- } else {
- m, err = io.WriteString(w, v.s)
- }
- if err == nil && m < v.Len() {
- err = io.ErrShortWrite
- }
- n = int64(m)
- return
-}
diff --git a/vendor/github.com/golang/groupcache/consistenthash/consistenthash.go b/vendor/github.com/golang/groupcache/consistenthash/consistenthash.go
deleted file mode 100644
index da139094..00000000
--- a/vendor/github.com/golang/groupcache/consistenthash/consistenthash.go
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-Copyright 2013 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Package consistenthash provides an implementation of a ring hash.
-package consistenthash
-
-import (
- "hash/crc32"
- "sort"
- "strconv"
-)
-
-type Hash func(data []byte) uint32
-
-type Map struct {
- hash Hash
- replicas int
- keys []int // Sorted
- hashMap map[int]string
-}
-
-func New(replicas int, fn Hash) *Map {
- m := &Map{
- replicas: replicas,
- hash: fn,
- hashMap: make(map[int]string),
- }
- if m.hash == nil {
- m.hash = crc32.ChecksumIEEE
- }
- return m
-}
-
-// IsEmpty returns true if there are no items available.
-func (m *Map) IsEmpty() bool {
- return len(m.keys) == 0
-}
-
-// Add adds some keys to the hash.
-func (m *Map) Add(keys ...string) {
- for _, key := range keys {
- for i := 0; i < m.replicas; i++ {
- hash := int(m.hash([]byte(strconv.Itoa(i) + key)))
- m.keys = append(m.keys, hash)
- m.hashMap[hash] = key
- }
- }
- sort.Ints(m.keys)
-}
-
-// Get gets the closest item in the hash to the provided key.
-func (m *Map) Get(key string) string {
- if m.IsEmpty() {
- return ""
- }
-
- hash := int(m.hash([]byte(key)))
-
- // Binary search for appropriate replica.
- idx := sort.Search(len(m.keys), func(i int) bool { return m.keys[i] >= hash })
-
- // Means we have cycled back to the first replica.
- if idx == len(m.keys) {
- idx = 0
- }
-
- return m.hashMap[m.keys[idx]]
-}
diff --git a/vendor/github.com/golang/groupcache/groupcache.go b/vendor/github.com/golang/groupcache/groupcache.go
deleted file mode 100644
index 9e81087b..00000000
--- a/vendor/github.com/golang/groupcache/groupcache.go
+++ /dev/null
@@ -1,492 +0,0 @@
-/*
-Copyright 2012 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Package groupcache provides a data loading mechanism with caching
-// and de-duplication that works across a set of peer processes.
-//
-// Each data Get first consults its local cache, otherwise delegates
-// to the requested key's canonical owner, which then checks its cache
-// or finally gets the data. In the common case, many concurrent
-// cache misses across a set of peers for the same key result in just
-// one cache fill.
-package groupcache
-
-import (
- "context"
- "errors"
- "math/rand"
- "strconv"
- "sync"
- "sync/atomic"
-
- pb "github.com/golang/groupcache/groupcachepb"
- "github.com/golang/groupcache/lru"
- "github.com/golang/groupcache/singleflight"
-)
-
-// A Getter loads data for a key.
-type Getter interface {
- // Get returns the value identified by key, populating dest.
- //
- // The returned data must be unversioned. That is, key must
- // uniquely describe the loaded data, without an implicit
- // current time, and without relying on cache expiration
- // mechanisms.
- Get(ctx context.Context, key string, dest Sink) error
-}
-
-// A GetterFunc implements Getter with a function.
-type GetterFunc func(ctx context.Context, key string, dest Sink) error
-
-func (f GetterFunc) Get(ctx context.Context, key string, dest Sink) error {
- return f(ctx, key, dest)
-}
-
-var (
- mu sync.RWMutex
- groups = make(map[string]*Group)
-
- initPeerServerOnce sync.Once
- initPeerServer func()
-)
-
-// GetGroup returns the named group previously created with NewGroup, or
-// nil if there's no such group.
-func GetGroup(name string) *Group {
- mu.RLock()
- g := groups[name]
- mu.RUnlock()
- return g
-}
-
-// NewGroup creates a coordinated group-aware Getter from a Getter.
-//
-// The returned Getter tries (but does not guarantee) to run only one
-// Get call at once for a given key across an entire set of peer
-// processes. Concurrent callers both in the local process and in
-// other processes receive copies of the answer once the original Get
-// completes.
-//
-// The group name must be unique for each getter.
-func NewGroup(name string, cacheBytes int64, getter Getter) *Group {
- return newGroup(name, cacheBytes, getter, nil)
-}
-
-// If peers is nil, the peerPicker is called via a sync.Once to initialize it.
-func newGroup(name string, cacheBytes int64, getter Getter, peers PeerPicker) *Group {
- if getter == nil {
- panic("nil Getter")
- }
- mu.Lock()
- defer mu.Unlock()
- initPeerServerOnce.Do(callInitPeerServer)
- if _, dup := groups[name]; dup {
- panic("duplicate registration of group " + name)
- }
- g := &Group{
- name: name,
- getter: getter,
- peers: peers,
- cacheBytes: cacheBytes,
- loadGroup: &singleflight.Group{},
- }
- if fn := newGroupHook; fn != nil {
- fn(g)
- }
- groups[name] = g
- return g
-}
-
-// newGroupHook, if non-nil, is called right after a new group is created.
-var newGroupHook func(*Group)
-
-// RegisterNewGroupHook registers a hook that is run each time
-// a group is created.
-func RegisterNewGroupHook(fn func(*Group)) {
- if newGroupHook != nil {
- panic("RegisterNewGroupHook called more than once")
- }
- newGroupHook = fn
-}
-
-// RegisterServerStart registers a hook that is run when the first
-// group is created.
-func RegisterServerStart(fn func()) {
- if initPeerServer != nil {
- panic("RegisterServerStart called more than once")
- }
- initPeerServer = fn
-}
-
-func callInitPeerServer() {
- if initPeerServer != nil {
- initPeerServer()
- }
-}
-
-// A Group is a cache namespace and associated data loaded spread over
-// a group of 1 or more machines.
-type Group struct {
- name string
- getter Getter
- peersOnce sync.Once
- peers PeerPicker
- cacheBytes int64 // limit for sum of mainCache and hotCache size
-
- // mainCache is a cache of the keys for which this process
- // (amongst its peers) is authoritative. That is, this cache
- // contains keys which consistent hash on to this process's
- // peer number.
- mainCache cache
-
- // hotCache contains keys/values for which this peer is not
- // authoritative (otherwise they would be in mainCache), but
- // are popular enough to warrant mirroring in this process to
- // avoid going over the network to fetch from a peer. Having
- // a hotCache avoids network hotspotting, where a peer's
- // network card could become the bottleneck on a popular key.
- // This cache is used sparingly to maximize the total number
- // of key/value pairs that can be stored globally.
- hotCache cache
-
- // loadGroup ensures that each key is only fetched once
- // (either locally or remotely), regardless of the number of
- // concurrent callers.
- loadGroup flightGroup
-
- _ int32 // force Stats to be 8-byte aligned on 32-bit platforms
-
- // Stats are statistics on the group.
- Stats Stats
-}
-
-// flightGroup is defined as an interface which flightgroup.Group
-// satisfies. We define this so that we may test with an alternate
-// implementation.
-type flightGroup interface {
- // Done is called when Do is done.
- Do(key string, fn func() (interface{}, error)) (interface{}, error)
-}
-
-// Stats are per-group statistics.
-type Stats struct {
- Gets AtomicInt // any Get request, including from peers
- CacheHits AtomicInt // either cache was good
- PeerLoads AtomicInt // either remote load or remote cache hit (not an error)
- PeerErrors AtomicInt
- Loads AtomicInt // (gets - cacheHits)
- LoadsDeduped AtomicInt // after singleflight
- LocalLoads AtomicInt // total good local loads
- LocalLoadErrs AtomicInt // total bad local loads
- ServerRequests AtomicInt // gets that came over the network from peers
-}
-
-// Name returns the name of the group.
-func (g *Group) Name() string {
- return g.name
-}
-
-func (g *Group) initPeers() {
- if g.peers == nil {
- g.peers = getPeers(g.name)
- }
-}
-
-func (g *Group) Get(ctx context.Context, key string, dest Sink) error {
- g.peersOnce.Do(g.initPeers)
- g.Stats.Gets.Add(1)
- if dest == nil {
- return errors.New("groupcache: nil dest Sink")
- }
- value, cacheHit := g.lookupCache(key)
-
- if cacheHit {
- g.Stats.CacheHits.Add(1)
- return setSinkView(dest, value)
- }
-
- // Optimization to avoid double unmarshalling or copying: keep
- // track of whether the dest was already populated. One caller
- // (if local) will set this; the losers will not. The common
- // case will likely be one caller.
- destPopulated := false
- value, destPopulated, err := g.load(ctx, key, dest)
- if err != nil {
- return err
- }
- if destPopulated {
- return nil
- }
- return setSinkView(dest, value)
-}
-
-// load loads key either by invoking the getter locally or by sending it to another machine.
-func (g *Group) load(ctx context.Context, key string, dest Sink) (value ByteView, destPopulated bool, err error) {
- g.Stats.Loads.Add(1)
- viewi, err := g.loadGroup.Do(key, func() (interface{}, error) {
- // Check the cache again because singleflight can only dedup calls
- // that overlap concurrently. It's possible for 2 concurrent
- // requests to miss the cache, resulting in 2 load() calls. An
- // unfortunate goroutine scheduling would result in this callback
- // being run twice, serially. If we don't check the cache again,
- // cache.nbytes would be incremented below even though there will
- // be only one entry for this key.
- //
- // Consider the following serialized event ordering for two
- // goroutines in which this callback gets called twice for the
- // same key:
- // 1: Get("key")
- // 2: Get("key")
- // 1: lookupCache("key")
- // 2: lookupCache("key")
- // 1: load("key")
- // 2: load("key")
- // 1: loadGroup.Do("key", fn)
- // 1: fn()
- // 2: loadGroup.Do("key", fn)
- // 2: fn()
- if value, cacheHit := g.lookupCache(key); cacheHit {
- g.Stats.CacheHits.Add(1)
- return value, nil
- }
- g.Stats.LoadsDeduped.Add(1)
- var value ByteView
- var err error
- if peer, ok := g.peers.PickPeer(key); ok {
- value, err = g.getFromPeer(ctx, peer, key)
- if err == nil {
- g.Stats.PeerLoads.Add(1)
- return value, nil
- }
- g.Stats.PeerErrors.Add(1)
- // TODO(bradfitz): log the peer's error? keep
- // log of the past few for /groupcachez? It's
- // probably boring (normal task movement), so not
- // worth logging I imagine.
- }
- value, err = g.getLocally(ctx, key, dest)
- if err != nil {
- g.Stats.LocalLoadErrs.Add(1)
- return nil, err
- }
- g.Stats.LocalLoads.Add(1)
- destPopulated = true // only one caller of load gets this return value
- g.populateCache(key, value, &g.mainCache)
- return value, nil
- })
- if err == nil {
- value = viewi.(ByteView)
- }
- return
-}
-
-func (g *Group) getLocally(ctx context.Context, key string, dest Sink) (ByteView, error) {
- err := g.getter.Get(ctx, key, dest)
- if err != nil {
- return ByteView{}, err
- }
- return dest.view()
-}
-
-func (g *Group) getFromPeer(ctx context.Context, peer ProtoGetter, key string) (ByteView, error) {
- req := &pb.GetRequest{
- Group: &g.name,
- Key: &key,
- }
- res := &pb.GetResponse{}
- err := peer.Get(ctx, req, res)
- if err != nil {
- return ByteView{}, err
- }
- value := ByteView{b: res.Value}
- // TODO(bradfitz): use res.MinuteQps or something smart to
- // conditionally populate hotCache. For now just do it some
- // percentage of the time.
- if rand.Intn(10) == 0 {
- g.populateCache(key, value, &g.hotCache)
- }
- return value, nil
-}
-
-func (g *Group) lookupCache(key string) (value ByteView, ok bool) {
- if g.cacheBytes <= 0 {
- return
- }
- value, ok = g.mainCache.get(key)
- if ok {
- return
- }
- value, ok = g.hotCache.get(key)
- return
-}
-
-func (g *Group) populateCache(key string, value ByteView, cache *cache) {
- if g.cacheBytes <= 0 {
- return
- }
- cache.add(key, value)
-
- // Evict items from cache(s) if necessary.
- for {
- mainBytes := g.mainCache.bytes()
- hotBytes := g.hotCache.bytes()
- if mainBytes+hotBytes <= g.cacheBytes {
- return
- }
-
- // TODO(bradfitz): this is good-enough-for-now logic.
- // It should be something based on measurements and/or
- // respecting the costs of different resources.
- victim := &g.mainCache
- if hotBytes > mainBytes/8 {
- victim = &g.hotCache
- }
- victim.removeOldest()
- }
-}
-
-// CacheType represents a type of cache.
-type CacheType int
-
-const (
- // The MainCache is the cache for items that this peer is the
- // owner for.
- MainCache CacheType = iota + 1
-
- // The HotCache is the cache for items that seem popular
- // enough to replicate to this node, even though it's not the
- // owner.
- HotCache
-)
-
-// CacheStats returns stats about the provided cache within the group.
-func (g *Group) CacheStats(which CacheType) CacheStats {
- switch which {
- case MainCache:
- return g.mainCache.stats()
- case HotCache:
- return g.hotCache.stats()
- default:
- return CacheStats{}
- }
-}
-
-// cache is a wrapper around an *lru.Cache that adds synchronization,
-// makes values always be ByteView, and counts the size of all keys and
-// values.
-type cache struct {
- mu sync.RWMutex
- nbytes int64 // of all keys and values
- lru *lru.Cache
- nhit, nget int64
- nevict int64 // number of evictions
-}
-
-func (c *cache) stats() CacheStats {
- c.mu.RLock()
- defer c.mu.RUnlock()
- return CacheStats{
- Bytes: c.nbytes,
- Items: c.itemsLocked(),
- Gets: c.nget,
- Hits: c.nhit,
- Evictions: c.nevict,
- }
-}
-
-func (c *cache) add(key string, value ByteView) {
- c.mu.Lock()
- defer c.mu.Unlock()
- if c.lru == nil {
- c.lru = &lru.Cache{
- OnEvicted: func(key lru.Key, value interface{}) {
- val := value.(ByteView)
- c.nbytes -= int64(len(key.(string))) + int64(val.Len())
- c.nevict++
- },
- }
- }
- c.lru.Add(key, value)
- c.nbytes += int64(len(key)) + int64(value.Len())
-}
-
-func (c *cache) get(key string) (value ByteView, ok bool) {
- c.mu.Lock()
- defer c.mu.Unlock()
- c.nget++
- if c.lru == nil {
- return
- }
- vi, ok := c.lru.Get(key)
- if !ok {
- return
- }
- c.nhit++
- return vi.(ByteView), true
-}
-
-func (c *cache) removeOldest() {
- c.mu.Lock()
- defer c.mu.Unlock()
- if c.lru != nil {
- c.lru.RemoveOldest()
- }
-}
-
-func (c *cache) bytes() int64 {
- c.mu.RLock()
- defer c.mu.RUnlock()
- return c.nbytes
-}
-
-func (c *cache) items() int64 {
- c.mu.RLock()
- defer c.mu.RUnlock()
- return c.itemsLocked()
-}
-
-func (c *cache) itemsLocked() int64 {
- if c.lru == nil {
- return 0
- }
- return int64(c.lru.Len())
-}
-
-// An AtomicInt is an int64 to be accessed atomically.
-type AtomicInt int64
-
-// Add atomically adds n to i.
-func (i *AtomicInt) Add(n int64) {
- atomic.AddInt64((*int64)(i), n)
-}
-
-// Get atomically gets the value of i.
-func (i *AtomicInt) Get() int64 {
- return atomic.LoadInt64((*int64)(i))
-}
-
-func (i *AtomicInt) String() string {
- return strconv.FormatInt(i.Get(), 10)
-}
-
-// CacheStats are returned by stats accessors on Group.
-type CacheStats struct {
- Bytes int64
- Items int64
- Gets int64
- Hits int64
- Evictions int64
-}
diff --git a/vendor/github.com/golang/groupcache/groupcachepb/groupcache.pb.go b/vendor/github.com/golang/groupcache/groupcachepb/groupcache.pb.go
deleted file mode 100644
index 520d1ee9..00000000
--- a/vendor/github.com/golang/groupcache/groupcachepb/groupcache.pb.go
+++ /dev/null
@@ -1,65 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: groupcache.proto
-// DO NOT EDIT!
-
-package groupcachepb
-
-import proto "github.com/golang/protobuf/proto"
-import json "encoding/json"
-import math "math"
-
-// Reference proto, json, and math imports to suppress error if they are not otherwise used.
-var _ = proto.Marshal
-var _ = &json.SyntaxError{}
-var _ = math.Inf
-
-type GetRequest struct {
- Group *string `protobuf:"bytes,1,req,name=group" json:"group,omitempty"`
- Key *string `protobuf:"bytes,2,req,name=key" json:"key,omitempty"`
- XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *GetRequest) Reset() { *m = GetRequest{} }
-func (m *GetRequest) String() string { return proto.CompactTextString(m) }
-func (*GetRequest) ProtoMessage() {}
-
-func (m *GetRequest) GetGroup() string {
- if m != nil && m.Group != nil {
- return *m.Group
- }
- return ""
-}
-
-func (m *GetRequest) GetKey() string {
- if m != nil && m.Key != nil {
- return *m.Key
- }
- return ""
-}
-
-type GetResponse struct {
- Value []byte `protobuf:"bytes,1,opt,name=value" json:"value,omitempty"`
- MinuteQps *float64 `protobuf:"fixed64,2,opt,name=minute_qps" json:"minute_qps,omitempty"`
- XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *GetResponse) Reset() { *m = GetResponse{} }
-func (m *GetResponse) String() string { return proto.CompactTextString(m) }
-func (*GetResponse) ProtoMessage() {}
-
-func (m *GetResponse) GetValue() []byte {
- if m != nil {
- return m.Value
- }
- return nil
-}
-
-func (m *GetResponse) GetMinuteQps() float64 {
- if m != nil && m.MinuteQps != nil {
- return *m.MinuteQps
- }
- return 0
-}
-
-func init() {
-}
diff --git a/vendor/github.com/golang/groupcache/groupcachepb/groupcache.proto b/vendor/github.com/golang/groupcache/groupcachepb/groupcache.proto
deleted file mode 100644
index b5bdff94..00000000
--- a/vendor/github.com/golang/groupcache/groupcachepb/groupcache.proto
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2012 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-syntax = "proto2";
-
-package groupcachepb;
-
-message GetRequest {
- required string group = 1;
- required string key = 2; // not actually required/guaranteed to be UTF-8
-}
-
-message GetResponse {
- optional bytes value = 1;
- optional double minute_qps = 2;
-}
-
-service GroupCache {
- rpc Get(GetRequest) returns (GetResponse) {
- };
-}
diff --git a/vendor/github.com/golang/groupcache/http.go b/vendor/github.com/golang/groupcache/http.go
deleted file mode 100644
index e0d391a5..00000000
--- a/vendor/github.com/golang/groupcache/http.go
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
-Copyright 2013 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package groupcache
-
-import (
- "bytes"
- "context"
- "fmt"
- "io"
- "net/http"
- "net/url"
- "strings"
- "sync"
-
- "github.com/golang/groupcache/consistenthash"
- pb "github.com/golang/groupcache/groupcachepb"
- "github.com/golang/protobuf/proto"
-)
-
-const defaultBasePath = "/_groupcache/"
-
-const defaultReplicas = 50
-
-// HTTPPool implements PeerPicker for a pool of HTTP peers.
-type HTTPPool struct {
- // Context optionally specifies a context for the server to use when it
- // receives a request.
- // If nil, the server uses the request's context
- Context func(*http.Request) context.Context
-
- // Transport optionally specifies an http.RoundTripper for the client
- // to use when it makes a request.
- // If nil, the client uses http.DefaultTransport.
- Transport func(context.Context) http.RoundTripper
-
- // this peer's base URL, e.g. "https://example.net:8000"
- self string
-
- // opts specifies the options.
- opts HTTPPoolOptions
-
- mu sync.Mutex // guards peers and httpGetters
- peers *consistenthash.Map
- httpGetters map[string]*httpGetter // keyed by e.g. "http://10.0.0.2:8008"
-}
-
-// HTTPPoolOptions are the configurations of a HTTPPool.
-type HTTPPoolOptions struct {
- // BasePath specifies the HTTP path that will serve groupcache requests.
- // If blank, it defaults to "/_groupcache/".
- BasePath string
-
- // Replicas specifies the number of key replicas on the consistent hash.
- // If blank, it defaults to 50.
- Replicas int
-
- // HashFn specifies the hash function of the consistent hash.
- // If blank, it defaults to crc32.ChecksumIEEE.
- HashFn consistenthash.Hash
-}
-
-// NewHTTPPool initializes an HTTP pool of peers, and registers itself as a PeerPicker.
-// For convenience, it also registers itself as an http.Handler with http.DefaultServeMux.
-// The self argument should be a valid base URL that points to the current server,
-// for example "http://example.net:8000".
-func NewHTTPPool(self string) *HTTPPool {
- p := NewHTTPPoolOpts(self, nil)
- http.Handle(p.opts.BasePath, p)
- return p
-}
-
-var httpPoolMade bool
-
-// NewHTTPPoolOpts initializes an HTTP pool of peers with the given options.
-// Unlike NewHTTPPool, this function does not register the created pool as an HTTP handler.
-// The returned *HTTPPool implements http.Handler and must be registered using http.Handle.
-func NewHTTPPoolOpts(self string, o *HTTPPoolOptions) *HTTPPool {
- if httpPoolMade {
- panic("groupcache: NewHTTPPool must be called only once")
- }
- httpPoolMade = true
-
- p := &HTTPPool{
- self: self,
- httpGetters: make(map[string]*httpGetter),
- }
- if o != nil {
- p.opts = *o
- }
- if p.opts.BasePath == "" {
- p.opts.BasePath = defaultBasePath
- }
- if p.opts.Replicas == 0 {
- p.opts.Replicas = defaultReplicas
- }
- p.peers = consistenthash.New(p.opts.Replicas, p.opts.HashFn)
-
- RegisterPeerPicker(func() PeerPicker { return p })
- return p
-}
-
-// Set updates the pool's list of peers.
-// Each peer value should be a valid base URL,
-// for example "http://example.net:8000".
-func (p *HTTPPool) Set(peers ...string) {
- p.mu.Lock()
- defer p.mu.Unlock()
- p.peers = consistenthash.New(p.opts.Replicas, p.opts.HashFn)
- p.peers.Add(peers...)
- p.httpGetters = make(map[string]*httpGetter, len(peers))
- for _, peer := range peers {
- p.httpGetters[peer] = &httpGetter{transport: p.Transport, baseURL: peer + p.opts.BasePath}
- }
-}
-
-func (p *HTTPPool) PickPeer(key string) (ProtoGetter, bool) {
- p.mu.Lock()
- defer p.mu.Unlock()
- if p.peers.IsEmpty() {
- return nil, false
- }
- if peer := p.peers.Get(key); peer != p.self {
- return p.httpGetters[peer], true
- }
- return nil, false
-}
-
-func (p *HTTPPool) ServeHTTP(w http.ResponseWriter, r *http.Request) {
- // Parse request.
- if !strings.HasPrefix(r.URL.Path, p.opts.BasePath) {
- panic("HTTPPool serving unexpected path: " + r.URL.Path)
- }
- parts := strings.SplitN(r.URL.Path[len(p.opts.BasePath):], "/", 2)
- if len(parts) != 2 {
- http.Error(w, "bad request", http.StatusBadRequest)
- return
- }
- groupName := parts[0]
- key := parts[1]
-
- // Fetch the value for this group/key.
- group := GetGroup(groupName)
- if group == nil {
- http.Error(w, "no such group: "+groupName, http.StatusNotFound)
- return
- }
- var ctx context.Context
- if p.Context != nil {
- ctx = p.Context(r)
- } else {
- ctx = r.Context()
- }
-
- group.Stats.ServerRequests.Add(1)
- var value []byte
- err := group.Get(ctx, key, AllocatingByteSliceSink(&value))
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
-
- // Write the value to the response body as a proto message.
- body, err := proto.Marshal(&pb.GetResponse{Value: value})
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
- w.Header().Set("Content-Type", "application/x-protobuf")
- w.Write(body)
-}
-
-type httpGetter struct {
- transport func(context.Context) http.RoundTripper
- baseURL string
-}
-
-var bufferPool = sync.Pool{
- New: func() interface{} { return new(bytes.Buffer) },
-}
-
-func (h *httpGetter) Get(ctx context.Context, in *pb.GetRequest, out *pb.GetResponse) error {
- u := fmt.Sprintf(
- "%v%v/%v",
- h.baseURL,
- url.QueryEscape(in.GetGroup()),
- url.QueryEscape(in.GetKey()),
- )
- req, err := http.NewRequest("GET", u, nil)
- if err != nil {
- return err
- }
- req = req.WithContext(ctx)
- tr := http.DefaultTransport
- if h.transport != nil {
- tr = h.transport(ctx)
- }
- res, err := tr.RoundTrip(req)
- if err != nil {
- return err
- }
- defer res.Body.Close()
- if res.StatusCode != http.StatusOK {
- return fmt.Errorf("server returned: %v", res.Status)
- }
- b := bufferPool.Get().(*bytes.Buffer)
- b.Reset()
- defer bufferPool.Put(b)
- _, err = io.Copy(b, res.Body)
- if err != nil {
- return fmt.Errorf("reading response body: %v", err)
- }
- err = proto.Unmarshal(b.Bytes(), out)
- if err != nil {
- return fmt.Errorf("decoding response body: %v", err)
- }
- return nil
-}
diff --git a/vendor/github.com/golang/groupcache/lru/lru.go b/vendor/github.com/golang/groupcache/lru/lru.go
deleted file mode 100644
index eac1c766..00000000
--- a/vendor/github.com/golang/groupcache/lru/lru.go
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
-Copyright 2013 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Package lru implements an LRU cache.
-package lru
-
-import "container/list"
-
-// Cache is an LRU cache. It is not safe for concurrent access.
-type Cache struct {
- // MaxEntries is the maximum number of cache entries before
- // an item is evicted. Zero means no limit.
- MaxEntries int
-
- // OnEvicted optionally specifies a callback function to be
- // executed when an entry is purged from the cache.
- OnEvicted func(key Key, value interface{})
-
- ll *list.List
- cache map[interface{}]*list.Element
-}
-
-// A Key may be any value that is comparable. See http://golang.org/ref/spec#Comparison_operators
-type Key interface{}
-
-type entry struct {
- key Key
- value interface{}
-}
-
-// New creates a new Cache.
-// If maxEntries is zero, the cache has no limit and it's assumed
-// that eviction is done by the caller.
-func New(maxEntries int) *Cache {
- return &Cache{
- MaxEntries: maxEntries,
- ll: list.New(),
- cache: make(map[interface{}]*list.Element),
- }
-}
-
-// Add adds a value to the cache.
-func (c *Cache) Add(key Key, value interface{}) {
- if c.cache == nil {
- c.cache = make(map[interface{}]*list.Element)
- c.ll = list.New()
- }
- if ee, ok := c.cache[key]; ok {
- c.ll.MoveToFront(ee)
- ee.Value.(*entry).value = value
- return
- }
- ele := c.ll.PushFront(&entry{key, value})
- c.cache[key] = ele
- if c.MaxEntries != 0 && c.ll.Len() > c.MaxEntries {
- c.RemoveOldest()
- }
-}
-
-// Get looks up a key's value from the cache.
-func (c *Cache) Get(key Key) (value interface{}, ok bool) {
- if c.cache == nil {
- return
- }
- if ele, hit := c.cache[key]; hit {
- c.ll.MoveToFront(ele)
- return ele.Value.(*entry).value, true
- }
- return
-}
-
-// Remove removes the provided key from the cache.
-func (c *Cache) Remove(key Key) {
- if c.cache == nil {
- return
- }
- if ele, hit := c.cache[key]; hit {
- c.removeElement(ele)
- }
-}
-
-// RemoveOldest removes the oldest item from the cache.
-func (c *Cache) RemoveOldest() {
- if c.cache == nil {
- return
- }
- ele := c.ll.Back()
- if ele != nil {
- c.removeElement(ele)
- }
-}
-
-func (c *Cache) removeElement(e *list.Element) {
- c.ll.Remove(e)
- kv := e.Value.(*entry)
- delete(c.cache, kv.key)
- if c.OnEvicted != nil {
- c.OnEvicted(kv.key, kv.value)
- }
-}
-
-// Len returns the number of items in the cache.
-func (c *Cache) Len() int {
- if c.cache == nil {
- return 0
- }
- return c.ll.Len()
-}
-
-// Clear purges all stored items from the cache.
-func (c *Cache) Clear() {
- if c.OnEvicted != nil {
- for _, e := range c.cache {
- kv := e.Value.(*entry)
- c.OnEvicted(kv.key, kv.value)
- }
- }
- c.ll = nil
- c.cache = nil
-}
diff --git a/vendor/github.com/golang/groupcache/peers.go b/vendor/github.com/golang/groupcache/peers.go
deleted file mode 100644
index 552c0aee..00000000
--- a/vendor/github.com/golang/groupcache/peers.go
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-Copyright 2012 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// peers.go defines how processes find and communicate with their peers.
-
-package groupcache
-
-import (
- "context"
-
- pb "github.com/golang/groupcache/groupcachepb"
-)
-
-// Context is an alias to context.Context for backwards compatibility purposes.
-type Context = context.Context
-
-// ProtoGetter is the interface that must be implemented by a peer.
-type ProtoGetter interface {
- Get(ctx context.Context, in *pb.GetRequest, out *pb.GetResponse) error
-}
-
-// PeerPicker is the interface that must be implemented to locate
-// the peer that owns a specific key.
-type PeerPicker interface {
- // PickPeer returns the peer that owns the specific key
- // and true to indicate that a remote peer was nominated.
- // It returns nil, false if the key owner is the current peer.
- PickPeer(key string) (peer ProtoGetter, ok bool)
-}
-
-// NoPeers is an implementation of PeerPicker that never finds a peer.
-type NoPeers struct{}
-
-func (NoPeers) PickPeer(key string) (peer ProtoGetter, ok bool) { return }
-
-var (
- portPicker func(groupName string) PeerPicker
-)
-
-// RegisterPeerPicker registers the peer initialization function.
-// It is called once, when the first group is created.
-// Either RegisterPeerPicker or RegisterPerGroupPeerPicker should be
-// called exactly once, but not both.
-func RegisterPeerPicker(fn func() PeerPicker) {
- if portPicker != nil {
- panic("RegisterPeerPicker called more than once")
- }
- portPicker = func(_ string) PeerPicker { return fn() }
-}
-
-// RegisterPerGroupPeerPicker registers the peer initialization function,
-// which takes the groupName, to be used in choosing a PeerPicker.
-// It is called once, when the first group is created.
-// Either RegisterPeerPicker or RegisterPerGroupPeerPicker should be
-// called exactly once, but not both.
-func RegisterPerGroupPeerPicker(fn func(groupName string) PeerPicker) {
- if portPicker != nil {
- panic("RegisterPeerPicker called more than once")
- }
- portPicker = fn
-}
-
-func getPeers(groupName string) PeerPicker {
- if portPicker == nil {
- return NoPeers{}
- }
- pk := portPicker(groupName)
- if pk == nil {
- pk = NoPeers{}
- }
- return pk
-}
diff --git a/vendor/github.com/golang/groupcache/singleflight/singleflight.go b/vendor/github.com/golang/groupcache/singleflight/singleflight.go
deleted file mode 100644
index ff2c2ee4..00000000
--- a/vendor/github.com/golang/groupcache/singleflight/singleflight.go
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright 2012 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-// Package singleflight provides a duplicate function call suppression
-// mechanism.
-package singleflight
-
-import "sync"
-
-// call is an in-flight or completed Do call
-type call struct {
- wg sync.WaitGroup
- val interface{}
- err error
-}
-
-// Group represents a class of work and forms a namespace in which
-// units of work can be executed with duplicate suppression.
-type Group struct {
- mu sync.Mutex // protects m
- m map[string]*call // lazily initialized
-}
-
-// Do executes and returns the results of the given function, making
-// sure that only one execution is in-flight for a given key at a
-// time. If a duplicate comes in, the duplicate caller waits for the
-// original to complete and receives the same results.
-func (g *Group) Do(key string, fn func() (interface{}, error)) (interface{}, error) {
- g.mu.Lock()
- if g.m == nil {
- g.m = make(map[string]*call)
- }
- if c, ok := g.m[key]; ok {
- g.mu.Unlock()
- c.wg.Wait()
- return c.val, c.err
- }
- c := new(call)
- c.wg.Add(1)
- g.m[key] = c
- g.mu.Unlock()
-
- c.val, c.err = fn()
- c.wg.Done()
-
- g.mu.Lock()
- delete(g.m, key)
- g.mu.Unlock()
-
- return c.val, c.err
-}
diff --git a/vendor/github.com/golang/groupcache/sinks.go b/vendor/github.com/golang/groupcache/sinks.go
deleted file mode 100644
index 6c0b8be5..00000000
--- a/vendor/github.com/golang/groupcache/sinks.go
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
-Copyright 2012 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package groupcache
-
-import (
- "errors"
-
- "github.com/golang/protobuf/proto"
-)
-
-// A Sink receives data from a Get call.
-//
-// Implementation of Getter must call exactly one of the Set methods
-// on success.
-type Sink interface {
- // SetString sets the value to s.
- SetString(s string) error
-
- // SetBytes sets the value to the contents of v.
- // The caller retains ownership of v.
- SetBytes(v []byte) error
-
- // SetProto sets the value to the encoded version of m.
- // The caller retains ownership of m.
- SetProto(m proto.Message) error
-
- // view returns a frozen view of the bytes for caching.
- view() (ByteView, error)
-}
-
-func cloneBytes(b []byte) []byte {
- c := make([]byte, len(b))
- copy(c, b)
- return c
-}
-
-func setSinkView(s Sink, v ByteView) error {
- // A viewSetter is a Sink that can also receive its value from
- // a ByteView. This is a fast path to minimize copies when the
- // item was already cached locally in memory (where it's
- // cached as a ByteView)
- type viewSetter interface {
- setView(v ByteView) error
- }
- if vs, ok := s.(viewSetter); ok {
- return vs.setView(v)
- }
- if v.b != nil {
- return s.SetBytes(v.b)
- }
- return s.SetString(v.s)
-}
-
-// StringSink returns a Sink that populates the provided string pointer.
-func StringSink(sp *string) Sink {
- return &stringSink{sp: sp}
-}
-
-type stringSink struct {
- sp *string
- v ByteView
- // TODO(bradfitz): track whether any Sets were called.
-}
-
-func (s *stringSink) view() (ByteView, error) {
- // TODO(bradfitz): return an error if no Set was called
- return s.v, nil
-}
-
-func (s *stringSink) SetString(v string) error {
- s.v.b = nil
- s.v.s = v
- *s.sp = v
- return nil
-}
-
-func (s *stringSink) SetBytes(v []byte) error {
- return s.SetString(string(v))
-}
-
-func (s *stringSink) SetProto(m proto.Message) error {
- b, err := proto.Marshal(m)
- if err != nil {
- return err
- }
- s.v.b = b
- *s.sp = string(b)
- return nil
-}
-
-// ByteViewSink returns a Sink that populates a ByteView.
-func ByteViewSink(dst *ByteView) Sink {
- if dst == nil {
- panic("nil dst")
- }
- return &byteViewSink{dst: dst}
-}
-
-type byteViewSink struct {
- dst *ByteView
-
- // if this code ever ends up tracking that at least one set*
- // method was called, don't make it an error to call set
- // methods multiple times. Lorry's payload.go does that, and
- // it makes sense. The comment at the top of this file about
- // "exactly one of the Set methods" is overly strict. We
- // really care about at least once (in a handler), but if
- // multiple handlers fail (or multiple functions in a program
- // using a Sink), it's okay to re-use the same one.
-}
-
-func (s *byteViewSink) setView(v ByteView) error {
- *s.dst = v
- return nil
-}
-
-func (s *byteViewSink) view() (ByteView, error) {
- return *s.dst, nil
-}
-
-func (s *byteViewSink) SetProto(m proto.Message) error {
- b, err := proto.Marshal(m)
- if err != nil {
- return err
- }
- *s.dst = ByteView{b: b}
- return nil
-}
-
-func (s *byteViewSink) SetBytes(b []byte) error {
- *s.dst = ByteView{b: cloneBytes(b)}
- return nil
-}
-
-func (s *byteViewSink) SetString(v string) error {
- *s.dst = ByteView{s: v}
- return nil
-}
-
-// ProtoSink returns a sink that unmarshals binary proto values into m.
-func ProtoSink(m proto.Message) Sink {
- return &protoSink{
- dst: m,
- }
-}
-
-type protoSink struct {
- dst proto.Message // authoritative value
- typ string
-
- v ByteView // encoded
-}
-
-func (s *protoSink) view() (ByteView, error) {
- return s.v, nil
-}
-
-func (s *protoSink) SetBytes(b []byte) error {
- err := proto.Unmarshal(b, s.dst)
- if err != nil {
- return err
- }
- s.v.b = cloneBytes(b)
- s.v.s = ""
- return nil
-}
-
-func (s *protoSink) SetString(v string) error {
- b := []byte(v)
- err := proto.Unmarshal(b, s.dst)
- if err != nil {
- return err
- }
- s.v.b = b
- s.v.s = ""
- return nil
-}
-
-func (s *protoSink) SetProto(m proto.Message) error {
- b, err := proto.Marshal(m)
- if err != nil {
- return err
- }
- // TODO(bradfitz): optimize for same-task case more and write
- // right through? would need to document ownership rules at
- // the same time. but then we could just assign *dst = *m
- // here. This works for now:
- err = proto.Unmarshal(b, s.dst)
- if err != nil {
- return err
- }
- s.v.b = b
- s.v.s = ""
- return nil
-}
-
-// AllocatingByteSliceSink returns a Sink that allocates
-// a byte slice to hold the received value and assigns
-// it to *dst. The memory is not retained by groupcache.
-func AllocatingByteSliceSink(dst *[]byte) Sink {
- return &allocBytesSink{dst: dst}
-}
-
-type allocBytesSink struct {
- dst *[]byte
- v ByteView
-}
-
-func (s *allocBytesSink) view() (ByteView, error) {
- return s.v, nil
-}
-
-func (s *allocBytesSink) setView(v ByteView) error {
- if v.b != nil {
- *s.dst = cloneBytes(v.b)
- } else {
- *s.dst = []byte(v.s)
- }
- s.v = v
- return nil
-}
-
-func (s *allocBytesSink) SetProto(m proto.Message) error {
- b, err := proto.Marshal(m)
- if err != nil {
- return err
- }
- return s.setBytesOwned(b)
-}
-
-func (s *allocBytesSink) SetBytes(b []byte) error {
- return s.setBytesOwned(cloneBytes(b))
-}
-
-func (s *allocBytesSink) setBytesOwned(b []byte) error {
- if s.dst == nil {
- return errors.New("nil AllocatingByteSliceSink *[]byte dst")
- }
- *s.dst = cloneBytes(b) // another copy, protecting the read-only s.v.b view
- s.v.b = b
- s.v.s = ""
- return nil
-}
-
-func (s *allocBytesSink) SetString(v string) error {
- if s.dst == nil {
- return errors.New("nil AllocatingByteSliceSink *[]byte dst")
- }
- *s.dst = []byte(v)
- s.v.b = nil
- s.v.s = v
- return nil
-}
-
-// TruncatingByteSliceSink returns a Sink that writes up to len(*dst)
-// bytes to *dst. If more bytes are available, they're silently
-// truncated. If fewer bytes are available than len(*dst), *dst
-// is shrunk to fit the number of bytes available.
-func TruncatingByteSliceSink(dst *[]byte) Sink {
- return &truncBytesSink{dst: dst}
-}
-
-type truncBytesSink struct {
- dst *[]byte
- v ByteView
-}
-
-func (s *truncBytesSink) view() (ByteView, error) {
- return s.v, nil
-}
-
-func (s *truncBytesSink) SetProto(m proto.Message) error {
- b, err := proto.Marshal(m)
- if err != nil {
- return err
- }
- return s.setBytesOwned(b)
-}
-
-func (s *truncBytesSink) SetBytes(b []byte) error {
- return s.setBytesOwned(cloneBytes(b))
-}
-
-func (s *truncBytesSink) setBytesOwned(b []byte) error {
- if s.dst == nil {
- return errors.New("nil TruncatingByteSliceSink *[]byte dst")
- }
- n := copy(*s.dst, b)
- if n < len(*s.dst) {
- *s.dst = (*s.dst)[:n]
- }
- s.v.b = b
- s.v.s = ""
- return nil
-}
-
-func (s *truncBytesSink) SetString(v string) error {
- if s.dst == nil {
- return errors.New("nil TruncatingByteSliceSink *[]byte dst")
- }
- n := copy(*s.dst, v)
- if n < len(*s.dst) {
- *s.dst = (*s.dst)[:n]
- }
- s.v.b = nil
- s.v.s = v
- return nil
-}
diff --git a/vendor/github.com/golang/protobuf/AUTHORS b/vendor/github.com/golang/protobuf/AUTHORS
deleted file mode 100644
index 15167cd7..00000000
--- a/vendor/github.com/golang/protobuf/AUTHORS
+++ /dev/null
@@ -1,3 +0,0 @@
-# This source code refers to The Go Authors for copyright purposes.
-# The master list of authors is in the main Go distribution,
-# visible at http://tip.golang.org/AUTHORS.
diff --git a/vendor/github.com/golang/protobuf/CONTRIBUTORS b/vendor/github.com/golang/protobuf/CONTRIBUTORS
deleted file mode 100644
index 1c4577e9..00000000
--- a/vendor/github.com/golang/protobuf/CONTRIBUTORS
+++ /dev/null
@@ -1,3 +0,0 @@
-# This source code was written by the Go contributors.
-# The master list of contributors is in the main Go distribution,
-# visible at http://tip.golang.org/CONTRIBUTORS.
diff --git a/vendor/github.com/golang/protobuf/LICENSE b/vendor/github.com/golang/protobuf/LICENSE
deleted file mode 100644
index 0f646931..00000000
--- a/vendor/github.com/golang/protobuf/LICENSE
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright 2010 The Go Authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
- * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/vendor/github.com/golang/protobuf/proto/buffer.go b/vendor/github.com/golang/protobuf/proto/buffer.go
deleted file mode 100644
index e810e6fe..00000000
--- a/vendor/github.com/golang/protobuf/proto/buffer.go
+++ /dev/null
@@ -1,324 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "errors"
- "fmt"
-
- "google.golang.org/protobuf/encoding/prototext"
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-const (
- WireVarint = 0
- WireFixed32 = 5
- WireFixed64 = 1
- WireBytes = 2
- WireStartGroup = 3
- WireEndGroup = 4
-)
-
-// EncodeVarint returns the varint encoded bytes of v.
-func EncodeVarint(v uint64) []byte {
- return protowire.AppendVarint(nil, v)
-}
-
-// SizeVarint returns the length of the varint encoded bytes of v.
-// This is equal to len(EncodeVarint(v)).
-func SizeVarint(v uint64) int {
- return protowire.SizeVarint(v)
-}
-
-// DecodeVarint parses a varint encoded integer from b,
-// returning the integer value and the length of the varint.
-// It returns (0, 0) if there is a parse error.
-func DecodeVarint(b []byte) (uint64, int) {
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, 0
- }
- return v, n
-}
-
-// Buffer is a buffer for encoding and decoding the protobuf wire format.
-// It may be reused between invocations to reduce memory usage.
-type Buffer struct {
- buf []byte
- idx int
- deterministic bool
-}
-
-// NewBuffer allocates a new Buffer initialized with buf,
-// where the contents of buf are considered the unread portion of the buffer.
-func NewBuffer(buf []byte) *Buffer {
- return &Buffer{buf: buf}
-}
-
-// SetDeterministic specifies whether to use deterministic serialization.
-//
-// Deterministic serialization guarantees that for a given binary, equal
-// messages will always be serialized to the same bytes. This implies:
-//
-// - Repeated serialization of a message will return the same bytes.
-// - Different processes of the same binary (which may be executing on
-// different machines) will serialize equal messages to the same bytes.
-//
-// Note that the deterministic serialization is NOT canonical across
-// languages. It is not guaranteed to remain stable over time. It is unstable
-// across different builds with schema changes due to unknown fields.
-// Users who need canonical serialization (e.g., persistent storage in a
-// canonical form, fingerprinting, etc.) should define their own
-// canonicalization specification and implement their own serializer rather
-// than relying on this API.
-//
-// If deterministic serialization is requested, map entries will be sorted
-// by keys in lexographical order. This is an implementation detail and
-// subject to change.
-func (b *Buffer) SetDeterministic(deterministic bool) {
- b.deterministic = deterministic
-}
-
-// SetBuf sets buf as the internal buffer,
-// where the contents of buf are considered the unread portion of the buffer.
-func (b *Buffer) SetBuf(buf []byte) {
- b.buf = buf
- b.idx = 0
-}
-
-// Reset clears the internal buffer of all written and unread data.
-func (b *Buffer) Reset() {
- b.buf = b.buf[:0]
- b.idx = 0
-}
-
-// Bytes returns the internal buffer.
-func (b *Buffer) Bytes() []byte {
- return b.buf
-}
-
-// Unread returns the unread portion of the buffer.
-func (b *Buffer) Unread() []byte {
- return b.buf[b.idx:]
-}
-
-// Marshal appends the wire-format encoding of m to the buffer.
-func (b *Buffer) Marshal(m Message) error {
- var err error
- b.buf, err = marshalAppend(b.buf, m, b.deterministic)
- return err
-}
-
-// Unmarshal parses the wire-format message in the buffer and
-// places the decoded results in m.
-// It does not reset m before unmarshaling.
-func (b *Buffer) Unmarshal(m Message) error {
- err := UnmarshalMerge(b.Unread(), m)
- b.idx = len(b.buf)
- return err
-}
-
-type unknownFields struct{ XXX_unrecognized protoimpl.UnknownFields }
-
-func (m *unknownFields) String() string { panic("not implemented") }
-func (m *unknownFields) Reset() { panic("not implemented") }
-func (m *unknownFields) ProtoMessage() { panic("not implemented") }
-
-// DebugPrint dumps the encoded bytes of b with a header and footer including s
-// to stdout. This is only intended for debugging.
-func (*Buffer) DebugPrint(s string, b []byte) {
- m := MessageReflect(new(unknownFields))
- m.SetUnknown(b)
- b, _ = prototext.MarshalOptions{AllowPartial: true, Indent: "\t"}.Marshal(m.Interface())
- fmt.Printf("==== %s ====\n%s==== %s ====\n", s, b, s)
-}
-
-// EncodeVarint appends an unsigned varint encoding to the buffer.
-func (b *Buffer) EncodeVarint(v uint64) error {
- b.buf = protowire.AppendVarint(b.buf, v)
- return nil
-}
-
-// EncodeZigzag32 appends a 32-bit zig-zag varint encoding to the buffer.
-func (b *Buffer) EncodeZigzag32(v uint64) error {
- return b.EncodeVarint(uint64((uint32(v) << 1) ^ uint32((int32(v) >> 31))))
-}
-
-// EncodeZigzag64 appends a 64-bit zig-zag varint encoding to the buffer.
-func (b *Buffer) EncodeZigzag64(v uint64) error {
- return b.EncodeVarint(uint64((uint64(v) << 1) ^ uint64((int64(v) >> 63))))
-}
-
-// EncodeFixed32 appends a 32-bit little-endian integer to the buffer.
-func (b *Buffer) EncodeFixed32(v uint64) error {
- b.buf = protowire.AppendFixed32(b.buf, uint32(v))
- return nil
-}
-
-// EncodeFixed64 appends a 64-bit little-endian integer to the buffer.
-func (b *Buffer) EncodeFixed64(v uint64) error {
- b.buf = protowire.AppendFixed64(b.buf, uint64(v))
- return nil
-}
-
-// EncodeRawBytes appends a length-prefixed raw bytes to the buffer.
-func (b *Buffer) EncodeRawBytes(v []byte) error {
- b.buf = protowire.AppendBytes(b.buf, v)
- return nil
-}
-
-// EncodeStringBytes appends a length-prefixed raw bytes to the buffer.
-// It does not validate whether v contains valid UTF-8.
-func (b *Buffer) EncodeStringBytes(v string) error {
- b.buf = protowire.AppendString(b.buf, v)
- return nil
-}
-
-// EncodeMessage appends a length-prefixed encoded message to the buffer.
-func (b *Buffer) EncodeMessage(m Message) error {
- var err error
- b.buf = protowire.AppendVarint(b.buf, uint64(Size(m)))
- b.buf, err = marshalAppend(b.buf, m, b.deterministic)
- return err
-}
-
-// DecodeVarint consumes an encoded unsigned varint from the buffer.
-func (b *Buffer) DecodeVarint() (uint64, error) {
- v, n := protowire.ConsumeVarint(b.buf[b.idx:])
- if n < 0 {
- return 0, protowire.ParseError(n)
- }
- b.idx += n
- return uint64(v), nil
-}
-
-// DecodeZigzag32 consumes an encoded 32-bit zig-zag varint from the buffer.
-func (b *Buffer) DecodeZigzag32() (uint64, error) {
- v, err := b.DecodeVarint()
- if err != nil {
- return 0, err
- }
- return uint64((uint32(v) >> 1) ^ uint32((int32(v&1)<<31)>>31)), nil
-}
-
-// DecodeZigzag64 consumes an encoded 64-bit zig-zag varint from the buffer.
-func (b *Buffer) DecodeZigzag64() (uint64, error) {
- v, err := b.DecodeVarint()
- if err != nil {
- return 0, err
- }
- return uint64((uint64(v) >> 1) ^ uint64((int64(v&1)<<63)>>63)), nil
-}
-
-// DecodeFixed32 consumes a 32-bit little-endian integer from the buffer.
-func (b *Buffer) DecodeFixed32() (uint64, error) {
- v, n := protowire.ConsumeFixed32(b.buf[b.idx:])
- if n < 0 {
- return 0, protowire.ParseError(n)
- }
- b.idx += n
- return uint64(v), nil
-}
-
-// DecodeFixed64 consumes a 64-bit little-endian integer from the buffer.
-func (b *Buffer) DecodeFixed64() (uint64, error) {
- v, n := protowire.ConsumeFixed64(b.buf[b.idx:])
- if n < 0 {
- return 0, protowire.ParseError(n)
- }
- b.idx += n
- return uint64(v), nil
-}
-
-// DecodeRawBytes consumes a length-prefixed raw bytes from the buffer.
-// If alloc is specified, it returns a copy the raw bytes
-// rather than a sub-slice of the buffer.
-func (b *Buffer) DecodeRawBytes(alloc bool) ([]byte, error) {
- v, n := protowire.ConsumeBytes(b.buf[b.idx:])
- if n < 0 {
- return nil, protowire.ParseError(n)
- }
- b.idx += n
- if alloc {
- v = append([]byte(nil), v...)
- }
- return v, nil
-}
-
-// DecodeStringBytes consumes a length-prefixed raw bytes from the buffer.
-// It does not validate whether the raw bytes contain valid UTF-8.
-func (b *Buffer) DecodeStringBytes() (string, error) {
- v, n := protowire.ConsumeString(b.buf[b.idx:])
- if n < 0 {
- return "", protowire.ParseError(n)
- }
- b.idx += n
- return v, nil
-}
-
-// DecodeMessage consumes a length-prefixed message from the buffer.
-// It does not reset m before unmarshaling.
-func (b *Buffer) DecodeMessage(m Message) error {
- v, err := b.DecodeRawBytes(false)
- if err != nil {
- return err
- }
- return UnmarshalMerge(v, m)
-}
-
-// DecodeGroup consumes a message group from the buffer.
-// It assumes that the start group marker has already been consumed and
-// consumes all bytes until (and including the end group marker).
-// It does not reset m before unmarshaling.
-func (b *Buffer) DecodeGroup(m Message) error {
- v, n, err := consumeGroup(b.buf[b.idx:])
- if err != nil {
- return err
- }
- b.idx += n
- return UnmarshalMerge(v, m)
-}
-
-// consumeGroup parses b until it finds an end group marker, returning
-// the raw bytes of the message (excluding the end group marker) and the
-// the total length of the message (including the end group marker).
-func consumeGroup(b []byte) ([]byte, int, error) {
- b0 := b
- depth := 1 // assume this follows a start group marker
- for {
- _, wtyp, tagLen := protowire.ConsumeTag(b)
- if tagLen < 0 {
- return nil, 0, protowire.ParseError(tagLen)
- }
- b = b[tagLen:]
-
- var valLen int
- switch wtyp {
- case protowire.VarintType:
- _, valLen = protowire.ConsumeVarint(b)
- case protowire.Fixed32Type:
- _, valLen = protowire.ConsumeFixed32(b)
- case protowire.Fixed64Type:
- _, valLen = protowire.ConsumeFixed64(b)
- case protowire.BytesType:
- _, valLen = protowire.ConsumeBytes(b)
- case protowire.StartGroupType:
- depth++
- case protowire.EndGroupType:
- depth--
- default:
- return nil, 0, errors.New("proto: cannot parse reserved wire type")
- }
- if valLen < 0 {
- return nil, 0, protowire.ParseError(valLen)
- }
- b = b[valLen:]
-
- if depth == 0 {
- return b0[:len(b0)-len(b)-tagLen], len(b0) - len(b), nil
- }
- }
-}
diff --git a/vendor/github.com/golang/protobuf/proto/defaults.go b/vendor/github.com/golang/protobuf/proto/defaults.go
deleted file mode 100644
index d399bf06..00000000
--- a/vendor/github.com/golang/protobuf/proto/defaults.go
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// SetDefaults sets unpopulated scalar fields to their default values.
-// Fields within a oneof are not set even if they have a default value.
-// SetDefaults is recursively called upon any populated message fields.
-func SetDefaults(m Message) {
- if m != nil {
- setDefaults(MessageReflect(m))
- }
-}
-
-func setDefaults(m protoreflect.Message) {
- fds := m.Descriptor().Fields()
- for i := 0; i < fds.Len(); i++ {
- fd := fds.Get(i)
- if !m.Has(fd) {
- if fd.HasDefault() && fd.ContainingOneof() == nil {
- v := fd.Default()
- if fd.Kind() == protoreflect.BytesKind {
- v = protoreflect.ValueOf(append([]byte(nil), v.Bytes()...)) // copy the default bytes
- }
- m.Set(fd, v)
- }
- continue
- }
- }
-
- m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- switch {
- // Handle singular message.
- case fd.Cardinality() != protoreflect.Repeated:
- if fd.Message() != nil {
- setDefaults(m.Get(fd).Message())
- }
- // Handle list of messages.
- case fd.IsList():
- if fd.Message() != nil {
- ls := m.Get(fd).List()
- for i := 0; i < ls.Len(); i++ {
- setDefaults(ls.Get(i).Message())
- }
- }
- // Handle map of messages.
- case fd.IsMap():
- if fd.MapValue().Message() != nil {
- ms := m.Get(fd).Map()
- ms.Range(func(_ protoreflect.MapKey, v protoreflect.Value) bool {
- setDefaults(v.Message())
- return true
- })
- }
- }
- return true
- })
-}
diff --git a/vendor/github.com/golang/protobuf/proto/deprecated.go b/vendor/github.com/golang/protobuf/proto/deprecated.go
deleted file mode 100644
index e8db57e0..00000000
--- a/vendor/github.com/golang/protobuf/proto/deprecated.go
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "encoding/json"
- "errors"
- "fmt"
- "strconv"
-
- protoV2 "google.golang.org/protobuf/proto"
-)
-
-var (
- // Deprecated: No longer returned.
- ErrNil = errors.New("proto: Marshal called with nil")
-
- // Deprecated: No longer returned.
- ErrTooLarge = errors.New("proto: message encodes to over 2 GB")
-
- // Deprecated: No longer returned.
- ErrInternalBadWireType = errors.New("proto: internal error: bad wiretype for oneof")
-)
-
-// Deprecated: Do not use.
-type Stats struct{ Emalloc, Dmalloc, Encode, Decode, Chit, Cmiss, Size uint64 }
-
-// Deprecated: Do not use.
-func GetStats() Stats { return Stats{} }
-
-// Deprecated: Do not use.
-func MarshalMessageSet(interface{}) ([]byte, error) {
- return nil, errors.New("proto: not implemented")
-}
-
-// Deprecated: Do not use.
-func UnmarshalMessageSet([]byte, interface{}) error {
- return errors.New("proto: not implemented")
-}
-
-// Deprecated: Do not use.
-func MarshalMessageSetJSON(interface{}) ([]byte, error) {
- return nil, errors.New("proto: not implemented")
-}
-
-// Deprecated: Do not use.
-func UnmarshalMessageSetJSON([]byte, interface{}) error {
- return errors.New("proto: not implemented")
-}
-
-// Deprecated: Do not use.
-func RegisterMessageSetType(Message, int32, string) {}
-
-// Deprecated: Do not use.
-func EnumName(m map[int32]string, v int32) string {
- s, ok := m[v]
- if ok {
- return s
- }
- return strconv.Itoa(int(v))
-}
-
-// Deprecated: Do not use.
-func UnmarshalJSONEnum(m map[string]int32, data []byte, enumName string) (int32, error) {
- if data[0] == '"' {
- // New style: enums are strings.
- var repr string
- if err := json.Unmarshal(data, &repr); err != nil {
- return -1, err
- }
- val, ok := m[repr]
- if !ok {
- return 0, fmt.Errorf("unrecognized enum %s value %q", enumName, repr)
- }
- return val, nil
- }
- // Old style: enums are ints.
- var val int32
- if err := json.Unmarshal(data, &val); err != nil {
- return 0, fmt.Errorf("cannot unmarshal %#q into enum %s", data, enumName)
- }
- return val, nil
-}
-
-// Deprecated: Do not use; this type existed for intenal-use only.
-type InternalMessageInfo struct{}
-
-// Deprecated: Do not use; this method existed for intenal-use only.
-func (*InternalMessageInfo) DiscardUnknown(m Message) {
- DiscardUnknown(m)
-}
-
-// Deprecated: Do not use; this method existed for intenal-use only.
-func (*InternalMessageInfo) Marshal(b []byte, m Message, deterministic bool) ([]byte, error) {
- return protoV2.MarshalOptions{Deterministic: deterministic}.MarshalAppend(b, MessageV2(m))
-}
-
-// Deprecated: Do not use; this method existed for intenal-use only.
-func (*InternalMessageInfo) Merge(dst, src Message) {
- protoV2.Merge(MessageV2(dst), MessageV2(src))
-}
-
-// Deprecated: Do not use; this method existed for intenal-use only.
-func (*InternalMessageInfo) Size(m Message) int {
- return protoV2.Size(MessageV2(m))
-}
-
-// Deprecated: Do not use; this method existed for intenal-use only.
-func (*InternalMessageInfo) Unmarshal(m Message, b []byte) error {
- return protoV2.UnmarshalOptions{Merge: true}.Unmarshal(b, MessageV2(m))
-}
diff --git a/vendor/github.com/golang/protobuf/proto/discard.go b/vendor/github.com/golang/protobuf/proto/discard.go
deleted file mode 100644
index 2187e877..00000000
--- a/vendor/github.com/golang/protobuf/proto/discard.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// DiscardUnknown recursively discards all unknown fields from this message
-// and all embedded messages.
-//
-// When unmarshaling a message with unrecognized fields, the tags and values
-// of such fields are preserved in the Message. This allows a later call to
-// marshal to be able to produce a message that continues to have those
-// unrecognized fields. To avoid this, DiscardUnknown is used to
-// explicitly clear the unknown fields after unmarshaling.
-func DiscardUnknown(m Message) {
- if m != nil {
- discardUnknown(MessageReflect(m))
- }
-}
-
-func discardUnknown(m protoreflect.Message) {
- m.Range(func(fd protoreflect.FieldDescriptor, val protoreflect.Value) bool {
- switch {
- // Handle singular message.
- case fd.Cardinality() != protoreflect.Repeated:
- if fd.Message() != nil {
- discardUnknown(m.Get(fd).Message())
- }
- // Handle list of messages.
- case fd.IsList():
- if fd.Message() != nil {
- ls := m.Get(fd).List()
- for i := 0; i < ls.Len(); i++ {
- discardUnknown(ls.Get(i).Message())
- }
- }
- // Handle map of messages.
- case fd.IsMap():
- if fd.MapValue().Message() != nil {
- ms := m.Get(fd).Map()
- ms.Range(func(_ protoreflect.MapKey, v protoreflect.Value) bool {
- discardUnknown(v.Message())
- return true
- })
- }
- }
- return true
- })
-
- // Discard unknown fields.
- if len(m.GetUnknown()) > 0 {
- m.SetUnknown(nil)
- }
-}
diff --git a/vendor/github.com/golang/protobuf/proto/extensions.go b/vendor/github.com/golang/protobuf/proto/extensions.go
deleted file mode 100644
index 42fc120c..00000000
--- a/vendor/github.com/golang/protobuf/proto/extensions.go
+++ /dev/null
@@ -1,356 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "errors"
- "fmt"
- "reflect"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
- "google.golang.org/protobuf/runtime/protoiface"
- "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-type (
- // ExtensionDesc represents an extension descriptor and
- // is used to interact with an extension field in a message.
- //
- // Variables of this type are generated in code by protoc-gen-go.
- ExtensionDesc = protoimpl.ExtensionInfo
-
- // ExtensionRange represents a range of message extensions.
- // Used in code generated by protoc-gen-go.
- ExtensionRange = protoiface.ExtensionRangeV1
-
- // Deprecated: Do not use; this is an internal type.
- Extension = protoimpl.ExtensionFieldV1
-
- // Deprecated: Do not use; this is an internal type.
- XXX_InternalExtensions = protoimpl.ExtensionFields
-)
-
-// ErrMissingExtension reports whether the extension was not present.
-var ErrMissingExtension = errors.New("proto: missing extension")
-
-var errNotExtendable = errors.New("proto: not an extendable proto.Message")
-
-// HasExtension reports whether the extension field is present in m
-// either as an explicitly populated field or as an unknown field.
-func HasExtension(m Message, xt *ExtensionDesc) (has bool) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() {
- return false
- }
-
- // Check whether any populated known field matches the field number.
- xtd := xt.TypeDescriptor()
- if isValidExtension(mr.Descriptor(), xtd) {
- has = mr.Has(xtd)
- } else {
- mr.Range(func(fd protoreflect.FieldDescriptor, _ protoreflect.Value) bool {
- has = int32(fd.Number()) == xt.Field
- return !has
- })
- }
-
- // Check whether any unknown field matches the field number.
- for b := mr.GetUnknown(); !has && len(b) > 0; {
- num, _, n := protowire.ConsumeField(b)
- has = int32(num) == xt.Field
- b = b[n:]
- }
- return has
-}
-
-// ClearExtension removes the extension field from m
-// either as an explicitly populated field or as an unknown field.
-func ClearExtension(m Message, xt *ExtensionDesc) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() {
- return
- }
-
- xtd := xt.TypeDescriptor()
- if isValidExtension(mr.Descriptor(), xtd) {
- mr.Clear(xtd)
- } else {
- mr.Range(func(fd protoreflect.FieldDescriptor, _ protoreflect.Value) bool {
- if int32(fd.Number()) == xt.Field {
- mr.Clear(fd)
- return false
- }
- return true
- })
- }
- clearUnknown(mr, fieldNum(xt.Field))
-}
-
-// ClearAllExtensions clears all extensions from m.
-// This includes populated fields and unknown fields in the extension range.
-func ClearAllExtensions(m Message) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() {
- return
- }
-
- mr.Range(func(fd protoreflect.FieldDescriptor, _ protoreflect.Value) bool {
- if fd.IsExtension() {
- mr.Clear(fd)
- }
- return true
- })
- clearUnknown(mr, mr.Descriptor().ExtensionRanges())
-}
-
-// GetExtension retrieves a proto2 extended field from m.
-//
-// If the descriptor is type complete (i.e., ExtensionDesc.ExtensionType is non-nil),
-// then GetExtension parses the encoded field and returns a Go value of the specified type.
-// If the field is not present, then the default value is returned (if one is specified),
-// otherwise ErrMissingExtension is reported.
-//
-// If the descriptor is type incomplete (i.e., ExtensionDesc.ExtensionType is nil),
-// then GetExtension returns the raw encoded bytes for the extension field.
-func GetExtension(m Message, xt *ExtensionDesc) (interface{}, error) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() || mr.Descriptor().ExtensionRanges().Len() == 0 {
- return nil, errNotExtendable
- }
-
- // Retrieve the unknown fields for this extension field.
- var bo protoreflect.RawFields
- for bi := mr.GetUnknown(); len(bi) > 0; {
- num, _, n := protowire.ConsumeField(bi)
- if int32(num) == xt.Field {
- bo = append(bo, bi[:n]...)
- }
- bi = bi[n:]
- }
-
- // For type incomplete descriptors, only retrieve the unknown fields.
- if xt.ExtensionType == nil {
- return []byte(bo), nil
- }
-
- // If the extension field only exists as unknown fields, unmarshal it.
- // This is rarely done since proto.Unmarshal eagerly unmarshals extensions.
- xtd := xt.TypeDescriptor()
- if !isValidExtension(mr.Descriptor(), xtd) {
- return nil, fmt.Errorf("proto: bad extended type; %T does not extend %T", xt.ExtendedType, m)
- }
- if !mr.Has(xtd) && len(bo) > 0 {
- m2 := mr.New()
- if err := (proto.UnmarshalOptions{
- Resolver: extensionResolver{xt},
- }.Unmarshal(bo, m2.Interface())); err != nil {
- return nil, err
- }
- if m2.Has(xtd) {
- mr.Set(xtd, m2.Get(xtd))
- clearUnknown(mr, fieldNum(xt.Field))
- }
- }
-
- // Check whether the message has the extension field set or a default.
- var pv protoreflect.Value
- switch {
- case mr.Has(xtd):
- pv = mr.Get(xtd)
- case xtd.HasDefault():
- pv = xtd.Default()
- default:
- return nil, ErrMissingExtension
- }
-
- v := xt.InterfaceOf(pv)
- rv := reflect.ValueOf(v)
- if isScalarKind(rv.Kind()) {
- rv2 := reflect.New(rv.Type())
- rv2.Elem().Set(rv)
- v = rv2.Interface()
- }
- return v, nil
-}
-
-// extensionResolver is a custom extension resolver that stores a single
-// extension type that takes precedence over the global registry.
-type extensionResolver struct{ xt protoreflect.ExtensionType }
-
-func (r extensionResolver) FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) {
- if xtd := r.xt.TypeDescriptor(); xtd.FullName() == field {
- return r.xt, nil
- }
- return protoregistry.GlobalTypes.FindExtensionByName(field)
-}
-
-func (r extensionResolver) FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) {
- if xtd := r.xt.TypeDescriptor(); xtd.ContainingMessage().FullName() == message && xtd.Number() == field {
- return r.xt, nil
- }
- return protoregistry.GlobalTypes.FindExtensionByNumber(message, field)
-}
-
-// GetExtensions returns a list of the extensions values present in m,
-// corresponding with the provided list of extension descriptors, xts.
-// If an extension is missing in m, the corresponding value is nil.
-func GetExtensions(m Message, xts []*ExtensionDesc) ([]interface{}, error) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() {
- return nil, errNotExtendable
- }
-
- vs := make([]interface{}, len(xts))
- for i, xt := range xts {
- v, err := GetExtension(m, xt)
- if err != nil {
- if err == ErrMissingExtension {
- continue
- }
- return vs, err
- }
- vs[i] = v
- }
- return vs, nil
-}
-
-// SetExtension sets an extension field in m to the provided value.
-func SetExtension(m Message, xt *ExtensionDesc, v interface{}) error {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() || mr.Descriptor().ExtensionRanges().Len() == 0 {
- return errNotExtendable
- }
-
- rv := reflect.ValueOf(v)
- if reflect.TypeOf(v) != reflect.TypeOf(xt.ExtensionType) {
- return fmt.Errorf("proto: bad extension value type. got: %T, want: %T", v, xt.ExtensionType)
- }
- if rv.Kind() == reflect.Ptr {
- if rv.IsNil() {
- return fmt.Errorf("proto: SetExtension called with nil value of type %T", v)
- }
- if isScalarKind(rv.Elem().Kind()) {
- v = rv.Elem().Interface()
- }
- }
-
- xtd := xt.TypeDescriptor()
- if !isValidExtension(mr.Descriptor(), xtd) {
- return fmt.Errorf("proto: bad extended type; %T does not extend %T", xt.ExtendedType, m)
- }
- mr.Set(xtd, xt.ValueOf(v))
- clearUnknown(mr, fieldNum(xt.Field))
- return nil
-}
-
-// SetRawExtension inserts b into the unknown fields of m.
-//
-// Deprecated: Use Message.ProtoReflect.SetUnknown instead.
-func SetRawExtension(m Message, fnum int32, b []byte) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() {
- return
- }
-
- // Verify that the raw field is valid.
- for b0 := b; len(b0) > 0; {
- num, _, n := protowire.ConsumeField(b0)
- if int32(num) != fnum {
- panic(fmt.Sprintf("mismatching field number: got %d, want %d", num, fnum))
- }
- b0 = b0[n:]
- }
-
- ClearExtension(m, &ExtensionDesc{Field: fnum})
- mr.SetUnknown(append(mr.GetUnknown(), b...))
-}
-
-// ExtensionDescs returns a list of extension descriptors found in m,
-// containing descriptors for both populated extension fields in m and
-// also unknown fields of m that are in the extension range.
-// For the later case, an type incomplete descriptor is provided where only
-// the ExtensionDesc.Field field is populated.
-// The order of the extension descriptors is undefined.
-func ExtensionDescs(m Message) ([]*ExtensionDesc, error) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() || mr.Descriptor().ExtensionRanges().Len() == 0 {
- return nil, errNotExtendable
- }
-
- // Collect a set of known extension descriptors.
- extDescs := make(map[protoreflect.FieldNumber]*ExtensionDesc)
- mr.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- if fd.IsExtension() {
- xt := fd.(protoreflect.ExtensionTypeDescriptor)
- if xd, ok := xt.Type().(*ExtensionDesc); ok {
- extDescs[fd.Number()] = xd
- }
- }
- return true
- })
-
- // Collect a set of unknown extension descriptors.
- extRanges := mr.Descriptor().ExtensionRanges()
- for b := mr.GetUnknown(); len(b) > 0; {
- num, _, n := protowire.ConsumeField(b)
- if extRanges.Has(num) && extDescs[num] == nil {
- extDescs[num] = nil
- }
- b = b[n:]
- }
-
- // Transpose the set of descriptors into a list.
- var xts []*ExtensionDesc
- for num, xt := range extDescs {
- if xt == nil {
- xt = &ExtensionDesc{Field: int32(num)}
- }
- xts = append(xts, xt)
- }
- return xts, nil
-}
-
-// isValidExtension reports whether xtd is a valid extension descriptor for md.
-func isValidExtension(md protoreflect.MessageDescriptor, xtd protoreflect.ExtensionTypeDescriptor) bool {
- return xtd.ContainingMessage() == md && md.ExtensionRanges().Has(xtd.Number())
-}
-
-// isScalarKind reports whether k is a protobuf scalar kind (except bytes).
-// This function exists for historical reasons since the representation of
-// scalars differs between v1 and v2, where v1 uses *T and v2 uses T.
-func isScalarKind(k reflect.Kind) bool {
- switch k {
- case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String:
- return true
- default:
- return false
- }
-}
-
-// clearUnknown removes unknown fields from m where remover.Has reports true.
-func clearUnknown(m protoreflect.Message, remover interface {
- Has(protoreflect.FieldNumber) bool
-}) {
- var bo protoreflect.RawFields
- for bi := m.GetUnknown(); len(bi) > 0; {
- num, _, n := protowire.ConsumeField(bi)
- if !remover.Has(num) {
- bo = append(bo, bi[:n]...)
- }
- bi = bi[n:]
- }
- if bi := m.GetUnknown(); len(bi) != len(bo) {
- m.SetUnknown(bo)
- }
-}
-
-type fieldNum protoreflect.FieldNumber
-
-func (n1 fieldNum) Has(n2 protoreflect.FieldNumber) bool {
- return protoreflect.FieldNumber(n1) == n2
-}
diff --git a/vendor/github.com/golang/protobuf/proto/properties.go b/vendor/github.com/golang/protobuf/proto/properties.go
deleted file mode 100644
index dcdc2202..00000000
--- a/vendor/github.com/golang/protobuf/proto/properties.go
+++ /dev/null
@@ -1,306 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "fmt"
- "reflect"
- "strconv"
- "strings"
- "sync"
-
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-// StructProperties represents protocol buffer type information for a
-// generated protobuf message in the open-struct API.
-//
-// Deprecated: Do not use.
-type StructProperties struct {
- // Prop are the properties for each field.
- //
- // Fields belonging to a oneof are stored in OneofTypes instead, with a
- // single Properties representing the parent oneof held here.
- //
- // The order of Prop matches the order of fields in the Go struct.
- // Struct fields that are not related to protobufs have a "XXX_" prefix
- // in the Properties.Name and must be ignored by the user.
- Prop []*Properties
-
- // OneofTypes contains information about the oneof fields in this message.
- // It is keyed by the protobuf field name.
- OneofTypes map[string]*OneofProperties
-}
-
-// Properties represents the type information for a protobuf message field.
-//
-// Deprecated: Do not use.
-type Properties struct {
- // Name is a placeholder name with little meaningful semantic value.
- // If the name has an "XXX_" prefix, the entire Properties must be ignored.
- Name string
- // OrigName is the protobuf field name or oneof name.
- OrigName string
- // JSONName is the JSON name for the protobuf field.
- JSONName string
- // Enum is a placeholder name for enums.
- // For historical reasons, this is neither the Go name for the enum,
- // nor the protobuf name for the enum.
- Enum string // Deprecated: Do not use.
- // Weak contains the full name of the weakly referenced message.
- Weak string
- // Wire is a string representation of the wire type.
- Wire string
- // WireType is the protobuf wire type for the field.
- WireType int
- // Tag is the protobuf field number.
- Tag int
- // Required reports whether this is a required field.
- Required bool
- // Optional reports whether this is a optional field.
- Optional bool
- // Repeated reports whether this is a repeated field.
- Repeated bool
- // Packed reports whether this is a packed repeated field of scalars.
- Packed bool
- // Proto3 reports whether this field operates under the proto3 syntax.
- Proto3 bool
- // Oneof reports whether this field belongs within a oneof.
- Oneof bool
-
- // Default is the default value in string form.
- Default string
- // HasDefault reports whether the field has a default value.
- HasDefault bool
-
- // MapKeyProp is the properties for the key field for a map field.
- MapKeyProp *Properties
- // MapValProp is the properties for the value field for a map field.
- MapValProp *Properties
-}
-
-// OneofProperties represents the type information for a protobuf oneof.
-//
-// Deprecated: Do not use.
-type OneofProperties struct {
- // Type is a pointer to the generated wrapper type for the field value.
- // This is nil for messages that are not in the open-struct API.
- Type reflect.Type
- // Field is the index into StructProperties.Prop for the containing oneof.
- Field int
- // Prop is the properties for the field.
- Prop *Properties
-}
-
-// String formats the properties in the protobuf struct field tag style.
-func (p *Properties) String() string {
- s := p.Wire
- s += "," + strconv.Itoa(p.Tag)
- if p.Required {
- s += ",req"
- }
- if p.Optional {
- s += ",opt"
- }
- if p.Repeated {
- s += ",rep"
- }
- if p.Packed {
- s += ",packed"
- }
- s += ",name=" + p.OrigName
- if p.JSONName != "" {
- s += ",json=" + p.JSONName
- }
- if len(p.Enum) > 0 {
- s += ",enum=" + p.Enum
- }
- if len(p.Weak) > 0 {
- s += ",weak=" + p.Weak
- }
- if p.Proto3 {
- s += ",proto3"
- }
- if p.Oneof {
- s += ",oneof"
- }
- if p.HasDefault {
- s += ",def=" + p.Default
- }
- return s
-}
-
-// Parse populates p by parsing a string in the protobuf struct field tag style.
-func (p *Properties) Parse(tag string) {
- // For example: "bytes,49,opt,name=foo,def=hello!"
- for len(tag) > 0 {
- i := strings.IndexByte(tag, ',')
- if i < 0 {
- i = len(tag)
- }
- switch s := tag[:i]; {
- case strings.HasPrefix(s, "name="):
- p.OrigName = s[len("name="):]
- case strings.HasPrefix(s, "json="):
- p.JSONName = s[len("json="):]
- case strings.HasPrefix(s, "enum="):
- p.Enum = s[len("enum="):]
- case strings.HasPrefix(s, "weak="):
- p.Weak = s[len("weak="):]
- case strings.Trim(s, "0123456789") == "":
- n, _ := strconv.ParseUint(s, 10, 32)
- p.Tag = int(n)
- case s == "opt":
- p.Optional = true
- case s == "req":
- p.Required = true
- case s == "rep":
- p.Repeated = true
- case s == "varint" || s == "zigzag32" || s == "zigzag64":
- p.Wire = s
- p.WireType = WireVarint
- case s == "fixed32":
- p.Wire = s
- p.WireType = WireFixed32
- case s == "fixed64":
- p.Wire = s
- p.WireType = WireFixed64
- case s == "bytes":
- p.Wire = s
- p.WireType = WireBytes
- case s == "group":
- p.Wire = s
- p.WireType = WireStartGroup
- case s == "packed":
- p.Packed = true
- case s == "proto3":
- p.Proto3 = true
- case s == "oneof":
- p.Oneof = true
- case strings.HasPrefix(s, "def="):
- // The default tag is special in that everything afterwards is the
- // default regardless of the presence of commas.
- p.HasDefault = true
- p.Default, i = tag[len("def="):], len(tag)
- }
- tag = strings.TrimPrefix(tag[i:], ",")
- }
-}
-
-// Init populates the properties from a protocol buffer struct tag.
-//
-// Deprecated: Do not use.
-func (p *Properties) Init(typ reflect.Type, name, tag string, f *reflect.StructField) {
- p.Name = name
- p.OrigName = name
- if tag == "" {
- return
- }
- p.Parse(tag)
-
- if typ != nil && typ.Kind() == reflect.Map {
- p.MapKeyProp = new(Properties)
- p.MapKeyProp.Init(nil, "Key", f.Tag.Get("protobuf_key"), nil)
- p.MapValProp = new(Properties)
- p.MapValProp.Init(nil, "Value", f.Tag.Get("protobuf_val"), nil)
- }
-}
-
-var propertiesCache sync.Map // map[reflect.Type]*StructProperties
-
-// GetProperties returns the list of properties for the type represented by t,
-// which must be a generated protocol buffer message in the open-struct API,
-// where protobuf message fields are represented by exported Go struct fields.
-//
-// Deprecated: Use protobuf reflection instead.
-func GetProperties(t reflect.Type) *StructProperties {
- if p, ok := propertiesCache.Load(t); ok {
- return p.(*StructProperties)
- }
- p, _ := propertiesCache.LoadOrStore(t, newProperties(t))
- return p.(*StructProperties)
-}
-
-func newProperties(t reflect.Type) *StructProperties {
- if t.Kind() != reflect.Struct {
- panic(fmt.Sprintf("%v is not a generated message in the open-struct API", t))
- }
-
- var hasOneof bool
- prop := new(StructProperties)
-
- // Construct a list of properties for each field in the struct.
- for i := 0; i < t.NumField(); i++ {
- p := new(Properties)
- f := t.Field(i)
- tagField := f.Tag.Get("protobuf")
- p.Init(f.Type, f.Name, tagField, &f)
-
- tagOneof := f.Tag.Get("protobuf_oneof")
- if tagOneof != "" {
- hasOneof = true
- p.OrigName = tagOneof
- }
-
- // Rename unrelated struct fields with the "XXX_" prefix since so much
- // user code simply checks for this to exclude special fields.
- if tagField == "" && tagOneof == "" && !strings.HasPrefix(p.Name, "XXX_") {
- p.Name = "XXX_" + p.Name
- p.OrigName = "XXX_" + p.OrigName
- } else if p.Weak != "" {
- p.Name = p.OrigName // avoid possible "XXX_" prefix on weak field
- }
-
- prop.Prop = append(prop.Prop, p)
- }
-
- // Construct a mapping of oneof field names to properties.
- if hasOneof {
- var oneofWrappers []interface{}
- if fn, ok := reflect.PtrTo(t).MethodByName("XXX_OneofFuncs"); ok {
- oneofWrappers = fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))})[3].Interface().([]interface{})
- }
- if fn, ok := reflect.PtrTo(t).MethodByName("XXX_OneofWrappers"); ok {
- oneofWrappers = fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))})[0].Interface().([]interface{})
- }
- if m, ok := reflect.Zero(reflect.PtrTo(t)).Interface().(protoreflect.ProtoMessage); ok {
- if m, ok := m.ProtoReflect().(interface{ ProtoMessageInfo() *protoimpl.MessageInfo }); ok {
- oneofWrappers = m.ProtoMessageInfo().OneofWrappers
- }
- }
-
- prop.OneofTypes = make(map[string]*OneofProperties)
- for _, wrapper := range oneofWrappers {
- p := &OneofProperties{
- Type: reflect.ValueOf(wrapper).Type(), // *T
- Prop: new(Properties),
- }
- f := p.Type.Elem().Field(0)
- p.Prop.Name = f.Name
- p.Prop.Parse(f.Tag.Get("protobuf"))
-
- // Determine the struct field that contains this oneof.
- // Each wrapper is assignable to exactly one parent field.
- var foundOneof bool
- for i := 0; i < t.NumField() && !foundOneof; i++ {
- if p.Type.AssignableTo(t.Field(i).Type) {
- p.Field = i
- foundOneof = true
- }
- }
- if !foundOneof {
- panic(fmt.Sprintf("%v is not a generated message in the open-struct API", t))
- }
- prop.OneofTypes[p.Prop.OrigName] = p
- }
- }
-
- return prop
-}
-
-func (sp *StructProperties) Len() int { return len(sp.Prop) }
-func (sp *StructProperties) Less(i, j int) bool { return false }
-func (sp *StructProperties) Swap(i, j int) { return }
diff --git a/vendor/github.com/golang/protobuf/proto/proto.go b/vendor/github.com/golang/protobuf/proto/proto.go
deleted file mode 100644
index 5aee89c3..00000000
--- a/vendor/github.com/golang/protobuf/proto/proto.go
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package proto provides functionality for handling protocol buffer messages.
-// In particular, it provides marshaling and unmarshaling between a protobuf
-// message and the binary wire format.
-//
-// See https://developers.google.com/protocol-buffers/docs/gotutorial for
-// more information.
-//
-// Deprecated: Use the "google.golang.org/protobuf/proto" package instead.
-package proto
-
-import (
- protoV2 "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
- "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-const (
- ProtoPackageIsVersion1 = true
- ProtoPackageIsVersion2 = true
- ProtoPackageIsVersion3 = true
- ProtoPackageIsVersion4 = true
-)
-
-// GeneratedEnum is any enum type generated by protoc-gen-go
-// which is a named int32 kind.
-// This type exists for documentation purposes.
-type GeneratedEnum interface{}
-
-// GeneratedMessage is any message type generated by protoc-gen-go
-// which is a pointer to a named struct kind.
-// This type exists for documentation purposes.
-type GeneratedMessage interface{}
-
-// Message is a protocol buffer message.
-//
-// This is the v1 version of the message interface and is marginally better
-// than an empty interface as it lacks any method to programatically interact
-// with the contents of the message.
-//
-// A v2 message is declared in "google.golang.org/protobuf/proto".Message and
-// exposes protobuf reflection as a first-class feature of the interface.
-//
-// To convert a v1 message to a v2 message, use the MessageV2 function.
-// To convert a v2 message to a v1 message, use the MessageV1 function.
-type Message = protoiface.MessageV1
-
-// MessageV1 converts either a v1 or v2 message to a v1 message.
-// It returns nil if m is nil.
-func MessageV1(m GeneratedMessage) protoiface.MessageV1 {
- return protoimpl.X.ProtoMessageV1Of(m)
-}
-
-// MessageV2 converts either a v1 or v2 message to a v2 message.
-// It returns nil if m is nil.
-func MessageV2(m GeneratedMessage) protoV2.Message {
- return protoimpl.X.ProtoMessageV2Of(m)
-}
-
-// MessageReflect returns a reflective view for a message.
-// It returns nil if m is nil.
-func MessageReflect(m Message) protoreflect.Message {
- return protoimpl.X.MessageOf(m)
-}
-
-// Marshaler is implemented by messages that can marshal themselves.
-// This interface is used by the following functions: Size, Marshal,
-// Buffer.Marshal, and Buffer.EncodeMessage.
-//
-// Deprecated: Do not implement.
-type Marshaler interface {
- // Marshal formats the encoded bytes of the message.
- // It should be deterministic and emit valid protobuf wire data.
- // The caller takes ownership of the returned buffer.
- Marshal() ([]byte, error)
-}
-
-// Unmarshaler is implemented by messages that can unmarshal themselves.
-// This interface is used by the following functions: Unmarshal, UnmarshalMerge,
-// Buffer.Unmarshal, Buffer.DecodeMessage, and Buffer.DecodeGroup.
-//
-// Deprecated: Do not implement.
-type Unmarshaler interface {
- // Unmarshal parses the encoded bytes of the protobuf wire input.
- // The provided buffer is only valid for during method call.
- // It should not reset the receiver message.
- Unmarshal([]byte) error
-}
-
-// Merger is implemented by messages that can merge themselves.
-// This interface is used by the following functions: Clone and Merge.
-//
-// Deprecated: Do not implement.
-type Merger interface {
- // Merge merges the contents of src into the receiver message.
- // It clones all data structures in src such that it aliases no mutable
- // memory referenced by src.
- Merge(src Message)
-}
-
-// RequiredNotSetError is an error type returned when
-// marshaling or unmarshaling a message with missing required fields.
-type RequiredNotSetError struct {
- err error
-}
-
-func (e *RequiredNotSetError) Error() string {
- if e.err != nil {
- return e.err.Error()
- }
- return "proto: required field not set"
-}
-func (e *RequiredNotSetError) RequiredNotSet() bool {
- return true
-}
-
-func checkRequiredNotSet(m protoV2.Message) error {
- if err := protoV2.CheckInitialized(m); err != nil {
- return &RequiredNotSetError{err: err}
- }
- return nil
-}
-
-// Clone returns a deep copy of src.
-func Clone(src Message) Message {
- return MessageV1(protoV2.Clone(MessageV2(src)))
-}
-
-// Merge merges src into dst, which must be messages of the same type.
-//
-// Populated scalar fields in src are copied to dst, while populated
-// singular messages in src are merged into dst by recursively calling Merge.
-// The elements of every list field in src is appended to the corresponded
-// list fields in dst. The entries of every map field in src is copied into
-// the corresponding map field in dst, possibly replacing existing entries.
-// The unknown fields of src are appended to the unknown fields of dst.
-func Merge(dst, src Message) {
- protoV2.Merge(MessageV2(dst), MessageV2(src))
-}
-
-// Equal reports whether two messages are equal.
-// If two messages marshal to the same bytes under deterministic serialization,
-// then Equal is guaranteed to report true.
-//
-// Two messages are equal if they are the same protobuf message type,
-// have the same set of populated known and extension field values,
-// and the same set of unknown fields values.
-//
-// Scalar values are compared with the equivalent of the == operator in Go,
-// except bytes values which are compared using bytes.Equal and
-// floating point values which specially treat NaNs as equal.
-// Message values are compared by recursively calling Equal.
-// Lists are equal if each element value is also equal.
-// Maps are equal if they have the same set of keys, where the pair of values
-// for each key is also equal.
-func Equal(x, y Message) bool {
- return protoV2.Equal(MessageV2(x), MessageV2(y))
-}
-
-func isMessageSet(md protoreflect.MessageDescriptor) bool {
- ms, ok := md.(interface{ IsMessageSet() bool })
- return ok && ms.IsMessageSet()
-}
diff --git a/vendor/github.com/golang/protobuf/proto/registry.go b/vendor/github.com/golang/protobuf/proto/registry.go
deleted file mode 100644
index 066b4323..00000000
--- a/vendor/github.com/golang/protobuf/proto/registry.go
+++ /dev/null
@@ -1,317 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "bytes"
- "compress/gzip"
- "fmt"
- "io/ioutil"
- "reflect"
- "strings"
- "sync"
-
- "google.golang.org/protobuf/reflect/protodesc"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
- "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-// filePath is the path to the proto source file.
-type filePath = string // e.g., "google/protobuf/descriptor.proto"
-
-// fileDescGZIP is the compressed contents of the encoded FileDescriptorProto.
-type fileDescGZIP = []byte
-
-var fileCache sync.Map // map[filePath]fileDescGZIP
-
-// RegisterFile is called from generated code to register the compressed
-// FileDescriptorProto with the file path for a proto source file.
-//
-// Deprecated: Use protoregistry.GlobalFiles.RegisterFile instead.
-func RegisterFile(s filePath, d fileDescGZIP) {
- // Decompress the descriptor.
- zr, err := gzip.NewReader(bytes.NewReader(d))
- if err != nil {
- panic(fmt.Sprintf("proto: invalid compressed file descriptor: %v", err))
- }
- b, err := ioutil.ReadAll(zr)
- if err != nil {
- panic(fmt.Sprintf("proto: invalid compressed file descriptor: %v", err))
- }
-
- // Construct a protoreflect.FileDescriptor from the raw descriptor.
- // Note that DescBuilder.Build automatically registers the constructed
- // file descriptor with the v2 registry.
- protoimpl.DescBuilder{RawDescriptor: b}.Build()
-
- // Locally cache the raw descriptor form for the file.
- fileCache.Store(s, d)
-}
-
-// FileDescriptor returns the compressed FileDescriptorProto given the file path
-// for a proto source file. It returns nil if not found.
-//
-// Deprecated: Use protoregistry.GlobalFiles.FindFileByPath instead.
-func FileDescriptor(s filePath) fileDescGZIP {
- if v, ok := fileCache.Load(s); ok {
- return v.(fileDescGZIP)
- }
-
- // Find the descriptor in the v2 registry.
- var b []byte
- if fd, _ := protoregistry.GlobalFiles.FindFileByPath(s); fd != nil {
- b, _ = Marshal(protodesc.ToFileDescriptorProto(fd))
- }
-
- // Locally cache the raw descriptor form for the file.
- if len(b) > 0 {
- v, _ := fileCache.LoadOrStore(s, protoimpl.X.CompressGZIP(b))
- return v.(fileDescGZIP)
- }
- return nil
-}
-
-// enumName is the name of an enum. For historical reasons, the enum name is
-// neither the full Go name nor the full protobuf name of the enum.
-// The name is the dot-separated combination of just the proto package that the
-// enum is declared within followed by the Go type name of the generated enum.
-type enumName = string // e.g., "my.proto.package.GoMessage_GoEnum"
-
-// enumsByName maps enum values by name to their numeric counterpart.
-type enumsByName = map[string]int32
-
-// enumsByNumber maps enum values by number to their name counterpart.
-type enumsByNumber = map[int32]string
-
-var enumCache sync.Map // map[enumName]enumsByName
-var numFilesCache sync.Map // map[protoreflect.FullName]int
-
-// RegisterEnum is called from the generated code to register the mapping of
-// enum value names to enum numbers for the enum identified by s.
-//
-// Deprecated: Use protoregistry.GlobalTypes.RegisterEnum instead.
-func RegisterEnum(s enumName, _ enumsByNumber, m enumsByName) {
- if _, ok := enumCache.Load(s); ok {
- panic("proto: duplicate enum registered: " + s)
- }
- enumCache.Store(s, m)
-
- // This does not forward registration to the v2 registry since this API
- // lacks sufficient information to construct a complete v2 enum descriptor.
-}
-
-// EnumValueMap returns the mapping from enum value names to enum numbers for
-// the enum of the given name. It returns nil if not found.
-//
-// Deprecated: Use protoregistry.GlobalTypes.FindEnumByName instead.
-func EnumValueMap(s enumName) enumsByName {
- if v, ok := enumCache.Load(s); ok {
- return v.(enumsByName)
- }
-
- // Check whether the cache is stale. If the number of files in the current
- // package differs, then it means that some enums may have been recently
- // registered upstream that we do not know about.
- var protoPkg protoreflect.FullName
- if i := strings.LastIndexByte(s, '.'); i >= 0 {
- protoPkg = protoreflect.FullName(s[:i])
- }
- v, _ := numFilesCache.Load(protoPkg)
- numFiles, _ := v.(int)
- if protoregistry.GlobalFiles.NumFilesByPackage(protoPkg) == numFiles {
- return nil // cache is up-to-date; was not found earlier
- }
-
- // Update the enum cache for all enums declared in the given proto package.
- numFiles = 0
- protoregistry.GlobalFiles.RangeFilesByPackage(protoPkg, func(fd protoreflect.FileDescriptor) bool {
- walkEnums(fd, func(ed protoreflect.EnumDescriptor) {
- name := protoimpl.X.LegacyEnumName(ed)
- if _, ok := enumCache.Load(name); !ok {
- m := make(enumsByName)
- evs := ed.Values()
- for i := evs.Len() - 1; i >= 0; i-- {
- ev := evs.Get(i)
- m[string(ev.Name())] = int32(ev.Number())
- }
- enumCache.LoadOrStore(name, m)
- }
- })
- numFiles++
- return true
- })
- numFilesCache.Store(protoPkg, numFiles)
-
- // Check cache again for enum map.
- if v, ok := enumCache.Load(s); ok {
- return v.(enumsByName)
- }
- return nil
-}
-
-// walkEnums recursively walks all enums declared in d.
-func walkEnums(d interface {
- Enums() protoreflect.EnumDescriptors
- Messages() protoreflect.MessageDescriptors
-}, f func(protoreflect.EnumDescriptor)) {
- eds := d.Enums()
- for i := eds.Len() - 1; i >= 0; i-- {
- f(eds.Get(i))
- }
- mds := d.Messages()
- for i := mds.Len() - 1; i >= 0; i-- {
- walkEnums(mds.Get(i), f)
- }
-}
-
-// messageName is the full name of protobuf message.
-type messageName = string
-
-var messageTypeCache sync.Map // map[messageName]reflect.Type
-
-// RegisterType is called from generated code to register the message Go type
-// for a message of the given name.
-//
-// Deprecated: Use protoregistry.GlobalTypes.RegisterMessage instead.
-func RegisterType(m Message, s messageName) {
- mt := protoimpl.X.LegacyMessageTypeOf(m, protoreflect.FullName(s))
- if err := protoregistry.GlobalTypes.RegisterMessage(mt); err != nil {
- panic(err)
- }
- messageTypeCache.Store(s, reflect.TypeOf(m))
-}
-
-// RegisterMapType is called from generated code to register the Go map type
-// for a protobuf message representing a map entry.
-//
-// Deprecated: Do not use.
-func RegisterMapType(m interface{}, s messageName) {
- t := reflect.TypeOf(m)
- if t.Kind() != reflect.Map {
- panic(fmt.Sprintf("invalid map kind: %v", t))
- }
- if _, ok := messageTypeCache.Load(s); ok {
- panic(fmt.Errorf("proto: duplicate proto message registered: %s", s))
- }
- messageTypeCache.Store(s, t)
-}
-
-// MessageType returns the message type for a named message.
-// It returns nil if not found.
-//
-// Deprecated: Use protoregistry.GlobalTypes.FindMessageByName instead.
-func MessageType(s messageName) reflect.Type {
- if v, ok := messageTypeCache.Load(s); ok {
- return v.(reflect.Type)
- }
-
- // Derive the message type from the v2 registry.
- var t reflect.Type
- if mt, _ := protoregistry.GlobalTypes.FindMessageByName(protoreflect.FullName(s)); mt != nil {
- t = messageGoType(mt)
- }
-
- // If we could not get a concrete type, it is possible that it is a
- // pseudo-message for a map entry.
- if t == nil {
- d, _ := protoregistry.GlobalFiles.FindDescriptorByName(protoreflect.FullName(s))
- if md, _ := d.(protoreflect.MessageDescriptor); md != nil && md.IsMapEntry() {
- kt := goTypeForField(md.Fields().ByNumber(1))
- vt := goTypeForField(md.Fields().ByNumber(2))
- t = reflect.MapOf(kt, vt)
- }
- }
-
- // Locally cache the message type for the given name.
- if t != nil {
- v, _ := messageTypeCache.LoadOrStore(s, t)
- return v.(reflect.Type)
- }
- return nil
-}
-
-func goTypeForField(fd protoreflect.FieldDescriptor) reflect.Type {
- switch k := fd.Kind(); k {
- case protoreflect.EnumKind:
- if et, _ := protoregistry.GlobalTypes.FindEnumByName(fd.Enum().FullName()); et != nil {
- return enumGoType(et)
- }
- return reflect.TypeOf(protoreflect.EnumNumber(0))
- case protoreflect.MessageKind, protoreflect.GroupKind:
- if mt, _ := protoregistry.GlobalTypes.FindMessageByName(fd.Message().FullName()); mt != nil {
- return messageGoType(mt)
- }
- return reflect.TypeOf((*protoreflect.Message)(nil)).Elem()
- default:
- return reflect.TypeOf(fd.Default().Interface())
- }
-}
-
-func enumGoType(et protoreflect.EnumType) reflect.Type {
- return reflect.TypeOf(et.New(0))
-}
-
-func messageGoType(mt protoreflect.MessageType) reflect.Type {
- return reflect.TypeOf(MessageV1(mt.Zero().Interface()))
-}
-
-// MessageName returns the full protobuf name for the given message type.
-//
-// Deprecated: Use protoreflect.MessageDescriptor.FullName instead.
-func MessageName(m Message) messageName {
- if m == nil {
- return ""
- }
- if m, ok := m.(interface{ XXX_MessageName() messageName }); ok {
- return m.XXX_MessageName()
- }
- return messageName(protoimpl.X.MessageDescriptorOf(m).FullName())
-}
-
-// RegisterExtension is called from the generated code to register
-// the extension descriptor.
-//
-// Deprecated: Use protoregistry.GlobalTypes.RegisterExtension instead.
-func RegisterExtension(d *ExtensionDesc) {
- if err := protoregistry.GlobalTypes.RegisterExtension(d); err != nil {
- panic(err)
- }
-}
-
-type extensionsByNumber = map[int32]*ExtensionDesc
-
-var extensionCache sync.Map // map[messageName]extensionsByNumber
-
-// RegisteredExtensions returns a map of the registered extensions for the
-// provided protobuf message, indexed by the extension field number.
-//
-// Deprecated: Use protoregistry.GlobalTypes.RangeExtensionsByMessage instead.
-func RegisteredExtensions(m Message) extensionsByNumber {
- // Check whether the cache is stale. If the number of extensions for
- // the given message differs, then it means that some extensions were
- // recently registered upstream that we do not know about.
- s := MessageName(m)
- v, _ := extensionCache.Load(s)
- xs, _ := v.(extensionsByNumber)
- if protoregistry.GlobalTypes.NumExtensionsByMessage(protoreflect.FullName(s)) == len(xs) {
- return xs // cache is up-to-date
- }
-
- // Cache is stale, re-compute the extensions map.
- xs = make(extensionsByNumber)
- protoregistry.GlobalTypes.RangeExtensionsByMessage(protoreflect.FullName(s), func(xt protoreflect.ExtensionType) bool {
- if xd, ok := xt.(*ExtensionDesc); ok {
- xs[int32(xt.TypeDescriptor().Number())] = xd
- } else {
- // TODO: This implies that the protoreflect.ExtensionType is a
- // custom type not generated by protoc-gen-go. We could try and
- // convert the type to an ExtensionDesc.
- }
- return true
- })
- extensionCache.Store(s, xs)
- return xs
-}
diff --git a/vendor/github.com/golang/protobuf/proto/text_decode.go b/vendor/github.com/golang/protobuf/proto/text_decode.go
deleted file mode 100644
index 47eb3e44..00000000
--- a/vendor/github.com/golang/protobuf/proto/text_decode.go
+++ /dev/null
@@ -1,801 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "encoding"
- "errors"
- "fmt"
- "reflect"
- "strconv"
- "strings"
- "unicode/utf8"
-
- "google.golang.org/protobuf/encoding/prototext"
- protoV2 "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-const wrapTextUnmarshalV2 = false
-
-// ParseError is returned by UnmarshalText.
-type ParseError struct {
- Message string
-
- // Deprecated: Do not use.
- Line, Offset int
-}
-
-func (e *ParseError) Error() string {
- if wrapTextUnmarshalV2 {
- return e.Message
- }
- if e.Line == 1 {
- return fmt.Sprintf("line 1.%d: %v", e.Offset, e.Message)
- }
- return fmt.Sprintf("line %d: %v", e.Line, e.Message)
-}
-
-// UnmarshalText parses a proto text formatted string into m.
-func UnmarshalText(s string, m Message) error {
- if u, ok := m.(encoding.TextUnmarshaler); ok {
- return u.UnmarshalText([]byte(s))
- }
-
- m.Reset()
- mi := MessageV2(m)
-
- if wrapTextUnmarshalV2 {
- err := prototext.UnmarshalOptions{
- AllowPartial: true,
- }.Unmarshal([]byte(s), mi)
- if err != nil {
- return &ParseError{Message: err.Error()}
- }
- return checkRequiredNotSet(mi)
- } else {
- if err := newTextParser(s).unmarshalMessage(mi.ProtoReflect(), ""); err != nil {
- return err
- }
- return checkRequiredNotSet(mi)
- }
-}
-
-type textParser struct {
- s string // remaining input
- done bool // whether the parsing is finished (success or error)
- backed bool // whether back() was called
- offset, line int
- cur token
-}
-
-type token struct {
- value string
- err *ParseError
- line int // line number
- offset int // byte number from start of input, not start of line
- unquoted string // the unquoted version of value, if it was a quoted string
-}
-
-func newTextParser(s string) *textParser {
- p := new(textParser)
- p.s = s
- p.line = 1
- p.cur.line = 1
- return p
-}
-
-func (p *textParser) unmarshalMessage(m protoreflect.Message, terminator string) (err error) {
- md := m.Descriptor()
- fds := md.Fields()
-
- // A struct is a sequence of "name: value", terminated by one of
- // '>' or '}', or the end of the input. A name may also be
- // "[extension]" or "[type/url]".
- //
- // The whole struct can also be an expanded Any message, like:
- // [type/url] < ... struct contents ... >
- seen := make(map[protoreflect.FieldNumber]bool)
- for {
- tok := p.next()
- if tok.err != nil {
- return tok.err
- }
- if tok.value == terminator {
- break
- }
- if tok.value == "[" {
- if err := p.unmarshalExtensionOrAny(m, seen); err != nil {
- return err
- }
- continue
- }
-
- // This is a normal, non-extension field.
- name := protoreflect.Name(tok.value)
- fd := fds.ByName(name)
- switch {
- case fd == nil:
- gd := fds.ByName(protoreflect.Name(strings.ToLower(string(name))))
- if gd != nil && gd.Kind() == protoreflect.GroupKind && gd.Message().Name() == name {
- fd = gd
- }
- case fd.Kind() == protoreflect.GroupKind && fd.Message().Name() != name:
- fd = nil
- case fd.IsWeak() && fd.Message().IsPlaceholder():
- fd = nil
- }
- if fd == nil {
- typeName := string(md.FullName())
- if m, ok := m.Interface().(Message); ok {
- t := reflect.TypeOf(m)
- if t.Kind() == reflect.Ptr {
- typeName = t.Elem().String()
- }
- }
- return p.errorf("unknown field name %q in %v", name, typeName)
- }
- if od := fd.ContainingOneof(); od != nil && m.WhichOneof(od) != nil {
- return p.errorf("field '%s' would overwrite already parsed oneof '%s'", name, od.Name())
- }
- if fd.Cardinality() != protoreflect.Repeated && seen[fd.Number()] {
- return p.errorf("non-repeated field %q was repeated", fd.Name())
- }
- seen[fd.Number()] = true
-
- // Consume any colon.
- if err := p.checkForColon(fd); err != nil {
- return err
- }
-
- // Parse into the field.
- v := m.Get(fd)
- if !m.Has(fd) && (fd.IsList() || fd.IsMap() || fd.Message() != nil) {
- v = m.Mutable(fd)
- }
- if v, err = p.unmarshalValue(v, fd); err != nil {
- return err
- }
- m.Set(fd, v)
-
- if err := p.consumeOptionalSeparator(); err != nil {
- return err
- }
- }
- return nil
-}
-
-func (p *textParser) unmarshalExtensionOrAny(m protoreflect.Message, seen map[protoreflect.FieldNumber]bool) error {
- name, err := p.consumeExtensionOrAnyName()
- if err != nil {
- return err
- }
-
- // If it contains a slash, it's an Any type URL.
- if slashIdx := strings.LastIndex(name, "/"); slashIdx >= 0 {
- tok := p.next()
- if tok.err != nil {
- return tok.err
- }
- // consume an optional colon
- if tok.value == ":" {
- tok = p.next()
- if tok.err != nil {
- return tok.err
- }
- }
-
- var terminator string
- switch tok.value {
- case "<":
- terminator = ">"
- case "{":
- terminator = "}"
- default:
- return p.errorf("expected '{' or '<', found %q", tok.value)
- }
-
- mt, err := protoregistry.GlobalTypes.FindMessageByURL(name)
- if err != nil {
- return p.errorf("unrecognized message %q in google.protobuf.Any", name[slashIdx+len("/"):])
- }
- m2 := mt.New()
- if err := p.unmarshalMessage(m2, terminator); err != nil {
- return err
- }
- b, err := protoV2.Marshal(m2.Interface())
- if err != nil {
- return p.errorf("failed to marshal message of type %q: %v", name[slashIdx+len("/"):], err)
- }
-
- urlFD := m.Descriptor().Fields().ByName("type_url")
- valFD := m.Descriptor().Fields().ByName("value")
- if seen[urlFD.Number()] {
- return p.errorf("Any message unpacked multiple times, or %q already set", urlFD.Name())
- }
- if seen[valFD.Number()] {
- return p.errorf("Any message unpacked multiple times, or %q already set", valFD.Name())
- }
- m.Set(urlFD, protoreflect.ValueOfString(name))
- m.Set(valFD, protoreflect.ValueOfBytes(b))
- seen[urlFD.Number()] = true
- seen[valFD.Number()] = true
- return nil
- }
-
- xname := protoreflect.FullName(name)
- xt, _ := protoregistry.GlobalTypes.FindExtensionByName(xname)
- if xt == nil && isMessageSet(m.Descriptor()) {
- xt, _ = protoregistry.GlobalTypes.FindExtensionByName(xname.Append("message_set_extension"))
- }
- if xt == nil {
- return p.errorf("unrecognized extension %q", name)
- }
- fd := xt.TypeDescriptor()
- if fd.ContainingMessage().FullName() != m.Descriptor().FullName() {
- return p.errorf("extension field %q does not extend message %q", name, m.Descriptor().FullName())
- }
-
- if err := p.checkForColon(fd); err != nil {
- return err
- }
-
- v := m.Get(fd)
- if !m.Has(fd) && (fd.IsList() || fd.IsMap() || fd.Message() != nil) {
- v = m.Mutable(fd)
- }
- v, err = p.unmarshalValue(v, fd)
- if err != nil {
- return err
- }
- m.Set(fd, v)
- return p.consumeOptionalSeparator()
-}
-
-func (p *textParser) unmarshalValue(v protoreflect.Value, fd protoreflect.FieldDescriptor) (protoreflect.Value, error) {
- tok := p.next()
- if tok.err != nil {
- return v, tok.err
- }
- if tok.value == "" {
- return v, p.errorf("unexpected EOF")
- }
-
- switch {
- case fd.IsList():
- lv := v.List()
- var err error
- if tok.value == "[" {
- // Repeated field with list notation, like [1,2,3].
- for {
- vv := lv.NewElement()
- vv, err = p.unmarshalSingularValue(vv, fd)
- if err != nil {
- return v, err
- }
- lv.Append(vv)
-
- tok := p.next()
- if tok.err != nil {
- return v, tok.err
- }
- if tok.value == "]" {
- break
- }
- if tok.value != "," {
- return v, p.errorf("Expected ']' or ',' found %q", tok.value)
- }
- }
- return v, nil
- }
-
- // One value of the repeated field.
- p.back()
- vv := lv.NewElement()
- vv, err = p.unmarshalSingularValue(vv, fd)
- if err != nil {
- return v, err
- }
- lv.Append(vv)
- return v, nil
- case fd.IsMap():
- // The map entry should be this sequence of tokens:
- // < key : KEY value : VALUE >
- // However, implementations may omit key or value, and technically
- // we should support them in any order.
- var terminator string
- switch tok.value {
- case "<":
- terminator = ">"
- case "{":
- terminator = "}"
- default:
- return v, p.errorf("expected '{' or '<', found %q", tok.value)
- }
-
- keyFD := fd.MapKey()
- valFD := fd.MapValue()
-
- mv := v.Map()
- kv := keyFD.Default()
- vv := mv.NewValue()
- for {
- tok := p.next()
- if tok.err != nil {
- return v, tok.err
- }
- if tok.value == terminator {
- break
- }
- var err error
- switch tok.value {
- case "key":
- if err := p.consumeToken(":"); err != nil {
- return v, err
- }
- if kv, err = p.unmarshalSingularValue(kv, keyFD); err != nil {
- return v, err
- }
- if err := p.consumeOptionalSeparator(); err != nil {
- return v, err
- }
- case "value":
- if err := p.checkForColon(valFD); err != nil {
- return v, err
- }
- if vv, err = p.unmarshalSingularValue(vv, valFD); err != nil {
- return v, err
- }
- if err := p.consumeOptionalSeparator(); err != nil {
- return v, err
- }
- default:
- p.back()
- return v, p.errorf(`expected "key", "value", or %q, found %q`, terminator, tok.value)
- }
- }
- mv.Set(kv.MapKey(), vv)
- return v, nil
- default:
- p.back()
- return p.unmarshalSingularValue(v, fd)
- }
-}
-
-func (p *textParser) unmarshalSingularValue(v protoreflect.Value, fd protoreflect.FieldDescriptor) (protoreflect.Value, error) {
- tok := p.next()
- if tok.err != nil {
- return v, tok.err
- }
- if tok.value == "" {
- return v, p.errorf("unexpected EOF")
- }
-
- switch fd.Kind() {
- case protoreflect.BoolKind:
- switch tok.value {
- case "true", "1", "t", "True":
- return protoreflect.ValueOfBool(true), nil
- case "false", "0", "f", "False":
- return protoreflect.ValueOfBool(false), nil
- }
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind:
- if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {
- return protoreflect.ValueOfInt32(int32(x)), nil
- }
-
- // The C++ parser accepts large positive hex numbers that uses
- // two's complement arithmetic to represent negative numbers.
- // This feature is here for backwards compatibility with C++.
- if strings.HasPrefix(tok.value, "0x") {
- if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {
- return protoreflect.ValueOfInt32(int32(-(int64(^x) + 1))), nil
- }
- }
- case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- if x, err := strconv.ParseInt(tok.value, 0, 64); err == nil {
- return protoreflect.ValueOfInt64(int64(x)), nil
- }
-
- // The C++ parser accepts large positive hex numbers that uses
- // two's complement arithmetic to represent negative numbers.
- // This feature is here for backwards compatibility with C++.
- if strings.HasPrefix(tok.value, "0x") {
- if x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {
- return protoreflect.ValueOfInt64(int64(-(int64(^x) + 1))), nil
- }
- }
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind:
- if x, err := strconv.ParseUint(tok.value, 0, 32); err == nil {
- return protoreflect.ValueOfUint32(uint32(x)), nil
- }
- case protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- if x, err := strconv.ParseUint(tok.value, 0, 64); err == nil {
- return protoreflect.ValueOfUint64(uint64(x)), nil
- }
- case protoreflect.FloatKind:
- // Ignore 'f' for compatibility with output generated by C++,
- // but don't remove 'f' when the value is "-inf" or "inf".
- v := tok.value
- if strings.HasSuffix(v, "f") && v != "-inf" && v != "inf" {
- v = v[:len(v)-len("f")]
- }
- if x, err := strconv.ParseFloat(v, 32); err == nil {
- return protoreflect.ValueOfFloat32(float32(x)), nil
- }
- case protoreflect.DoubleKind:
- // Ignore 'f' for compatibility with output generated by C++,
- // but don't remove 'f' when the value is "-inf" or "inf".
- v := tok.value
- if strings.HasSuffix(v, "f") && v != "-inf" && v != "inf" {
- v = v[:len(v)-len("f")]
- }
- if x, err := strconv.ParseFloat(v, 64); err == nil {
- return protoreflect.ValueOfFloat64(float64(x)), nil
- }
- case protoreflect.StringKind:
- if isQuote(tok.value[0]) {
- return protoreflect.ValueOfString(tok.unquoted), nil
- }
- case protoreflect.BytesKind:
- if isQuote(tok.value[0]) {
- return protoreflect.ValueOfBytes([]byte(tok.unquoted)), nil
- }
- case protoreflect.EnumKind:
- if x, err := strconv.ParseInt(tok.value, 0, 32); err == nil {
- return protoreflect.ValueOfEnum(protoreflect.EnumNumber(x)), nil
- }
- vd := fd.Enum().Values().ByName(protoreflect.Name(tok.value))
- if vd != nil {
- return protoreflect.ValueOfEnum(vd.Number()), nil
- }
- case protoreflect.MessageKind, protoreflect.GroupKind:
- var terminator string
- switch tok.value {
- case "{":
- terminator = "}"
- case "<":
- terminator = ">"
- default:
- return v, p.errorf("expected '{' or '<', found %q", tok.value)
- }
- err := p.unmarshalMessage(v.Message(), terminator)
- return v, err
- default:
- panic(fmt.Sprintf("invalid kind %v", fd.Kind()))
- }
- return v, p.errorf("invalid %v: %v", fd.Kind(), tok.value)
-}
-
-// Consume a ':' from the input stream (if the next token is a colon),
-// returning an error if a colon is needed but not present.
-func (p *textParser) checkForColon(fd protoreflect.FieldDescriptor) *ParseError {
- tok := p.next()
- if tok.err != nil {
- return tok.err
- }
- if tok.value != ":" {
- if fd.Message() == nil {
- return p.errorf("expected ':', found %q", tok.value)
- }
- p.back()
- }
- return nil
-}
-
-// consumeExtensionOrAnyName consumes an extension name or an Any type URL and
-// the following ']'. It returns the name or URL consumed.
-func (p *textParser) consumeExtensionOrAnyName() (string, error) {
- tok := p.next()
- if tok.err != nil {
- return "", tok.err
- }
-
- // If extension name or type url is quoted, it's a single token.
- if len(tok.value) > 2 && isQuote(tok.value[0]) && tok.value[len(tok.value)-1] == tok.value[0] {
- name, err := unquoteC(tok.value[1:len(tok.value)-1], rune(tok.value[0]))
- if err != nil {
- return "", err
- }
- return name, p.consumeToken("]")
- }
-
- // Consume everything up to "]"
- var parts []string
- for tok.value != "]" {
- parts = append(parts, tok.value)
- tok = p.next()
- if tok.err != nil {
- return "", p.errorf("unrecognized type_url or extension name: %s", tok.err)
- }
- if p.done && tok.value != "]" {
- return "", p.errorf("unclosed type_url or extension name")
- }
- }
- return strings.Join(parts, ""), nil
-}
-
-// consumeOptionalSeparator consumes an optional semicolon or comma.
-// It is used in unmarshalMessage to provide backward compatibility.
-func (p *textParser) consumeOptionalSeparator() error {
- tok := p.next()
- if tok.err != nil {
- return tok.err
- }
- if tok.value != ";" && tok.value != "," {
- p.back()
- }
- return nil
-}
-
-func (p *textParser) errorf(format string, a ...interface{}) *ParseError {
- pe := &ParseError{fmt.Sprintf(format, a...), p.cur.line, p.cur.offset}
- p.cur.err = pe
- p.done = true
- return pe
-}
-
-func (p *textParser) skipWhitespace() {
- i := 0
- for i < len(p.s) && (isWhitespace(p.s[i]) || p.s[i] == '#') {
- if p.s[i] == '#' {
- // comment; skip to end of line or input
- for i < len(p.s) && p.s[i] != '\n' {
- i++
- }
- if i == len(p.s) {
- break
- }
- }
- if p.s[i] == '\n' {
- p.line++
- }
- i++
- }
- p.offset += i
- p.s = p.s[i:len(p.s)]
- if len(p.s) == 0 {
- p.done = true
- }
-}
-
-func (p *textParser) advance() {
- // Skip whitespace
- p.skipWhitespace()
- if p.done {
- return
- }
-
- // Start of non-whitespace
- p.cur.err = nil
- p.cur.offset, p.cur.line = p.offset, p.line
- p.cur.unquoted = ""
- switch p.s[0] {
- case '<', '>', '{', '}', ':', '[', ']', ';', ',', '/':
- // Single symbol
- p.cur.value, p.s = p.s[0:1], p.s[1:len(p.s)]
- case '"', '\'':
- // Quoted string
- i := 1
- for i < len(p.s) && p.s[i] != p.s[0] && p.s[i] != '\n' {
- if p.s[i] == '\\' && i+1 < len(p.s) {
- // skip escaped char
- i++
- }
- i++
- }
- if i >= len(p.s) || p.s[i] != p.s[0] {
- p.errorf("unmatched quote")
- return
- }
- unq, err := unquoteC(p.s[1:i], rune(p.s[0]))
- if err != nil {
- p.errorf("invalid quoted string %s: %v", p.s[0:i+1], err)
- return
- }
- p.cur.value, p.s = p.s[0:i+1], p.s[i+1:len(p.s)]
- p.cur.unquoted = unq
- default:
- i := 0
- for i < len(p.s) && isIdentOrNumberChar(p.s[i]) {
- i++
- }
- if i == 0 {
- p.errorf("unexpected byte %#x", p.s[0])
- return
- }
- p.cur.value, p.s = p.s[0:i], p.s[i:len(p.s)]
- }
- p.offset += len(p.cur.value)
-}
-
-// Back off the parser by one token. Can only be done between calls to next().
-// It makes the next advance() a no-op.
-func (p *textParser) back() { p.backed = true }
-
-// Advances the parser and returns the new current token.
-func (p *textParser) next() *token {
- if p.backed || p.done {
- p.backed = false
- return &p.cur
- }
- p.advance()
- if p.done {
- p.cur.value = ""
- } else if len(p.cur.value) > 0 && isQuote(p.cur.value[0]) {
- // Look for multiple quoted strings separated by whitespace,
- // and concatenate them.
- cat := p.cur
- for {
- p.skipWhitespace()
- if p.done || !isQuote(p.s[0]) {
- break
- }
- p.advance()
- if p.cur.err != nil {
- return &p.cur
- }
- cat.value += " " + p.cur.value
- cat.unquoted += p.cur.unquoted
- }
- p.done = false // parser may have seen EOF, but we want to return cat
- p.cur = cat
- }
- return &p.cur
-}
-
-func (p *textParser) consumeToken(s string) error {
- tok := p.next()
- if tok.err != nil {
- return tok.err
- }
- if tok.value != s {
- p.back()
- return p.errorf("expected %q, found %q", s, tok.value)
- }
- return nil
-}
-
-var errBadUTF8 = errors.New("proto: bad UTF-8")
-
-func unquoteC(s string, quote rune) (string, error) {
- // This is based on C++'s tokenizer.cc.
- // Despite its name, this is *not* parsing C syntax.
- // For instance, "\0" is an invalid quoted string.
-
- // Avoid allocation in trivial cases.
- simple := true
- for _, r := range s {
- if r == '\\' || r == quote {
- simple = false
- break
- }
- }
- if simple {
- return s, nil
- }
-
- buf := make([]byte, 0, 3*len(s)/2)
- for len(s) > 0 {
- r, n := utf8.DecodeRuneInString(s)
- if r == utf8.RuneError && n == 1 {
- return "", errBadUTF8
- }
- s = s[n:]
- if r != '\\' {
- if r < utf8.RuneSelf {
- buf = append(buf, byte(r))
- } else {
- buf = append(buf, string(r)...)
- }
- continue
- }
-
- ch, tail, err := unescape(s)
- if err != nil {
- return "", err
- }
- buf = append(buf, ch...)
- s = tail
- }
- return string(buf), nil
-}
-
-func unescape(s string) (ch string, tail string, err error) {
- r, n := utf8.DecodeRuneInString(s)
- if r == utf8.RuneError && n == 1 {
- return "", "", errBadUTF8
- }
- s = s[n:]
- switch r {
- case 'a':
- return "\a", s, nil
- case 'b':
- return "\b", s, nil
- case 'f':
- return "\f", s, nil
- case 'n':
- return "\n", s, nil
- case 'r':
- return "\r", s, nil
- case 't':
- return "\t", s, nil
- case 'v':
- return "\v", s, nil
- case '?':
- return "?", s, nil // trigraph workaround
- case '\'', '"', '\\':
- return string(r), s, nil
- case '0', '1', '2', '3', '4', '5', '6', '7':
- if len(s) < 2 {
- return "", "", fmt.Errorf(`\%c requires 2 following digits`, r)
- }
- ss := string(r) + s[:2]
- s = s[2:]
- i, err := strconv.ParseUint(ss, 8, 8)
- if err != nil {
- return "", "", fmt.Errorf(`\%s contains non-octal digits`, ss)
- }
- return string([]byte{byte(i)}), s, nil
- case 'x', 'X', 'u', 'U':
- var n int
- switch r {
- case 'x', 'X':
- n = 2
- case 'u':
- n = 4
- case 'U':
- n = 8
- }
- if len(s) < n {
- return "", "", fmt.Errorf(`\%c requires %d following digits`, r, n)
- }
- ss := s[:n]
- s = s[n:]
- i, err := strconv.ParseUint(ss, 16, 64)
- if err != nil {
- return "", "", fmt.Errorf(`\%c%s contains non-hexadecimal digits`, r, ss)
- }
- if r == 'x' || r == 'X' {
- return string([]byte{byte(i)}), s, nil
- }
- if i > utf8.MaxRune {
- return "", "", fmt.Errorf(`\%c%s is not a valid Unicode code point`, r, ss)
- }
- return string(rune(i)), s, nil
- }
- return "", "", fmt.Errorf(`unknown escape \%c`, r)
-}
-
-func isIdentOrNumberChar(c byte) bool {
- switch {
- case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z':
- return true
- case '0' <= c && c <= '9':
- return true
- }
- switch c {
- case '-', '+', '.', '_':
- return true
- }
- return false
-}
-
-func isWhitespace(c byte) bool {
- switch c {
- case ' ', '\t', '\n', '\r':
- return true
- }
- return false
-}
-
-func isQuote(c byte) bool {
- switch c {
- case '"', '\'':
- return true
- }
- return false
-}
diff --git a/vendor/github.com/golang/protobuf/proto/text_encode.go b/vendor/github.com/golang/protobuf/proto/text_encode.go
deleted file mode 100644
index a31134ee..00000000
--- a/vendor/github.com/golang/protobuf/proto/text_encode.go
+++ /dev/null
@@ -1,560 +0,0 @@
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "bytes"
- "encoding"
- "fmt"
- "io"
- "math"
- "sort"
- "strings"
-
- "google.golang.org/protobuf/encoding/prototext"
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-const wrapTextMarshalV2 = false
-
-// TextMarshaler is a configurable text format marshaler.
-type TextMarshaler struct {
- Compact bool // use compact text format (one line)
- ExpandAny bool // expand google.protobuf.Any messages of known types
-}
-
-// Marshal writes the proto text format of m to w.
-func (tm *TextMarshaler) Marshal(w io.Writer, m Message) error {
- b, err := tm.marshal(m)
- if len(b) > 0 {
- if _, err := w.Write(b); err != nil {
- return err
- }
- }
- return err
-}
-
-// Text returns a proto text formatted string of m.
-func (tm *TextMarshaler) Text(m Message) string {
- b, _ := tm.marshal(m)
- return string(b)
-}
-
-func (tm *TextMarshaler) marshal(m Message) ([]byte, error) {
- mr := MessageReflect(m)
- if mr == nil || !mr.IsValid() {
- return []byte(""), nil
- }
-
- if wrapTextMarshalV2 {
- if m, ok := m.(encoding.TextMarshaler); ok {
- return m.MarshalText()
- }
-
- opts := prototext.MarshalOptions{
- AllowPartial: true,
- EmitUnknown: true,
- }
- if !tm.Compact {
- opts.Indent = " "
- }
- if !tm.ExpandAny {
- opts.Resolver = (*protoregistry.Types)(nil)
- }
- return opts.Marshal(mr.Interface())
- } else {
- w := &textWriter{
- compact: tm.Compact,
- expandAny: tm.ExpandAny,
- complete: true,
- }
-
- if m, ok := m.(encoding.TextMarshaler); ok {
- b, err := m.MarshalText()
- if err != nil {
- return nil, err
- }
- w.Write(b)
- return w.buf, nil
- }
-
- err := w.writeMessage(mr)
- return w.buf, err
- }
-}
-
-var (
- defaultTextMarshaler = TextMarshaler{}
- compactTextMarshaler = TextMarshaler{Compact: true}
-)
-
-// MarshalText writes the proto text format of m to w.
-func MarshalText(w io.Writer, m Message) error { return defaultTextMarshaler.Marshal(w, m) }
-
-// MarshalTextString returns a proto text formatted string of m.
-func MarshalTextString(m Message) string { return defaultTextMarshaler.Text(m) }
-
-// CompactText writes the compact proto text format of m to w.
-func CompactText(w io.Writer, m Message) error { return compactTextMarshaler.Marshal(w, m) }
-
-// CompactTextString returns a compact proto text formatted string of m.
-func CompactTextString(m Message) string { return compactTextMarshaler.Text(m) }
-
-var (
- newline = []byte("\n")
- endBraceNewline = []byte("}\n")
- posInf = []byte("inf")
- negInf = []byte("-inf")
- nan = []byte("nan")
-)
-
-// textWriter is an io.Writer that tracks its indentation level.
-type textWriter struct {
- compact bool // same as TextMarshaler.Compact
- expandAny bool // same as TextMarshaler.ExpandAny
- complete bool // whether the current position is a complete line
- indent int // indentation level; never negative
- buf []byte
-}
-
-func (w *textWriter) Write(p []byte) (n int, _ error) {
- newlines := bytes.Count(p, newline)
- if newlines == 0 {
- if !w.compact && w.complete {
- w.writeIndent()
- }
- w.buf = append(w.buf, p...)
- w.complete = false
- return len(p), nil
- }
-
- frags := bytes.SplitN(p, newline, newlines+1)
- if w.compact {
- for i, frag := range frags {
- if i > 0 {
- w.buf = append(w.buf, ' ')
- n++
- }
- w.buf = append(w.buf, frag...)
- n += len(frag)
- }
- return n, nil
- }
-
- for i, frag := range frags {
- if w.complete {
- w.writeIndent()
- }
- w.buf = append(w.buf, frag...)
- n += len(frag)
- if i+1 < len(frags) {
- w.buf = append(w.buf, '\n')
- n++
- }
- }
- w.complete = len(frags[len(frags)-1]) == 0
- return n, nil
-}
-
-func (w *textWriter) WriteByte(c byte) error {
- if w.compact && c == '\n' {
- c = ' '
- }
- if !w.compact && w.complete {
- w.writeIndent()
- }
- w.buf = append(w.buf, c)
- w.complete = c == '\n'
- return nil
-}
-
-func (w *textWriter) writeName(fd protoreflect.FieldDescriptor) {
- if !w.compact && w.complete {
- w.writeIndent()
- }
- w.complete = false
-
- if fd.Kind() != protoreflect.GroupKind {
- w.buf = append(w.buf, fd.Name()...)
- w.WriteByte(':')
- } else {
- // Use message type name for group field name.
- w.buf = append(w.buf, fd.Message().Name()...)
- }
-
- if !w.compact {
- w.WriteByte(' ')
- }
-}
-
-func requiresQuotes(u string) bool {
- // When type URL contains any characters except [0-9A-Za-z./\-]*, it must be quoted.
- for _, ch := range u {
- switch {
- case ch == '.' || ch == '/' || ch == '_':
- continue
- case '0' <= ch && ch <= '9':
- continue
- case 'A' <= ch && ch <= 'Z':
- continue
- case 'a' <= ch && ch <= 'z':
- continue
- default:
- return true
- }
- }
- return false
-}
-
-// writeProto3Any writes an expanded google.protobuf.Any message.
-//
-// It returns (false, nil) if sv value can't be unmarshaled (e.g. because
-// required messages are not linked in).
-//
-// It returns (true, error) when sv was written in expanded format or an error
-// was encountered.
-func (w *textWriter) writeProto3Any(m protoreflect.Message) (bool, error) {
- md := m.Descriptor()
- fdURL := md.Fields().ByName("type_url")
- fdVal := md.Fields().ByName("value")
-
- url := m.Get(fdURL).String()
- mt, err := protoregistry.GlobalTypes.FindMessageByURL(url)
- if err != nil {
- return false, nil
- }
-
- b := m.Get(fdVal).Bytes()
- m2 := mt.New()
- if err := proto.Unmarshal(b, m2.Interface()); err != nil {
- return false, nil
- }
- w.Write([]byte("["))
- if requiresQuotes(url) {
- w.writeQuotedString(url)
- } else {
- w.Write([]byte(url))
- }
- if w.compact {
- w.Write([]byte("]:<"))
- } else {
- w.Write([]byte("]: <\n"))
- w.indent++
- }
- if err := w.writeMessage(m2); err != nil {
- return true, err
- }
- if w.compact {
- w.Write([]byte("> "))
- } else {
- w.indent--
- w.Write([]byte(">\n"))
- }
- return true, nil
-}
-
-func (w *textWriter) writeMessage(m protoreflect.Message) error {
- md := m.Descriptor()
- if w.expandAny && md.FullName() == "google.protobuf.Any" {
- if canExpand, err := w.writeProto3Any(m); canExpand {
- return err
- }
- }
-
- fds := md.Fields()
- for i := 0; i < fds.Len(); {
- fd := fds.Get(i)
- if od := fd.ContainingOneof(); od != nil {
- fd = m.WhichOneof(od)
- i += od.Fields().Len()
- } else {
- i++
- }
- if fd == nil || !m.Has(fd) {
- continue
- }
-
- switch {
- case fd.IsList():
- lv := m.Get(fd).List()
- for j := 0; j < lv.Len(); j++ {
- w.writeName(fd)
- v := lv.Get(j)
- if err := w.writeSingularValue(v, fd); err != nil {
- return err
- }
- w.WriteByte('\n')
- }
- case fd.IsMap():
- kfd := fd.MapKey()
- vfd := fd.MapValue()
- mv := m.Get(fd).Map()
-
- type entry struct{ key, val protoreflect.Value }
- var entries []entry
- mv.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool {
- entries = append(entries, entry{k.Value(), v})
- return true
- })
- sort.Slice(entries, func(i, j int) bool {
- switch kfd.Kind() {
- case protoreflect.BoolKind:
- return !entries[i].key.Bool() && entries[j].key.Bool()
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind, protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- return entries[i].key.Int() < entries[j].key.Int()
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind, protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- return entries[i].key.Uint() < entries[j].key.Uint()
- case protoreflect.StringKind:
- return entries[i].key.String() < entries[j].key.String()
- default:
- panic("invalid kind")
- }
- })
- for _, entry := range entries {
- w.writeName(fd)
- w.WriteByte('<')
- if !w.compact {
- w.WriteByte('\n')
- }
- w.indent++
- w.writeName(kfd)
- if err := w.writeSingularValue(entry.key, kfd); err != nil {
- return err
- }
- w.WriteByte('\n')
- w.writeName(vfd)
- if err := w.writeSingularValue(entry.val, vfd); err != nil {
- return err
- }
- w.WriteByte('\n')
- w.indent--
- w.WriteByte('>')
- w.WriteByte('\n')
- }
- default:
- w.writeName(fd)
- if err := w.writeSingularValue(m.Get(fd), fd); err != nil {
- return err
- }
- w.WriteByte('\n')
- }
- }
-
- if b := m.GetUnknown(); len(b) > 0 {
- w.writeUnknownFields(b)
- }
- return w.writeExtensions(m)
-}
-
-func (w *textWriter) writeSingularValue(v protoreflect.Value, fd protoreflect.FieldDescriptor) error {
- switch fd.Kind() {
- case protoreflect.FloatKind, protoreflect.DoubleKind:
- switch vf := v.Float(); {
- case math.IsInf(vf, +1):
- w.Write(posInf)
- case math.IsInf(vf, -1):
- w.Write(negInf)
- case math.IsNaN(vf):
- w.Write(nan)
- default:
- fmt.Fprint(w, v.Interface())
- }
- case protoreflect.StringKind:
- // NOTE: This does not validate UTF-8 for historical reasons.
- w.writeQuotedString(string(v.String()))
- case protoreflect.BytesKind:
- w.writeQuotedString(string(v.Bytes()))
- case protoreflect.MessageKind, protoreflect.GroupKind:
- var bra, ket byte = '<', '>'
- if fd.Kind() == protoreflect.GroupKind {
- bra, ket = '{', '}'
- }
- w.WriteByte(bra)
- if !w.compact {
- w.WriteByte('\n')
- }
- w.indent++
- m := v.Message()
- if m2, ok := m.Interface().(encoding.TextMarshaler); ok {
- b, err := m2.MarshalText()
- if err != nil {
- return err
- }
- w.Write(b)
- } else {
- w.writeMessage(m)
- }
- w.indent--
- w.WriteByte(ket)
- case protoreflect.EnumKind:
- if ev := fd.Enum().Values().ByNumber(v.Enum()); ev != nil {
- fmt.Fprint(w, ev.Name())
- } else {
- fmt.Fprint(w, v.Enum())
- }
- default:
- fmt.Fprint(w, v.Interface())
- }
- return nil
-}
-
-// writeQuotedString writes a quoted string in the protocol buffer text format.
-func (w *textWriter) writeQuotedString(s string) {
- w.WriteByte('"')
- for i := 0; i < len(s); i++ {
- switch c := s[i]; c {
- case '\n':
- w.buf = append(w.buf, `\n`...)
- case '\r':
- w.buf = append(w.buf, `\r`...)
- case '\t':
- w.buf = append(w.buf, `\t`...)
- case '"':
- w.buf = append(w.buf, `\"`...)
- case '\\':
- w.buf = append(w.buf, `\\`...)
- default:
- if isPrint := c >= 0x20 && c < 0x7f; isPrint {
- w.buf = append(w.buf, c)
- } else {
- w.buf = append(w.buf, fmt.Sprintf(`\%03o`, c)...)
- }
- }
- }
- w.WriteByte('"')
-}
-
-func (w *textWriter) writeUnknownFields(b []byte) {
- if !w.compact {
- fmt.Fprintf(w, "/* %d unknown bytes */\n", len(b))
- }
-
- for len(b) > 0 {
- num, wtyp, n := protowire.ConsumeTag(b)
- if n < 0 {
- return
- }
- b = b[n:]
-
- if wtyp == protowire.EndGroupType {
- w.indent--
- w.Write(endBraceNewline)
- continue
- }
- fmt.Fprint(w, num)
- if wtyp != protowire.StartGroupType {
- w.WriteByte(':')
- }
- if !w.compact || wtyp == protowire.StartGroupType {
- w.WriteByte(' ')
- }
- switch wtyp {
- case protowire.VarintType:
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return
- }
- b = b[n:]
- fmt.Fprint(w, v)
- case protowire.Fixed32Type:
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return
- }
- b = b[n:]
- fmt.Fprint(w, v)
- case protowire.Fixed64Type:
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return
- }
- b = b[n:]
- fmt.Fprint(w, v)
- case protowire.BytesType:
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return
- }
- b = b[n:]
- fmt.Fprintf(w, "%q", v)
- case protowire.StartGroupType:
- w.WriteByte('{')
- w.indent++
- default:
- fmt.Fprintf(w, "/* unknown wire type %d */", wtyp)
- }
- w.WriteByte('\n')
- }
-}
-
-// writeExtensions writes all the extensions in m.
-func (w *textWriter) writeExtensions(m protoreflect.Message) error {
- md := m.Descriptor()
- if md.ExtensionRanges().Len() == 0 {
- return nil
- }
-
- type ext struct {
- desc protoreflect.FieldDescriptor
- val protoreflect.Value
- }
- var exts []ext
- m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- if fd.IsExtension() {
- exts = append(exts, ext{fd, v})
- }
- return true
- })
- sort.Slice(exts, func(i, j int) bool {
- return exts[i].desc.Number() < exts[j].desc.Number()
- })
-
- for _, ext := range exts {
- // For message set, use the name of the message as the extension name.
- name := string(ext.desc.FullName())
- if isMessageSet(ext.desc.ContainingMessage()) {
- name = strings.TrimSuffix(name, ".message_set_extension")
- }
-
- if !ext.desc.IsList() {
- if err := w.writeSingularExtension(name, ext.val, ext.desc); err != nil {
- return err
- }
- } else {
- lv := ext.val.List()
- for i := 0; i < lv.Len(); i++ {
- if err := w.writeSingularExtension(name, lv.Get(i), ext.desc); err != nil {
- return err
- }
- }
- }
- }
- return nil
-}
-
-func (w *textWriter) writeSingularExtension(name string, v protoreflect.Value, fd protoreflect.FieldDescriptor) error {
- fmt.Fprintf(w, "[%s]:", name)
- if !w.compact {
- w.WriteByte(' ')
- }
- if err := w.writeSingularValue(v, fd); err != nil {
- return err
- }
- w.WriteByte('\n')
- return nil
-}
-
-func (w *textWriter) writeIndent() {
- if !w.complete {
- return
- }
- for i := 0; i < w.indent*2; i++ {
- w.buf = append(w.buf, ' ')
- }
- w.complete = false
-}
diff --git a/vendor/github.com/golang/protobuf/proto/wire.go b/vendor/github.com/golang/protobuf/proto/wire.go
deleted file mode 100644
index d7c28da5..00000000
--- a/vendor/github.com/golang/protobuf/proto/wire.go
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- protoV2 "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// Size returns the size in bytes of the wire-format encoding of m.
-func Size(m Message) int {
- if m == nil {
- return 0
- }
- mi := MessageV2(m)
- return protoV2.Size(mi)
-}
-
-// Marshal returns the wire-format encoding of m.
-func Marshal(m Message) ([]byte, error) {
- b, err := marshalAppend(nil, m, false)
- if b == nil {
- b = zeroBytes
- }
- return b, err
-}
-
-var zeroBytes = make([]byte, 0, 0)
-
-func marshalAppend(buf []byte, m Message, deterministic bool) ([]byte, error) {
- if m == nil {
- return nil, ErrNil
- }
- mi := MessageV2(m)
- nbuf, err := protoV2.MarshalOptions{
- Deterministic: deterministic,
- AllowPartial: true,
- }.MarshalAppend(buf, mi)
- if err != nil {
- return buf, err
- }
- if len(buf) == len(nbuf) {
- if !mi.ProtoReflect().IsValid() {
- return buf, ErrNil
- }
- }
- return nbuf, checkRequiredNotSet(mi)
-}
-
-// Unmarshal parses a wire-format message in b and places the decoded results in m.
-//
-// Unmarshal resets m before starting to unmarshal, so any existing data in m is always
-// removed. Use UnmarshalMerge to preserve and append to existing data.
-func Unmarshal(b []byte, m Message) error {
- m.Reset()
- return UnmarshalMerge(b, m)
-}
-
-// UnmarshalMerge parses a wire-format message in b and places the decoded results in m.
-func UnmarshalMerge(b []byte, m Message) error {
- mi := MessageV2(m)
- out, err := protoV2.UnmarshalOptions{
- AllowPartial: true,
- Merge: true,
- }.UnmarshalState(protoiface.UnmarshalInput{
- Buf: b,
- Message: mi.ProtoReflect(),
- })
- if err != nil {
- return err
- }
- if out.Flags&protoiface.UnmarshalInitialized > 0 {
- return nil
- }
- return checkRequiredNotSet(mi)
-}
diff --git a/vendor/github.com/golang/protobuf/proto/wrappers.go b/vendor/github.com/golang/protobuf/proto/wrappers.go
deleted file mode 100644
index 398e3485..00000000
--- a/vendor/github.com/golang/protobuf/proto/wrappers.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-// Bool stores v in a new bool value and returns a pointer to it.
-func Bool(v bool) *bool { return &v }
-
-// Int stores v in a new int32 value and returns a pointer to it.
-//
-// Deprecated: Use Int32 instead.
-func Int(v int) *int32 { return Int32(int32(v)) }
-
-// Int32 stores v in a new int32 value and returns a pointer to it.
-func Int32(v int32) *int32 { return &v }
-
-// Int64 stores v in a new int64 value and returns a pointer to it.
-func Int64(v int64) *int64 { return &v }
-
-// Uint32 stores v in a new uint32 value and returns a pointer to it.
-func Uint32(v uint32) *uint32 { return &v }
-
-// Uint64 stores v in a new uint64 value and returns a pointer to it.
-func Uint64(v uint64) *uint64 { return &v }
-
-// Float32 stores v in a new float32 value and returns a pointer to it.
-func Float32(v float32) *float32 { return &v }
-
-// Float64 stores v in a new float64 value and returns a pointer to it.
-func Float64(v float64) *float64 { return &v }
-
-// String stores v in a new string value and returns a pointer to it.
-func String(v string) *string { return &v }
diff --git a/vendor/google.golang.org/protobuf/LICENSE b/vendor/google.golang.org/protobuf/LICENSE
deleted file mode 100644
index 49ea0f92..00000000
--- a/vendor/google.golang.org/protobuf/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2018 The Go Authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
- * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/google.golang.org/protobuf/PATENTS b/vendor/google.golang.org/protobuf/PATENTS
deleted file mode 100644
index 73309904..00000000
--- a/vendor/google.golang.org/protobuf/PATENTS
+++ /dev/null
@@ -1,22 +0,0 @@
-Additional IP Rights Grant (Patents)
-
-"This implementation" means the copyrightable works distributed by
-Google as part of the Go project.
-
-Google hereby grants to You a perpetual, worldwide, non-exclusive,
-no-charge, royalty-free, irrevocable (except as stated in this section)
-patent license to make, have made, use, offer to sell, sell, import,
-transfer and otherwise run, modify and propagate the contents of this
-implementation of Go, where such license applies only to those patent
-claims, both currently owned or controlled by Google and acquired in
-the future, licensable by Google that are necessarily infringed by this
-implementation of Go. This grant does not include claims that would be
-infringed only as a consequence of further modification of this
-implementation. If you or your agent or exclusive licensee institute or
-order or agree to the institution of patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit) alleging
-that this implementation of Go or any code incorporated within this
-implementation of Go constitutes direct or contributory patent
-infringement, or inducement of patent infringement, then any patent
-rights granted to you under this License for this implementation of Go
-shall terminate as of the date such litigation is filed.
diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/decode.go b/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
deleted file mode 100644
index a45f112b..00000000
--- a/vendor/google.golang.org/protobuf/encoding/prototext/decode.go
+++ /dev/null
@@ -1,772 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package prototext
-
-import (
- "fmt"
- "unicode/utf8"
-
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/encoding/text"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/internal/set"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-// Unmarshal reads the given []byte into the given [proto.Message].
-// The provided message must be mutable (e.g., a non-nil pointer to a message).
-func Unmarshal(b []byte, m proto.Message) error {
- return UnmarshalOptions{}.Unmarshal(b, m)
-}
-
-// UnmarshalOptions is a configurable textproto format unmarshaler.
-type UnmarshalOptions struct {
- pragma.NoUnkeyedLiterals
-
- // AllowPartial accepts input for messages that will result in missing
- // required fields. If AllowPartial is false (the default), Unmarshal will
- // return error if there are any missing required fields.
- AllowPartial bool
-
- // DiscardUnknown specifies whether to ignore unknown fields when parsing.
- // An unknown field is any field whose field name or field number does not
- // resolve to any known or extension field in the message.
- // By default, unmarshal rejects unknown fields as an error.
- DiscardUnknown bool
-
- // Resolver is used for looking up types when unmarshaling
- // google.protobuf.Any messages or extension fields.
- // If nil, this defaults to using protoregistry.GlobalTypes.
- Resolver interface {
- protoregistry.MessageTypeResolver
- protoregistry.ExtensionTypeResolver
- }
-}
-
-// Unmarshal reads the given []byte and populates the given [proto.Message]
-// using options in the UnmarshalOptions object.
-// The provided message must be mutable (e.g., a non-nil pointer to a message).
-func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error {
- return o.unmarshal(b, m)
-}
-
-// unmarshal is a centralized function that all unmarshal operations go through.
-// For profiling purposes, avoid changing the name of this function or
-// introducing other code paths for unmarshal that do not go through this.
-func (o UnmarshalOptions) unmarshal(b []byte, m proto.Message) error {
- proto.Reset(m)
-
- if o.Resolver == nil {
- o.Resolver = protoregistry.GlobalTypes
- }
-
- dec := decoder{text.NewDecoder(b), o}
- if err := dec.unmarshalMessage(m.ProtoReflect(), false); err != nil {
- return err
- }
- if o.AllowPartial {
- return nil
- }
- return proto.CheckInitialized(m)
-}
-
-type decoder struct {
- *text.Decoder
- opts UnmarshalOptions
-}
-
-// newError returns an error object with position info.
-func (d decoder) newError(pos int, f string, x ...interface{}) error {
- line, column := d.Position(pos)
- head := fmt.Sprintf("(line %d:%d): ", line, column)
- return errors.New(head+f, x...)
-}
-
-// unexpectedTokenError returns a syntax error for the given unexpected token.
-func (d decoder) unexpectedTokenError(tok text.Token) error {
- return d.syntaxError(tok.Pos(), "unexpected token: %s", tok.RawString())
-}
-
-// syntaxError returns a syntax error for given position.
-func (d decoder) syntaxError(pos int, f string, x ...interface{}) error {
- line, column := d.Position(pos)
- head := fmt.Sprintf("syntax error (line %d:%d): ", line, column)
- return errors.New(head+f, x...)
-}
-
-// unmarshalMessage unmarshals into the given protoreflect.Message.
-func (d decoder) unmarshalMessage(m protoreflect.Message, checkDelims bool) error {
- messageDesc := m.Descriptor()
- if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) {
- return errors.New("no support for proto1 MessageSets")
- }
-
- if messageDesc.FullName() == genid.Any_message_fullname {
- return d.unmarshalAny(m, checkDelims)
- }
-
- if checkDelims {
- tok, err := d.Read()
- if err != nil {
- return err
- }
-
- if tok.Kind() != text.MessageOpen {
- return d.unexpectedTokenError(tok)
- }
- }
-
- var seenNums set.Ints
- var seenOneofs set.Ints
- fieldDescs := messageDesc.Fields()
-
- for {
- // Read field name.
- tok, err := d.Read()
- if err != nil {
- return err
- }
- switch typ := tok.Kind(); typ {
- case text.Name:
- // Continue below.
- case text.EOF:
- if checkDelims {
- return text.ErrUnexpectedEOF
- }
- return nil
- default:
- if checkDelims && typ == text.MessageClose {
- return nil
- }
- return d.unexpectedTokenError(tok)
- }
-
- // Resolve the field descriptor.
- var name protoreflect.Name
- var fd protoreflect.FieldDescriptor
- var xt protoreflect.ExtensionType
- var xtErr error
- var isFieldNumberName bool
-
- switch tok.NameKind() {
- case text.IdentName:
- name = protoreflect.Name(tok.IdentName())
- fd = fieldDescs.ByTextName(string(name))
-
- case text.TypeName:
- // Handle extensions only. This code path is not for Any.
- xt, xtErr = d.opts.Resolver.FindExtensionByName(protoreflect.FullName(tok.TypeName()))
-
- case text.FieldNumber:
- isFieldNumberName = true
- num := protoreflect.FieldNumber(tok.FieldNumber())
- if !num.IsValid() {
- return d.newError(tok.Pos(), "invalid field number: %d", num)
- }
- fd = fieldDescs.ByNumber(num)
- if fd == nil {
- xt, xtErr = d.opts.Resolver.FindExtensionByNumber(messageDesc.FullName(), num)
- }
- }
-
- if xt != nil {
- fd = xt.TypeDescriptor()
- if !messageDesc.ExtensionRanges().Has(fd.Number()) || fd.ContainingMessage().FullName() != messageDesc.FullName() {
- return d.newError(tok.Pos(), "message %v cannot be extended by %v", messageDesc.FullName(), fd.FullName())
- }
- } else if xtErr != nil && xtErr != protoregistry.NotFound {
- return d.newError(tok.Pos(), "unable to resolve [%s]: %v", tok.RawString(), xtErr)
- }
- if flags.ProtoLegacy {
- if fd != nil && fd.IsWeak() && fd.Message().IsPlaceholder() {
- fd = nil // reset since the weak reference is not linked in
- }
- }
-
- // Handle unknown fields.
- if fd == nil {
- if d.opts.DiscardUnknown || messageDesc.ReservedNames().Has(name) {
- d.skipValue()
- continue
- }
- return d.newError(tok.Pos(), "unknown field: %v", tok.RawString())
- }
-
- // Handle fields identified by field number.
- if isFieldNumberName {
- // TODO: Add an option to permit parsing field numbers.
- //
- // This requires careful thought as the MarshalOptions.EmitUnknown
- // option allows formatting unknown fields as the field number and the
- // best-effort textual representation of the field value. In that case,
- // it may not be possible to unmarshal the value from a parser that does
- // have information about the unknown field.
- return d.newError(tok.Pos(), "cannot specify field by number: %v", tok.RawString())
- }
-
- switch {
- case fd.IsList():
- kind := fd.Kind()
- if kind != protoreflect.MessageKind && kind != protoreflect.GroupKind && !tok.HasSeparator() {
- return d.syntaxError(tok.Pos(), "missing field separator :")
- }
-
- list := m.Mutable(fd).List()
- if err := d.unmarshalList(fd, list); err != nil {
- return err
- }
-
- case fd.IsMap():
- mmap := m.Mutable(fd).Map()
- if err := d.unmarshalMap(fd, mmap); err != nil {
- return err
- }
-
- default:
- kind := fd.Kind()
- if kind != protoreflect.MessageKind && kind != protoreflect.GroupKind && !tok.HasSeparator() {
- return d.syntaxError(tok.Pos(), "missing field separator :")
- }
-
- // If field is a oneof, check if it has already been set.
- if od := fd.ContainingOneof(); od != nil {
- idx := uint64(od.Index())
- if seenOneofs.Has(idx) {
- return d.newError(tok.Pos(), "error parsing %q, oneof %v is already set", tok.RawString(), od.FullName())
- }
- seenOneofs.Set(idx)
- }
-
- num := uint64(fd.Number())
- if seenNums.Has(num) {
- return d.newError(tok.Pos(), "non-repeated field %q is repeated", tok.RawString())
- }
-
- if err := d.unmarshalSingular(fd, m); err != nil {
- return err
- }
- seenNums.Set(num)
- }
- }
-
- return nil
-}
-
-// unmarshalSingular unmarshals a non-repeated field value specified by the
-// given FieldDescriptor.
-func (d decoder) unmarshalSingular(fd protoreflect.FieldDescriptor, m protoreflect.Message) error {
- var val protoreflect.Value
- var err error
- switch fd.Kind() {
- case protoreflect.MessageKind, protoreflect.GroupKind:
- val = m.NewField(fd)
- err = d.unmarshalMessage(val.Message(), true)
- default:
- val, err = d.unmarshalScalar(fd)
- }
- if err == nil {
- m.Set(fd, val)
- }
- return err
-}
-
-// unmarshalScalar unmarshals a scalar/enum protoreflect.Value specified by the
-// given FieldDescriptor.
-func (d decoder) unmarshalScalar(fd protoreflect.FieldDescriptor) (protoreflect.Value, error) {
- tok, err := d.Read()
- if err != nil {
- return protoreflect.Value{}, err
- }
-
- if tok.Kind() != text.Scalar {
- return protoreflect.Value{}, d.unexpectedTokenError(tok)
- }
-
- kind := fd.Kind()
- switch kind {
- case protoreflect.BoolKind:
- if b, ok := tok.Bool(); ok {
- return protoreflect.ValueOfBool(b), nil
- }
-
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind:
- if n, ok := tok.Int32(); ok {
- return protoreflect.ValueOfInt32(n), nil
- }
-
- case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- if n, ok := tok.Int64(); ok {
- return protoreflect.ValueOfInt64(n), nil
- }
-
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind:
- if n, ok := tok.Uint32(); ok {
- return protoreflect.ValueOfUint32(n), nil
- }
-
- case protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- if n, ok := tok.Uint64(); ok {
- return protoreflect.ValueOfUint64(n), nil
- }
-
- case protoreflect.FloatKind:
- if n, ok := tok.Float32(); ok {
- return protoreflect.ValueOfFloat32(n), nil
- }
-
- case protoreflect.DoubleKind:
- if n, ok := tok.Float64(); ok {
- return protoreflect.ValueOfFloat64(n), nil
- }
-
- case protoreflect.StringKind:
- if s, ok := tok.String(); ok {
- if strs.EnforceUTF8(fd) && !utf8.ValidString(s) {
- return protoreflect.Value{}, d.newError(tok.Pos(), "contains invalid UTF-8")
- }
- return protoreflect.ValueOfString(s), nil
- }
-
- case protoreflect.BytesKind:
- if b, ok := tok.String(); ok {
- return protoreflect.ValueOfBytes([]byte(b)), nil
- }
-
- case protoreflect.EnumKind:
- if lit, ok := tok.Enum(); ok {
- // Lookup EnumNumber based on name.
- if enumVal := fd.Enum().Values().ByName(protoreflect.Name(lit)); enumVal != nil {
- return protoreflect.ValueOfEnum(enumVal.Number()), nil
- }
- }
- if num, ok := tok.Int32(); ok {
- return protoreflect.ValueOfEnum(protoreflect.EnumNumber(num)), nil
- }
-
- default:
- panic(fmt.Sprintf("invalid scalar kind %v", kind))
- }
-
- return protoreflect.Value{}, d.newError(tok.Pos(), "invalid value for %v type: %v", kind, tok.RawString())
-}
-
-// unmarshalList unmarshals into given protoreflect.List. A list value can
-// either be in [] syntax or simply just a single scalar/message value.
-func (d decoder) unmarshalList(fd protoreflect.FieldDescriptor, list protoreflect.List) error {
- tok, err := d.Peek()
- if err != nil {
- return err
- }
-
- switch fd.Kind() {
- case protoreflect.MessageKind, protoreflect.GroupKind:
- switch tok.Kind() {
- case text.ListOpen:
- d.Read()
- for {
- tok, err := d.Peek()
- if err != nil {
- return err
- }
-
- switch tok.Kind() {
- case text.ListClose:
- d.Read()
- return nil
- case text.MessageOpen:
- pval := list.NewElement()
- if err := d.unmarshalMessage(pval.Message(), true); err != nil {
- return err
- }
- list.Append(pval)
- default:
- return d.unexpectedTokenError(tok)
- }
- }
-
- case text.MessageOpen:
- pval := list.NewElement()
- if err := d.unmarshalMessage(pval.Message(), true); err != nil {
- return err
- }
- list.Append(pval)
- return nil
- }
-
- default:
- switch tok.Kind() {
- case text.ListOpen:
- d.Read()
- for {
- tok, err := d.Peek()
- if err != nil {
- return err
- }
-
- switch tok.Kind() {
- case text.ListClose:
- d.Read()
- return nil
- case text.Scalar:
- pval, err := d.unmarshalScalar(fd)
- if err != nil {
- return err
- }
- list.Append(pval)
- default:
- return d.unexpectedTokenError(tok)
- }
- }
-
- case text.Scalar:
- pval, err := d.unmarshalScalar(fd)
- if err != nil {
- return err
- }
- list.Append(pval)
- return nil
- }
- }
-
- return d.unexpectedTokenError(tok)
-}
-
-// unmarshalMap unmarshals into given protoreflect.Map. A map value is a
-// textproto message containing {key: , value: }.
-func (d decoder) unmarshalMap(fd protoreflect.FieldDescriptor, mmap protoreflect.Map) error {
- // Determine ahead whether map entry is a scalar type or a message type in
- // order to call the appropriate unmarshalMapValue func inside
- // unmarshalMapEntry.
- var unmarshalMapValue func() (protoreflect.Value, error)
- switch fd.MapValue().Kind() {
- case protoreflect.MessageKind, protoreflect.GroupKind:
- unmarshalMapValue = func() (protoreflect.Value, error) {
- pval := mmap.NewValue()
- if err := d.unmarshalMessage(pval.Message(), true); err != nil {
- return protoreflect.Value{}, err
- }
- return pval, nil
- }
- default:
- unmarshalMapValue = func() (protoreflect.Value, error) {
- return d.unmarshalScalar(fd.MapValue())
- }
- }
-
- tok, err := d.Read()
- if err != nil {
- return err
- }
- switch tok.Kind() {
- case text.MessageOpen:
- return d.unmarshalMapEntry(fd, mmap, unmarshalMapValue)
-
- case text.ListOpen:
- for {
- tok, err := d.Read()
- if err != nil {
- return err
- }
- switch tok.Kind() {
- case text.ListClose:
- return nil
- case text.MessageOpen:
- if err := d.unmarshalMapEntry(fd, mmap, unmarshalMapValue); err != nil {
- return err
- }
- default:
- return d.unexpectedTokenError(tok)
- }
- }
-
- default:
- return d.unexpectedTokenError(tok)
- }
-}
-
-// unmarshalMap unmarshals into given protoreflect.Map. A map value is a
-// textproto message containing {key: , value: }.
-func (d decoder) unmarshalMapEntry(fd protoreflect.FieldDescriptor, mmap protoreflect.Map, unmarshalMapValue func() (protoreflect.Value, error)) error {
- var key protoreflect.MapKey
- var pval protoreflect.Value
-Loop:
- for {
- // Read field name.
- tok, err := d.Read()
- if err != nil {
- return err
- }
- switch tok.Kind() {
- case text.Name:
- if tok.NameKind() != text.IdentName {
- if !d.opts.DiscardUnknown {
- return d.newError(tok.Pos(), "unknown map entry field %q", tok.RawString())
- }
- d.skipValue()
- continue Loop
- }
- // Continue below.
- case text.MessageClose:
- break Loop
- default:
- return d.unexpectedTokenError(tok)
- }
-
- switch name := protoreflect.Name(tok.IdentName()); name {
- case genid.MapEntry_Key_field_name:
- if !tok.HasSeparator() {
- return d.syntaxError(tok.Pos(), "missing field separator :")
- }
- if key.IsValid() {
- return d.newError(tok.Pos(), "map entry %q cannot be repeated", name)
- }
- val, err := d.unmarshalScalar(fd.MapKey())
- if err != nil {
- return err
- }
- key = val.MapKey()
-
- case genid.MapEntry_Value_field_name:
- if kind := fd.MapValue().Kind(); (kind != protoreflect.MessageKind) && (kind != protoreflect.GroupKind) {
- if !tok.HasSeparator() {
- return d.syntaxError(tok.Pos(), "missing field separator :")
- }
- }
- if pval.IsValid() {
- return d.newError(tok.Pos(), "map entry %q cannot be repeated", name)
- }
- pval, err = unmarshalMapValue()
- if err != nil {
- return err
- }
-
- default:
- if !d.opts.DiscardUnknown {
- return d.newError(tok.Pos(), "unknown map entry field %q", name)
- }
- d.skipValue()
- }
- }
-
- if !key.IsValid() {
- key = fd.MapKey().Default().MapKey()
- }
- if !pval.IsValid() {
- switch fd.MapValue().Kind() {
- case protoreflect.MessageKind, protoreflect.GroupKind:
- // If value field is not set for message/group types, construct an
- // empty one as default.
- pval = mmap.NewValue()
- default:
- pval = fd.MapValue().Default()
- }
- }
- mmap.Set(key, pval)
- return nil
-}
-
-// unmarshalAny unmarshals an Any textproto. It can either be in expanded form
-// or non-expanded form.
-func (d decoder) unmarshalAny(m protoreflect.Message, checkDelims bool) error {
- var typeURL string
- var bValue []byte
- var seenTypeUrl bool
- var seenValue bool
- var isExpanded bool
-
- if checkDelims {
- tok, err := d.Read()
- if err != nil {
- return err
- }
-
- if tok.Kind() != text.MessageOpen {
- return d.unexpectedTokenError(tok)
- }
- }
-
-Loop:
- for {
- // Read field name. Can only have 3 possible field names, i.e. type_url,
- // value and type URL name inside [].
- tok, err := d.Read()
- if err != nil {
- return err
- }
- if typ := tok.Kind(); typ != text.Name {
- if checkDelims {
- if typ == text.MessageClose {
- break Loop
- }
- } else if typ == text.EOF {
- break Loop
- }
- return d.unexpectedTokenError(tok)
- }
-
- switch tok.NameKind() {
- case text.IdentName:
- // Both type_url and value fields require field separator :.
- if !tok.HasSeparator() {
- return d.syntaxError(tok.Pos(), "missing field separator :")
- }
-
- switch name := protoreflect.Name(tok.IdentName()); name {
- case genid.Any_TypeUrl_field_name:
- if seenTypeUrl {
- return d.newError(tok.Pos(), "duplicate %v field", genid.Any_TypeUrl_field_fullname)
- }
- if isExpanded {
- return d.newError(tok.Pos(), "conflict with [%s] field", typeURL)
- }
- tok, err := d.Read()
- if err != nil {
- return err
- }
- var ok bool
- typeURL, ok = tok.String()
- if !ok {
- return d.newError(tok.Pos(), "invalid %v field value: %v", genid.Any_TypeUrl_field_fullname, tok.RawString())
- }
- seenTypeUrl = true
-
- case genid.Any_Value_field_name:
- if seenValue {
- return d.newError(tok.Pos(), "duplicate %v field", genid.Any_Value_field_fullname)
- }
- if isExpanded {
- return d.newError(tok.Pos(), "conflict with [%s] field", typeURL)
- }
- tok, err := d.Read()
- if err != nil {
- return err
- }
- s, ok := tok.String()
- if !ok {
- return d.newError(tok.Pos(), "invalid %v field value: %v", genid.Any_Value_field_fullname, tok.RawString())
- }
- bValue = []byte(s)
- seenValue = true
-
- default:
- if !d.opts.DiscardUnknown {
- return d.newError(tok.Pos(), "invalid field name %q in %v message", tok.RawString(), genid.Any_message_fullname)
- }
- }
-
- case text.TypeName:
- if isExpanded {
- return d.newError(tok.Pos(), "cannot have more than one type")
- }
- if seenTypeUrl {
- return d.newError(tok.Pos(), "conflict with type_url field")
- }
- typeURL = tok.TypeName()
- var err error
- bValue, err = d.unmarshalExpandedAny(typeURL, tok.Pos())
- if err != nil {
- return err
- }
- isExpanded = true
-
- default:
- if !d.opts.DiscardUnknown {
- return d.newError(tok.Pos(), "invalid field name %q in %v message", tok.RawString(), genid.Any_message_fullname)
- }
- }
- }
-
- fds := m.Descriptor().Fields()
- if len(typeURL) > 0 {
- m.Set(fds.ByNumber(genid.Any_TypeUrl_field_number), protoreflect.ValueOfString(typeURL))
- }
- if len(bValue) > 0 {
- m.Set(fds.ByNumber(genid.Any_Value_field_number), protoreflect.ValueOfBytes(bValue))
- }
- return nil
-}
-
-func (d decoder) unmarshalExpandedAny(typeURL string, pos int) ([]byte, error) {
- mt, err := d.opts.Resolver.FindMessageByURL(typeURL)
- if err != nil {
- return nil, d.newError(pos, "unable to resolve message [%v]: %v", typeURL, err)
- }
- // Create new message for the embedded message type and unmarshal the value
- // field into it.
- m := mt.New()
- if err := d.unmarshalMessage(m, true); err != nil {
- return nil, err
- }
- // Serialize the embedded message and return the resulting bytes.
- b, err := proto.MarshalOptions{
- AllowPartial: true, // Never check required fields inside an Any.
- Deterministic: true,
- }.Marshal(m.Interface())
- if err != nil {
- return nil, d.newError(pos, "error in marshaling message into Any.value: %v", err)
- }
- return b, nil
-}
-
-// skipValue makes the decoder parse a field value in order to advance the read
-// to the next field. It relies on Read returning an error if the types are not
-// in valid sequence.
-func (d decoder) skipValue() error {
- tok, err := d.Read()
- if err != nil {
- return err
- }
- // Only need to continue reading for messages and lists.
- switch tok.Kind() {
- case text.MessageOpen:
- return d.skipMessageValue()
-
- case text.ListOpen:
- for {
- tok, err := d.Read()
- if err != nil {
- return err
- }
- switch tok.Kind() {
- case text.ListClose:
- return nil
- case text.MessageOpen:
- if err := d.skipMessageValue(); err != nil {
- return err
- }
- default:
- // Skip items. This will not validate whether skipped values are
- // of the same type or not, same behavior as C++
- // TextFormat::Parser::AllowUnknownField(true) version 3.8.0.
- }
- }
- }
- return nil
-}
-
-// skipMessageValue makes the decoder parse and skip over all fields in a
-// message. It assumes that the previous read type is MessageOpen.
-func (d decoder) skipMessageValue() error {
- for {
- tok, err := d.Read()
- if err != nil {
- return err
- }
- switch tok.Kind() {
- case text.MessageClose:
- return nil
- case text.Name:
- if err := d.skipValue(); err != nil {
- return err
- }
- }
- }
-}
diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/doc.go b/vendor/google.golang.org/protobuf/encoding/prototext/doc.go
deleted file mode 100644
index 162b4f98..00000000
--- a/vendor/google.golang.org/protobuf/encoding/prototext/doc.go
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package prototext marshals and unmarshals protocol buffer messages as the
-// textproto format.
-package prototext
diff --git a/vendor/google.golang.org/protobuf/encoding/prototext/encode.go b/vendor/google.golang.org/protobuf/encoding/prototext/encode.go
deleted file mode 100644
index 95967e81..00000000
--- a/vendor/google.golang.org/protobuf/encoding/prototext/encode.go
+++ /dev/null
@@ -1,376 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package prototext
-
-import (
- "fmt"
- "strconv"
- "unicode/utf8"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/encoding/text"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/order"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-const defaultIndent = " "
-
-// Format formats the message as a multiline string.
-// This function is only intended for human consumption and ignores errors.
-// Do not depend on the output being stable. It may change over time across
-// different versions of the program.
-func Format(m proto.Message) string {
- return MarshalOptions{Multiline: true}.Format(m)
-}
-
-// Marshal writes the given [proto.Message] in textproto format using default
-// options. Do not depend on the output being stable. It may change over time
-// across different versions of the program.
-func Marshal(m proto.Message) ([]byte, error) {
- return MarshalOptions{}.Marshal(m)
-}
-
-// MarshalOptions is a configurable text format marshaler.
-type MarshalOptions struct {
- pragma.NoUnkeyedLiterals
-
- // Multiline specifies whether the marshaler should format the output in
- // indented-form with every textual element on a new line.
- // If Indent is an empty string, then an arbitrary indent is chosen.
- Multiline bool
-
- // Indent specifies the set of indentation characters to use in a multiline
- // formatted output such that every entry is preceded by Indent and
- // terminated by a newline. If non-empty, then Multiline is treated as true.
- // Indent can only be composed of space or tab characters.
- Indent string
-
- // EmitASCII specifies whether to format strings and bytes as ASCII only
- // as opposed to using UTF-8 encoding when possible.
- EmitASCII bool
-
- // allowInvalidUTF8 specifies whether to permit the encoding of strings
- // with invalid UTF-8. This is unexported as it is intended to only
- // be specified by the Format method.
- allowInvalidUTF8 bool
-
- // AllowPartial allows messages that have missing required fields to marshal
- // without returning an error. If AllowPartial is false (the default),
- // Marshal will return error if there are any missing required fields.
- AllowPartial bool
-
- // EmitUnknown specifies whether to emit unknown fields in the output.
- // If specified, the unmarshaler may be unable to parse the output.
- // The default is to exclude unknown fields.
- EmitUnknown bool
-
- // Resolver is used for looking up types when expanding google.protobuf.Any
- // messages. If nil, this defaults to using protoregistry.GlobalTypes.
- Resolver interface {
- protoregistry.ExtensionTypeResolver
- protoregistry.MessageTypeResolver
- }
-}
-
-// Format formats the message as a string.
-// This method is only intended for human consumption and ignores errors.
-// Do not depend on the output being stable. It may change over time across
-// different versions of the program.
-func (o MarshalOptions) Format(m proto.Message) string {
- if m == nil || !m.ProtoReflect().IsValid() {
- return "" // invalid syntax, but okay since this is for debugging
- }
- o.allowInvalidUTF8 = true
- o.AllowPartial = true
- o.EmitUnknown = true
- b, _ := o.Marshal(m)
- return string(b)
-}
-
-// Marshal writes the given [proto.Message] in textproto format using options in
-// MarshalOptions object. Do not depend on the output being stable. It may
-// change over time across different versions of the program.
-func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) {
- return o.marshal(nil, m)
-}
-
-// MarshalAppend appends the textproto format encoding of m to b,
-// returning the result.
-func (o MarshalOptions) MarshalAppend(b []byte, m proto.Message) ([]byte, error) {
- return o.marshal(b, m)
-}
-
-// marshal is a centralized function that all marshal operations go through.
-// For profiling purposes, avoid changing the name of this function or
-// introducing other code paths for marshal that do not go through this.
-func (o MarshalOptions) marshal(b []byte, m proto.Message) ([]byte, error) {
- var delims = [2]byte{'{', '}'}
-
- if o.Multiline && o.Indent == "" {
- o.Indent = defaultIndent
- }
- if o.Resolver == nil {
- o.Resolver = protoregistry.GlobalTypes
- }
-
- internalEnc, err := text.NewEncoder(b, o.Indent, delims, o.EmitASCII)
- if err != nil {
- return nil, err
- }
-
- // Treat nil message interface as an empty message,
- // in which case there is nothing to output.
- if m == nil {
- return b, nil
- }
-
- enc := encoder{internalEnc, o}
- err = enc.marshalMessage(m.ProtoReflect(), false)
- if err != nil {
- return nil, err
- }
- out := enc.Bytes()
- if len(o.Indent) > 0 && len(out) > 0 {
- out = append(out, '\n')
- }
- if o.AllowPartial {
- return out, nil
- }
- return out, proto.CheckInitialized(m)
-}
-
-type encoder struct {
- *text.Encoder
- opts MarshalOptions
-}
-
-// marshalMessage marshals the given protoreflect.Message.
-func (e encoder) marshalMessage(m protoreflect.Message, inclDelims bool) error {
- messageDesc := m.Descriptor()
- if !flags.ProtoLegacy && messageset.IsMessageSet(messageDesc) {
- return errors.New("no support for proto1 MessageSets")
- }
-
- if inclDelims {
- e.StartMessage()
- defer e.EndMessage()
- }
-
- // Handle Any expansion.
- if messageDesc.FullName() == genid.Any_message_fullname {
- if e.marshalAny(m) {
- return nil
- }
- // If unable to expand, continue on to marshal Any as a regular message.
- }
-
- // Marshal fields.
- var err error
- order.RangeFields(m, order.IndexNameFieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- if err = e.marshalField(fd.TextName(), v, fd); err != nil {
- return false
- }
- return true
- })
- if err != nil {
- return err
- }
-
- // Marshal unknown fields.
- if e.opts.EmitUnknown {
- e.marshalUnknown(m.GetUnknown())
- }
-
- return nil
-}
-
-// marshalField marshals the given field with protoreflect.Value.
-func (e encoder) marshalField(name string, val protoreflect.Value, fd protoreflect.FieldDescriptor) error {
- switch {
- case fd.IsList():
- return e.marshalList(name, val.List(), fd)
- case fd.IsMap():
- return e.marshalMap(name, val.Map(), fd)
- default:
- e.WriteName(name)
- return e.marshalSingular(val, fd)
- }
-}
-
-// marshalSingular marshals the given non-repeated field value. This includes
-// all scalar types, enums, messages, and groups.
-func (e encoder) marshalSingular(val protoreflect.Value, fd protoreflect.FieldDescriptor) error {
- kind := fd.Kind()
- switch kind {
- case protoreflect.BoolKind:
- e.WriteBool(val.Bool())
-
- case protoreflect.StringKind:
- s := val.String()
- if !e.opts.allowInvalidUTF8 && strs.EnforceUTF8(fd) && !utf8.ValidString(s) {
- return errors.InvalidUTF8(string(fd.FullName()))
- }
- e.WriteString(s)
-
- case protoreflect.Int32Kind, protoreflect.Int64Kind,
- protoreflect.Sint32Kind, protoreflect.Sint64Kind,
- protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind:
- e.WriteInt(val.Int())
-
- case protoreflect.Uint32Kind, protoreflect.Uint64Kind,
- protoreflect.Fixed32Kind, protoreflect.Fixed64Kind:
- e.WriteUint(val.Uint())
-
- case protoreflect.FloatKind:
- // Encoder.WriteFloat handles the special numbers NaN and infinites.
- e.WriteFloat(val.Float(), 32)
-
- case protoreflect.DoubleKind:
- // Encoder.WriteFloat handles the special numbers NaN and infinites.
- e.WriteFloat(val.Float(), 64)
-
- case protoreflect.BytesKind:
- e.WriteString(string(val.Bytes()))
-
- case protoreflect.EnumKind:
- num := val.Enum()
- if desc := fd.Enum().Values().ByNumber(num); desc != nil {
- e.WriteLiteral(string(desc.Name()))
- } else {
- // Use numeric value if there is no enum description.
- e.WriteInt(int64(num))
- }
-
- case protoreflect.MessageKind, protoreflect.GroupKind:
- return e.marshalMessage(val.Message(), true)
-
- default:
- panic(fmt.Sprintf("%v has unknown kind: %v", fd.FullName(), kind))
- }
- return nil
-}
-
-// marshalList marshals the given protoreflect.List as multiple name-value fields.
-func (e encoder) marshalList(name string, list protoreflect.List, fd protoreflect.FieldDescriptor) error {
- size := list.Len()
- for i := 0; i < size; i++ {
- e.WriteName(name)
- if err := e.marshalSingular(list.Get(i), fd); err != nil {
- return err
- }
- }
- return nil
-}
-
-// marshalMap marshals the given protoreflect.Map as multiple name-value fields.
-func (e encoder) marshalMap(name string, mmap protoreflect.Map, fd protoreflect.FieldDescriptor) error {
- var err error
- order.RangeEntries(mmap, order.GenericKeyOrder, func(key protoreflect.MapKey, val protoreflect.Value) bool {
- e.WriteName(name)
- e.StartMessage()
- defer e.EndMessage()
-
- e.WriteName(string(genid.MapEntry_Key_field_name))
- err = e.marshalSingular(key.Value(), fd.MapKey())
- if err != nil {
- return false
- }
-
- e.WriteName(string(genid.MapEntry_Value_field_name))
- err = e.marshalSingular(val, fd.MapValue())
- if err != nil {
- return false
- }
- return true
- })
- return err
-}
-
-// marshalUnknown parses the given []byte and marshals fields out.
-// This function assumes proper encoding in the given []byte.
-func (e encoder) marshalUnknown(b []byte) {
- const dec = 10
- const hex = 16
- for len(b) > 0 {
- num, wtype, n := protowire.ConsumeTag(b)
- b = b[n:]
- e.WriteName(strconv.FormatInt(int64(num), dec))
-
- switch wtype {
- case protowire.VarintType:
- var v uint64
- v, n = protowire.ConsumeVarint(b)
- e.WriteUint(v)
- case protowire.Fixed32Type:
- var v uint32
- v, n = protowire.ConsumeFixed32(b)
- e.WriteLiteral("0x" + strconv.FormatUint(uint64(v), hex))
- case protowire.Fixed64Type:
- var v uint64
- v, n = protowire.ConsumeFixed64(b)
- e.WriteLiteral("0x" + strconv.FormatUint(v, hex))
- case protowire.BytesType:
- var v []byte
- v, n = protowire.ConsumeBytes(b)
- e.WriteString(string(v))
- case protowire.StartGroupType:
- e.StartMessage()
- var v []byte
- v, n = protowire.ConsumeGroup(num, b)
- e.marshalUnknown(v)
- e.EndMessage()
- default:
- panic(fmt.Sprintf("prototext: error parsing unknown field wire type: %v", wtype))
- }
-
- b = b[n:]
- }
-}
-
-// marshalAny marshals the given google.protobuf.Any message in expanded form.
-// It returns true if it was able to marshal, else false.
-func (e encoder) marshalAny(any protoreflect.Message) bool {
- // Construct the embedded message.
- fds := any.Descriptor().Fields()
- fdType := fds.ByNumber(genid.Any_TypeUrl_field_number)
- typeURL := any.Get(fdType).String()
- mt, err := e.opts.Resolver.FindMessageByURL(typeURL)
- if err != nil {
- return false
- }
- m := mt.New().Interface()
-
- // Unmarshal bytes into embedded message.
- fdValue := fds.ByNumber(genid.Any_Value_field_number)
- value := any.Get(fdValue)
- err = proto.UnmarshalOptions{
- AllowPartial: true,
- Resolver: e.opts.Resolver,
- }.Unmarshal(value.Bytes(), m)
- if err != nil {
- return false
- }
-
- // Get current encoder position. If marshaling fails, reset encoder output
- // back to this position.
- pos := e.Snapshot()
-
- // Field name is the proto field name enclosed in [].
- e.WriteName("[" + typeURL + "]")
- err = e.marshalMessage(m.ProtoReflect(), true)
- if err != nil {
- e.Reset(pos)
- return false
- }
- return true
-}
diff --git a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
deleted file mode 100644
index e942bc98..00000000
--- a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
+++ /dev/null
@@ -1,547 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package protowire parses and formats the raw wire encoding.
-// See https://protobuf.dev/programming-guides/encoding.
-//
-// For marshaling and unmarshaling entire protobuf messages,
-// use the [google.golang.org/protobuf/proto] package instead.
-package protowire
-
-import (
- "io"
- "math"
- "math/bits"
-
- "google.golang.org/protobuf/internal/errors"
-)
-
-// Number represents the field number.
-type Number int32
-
-const (
- MinValidNumber Number = 1
- FirstReservedNumber Number = 19000
- LastReservedNumber Number = 19999
- MaxValidNumber Number = 1<<29 - 1
- DefaultRecursionLimit = 10000
-)
-
-// IsValid reports whether the field number is semantically valid.
-func (n Number) IsValid() bool {
- return MinValidNumber <= n && n <= MaxValidNumber
-}
-
-// Type represents the wire type.
-type Type int8
-
-const (
- VarintType Type = 0
- Fixed32Type Type = 5
- Fixed64Type Type = 1
- BytesType Type = 2
- StartGroupType Type = 3
- EndGroupType Type = 4
-)
-
-const (
- _ = -iota
- errCodeTruncated
- errCodeFieldNumber
- errCodeOverflow
- errCodeReserved
- errCodeEndGroup
- errCodeRecursionDepth
-)
-
-var (
- errFieldNumber = errors.New("invalid field number")
- errOverflow = errors.New("variable length integer overflow")
- errReserved = errors.New("cannot parse reserved wire type")
- errEndGroup = errors.New("mismatching end group marker")
- errParse = errors.New("parse error")
-)
-
-// ParseError converts an error code into an error value.
-// This returns nil if n is a non-negative number.
-func ParseError(n int) error {
- if n >= 0 {
- return nil
- }
- switch n {
- case errCodeTruncated:
- return io.ErrUnexpectedEOF
- case errCodeFieldNumber:
- return errFieldNumber
- case errCodeOverflow:
- return errOverflow
- case errCodeReserved:
- return errReserved
- case errCodeEndGroup:
- return errEndGroup
- default:
- return errParse
- }
-}
-
-// ConsumeField parses an entire field record (both tag and value) and returns
-// the field number, the wire type, and the total length.
-// This returns a negative length upon an error (see [ParseError]).
-//
-// The total length includes the tag header and the end group marker (if the
-// field is a group).
-func ConsumeField(b []byte) (Number, Type, int) {
- num, typ, n := ConsumeTag(b)
- if n < 0 {
- return 0, 0, n // forward error code
- }
- m := ConsumeFieldValue(num, typ, b[n:])
- if m < 0 {
- return 0, 0, m // forward error code
- }
- return num, typ, n + m
-}
-
-// ConsumeFieldValue parses a field value and returns its length.
-// This assumes that the field [Number] and wire [Type] have already been parsed.
-// This returns a negative length upon an error (see [ParseError]).
-//
-// When parsing a group, the length includes the end group marker and
-// the end group is verified to match the starting field number.
-func ConsumeFieldValue(num Number, typ Type, b []byte) (n int) {
- return consumeFieldValueD(num, typ, b, DefaultRecursionLimit)
-}
-
-func consumeFieldValueD(num Number, typ Type, b []byte, depth int) (n int) {
- switch typ {
- case VarintType:
- _, n = ConsumeVarint(b)
- return n
- case Fixed32Type:
- _, n = ConsumeFixed32(b)
- return n
- case Fixed64Type:
- _, n = ConsumeFixed64(b)
- return n
- case BytesType:
- _, n = ConsumeBytes(b)
- return n
- case StartGroupType:
- if depth < 0 {
- return errCodeRecursionDepth
- }
- n0 := len(b)
- for {
- num2, typ2, n := ConsumeTag(b)
- if n < 0 {
- return n // forward error code
- }
- b = b[n:]
- if typ2 == EndGroupType {
- if num != num2 {
- return errCodeEndGroup
- }
- return n0 - len(b)
- }
-
- n = consumeFieldValueD(num2, typ2, b, depth-1)
- if n < 0 {
- return n // forward error code
- }
- b = b[n:]
- }
- case EndGroupType:
- return errCodeEndGroup
- default:
- return errCodeReserved
- }
-}
-
-// AppendTag encodes num and typ as a varint-encoded tag and appends it to b.
-func AppendTag(b []byte, num Number, typ Type) []byte {
- return AppendVarint(b, EncodeTag(num, typ))
-}
-
-// ConsumeTag parses b as a varint-encoded tag, reporting its length.
-// This returns a negative length upon an error (see [ParseError]).
-func ConsumeTag(b []byte) (Number, Type, int) {
- v, n := ConsumeVarint(b)
- if n < 0 {
- return 0, 0, n // forward error code
- }
- num, typ := DecodeTag(v)
- if num < MinValidNumber {
- return 0, 0, errCodeFieldNumber
- }
- return num, typ, n
-}
-
-func SizeTag(num Number) int {
- return SizeVarint(EncodeTag(num, 0)) // wire type has no effect on size
-}
-
-// AppendVarint appends v to b as a varint-encoded uint64.
-func AppendVarint(b []byte, v uint64) []byte {
- switch {
- case v < 1<<7:
- b = append(b, byte(v))
- case v < 1<<14:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte(v>>7))
- case v < 1<<21:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte(v>>14))
- case v < 1<<28:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte((v>>14)&0x7f|0x80),
- byte(v>>21))
- case v < 1<<35:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte((v>>14)&0x7f|0x80),
- byte((v>>21)&0x7f|0x80),
- byte(v>>28))
- case v < 1<<42:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte((v>>14)&0x7f|0x80),
- byte((v>>21)&0x7f|0x80),
- byte((v>>28)&0x7f|0x80),
- byte(v>>35))
- case v < 1<<49:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte((v>>14)&0x7f|0x80),
- byte((v>>21)&0x7f|0x80),
- byte((v>>28)&0x7f|0x80),
- byte((v>>35)&0x7f|0x80),
- byte(v>>42))
- case v < 1<<56:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte((v>>14)&0x7f|0x80),
- byte((v>>21)&0x7f|0x80),
- byte((v>>28)&0x7f|0x80),
- byte((v>>35)&0x7f|0x80),
- byte((v>>42)&0x7f|0x80),
- byte(v>>49))
- case v < 1<<63:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte((v>>14)&0x7f|0x80),
- byte((v>>21)&0x7f|0x80),
- byte((v>>28)&0x7f|0x80),
- byte((v>>35)&0x7f|0x80),
- byte((v>>42)&0x7f|0x80),
- byte((v>>49)&0x7f|0x80),
- byte(v>>56))
- default:
- b = append(b,
- byte((v>>0)&0x7f|0x80),
- byte((v>>7)&0x7f|0x80),
- byte((v>>14)&0x7f|0x80),
- byte((v>>21)&0x7f|0x80),
- byte((v>>28)&0x7f|0x80),
- byte((v>>35)&0x7f|0x80),
- byte((v>>42)&0x7f|0x80),
- byte((v>>49)&0x7f|0x80),
- byte((v>>56)&0x7f|0x80),
- 1)
- }
- return b
-}
-
-// ConsumeVarint parses b as a varint-encoded uint64, reporting its length.
-// This returns a negative length upon an error (see [ParseError]).
-func ConsumeVarint(b []byte) (v uint64, n int) {
- var y uint64
- if len(b) <= 0 {
- return 0, errCodeTruncated
- }
- v = uint64(b[0])
- if v < 0x80 {
- return v, 1
- }
- v -= 0x80
-
- if len(b) <= 1 {
- return 0, errCodeTruncated
- }
- y = uint64(b[1])
- v += y << 7
- if y < 0x80 {
- return v, 2
- }
- v -= 0x80 << 7
-
- if len(b) <= 2 {
- return 0, errCodeTruncated
- }
- y = uint64(b[2])
- v += y << 14
- if y < 0x80 {
- return v, 3
- }
- v -= 0x80 << 14
-
- if len(b) <= 3 {
- return 0, errCodeTruncated
- }
- y = uint64(b[3])
- v += y << 21
- if y < 0x80 {
- return v, 4
- }
- v -= 0x80 << 21
-
- if len(b) <= 4 {
- return 0, errCodeTruncated
- }
- y = uint64(b[4])
- v += y << 28
- if y < 0x80 {
- return v, 5
- }
- v -= 0x80 << 28
-
- if len(b) <= 5 {
- return 0, errCodeTruncated
- }
- y = uint64(b[5])
- v += y << 35
- if y < 0x80 {
- return v, 6
- }
- v -= 0x80 << 35
-
- if len(b) <= 6 {
- return 0, errCodeTruncated
- }
- y = uint64(b[6])
- v += y << 42
- if y < 0x80 {
- return v, 7
- }
- v -= 0x80 << 42
-
- if len(b) <= 7 {
- return 0, errCodeTruncated
- }
- y = uint64(b[7])
- v += y << 49
- if y < 0x80 {
- return v, 8
- }
- v -= 0x80 << 49
-
- if len(b) <= 8 {
- return 0, errCodeTruncated
- }
- y = uint64(b[8])
- v += y << 56
- if y < 0x80 {
- return v, 9
- }
- v -= 0x80 << 56
-
- if len(b) <= 9 {
- return 0, errCodeTruncated
- }
- y = uint64(b[9])
- v += y << 63
- if y < 2 {
- return v, 10
- }
- return 0, errCodeOverflow
-}
-
-// SizeVarint returns the encoded size of a varint.
-// The size is guaranteed to be within 1 and 10, inclusive.
-func SizeVarint(v uint64) int {
- // This computes 1 + (bits.Len64(v)-1)/7.
- // 9/64 is a good enough approximation of 1/7
- return int(9*uint32(bits.Len64(v))+64) / 64
-}
-
-// AppendFixed32 appends v to b as a little-endian uint32.
-func AppendFixed32(b []byte, v uint32) []byte {
- return append(b,
- byte(v>>0),
- byte(v>>8),
- byte(v>>16),
- byte(v>>24))
-}
-
-// ConsumeFixed32 parses b as a little-endian uint32, reporting its length.
-// This returns a negative length upon an error (see [ParseError]).
-func ConsumeFixed32(b []byte) (v uint32, n int) {
- if len(b) < 4 {
- return 0, errCodeTruncated
- }
- v = uint32(b[0])<<0 | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
- return v, 4
-}
-
-// SizeFixed32 returns the encoded size of a fixed32; which is always 4.
-func SizeFixed32() int {
- return 4
-}
-
-// AppendFixed64 appends v to b as a little-endian uint64.
-func AppendFixed64(b []byte, v uint64) []byte {
- return append(b,
- byte(v>>0),
- byte(v>>8),
- byte(v>>16),
- byte(v>>24),
- byte(v>>32),
- byte(v>>40),
- byte(v>>48),
- byte(v>>56))
-}
-
-// ConsumeFixed64 parses b as a little-endian uint64, reporting its length.
-// This returns a negative length upon an error (see [ParseError]).
-func ConsumeFixed64(b []byte) (v uint64, n int) {
- if len(b) < 8 {
- return 0, errCodeTruncated
- }
- v = uint64(b[0])<<0 | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
- return v, 8
-}
-
-// SizeFixed64 returns the encoded size of a fixed64; which is always 8.
-func SizeFixed64() int {
- return 8
-}
-
-// AppendBytes appends v to b as a length-prefixed bytes value.
-func AppendBytes(b []byte, v []byte) []byte {
- return append(AppendVarint(b, uint64(len(v))), v...)
-}
-
-// ConsumeBytes parses b as a length-prefixed bytes value, reporting its length.
-// This returns a negative length upon an error (see [ParseError]).
-func ConsumeBytes(b []byte) (v []byte, n int) {
- m, n := ConsumeVarint(b)
- if n < 0 {
- return nil, n // forward error code
- }
- if m > uint64(len(b[n:])) {
- return nil, errCodeTruncated
- }
- return b[n:][:m], n + int(m)
-}
-
-// SizeBytes returns the encoded size of a length-prefixed bytes value,
-// given only the length.
-func SizeBytes(n int) int {
- return SizeVarint(uint64(n)) + n
-}
-
-// AppendString appends v to b as a length-prefixed bytes value.
-func AppendString(b []byte, v string) []byte {
- return append(AppendVarint(b, uint64(len(v))), v...)
-}
-
-// ConsumeString parses b as a length-prefixed bytes value, reporting its length.
-// This returns a negative length upon an error (see [ParseError]).
-func ConsumeString(b []byte) (v string, n int) {
- bb, n := ConsumeBytes(b)
- return string(bb), n
-}
-
-// AppendGroup appends v to b as group value, with a trailing end group marker.
-// The value v must not contain the end marker.
-func AppendGroup(b []byte, num Number, v []byte) []byte {
- return AppendVarint(append(b, v...), EncodeTag(num, EndGroupType))
-}
-
-// ConsumeGroup parses b as a group value until the trailing end group marker,
-// and verifies that the end marker matches the provided num. The value v
-// does not contain the end marker, while the length does contain the end marker.
-// This returns a negative length upon an error (see [ParseError]).
-func ConsumeGroup(num Number, b []byte) (v []byte, n int) {
- n = ConsumeFieldValue(num, StartGroupType, b)
- if n < 0 {
- return nil, n // forward error code
- }
- b = b[:n]
-
- // Truncate off end group marker, but need to handle denormalized varints.
- // Assuming end marker is never 0 (which is always the case since
- // EndGroupType is non-zero), we can truncate all trailing bytes where the
- // lower 7 bits are all zero (implying that the varint is denormalized).
- for len(b) > 0 && b[len(b)-1]&0x7f == 0 {
- b = b[:len(b)-1]
- }
- b = b[:len(b)-SizeTag(num)]
- return b, n
-}
-
-// SizeGroup returns the encoded size of a group, given only the length.
-func SizeGroup(num Number, n int) int {
- return n + SizeTag(num)
-}
-
-// DecodeTag decodes the field [Number] and wire [Type] from its unified form.
-// The [Number] is -1 if the decoded field number overflows int32.
-// Other than overflow, this does not check for field number validity.
-func DecodeTag(x uint64) (Number, Type) {
- // NOTE: MessageSet allows for larger field numbers than normal.
- if x>>3 > uint64(math.MaxInt32) {
- return -1, 0
- }
- return Number(x >> 3), Type(x & 7)
-}
-
-// EncodeTag encodes the field [Number] and wire [Type] into its unified form.
-func EncodeTag(num Number, typ Type) uint64 {
- return uint64(num)<<3 | uint64(typ&7)
-}
-
-// DecodeZigZag decodes a zig-zag-encoded uint64 as an int64.
-//
-// Input: {…, 5, 3, 1, 0, 2, 4, 6, …}
-// Output: {…, -3, -2, -1, 0, +1, +2, +3, …}
-func DecodeZigZag(x uint64) int64 {
- return int64(x>>1) ^ int64(x)<<63>>63
-}
-
-// EncodeZigZag encodes an int64 as a zig-zag-encoded uint64.
-//
-// Input: {…, -3, -2, -1, 0, +1, +2, +3, …}
-// Output: {…, 5, 3, 1, 0, 2, 4, 6, …}
-func EncodeZigZag(x int64) uint64 {
- return uint64(x<<1) ^ uint64(x>>63)
-}
-
-// DecodeBool decodes a uint64 as a bool.
-//
-// Input: { 0, 1, 2, …}
-// Output: {false, true, true, …}
-func DecodeBool(x uint64) bool {
- return x != 0
-}
-
-// EncodeBool encodes a bool as a uint64.
-//
-// Input: {false, true}
-// Output: { 0, 1}
-func EncodeBool(x bool) uint64 {
- if x {
- return 1
- }
- return 0
-}
diff --git a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go b/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
deleted file mode 100644
index a45625c8..00000000
--- a/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
+++ /dev/null
@@ -1,413 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package descfmt provides functionality to format descriptors.
-package descfmt
-
-import (
- "fmt"
- "io"
- "reflect"
- "strconv"
- "strings"
-
- "google.golang.org/protobuf/internal/detrand"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type list interface {
- Len() int
- pragma.DoNotImplement
-}
-
-func FormatList(s fmt.State, r rune, vs list) {
- io.WriteString(s, formatListOpt(vs, true, r == 'v' && (s.Flag('+') || s.Flag('#'))))
-}
-func formatListOpt(vs list, isRoot, allowMulti bool) string {
- start, end := "[", "]"
- if isRoot {
- var name string
- switch vs.(type) {
- case protoreflect.Names:
- name = "Names"
- case protoreflect.FieldNumbers:
- name = "FieldNumbers"
- case protoreflect.FieldRanges:
- name = "FieldRanges"
- case protoreflect.EnumRanges:
- name = "EnumRanges"
- case protoreflect.FileImports:
- name = "FileImports"
- case protoreflect.Descriptor:
- name = reflect.ValueOf(vs).MethodByName("Get").Type().Out(0).Name() + "s"
- default:
- name = reflect.ValueOf(vs).Elem().Type().Name()
- }
- start, end = name+"{", "}"
- }
-
- var ss []string
- switch vs := vs.(type) {
- case protoreflect.Names:
- for i := 0; i < vs.Len(); i++ {
- ss = append(ss, fmt.Sprint(vs.Get(i)))
- }
- return start + joinStrings(ss, false) + end
- case protoreflect.FieldNumbers:
- for i := 0; i < vs.Len(); i++ {
- ss = append(ss, fmt.Sprint(vs.Get(i)))
- }
- return start + joinStrings(ss, false) + end
- case protoreflect.FieldRanges:
- for i := 0; i < vs.Len(); i++ {
- r := vs.Get(i)
- if r[0]+1 == r[1] {
- ss = append(ss, fmt.Sprintf("%d", r[0]))
- } else {
- ss = append(ss, fmt.Sprintf("%d:%d", r[0], r[1])) // enum ranges are end exclusive
- }
- }
- return start + joinStrings(ss, false) + end
- case protoreflect.EnumRanges:
- for i := 0; i < vs.Len(); i++ {
- r := vs.Get(i)
- if r[0] == r[1] {
- ss = append(ss, fmt.Sprintf("%d", r[0]))
- } else {
- ss = append(ss, fmt.Sprintf("%d:%d", r[0], int64(r[1])+1)) // enum ranges are end inclusive
- }
- }
- return start + joinStrings(ss, false) + end
- case protoreflect.FileImports:
- for i := 0; i < vs.Len(); i++ {
- var rs records
- rv := reflect.ValueOf(vs.Get(i))
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Path"), "Path"},
- {rv.MethodByName("Package"), "Package"},
- {rv.MethodByName("IsPublic"), "IsPublic"},
- {rv.MethodByName("IsWeak"), "IsWeak"},
- }...)
- ss = append(ss, "{"+rs.Join()+"}")
- }
- return start + joinStrings(ss, allowMulti) + end
- default:
- _, isEnumValue := vs.(protoreflect.EnumValueDescriptors)
- for i := 0; i < vs.Len(); i++ {
- m := reflect.ValueOf(vs).MethodByName("Get")
- v := m.Call([]reflect.Value{reflect.ValueOf(i)})[0].Interface()
- ss = append(ss, formatDescOpt(v.(protoreflect.Descriptor), false, allowMulti && !isEnumValue, nil))
- }
- return start + joinStrings(ss, allowMulti && isEnumValue) + end
- }
-}
-
-type methodAndName struct {
- method reflect.Value
- name string
-}
-
-func FormatDesc(s fmt.State, r rune, t protoreflect.Descriptor) {
- io.WriteString(s, formatDescOpt(t, true, r == 'v' && (s.Flag('+') || s.Flag('#')), nil))
-}
-
-func InternalFormatDescOptForTesting(t protoreflect.Descriptor, isRoot, allowMulti bool, record func(string)) string {
- return formatDescOpt(t, isRoot, allowMulti, record)
-}
-
-func formatDescOpt(t protoreflect.Descriptor, isRoot, allowMulti bool, record func(string)) string {
- rv := reflect.ValueOf(t)
- rt := rv.MethodByName("ProtoType").Type().In(0)
-
- start, end := "{", "}"
- if isRoot {
- start = rt.Name() + "{"
- }
-
- _, isFile := t.(protoreflect.FileDescriptor)
- rs := records{
- allowMulti: allowMulti,
- record: record,
- }
- if t.IsPlaceholder() {
- if isFile {
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Path"), "Path"},
- {rv.MethodByName("Package"), "Package"},
- {rv.MethodByName("IsPlaceholder"), "IsPlaceholder"},
- }...)
- } else {
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("FullName"), "FullName"},
- {rv.MethodByName("IsPlaceholder"), "IsPlaceholder"},
- }...)
- }
- } else {
- switch {
- case isFile:
- rs.Append(rv, methodAndName{rv.MethodByName("Syntax"), "Syntax"})
- case isRoot:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Syntax"), "Syntax"},
- {rv.MethodByName("FullName"), "FullName"},
- }...)
- default:
- rs.Append(rv, methodAndName{rv.MethodByName("Name"), "Name"})
- }
- switch t := t.(type) {
- case protoreflect.FieldDescriptor:
- accessors := []methodAndName{
- {rv.MethodByName("Number"), "Number"},
- {rv.MethodByName("Cardinality"), "Cardinality"},
- {rv.MethodByName("Kind"), "Kind"},
- {rv.MethodByName("HasJSONName"), "HasJSONName"},
- {rv.MethodByName("JSONName"), "JSONName"},
- {rv.MethodByName("HasPresence"), "HasPresence"},
- {rv.MethodByName("IsExtension"), "IsExtension"},
- {rv.MethodByName("IsPacked"), "IsPacked"},
- {rv.MethodByName("IsWeak"), "IsWeak"},
- {rv.MethodByName("IsList"), "IsList"},
- {rv.MethodByName("IsMap"), "IsMap"},
- {rv.MethodByName("MapKey"), "MapKey"},
- {rv.MethodByName("MapValue"), "MapValue"},
- {rv.MethodByName("HasDefault"), "HasDefault"},
- {rv.MethodByName("Default"), "Default"},
- {rv.MethodByName("ContainingOneof"), "ContainingOneof"},
- {rv.MethodByName("ContainingMessage"), "ContainingMessage"},
- {rv.MethodByName("Message"), "Message"},
- {rv.MethodByName("Enum"), "Enum"},
- }
- for _, s := range accessors {
- switch s.name {
- case "MapKey":
- if k := t.MapKey(); k != nil {
- rs.recs = append(rs.recs, [2]string{"MapKey", k.Kind().String()})
- }
- case "MapValue":
- if v := t.MapValue(); v != nil {
- switch v.Kind() {
- case protoreflect.EnumKind:
- rs.AppendRecs("MapValue", [2]string{"MapValue", string(v.Enum().FullName())})
- case protoreflect.MessageKind, protoreflect.GroupKind:
- rs.AppendRecs("MapValue", [2]string{"MapValue", string(v.Message().FullName())})
- default:
- rs.AppendRecs("MapValue", [2]string{"MapValue", v.Kind().String()})
- }
- }
- case "ContainingOneof":
- if od := t.ContainingOneof(); od != nil {
- rs.AppendRecs("ContainingOneof", [2]string{"Oneof", string(od.Name())})
- }
- case "ContainingMessage":
- if t.IsExtension() {
- rs.AppendRecs("ContainingMessage", [2]string{"Extendee", string(t.ContainingMessage().FullName())})
- }
- case "Message":
- if !t.IsMap() {
- rs.Append(rv, s)
- }
- default:
- rs.Append(rv, s)
- }
- }
- case protoreflect.OneofDescriptor:
- var ss []string
- fs := t.Fields()
- for i := 0; i < fs.Len(); i++ {
- ss = append(ss, string(fs.Get(i).Name()))
- }
- if len(ss) > 0 {
- rs.AppendRecs("Fields", [2]string{"Fields", "[" + joinStrings(ss, false) + "]"})
- }
-
- case protoreflect.FileDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Path"), "Path"},
- {rv.MethodByName("Package"), "Package"},
- {rv.MethodByName("Imports"), "Imports"},
- {rv.MethodByName("Messages"), "Messages"},
- {rv.MethodByName("Enums"), "Enums"},
- {rv.MethodByName("Extensions"), "Extensions"},
- {rv.MethodByName("Services"), "Services"},
- }...)
-
- case protoreflect.MessageDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("IsMapEntry"), "IsMapEntry"},
- {rv.MethodByName("Fields"), "Fields"},
- {rv.MethodByName("Oneofs"), "Oneofs"},
- {rv.MethodByName("ReservedNames"), "ReservedNames"},
- {rv.MethodByName("ReservedRanges"), "ReservedRanges"},
- {rv.MethodByName("RequiredNumbers"), "RequiredNumbers"},
- {rv.MethodByName("ExtensionRanges"), "ExtensionRanges"},
- {rv.MethodByName("Messages"), "Messages"},
- {rv.MethodByName("Enums"), "Enums"},
- {rv.MethodByName("Extensions"), "Extensions"},
- }...)
-
- case protoreflect.EnumDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Values"), "Values"},
- {rv.MethodByName("ReservedNames"), "ReservedNames"},
- {rv.MethodByName("ReservedRanges"), "ReservedRanges"},
- }...)
-
- case protoreflect.EnumValueDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Number"), "Number"},
- }...)
-
- case protoreflect.ServiceDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Methods"), "Methods"},
- }...)
-
- case protoreflect.MethodDescriptor:
- rs.Append(rv, []methodAndName{
- {rv.MethodByName("Input"), "Input"},
- {rv.MethodByName("Output"), "Output"},
- {rv.MethodByName("IsStreamingClient"), "IsStreamingClient"},
- {rv.MethodByName("IsStreamingServer"), "IsStreamingServer"},
- }...)
- }
- if m := rv.MethodByName("GoType"); m.IsValid() {
- rs.Append(rv, methodAndName{m, "GoType"})
- }
- }
- return start + rs.Join() + end
-}
-
-type records struct {
- recs [][2]string
- allowMulti bool
-
- // record is a function that will be called for every Append() or
- // AppendRecs() call, to be used for testing with the
- // InternalFormatDescOptForTesting function.
- record func(string)
-}
-
-func (rs *records) AppendRecs(fieldName string, newRecs [2]string) {
- if rs.record != nil {
- rs.record(fieldName)
- }
- rs.recs = append(rs.recs, newRecs)
-}
-
-func (rs *records) Append(v reflect.Value, accessors ...methodAndName) {
- for _, a := range accessors {
- if rs.record != nil {
- rs.record(a.name)
- }
- var rv reflect.Value
- if a.method.IsValid() {
- rv = a.method.Call(nil)[0]
- }
- if v.Kind() == reflect.Struct && !rv.IsValid() {
- rv = v.FieldByName(a.name)
- }
- if !rv.IsValid() {
- panic(fmt.Sprintf("unknown accessor: %v.%s", v.Type(), a.name))
- }
- if _, ok := rv.Interface().(protoreflect.Value); ok {
- rv = rv.MethodByName("Interface").Call(nil)[0]
- if !rv.IsNil() {
- rv = rv.Elem()
- }
- }
-
- // Ignore zero values.
- var isZero bool
- switch rv.Kind() {
- case reflect.Interface, reflect.Slice:
- isZero = rv.IsNil()
- case reflect.Bool:
- isZero = rv.Bool() == false
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
- isZero = rv.Int() == 0
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
- isZero = rv.Uint() == 0
- case reflect.String:
- isZero = rv.String() == ""
- }
- if n, ok := rv.Interface().(list); ok {
- isZero = n.Len() == 0
- }
- if isZero {
- continue
- }
-
- // Format the value.
- var s string
- v := rv.Interface()
- switch v := v.(type) {
- case list:
- s = formatListOpt(v, false, rs.allowMulti)
- case protoreflect.FieldDescriptor, protoreflect.OneofDescriptor, protoreflect.EnumValueDescriptor, protoreflect.MethodDescriptor:
- s = string(v.(protoreflect.Descriptor).Name())
- case protoreflect.Descriptor:
- s = string(v.FullName())
- case string:
- s = strconv.Quote(v)
- case []byte:
- s = fmt.Sprintf("%q", v)
- default:
- s = fmt.Sprint(v)
- }
- rs.recs = append(rs.recs, [2]string{a.name, s})
- }
-}
-
-func (rs *records) Join() string {
- var ss []string
-
- // In single line mode, simply join all records with commas.
- if !rs.allowMulti {
- for _, r := range rs.recs {
- ss = append(ss, r[0]+formatColon(0)+r[1])
- }
- return joinStrings(ss, false)
- }
-
- // In allowMulti line mode, align single line records for more readable output.
- var maxLen int
- flush := func(i int) {
- for _, r := range rs.recs[len(ss):i] {
- ss = append(ss, r[0]+formatColon(maxLen-len(r[0]))+r[1])
- }
- maxLen = 0
- }
- for i, r := range rs.recs {
- if isMulti := strings.Contains(r[1], "\n"); isMulti {
- flush(i)
- ss = append(ss, r[0]+formatColon(0)+strings.Join(strings.Split(r[1], "\n"), "\n\t"))
- } else if maxLen < len(r[0]) {
- maxLen = len(r[0])
- }
- }
- flush(len(rs.recs))
- return joinStrings(ss, true)
-}
-
-func formatColon(padding int) string {
- // Deliberately introduce instability into the debug output to
- // discourage users from performing string comparisons.
- // This provides us flexibility to change the output in the future.
- if detrand.Bool() {
- return ":" + strings.Repeat("Â ", 1+padding) // use non-breaking spaces (U+00a0)
- } else {
- return ":" + strings.Repeat(" ", 1+padding) // use regular spaces (U+0020)
- }
-}
-
-func joinStrings(ss []string, isMulti bool) string {
- if len(ss) == 0 {
- return ""
- }
- if isMulti {
- return "\n\t" + strings.Join(ss, "\n\t") + "\n"
- }
- return strings.Join(ss, ", ")
-}
diff --git a/vendor/google.golang.org/protobuf/internal/descopts/options.go b/vendor/google.golang.org/protobuf/internal/descopts/options.go
deleted file mode 100644
index 8401be8c..00000000
--- a/vendor/google.golang.org/protobuf/internal/descopts/options.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package descopts contains the nil pointers to concrete descriptor options.
-//
-// This package exists as a form of reverse dependency injection so that certain
-// packages (e.g., internal/filedesc and internal/filetype can avoid a direct
-// dependency on the descriptor proto package).
-package descopts
-
-import pref "google.golang.org/protobuf/reflect/protoreflect"
-
-// These variables are set by the init function in descriptor.pb.go via logic
-// in internal/filetype. In other words, so long as the descriptor proto package
-// is linked in, these variables will be populated.
-//
-// Each variable is populated with a nil pointer to the options struct.
-var (
- File pref.ProtoMessage
- Enum pref.ProtoMessage
- EnumValue pref.ProtoMessage
- Message pref.ProtoMessage
- Field pref.ProtoMessage
- Oneof pref.ProtoMessage
- ExtensionRange pref.ProtoMessage
- Service pref.ProtoMessage
- Method pref.ProtoMessage
-)
diff --git a/vendor/google.golang.org/protobuf/internal/detrand/rand.go b/vendor/google.golang.org/protobuf/internal/detrand/rand.go
deleted file mode 100644
index 49c8676d..00000000
--- a/vendor/google.golang.org/protobuf/internal/detrand/rand.go
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package detrand provides deterministically random functionality.
-//
-// The pseudo-randomness of these functions is seeded by the program binary
-// itself and guarantees that the output does not change within a program,
-// while ensuring that the output is unstable across different builds.
-package detrand
-
-import (
- "encoding/binary"
- "hash/fnv"
- "os"
-)
-
-// Disable disables detrand such that all functions returns the zero value.
-// This function is not concurrent-safe and must be called during program init.
-func Disable() {
- randSeed = 0
-}
-
-// Bool returns a deterministically random boolean.
-func Bool() bool {
- return randSeed%2 == 1
-}
-
-// Intn returns a deterministically random integer between 0 and n-1, inclusive.
-func Intn(n int) int {
- if n <= 0 {
- panic("must be positive")
- }
- return int(randSeed % uint64(n))
-}
-
-// randSeed is a best-effort at an approximate hash of the Go binary.
-var randSeed = binaryHash()
-
-func binaryHash() uint64 {
- // Open the Go binary.
- s, err := os.Executable()
- if err != nil {
- return 0
- }
- f, err := os.Open(s)
- if err != nil {
- return 0
- }
- defer f.Close()
-
- // Hash the size and several samples of the Go binary.
- const numSamples = 8
- var buf [64]byte
- h := fnv.New64()
- fi, err := f.Stat()
- if err != nil {
- return 0
- }
- binary.LittleEndian.PutUint64(buf[:8], uint64(fi.Size()))
- h.Write(buf[:8])
- for i := int64(0); i < numSamples; i++ {
- if _, err := f.ReadAt(buf[:], i*fi.Size()/numSamples); err != nil {
- return 0
- }
- h.Write(buf[:])
- }
- return h.Sum64()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go b/vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go
deleted file mode 100644
index 14656b65..00000000
--- a/vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package editiondefaults contains the binary representation of the editions
-// defaults.
-package editiondefaults
-
-import _ "embed"
-
-//go:embed editions_defaults.binpb
-var Defaults []byte
diff --git a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
deleted file mode 100644
index 18f07568..00000000
--- a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
+++ /dev/null
@@ -1,4 +0,0 @@
-
- (0æ
- (0ç
- (0è æ(è
\ No newline at end of file
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go b/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go
deleted file mode 100644
index 328dc733..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go
+++ /dev/null
@@ -1,213 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package defval marshals and unmarshals textual forms of default values.
-//
-// This package handles both the form historically used in Go struct field tags
-// and also the form used by google.protobuf.FieldDescriptorProto.default_value
-// since they differ in superficial ways.
-package defval
-
-import (
- "fmt"
- "math"
- "strconv"
-
- ptext "google.golang.org/protobuf/internal/encoding/text"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// Format is the serialization format used to represent the default value.
-type Format int
-
-const (
- _ Format = iota
-
- // Descriptor uses the serialization format that protoc uses with the
- // google.protobuf.FieldDescriptorProto.default_value field.
- Descriptor
-
- // GoTag uses the historical serialization format in Go struct field tags.
- GoTag
-)
-
-// Unmarshal deserializes the default string s according to the given kind k.
-// When k is an enum, a list of enum value descriptors must be provided.
-func Unmarshal(s string, k protoreflect.Kind, evs protoreflect.EnumValueDescriptors, f Format) (protoreflect.Value, protoreflect.EnumValueDescriptor, error) {
- switch k {
- case protoreflect.BoolKind:
- if f == GoTag {
- switch s {
- case "1":
- return protoreflect.ValueOfBool(true), nil, nil
- case "0":
- return protoreflect.ValueOfBool(false), nil, nil
- }
- } else {
- switch s {
- case "true":
- return protoreflect.ValueOfBool(true), nil, nil
- case "false":
- return protoreflect.ValueOfBool(false), nil, nil
- }
- }
- case protoreflect.EnumKind:
- if f == GoTag {
- // Go tags use the numeric form of the enum value.
- if n, err := strconv.ParseInt(s, 10, 32); err == nil {
- if ev := evs.ByNumber(protoreflect.EnumNumber(n)); ev != nil {
- return protoreflect.ValueOfEnum(ev.Number()), ev, nil
- }
- }
- } else {
- // Descriptor default_value use the enum identifier.
- ev := evs.ByName(protoreflect.Name(s))
- if ev != nil {
- return protoreflect.ValueOfEnum(ev.Number()), ev, nil
- }
- }
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind:
- if v, err := strconv.ParseInt(s, 10, 32); err == nil {
- return protoreflect.ValueOfInt32(int32(v)), nil, nil
- }
- case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- if v, err := strconv.ParseInt(s, 10, 64); err == nil {
- return protoreflect.ValueOfInt64(int64(v)), nil, nil
- }
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind:
- if v, err := strconv.ParseUint(s, 10, 32); err == nil {
- return protoreflect.ValueOfUint32(uint32(v)), nil, nil
- }
- case protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- if v, err := strconv.ParseUint(s, 10, 64); err == nil {
- return protoreflect.ValueOfUint64(uint64(v)), nil, nil
- }
- case protoreflect.FloatKind, protoreflect.DoubleKind:
- var v float64
- var err error
- switch s {
- case "-inf":
- v = math.Inf(-1)
- case "inf":
- v = math.Inf(+1)
- case "nan":
- v = math.NaN()
- default:
- v, err = strconv.ParseFloat(s, 64)
- }
- if err == nil {
- if k == protoreflect.FloatKind {
- return protoreflect.ValueOfFloat32(float32(v)), nil, nil
- } else {
- return protoreflect.ValueOfFloat64(float64(v)), nil, nil
- }
- }
- case protoreflect.StringKind:
- // String values are already unescaped and can be used as is.
- return protoreflect.ValueOfString(s), nil, nil
- case protoreflect.BytesKind:
- if b, ok := unmarshalBytes(s); ok {
- return protoreflect.ValueOfBytes(b), nil, nil
- }
- }
- return protoreflect.Value{}, nil, errors.New("could not parse value for %v: %q", k, s)
-}
-
-// Marshal serializes v as the default string according to the given kind k.
-// When specifying the Descriptor format for an enum kind, the associated
-// enum value descriptor must be provided.
-func Marshal(v protoreflect.Value, ev protoreflect.EnumValueDescriptor, k protoreflect.Kind, f Format) (string, error) {
- switch k {
- case protoreflect.BoolKind:
- if f == GoTag {
- if v.Bool() {
- return "1", nil
- } else {
- return "0", nil
- }
- } else {
- if v.Bool() {
- return "true", nil
- } else {
- return "false", nil
- }
- }
- case protoreflect.EnumKind:
- if f == GoTag {
- return strconv.FormatInt(int64(v.Enum()), 10), nil
- } else {
- return string(ev.Name()), nil
- }
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind, protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- return strconv.FormatInt(v.Int(), 10), nil
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind, protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- return strconv.FormatUint(v.Uint(), 10), nil
- case protoreflect.FloatKind, protoreflect.DoubleKind:
- f := v.Float()
- switch {
- case math.IsInf(f, -1):
- return "-inf", nil
- case math.IsInf(f, +1):
- return "inf", nil
- case math.IsNaN(f):
- return "nan", nil
- default:
- if k == protoreflect.FloatKind {
- return strconv.FormatFloat(f, 'g', -1, 32), nil
- } else {
- return strconv.FormatFloat(f, 'g', -1, 64), nil
- }
- }
- case protoreflect.StringKind:
- // String values are serialized as is without any escaping.
- return v.String(), nil
- case protoreflect.BytesKind:
- if s, ok := marshalBytes(v.Bytes()); ok {
- return s, nil
- }
- }
- return "", errors.New("could not format value for %v: %v", k, v)
-}
-
-// unmarshalBytes deserializes bytes by applying C unescaping.
-func unmarshalBytes(s string) ([]byte, bool) {
- // Bytes values use the same escaping as the text format,
- // however they lack the surrounding double quotes.
- v, err := ptext.UnmarshalString(`"` + s + `"`)
- if err != nil {
- return nil, false
- }
- return []byte(v), true
-}
-
-// marshalBytes serializes bytes by using C escaping.
-// To match the exact output of protoc, this is identical to the
-// CEscape function in strutil.cc of the protoc source code.
-func marshalBytes(b []byte) (string, bool) {
- var s []byte
- for _, c := range b {
- switch c {
- case '\n':
- s = append(s, `\n`...)
- case '\r':
- s = append(s, `\r`...)
- case '\t':
- s = append(s, `\t`...)
- case '"':
- s = append(s, `\"`...)
- case '\'':
- s = append(s, `\'`...)
- case '\\':
- s = append(s, `\\`...)
- default:
- if printableASCII := c >= 0x20 && c <= 0x7e; printableASCII {
- s = append(s, c)
- } else {
- s = append(s, fmt.Sprintf(`\%03o`, c)...)
- }
- }
- }
- return string(s), true
-}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go b/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go
deleted file mode 100644
index a6693f0a..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go
+++ /dev/null
@@ -1,242 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package messageset encodes and decodes the obsolete MessageSet wire format.
-package messageset
-
-import (
- "math"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// The MessageSet wire format is equivalent to a message defined as follows,
-// where each Item defines an extension field with a field number of 'type_id'
-// and content of 'message'. MessageSet extensions must be non-repeated message
-// fields.
-//
-// message MessageSet {
-// repeated group Item = 1 {
-// required int32 type_id = 2;
-// required string message = 3;
-// }
-// }
-const (
- FieldItem = protowire.Number(1)
- FieldTypeID = protowire.Number(2)
- FieldMessage = protowire.Number(3)
-)
-
-// ExtensionName is the field name for extensions of MessageSet.
-//
-// A valid MessageSet extension must be of the form:
-//
-// message MyMessage {
-// extend proto2.bridge.MessageSet {
-// optional MyMessage message_set_extension = 1234;
-// }
-// ...
-// }
-const ExtensionName = "message_set_extension"
-
-// IsMessageSet returns whether the message uses the MessageSet wire format.
-func IsMessageSet(md protoreflect.MessageDescriptor) bool {
- xmd, ok := md.(interface{ IsMessageSet() bool })
- return ok && xmd.IsMessageSet()
-}
-
-// IsMessageSetExtension reports this field properly extends a MessageSet.
-func IsMessageSetExtension(fd protoreflect.FieldDescriptor) bool {
- switch {
- case fd.Name() != ExtensionName:
- return false
- case !IsMessageSet(fd.ContainingMessage()):
- return false
- case fd.FullName().Parent() != fd.Message().FullName():
- return false
- }
- return true
-}
-
-// SizeField returns the size of a MessageSet item field containing an extension
-// with the given field number, not counting the contents of the message subfield.
-func SizeField(num protowire.Number) int {
- return 2*protowire.SizeTag(FieldItem) + protowire.SizeTag(FieldTypeID) + protowire.SizeVarint(uint64(num))
-}
-
-// Unmarshal parses a MessageSet.
-//
-// It calls fn with the type ID and value of each item in the MessageSet.
-// Unknown fields are discarded.
-//
-// If wantLen is true, the item values include the varint length prefix.
-// This is ugly, but simplifies the fast-path decoder in internal/impl.
-func Unmarshal(b []byte, wantLen bool, fn func(typeID protowire.Number, value []byte) error) error {
- for len(b) > 0 {
- num, wtyp, n := protowire.ConsumeTag(b)
- if n < 0 {
- return protowire.ParseError(n)
- }
- b = b[n:]
- if num != FieldItem || wtyp != protowire.StartGroupType {
- n := protowire.ConsumeFieldValue(num, wtyp, b)
- if n < 0 {
- return protowire.ParseError(n)
- }
- b = b[n:]
- continue
- }
- typeID, value, n, err := ConsumeFieldValue(b, wantLen)
- if err != nil {
- return err
- }
- b = b[n:]
- if typeID == 0 {
- continue
- }
- if err := fn(typeID, value); err != nil {
- return err
- }
- }
- return nil
-}
-
-// ConsumeFieldValue parses b as a MessageSet item field value until and including
-// the trailing end group marker. It assumes the start group tag has already been parsed.
-// It returns the contents of the type_id and message subfields and the total
-// item length.
-//
-// If wantLen is true, the returned message value includes the length prefix.
-func ConsumeFieldValue(b []byte, wantLen bool) (typeid protowire.Number, message []byte, n int, err error) {
- ilen := len(b)
- for {
- num, wtyp, n := protowire.ConsumeTag(b)
- if n < 0 {
- return 0, nil, 0, protowire.ParseError(n)
- }
- b = b[n:]
- switch {
- case num == FieldItem && wtyp == protowire.EndGroupType:
- if wantLen && len(message) == 0 {
- // The message field was missing, which should never happen.
- // Be prepared for this case anyway.
- message = protowire.AppendVarint(message, 0)
- }
- return typeid, message, ilen - len(b), nil
- case num == FieldTypeID && wtyp == protowire.VarintType:
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, nil, 0, protowire.ParseError(n)
- }
- b = b[n:]
- if v < 1 || v > math.MaxInt32 {
- return 0, nil, 0, errors.New("invalid type_id in message set")
- }
- typeid = protowire.Number(v)
- case num == FieldMessage && wtyp == protowire.BytesType:
- m, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, nil, 0, protowire.ParseError(n)
- }
- if message == nil {
- if wantLen {
- message = b[:n:n]
- } else {
- message = m[:len(m):len(m)]
- }
- } else {
- // This case should never happen in practice, but handle it for
- // correctness: The MessageSet item contains multiple message
- // fields, which need to be merged.
- //
- // In the case where we're returning the length, this becomes
- // quite inefficient since we need to strip the length off
- // the existing data and reconstruct it with the combined length.
- if wantLen {
- _, nn := protowire.ConsumeVarint(message)
- m0 := message[nn:]
- message = nil
- message = protowire.AppendVarint(message, uint64(len(m0)+len(m)))
- message = append(message, m0...)
- message = append(message, m...)
- } else {
- message = append(message, m...)
- }
- }
- b = b[n:]
- default:
- // We have no place to put it, so we just ignore unknown fields.
- n := protowire.ConsumeFieldValue(num, wtyp, b)
- if n < 0 {
- return 0, nil, 0, protowire.ParseError(n)
- }
- b = b[n:]
- }
- }
-}
-
-// AppendFieldStart appends the start of a MessageSet item field containing
-// an extension with the given number. The caller must add the message
-// subfield (including the tag).
-func AppendFieldStart(b []byte, num protowire.Number) []byte {
- b = protowire.AppendTag(b, FieldItem, protowire.StartGroupType)
- b = protowire.AppendTag(b, FieldTypeID, protowire.VarintType)
- b = protowire.AppendVarint(b, uint64(num))
- return b
-}
-
-// AppendFieldEnd appends the trailing end group marker for a MessageSet item field.
-func AppendFieldEnd(b []byte) []byte {
- return protowire.AppendTag(b, FieldItem, protowire.EndGroupType)
-}
-
-// SizeUnknown returns the size of an unknown fields section in MessageSet format.
-//
-// See AppendUnknown.
-func SizeUnknown(unknown []byte) (size int) {
- for len(unknown) > 0 {
- num, typ, n := protowire.ConsumeTag(unknown)
- if n < 0 || typ != protowire.BytesType {
- return 0
- }
- unknown = unknown[n:]
- _, n = protowire.ConsumeBytes(unknown)
- if n < 0 {
- return 0
- }
- unknown = unknown[n:]
- size += SizeField(num) + protowire.SizeTag(FieldMessage) + n
- }
- return size
-}
-
-// AppendUnknown appends unknown fields to b in MessageSet format.
-//
-// For historic reasons, unresolved items in a MessageSet are stored in a
-// message's unknown fields section in non-MessageSet format. That is, an
-// unknown item with typeID T and value V appears in the unknown fields as
-// a field with number T and value V.
-//
-// This function converts the unknown fields back into MessageSet form.
-func AppendUnknown(b, unknown []byte) ([]byte, error) {
- for len(unknown) > 0 {
- num, typ, n := protowire.ConsumeTag(unknown)
- if n < 0 || typ != protowire.BytesType {
- return nil, errors.New("invalid data in message set unknown fields")
- }
- unknown = unknown[n:]
- _, n = protowire.ConsumeBytes(unknown)
- if n < 0 {
- return nil, errors.New("invalid data in message set unknown fields")
- }
- b = AppendFieldStart(b, num)
- b = protowire.AppendTag(b, FieldMessage, protowire.BytesType)
- b = append(b, unknown[:n]...)
- b = AppendFieldEnd(b)
- unknown = unknown[n:]
- }
- return b, nil
-}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go b/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go
deleted file mode 100644
index 373d2083..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go
+++ /dev/null
@@ -1,207 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package tag marshals and unmarshals the legacy struct tags as generated
-// by historical versions of protoc-gen-go.
-package tag
-
-import (
- "reflect"
- "strconv"
- "strings"
-
- "google.golang.org/protobuf/internal/encoding/defval"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-var byteType = reflect.TypeOf(byte(0))
-
-// Unmarshal decodes the tag into a prototype.Field.
-//
-// The goType is needed to determine the original protoreflect.Kind since the
-// tag does not record sufficient information to determine that.
-// The type is the underlying field type (e.g., a repeated field may be
-// represented by []T, but the Go type passed in is just T).
-// A list of enum value descriptors must be provided for enum fields.
-// This does not populate the Enum or Message (except for weak message).
-//
-// This function is a best effort attempt; parsing errors are ignored.
-func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescriptors) protoreflect.FieldDescriptor {
- f := new(filedesc.Field)
- f.L0.ParentFile = filedesc.SurrogateProto2
- for len(tag) > 0 {
- i := strings.IndexByte(tag, ',')
- if i < 0 {
- i = len(tag)
- }
- switch s := tag[:i]; {
- case strings.HasPrefix(s, "name="):
- f.L0.FullName = protoreflect.FullName(s[len("name="):])
- case strings.Trim(s, "0123456789") == "":
- n, _ := strconv.ParseUint(s, 10, 32)
- f.L1.Number = protoreflect.FieldNumber(n)
- case s == "opt":
- f.L1.Cardinality = protoreflect.Optional
- case s == "req":
- f.L1.Cardinality = protoreflect.Required
- case s == "rep":
- f.L1.Cardinality = protoreflect.Repeated
- case s == "varint":
- switch goType.Kind() {
- case reflect.Bool:
- f.L1.Kind = protoreflect.BoolKind
- case reflect.Int32:
- f.L1.Kind = protoreflect.Int32Kind
- case reflect.Int64:
- f.L1.Kind = protoreflect.Int64Kind
- case reflect.Uint32:
- f.L1.Kind = protoreflect.Uint32Kind
- case reflect.Uint64:
- f.L1.Kind = protoreflect.Uint64Kind
- }
- case s == "zigzag32":
- if goType.Kind() == reflect.Int32 {
- f.L1.Kind = protoreflect.Sint32Kind
- }
- case s == "zigzag64":
- if goType.Kind() == reflect.Int64 {
- f.L1.Kind = protoreflect.Sint64Kind
- }
- case s == "fixed32":
- switch goType.Kind() {
- case reflect.Int32:
- f.L1.Kind = protoreflect.Sfixed32Kind
- case reflect.Uint32:
- f.L1.Kind = protoreflect.Fixed32Kind
- case reflect.Float32:
- f.L1.Kind = protoreflect.FloatKind
- }
- case s == "fixed64":
- switch goType.Kind() {
- case reflect.Int64:
- f.L1.Kind = protoreflect.Sfixed64Kind
- case reflect.Uint64:
- f.L1.Kind = protoreflect.Fixed64Kind
- case reflect.Float64:
- f.L1.Kind = protoreflect.DoubleKind
- }
- case s == "bytes":
- switch {
- case goType.Kind() == reflect.String:
- f.L1.Kind = protoreflect.StringKind
- case goType.Kind() == reflect.Slice && goType.Elem() == byteType:
- f.L1.Kind = protoreflect.BytesKind
- default:
- f.L1.Kind = protoreflect.MessageKind
- }
- case s == "group":
- f.L1.Kind = protoreflect.GroupKind
- case strings.HasPrefix(s, "enum="):
- f.L1.Kind = protoreflect.EnumKind
- case strings.HasPrefix(s, "json="):
- jsonName := s[len("json="):]
- if jsonName != strs.JSONCamelCase(string(f.L0.FullName.Name())) {
- f.L1.StringName.InitJSON(jsonName)
- }
- case s == "packed":
- f.L1.HasPacked = true
- f.L1.IsPacked = true
- case strings.HasPrefix(s, "weak="):
- f.L1.IsWeak = true
- f.L1.Message = filedesc.PlaceholderMessage(protoreflect.FullName(s[len("weak="):]))
- case strings.HasPrefix(s, "def="):
- // The default tag is special in that everything afterwards is the
- // default regardless of the presence of commas.
- s, i = tag[len("def="):], len(tag)
- v, ev, _ := defval.Unmarshal(s, f.L1.Kind, evs, defval.GoTag)
- f.L1.Default = filedesc.DefaultValue(v, ev)
- case s == "proto3":
- f.L0.ParentFile = filedesc.SurrogateProto3
- }
- tag = strings.TrimPrefix(tag[i:], ",")
- }
-
- // The generator uses the group message name instead of the field name.
- // We obtain the real field name by lowercasing the group name.
- if f.L1.Kind == protoreflect.GroupKind {
- f.L0.FullName = protoreflect.FullName(strings.ToLower(string(f.L0.FullName)))
- }
- return f
-}
-
-// Marshal encodes the protoreflect.FieldDescriptor as a tag.
-//
-// The enumName must be provided if the kind is an enum.
-// Historically, the formulation of the enum "name" was the proto package
-// dot-concatenated with the generated Go identifier for the enum type.
-// Depending on the context on how Marshal is called, there are different ways
-// through which that information is determined. As such it is the caller's
-// responsibility to provide a function to obtain that information.
-func Marshal(fd protoreflect.FieldDescriptor, enumName string) string {
- var tag []string
- switch fd.Kind() {
- case protoreflect.BoolKind, protoreflect.EnumKind, protoreflect.Int32Kind, protoreflect.Uint32Kind, protoreflect.Int64Kind, protoreflect.Uint64Kind:
- tag = append(tag, "varint")
- case protoreflect.Sint32Kind:
- tag = append(tag, "zigzag32")
- case protoreflect.Sint64Kind:
- tag = append(tag, "zigzag64")
- case protoreflect.Sfixed32Kind, protoreflect.Fixed32Kind, protoreflect.FloatKind:
- tag = append(tag, "fixed32")
- case protoreflect.Sfixed64Kind, protoreflect.Fixed64Kind, protoreflect.DoubleKind:
- tag = append(tag, "fixed64")
- case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind:
- tag = append(tag, "bytes")
- case protoreflect.GroupKind:
- tag = append(tag, "group")
- }
- tag = append(tag, strconv.Itoa(int(fd.Number())))
- switch fd.Cardinality() {
- case protoreflect.Optional:
- tag = append(tag, "opt")
- case protoreflect.Required:
- tag = append(tag, "req")
- case protoreflect.Repeated:
- tag = append(tag, "rep")
- }
- if fd.IsPacked() {
- tag = append(tag, "packed")
- }
- name := string(fd.Name())
- if fd.Kind() == protoreflect.GroupKind {
- // The name of the FieldDescriptor for a group field is
- // lowercased. To find the original capitalization, we
- // look in the field's MessageType.
- name = string(fd.Message().Name())
- }
- tag = append(tag, "name="+name)
- if jsonName := fd.JSONName(); jsonName != "" && jsonName != name && !fd.IsExtension() {
- // NOTE: The jsonName != name condition is suspect, but it preserve
- // the exact same semantics from the previous generator.
- tag = append(tag, "json="+jsonName)
- }
- if fd.IsWeak() {
- tag = append(tag, "weak="+string(fd.Message().FullName()))
- }
- // The previous implementation does not tag extension fields as proto3,
- // even when the field is defined in a proto3 file. Match that behavior
- // for consistency.
- if fd.Syntax() == protoreflect.Proto3 && !fd.IsExtension() {
- tag = append(tag, "proto3")
- }
- if fd.Kind() == protoreflect.EnumKind && enumName != "" {
- tag = append(tag, "enum="+enumName)
- }
- if fd.ContainingOneof() != nil {
- tag = append(tag, "oneof")
- }
- // This must appear last in the tag, since commas in strings aren't escaped.
- if fd.HasDefault() {
- def, _ := defval.Marshal(fd.Default(), fd.DefaultEnumValue(), fd.Kind(), defval.GoTag)
- tag = append(tag, "def="+def)
- }
- return strings.Join(tag, ",")
-}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
deleted file mode 100644
index 87853e78..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
+++ /dev/null
@@ -1,686 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package text
-
-import (
- "bytes"
- "fmt"
- "io"
- "strconv"
- "unicode/utf8"
-
- "google.golang.org/protobuf/internal/errors"
-)
-
-// Decoder is a token-based textproto decoder.
-type Decoder struct {
- // lastCall is last method called, either readCall or peekCall.
- // Initial value is readCall.
- lastCall call
-
- // lastToken contains the last read token.
- lastToken Token
-
- // lastErr contains the last read error.
- lastErr error
-
- // openStack is a stack containing the byte characters for MessageOpen and
- // ListOpen kinds. The top of stack represents the message or the list that
- // the current token is nested in. An empty stack means the current token is
- // at the top level message. The characters '{' and '<' both represent the
- // MessageOpen kind.
- openStack []byte
-
- // orig is used in reporting line and column.
- orig []byte
- // in contains the unconsumed input.
- in []byte
-}
-
-// NewDecoder returns a Decoder to read the given []byte.
-func NewDecoder(b []byte) *Decoder {
- return &Decoder{orig: b, in: b}
-}
-
-// ErrUnexpectedEOF means that EOF was encountered in the middle of the input.
-var ErrUnexpectedEOF = errors.New("%v", io.ErrUnexpectedEOF)
-
-// call specifies which Decoder method was invoked.
-type call uint8
-
-const (
- readCall call = iota
- peekCall
-)
-
-// Peek looks ahead and returns the next token and error without advancing a read.
-func (d *Decoder) Peek() (Token, error) {
- defer func() { d.lastCall = peekCall }()
- if d.lastCall == readCall {
- d.lastToken, d.lastErr = d.Read()
- }
- return d.lastToken, d.lastErr
-}
-
-// Read returns the next token.
-// It will return an error if there is no valid token.
-func (d *Decoder) Read() (Token, error) {
- defer func() { d.lastCall = readCall }()
- if d.lastCall == peekCall {
- return d.lastToken, d.lastErr
- }
-
- tok, err := d.parseNext(d.lastToken.kind)
- if err != nil {
- return Token{}, err
- }
-
- switch tok.kind {
- case comma, semicolon:
- tok, err = d.parseNext(tok.kind)
- if err != nil {
- return Token{}, err
- }
- }
- d.lastToken = tok
- return tok, nil
-}
-
-const (
- mismatchedFmt = "mismatched close character %q"
- unexpectedFmt = "unexpected character %q"
-)
-
-// parseNext parses the next Token based on given last kind.
-func (d *Decoder) parseNext(lastKind Kind) (Token, error) {
- // Trim leading spaces.
- d.consume(0)
- isEOF := false
- if len(d.in) == 0 {
- isEOF = true
- }
-
- switch lastKind {
- case EOF:
- return d.consumeToken(EOF, 0, 0), nil
-
- case bof:
- // Start of top level message. Next token can be EOF or Name.
- if isEOF {
- return d.consumeToken(EOF, 0, 0), nil
- }
- return d.parseFieldName()
-
- case Name:
- // Next token can be MessageOpen, ListOpen or Scalar.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case '{', '<':
- d.pushOpenStack(ch)
- return d.consumeToken(MessageOpen, 1, 0), nil
- case '[':
- d.pushOpenStack(ch)
- return d.consumeToken(ListOpen, 1, 0), nil
- default:
- return d.parseScalar()
- }
-
- case Scalar:
- openKind, closeCh := d.currentOpenKind()
- switch openKind {
- case bof:
- // Top level message.
- // Next token can be EOF, comma, semicolon or Name.
- if isEOF {
- return d.consumeToken(EOF, 0, 0), nil
- }
- switch d.in[0] {
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- case ';':
- return d.consumeToken(semicolon, 1, 0), nil
- default:
- return d.parseFieldName()
- }
-
- case MessageOpen:
- // Next token can be MessageClose, comma, semicolon or Name.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case closeCh:
- d.popOpenStack()
- return d.consumeToken(MessageClose, 1, 0), nil
- case otherCloseChar[closeCh]:
- return Token{}, d.newSyntaxError(mismatchedFmt, ch)
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- case ';':
- return d.consumeToken(semicolon, 1, 0), nil
- default:
- return d.parseFieldName()
- }
-
- case ListOpen:
- // Next token can be ListClose or comma.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case ']':
- d.popOpenStack()
- return d.consumeToken(ListClose, 1, 0), nil
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- default:
- return Token{}, d.newSyntaxError(unexpectedFmt, ch)
- }
- }
-
- case MessageOpen:
- // Next token can be MessageClose or Name.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- _, closeCh := d.currentOpenKind()
- switch ch := d.in[0]; ch {
- case closeCh:
- d.popOpenStack()
- return d.consumeToken(MessageClose, 1, 0), nil
- case otherCloseChar[closeCh]:
- return Token{}, d.newSyntaxError(mismatchedFmt, ch)
- default:
- return d.parseFieldName()
- }
-
- case MessageClose:
- openKind, closeCh := d.currentOpenKind()
- switch openKind {
- case bof:
- // Top level message.
- // Next token can be EOF, comma, semicolon or Name.
- if isEOF {
- return d.consumeToken(EOF, 0, 0), nil
- }
- switch ch := d.in[0]; ch {
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- case ';':
- return d.consumeToken(semicolon, 1, 0), nil
- default:
- return d.parseFieldName()
- }
-
- case MessageOpen:
- // Next token can be MessageClose, comma, semicolon or Name.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case closeCh:
- d.popOpenStack()
- return d.consumeToken(MessageClose, 1, 0), nil
- case otherCloseChar[closeCh]:
- return Token{}, d.newSyntaxError(mismatchedFmt, ch)
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- case ';':
- return d.consumeToken(semicolon, 1, 0), nil
- default:
- return d.parseFieldName()
- }
-
- case ListOpen:
- // Next token can be ListClose or comma
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case closeCh:
- d.popOpenStack()
- return d.consumeToken(ListClose, 1, 0), nil
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- default:
- return Token{}, d.newSyntaxError(unexpectedFmt, ch)
- }
- }
-
- case ListOpen:
- // Next token can be ListClose, MessageStart or Scalar.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case ']':
- d.popOpenStack()
- return d.consumeToken(ListClose, 1, 0), nil
- case '{', '<':
- d.pushOpenStack(ch)
- return d.consumeToken(MessageOpen, 1, 0), nil
- default:
- return d.parseScalar()
- }
-
- case ListClose:
- openKind, closeCh := d.currentOpenKind()
- switch openKind {
- case bof:
- // Top level message.
- // Next token can be EOF, comma, semicolon or Name.
- if isEOF {
- return d.consumeToken(EOF, 0, 0), nil
- }
- switch ch := d.in[0]; ch {
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- case ';':
- return d.consumeToken(semicolon, 1, 0), nil
- default:
- return d.parseFieldName()
- }
-
- case MessageOpen:
- // Next token can be MessageClose, comma, semicolon or Name.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case closeCh:
- d.popOpenStack()
- return d.consumeToken(MessageClose, 1, 0), nil
- case otherCloseChar[closeCh]:
- return Token{}, d.newSyntaxError(mismatchedFmt, ch)
- case ',':
- return d.consumeToken(comma, 1, 0), nil
- case ';':
- return d.consumeToken(semicolon, 1, 0), nil
- default:
- return d.parseFieldName()
- }
-
- default:
- // It is not possible to have this case. Let it panic below.
- }
-
- case comma, semicolon:
- openKind, closeCh := d.currentOpenKind()
- switch openKind {
- case bof:
- // Top level message. Next token can be EOF or Name.
- if isEOF {
- return d.consumeToken(EOF, 0, 0), nil
- }
- return d.parseFieldName()
-
- case MessageOpen:
- // Next token can be MessageClose or Name.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case closeCh:
- d.popOpenStack()
- return d.consumeToken(MessageClose, 1, 0), nil
- case otherCloseChar[closeCh]:
- return Token{}, d.newSyntaxError(mismatchedFmt, ch)
- default:
- return d.parseFieldName()
- }
-
- case ListOpen:
- if lastKind == semicolon {
- // It is not be possible to have this case as logic here
- // should not have produced a semicolon Token when inside a
- // list. Let it panic below.
- break
- }
- // Next token can be MessageOpen or Scalar.
- if isEOF {
- return Token{}, ErrUnexpectedEOF
- }
- switch ch := d.in[0]; ch {
- case '{', '<':
- d.pushOpenStack(ch)
- return d.consumeToken(MessageOpen, 1, 0), nil
- default:
- return d.parseScalar()
- }
- }
- }
-
- line, column := d.Position(len(d.orig) - len(d.in))
- panic(fmt.Sprintf("Decoder.parseNext: bug at handling line %d:%d with lastKind=%v", line, column, lastKind))
-}
-
-var otherCloseChar = map[byte]byte{
- '}': '>',
- '>': '}',
-}
-
-// currentOpenKind indicates whether current position is inside a message, list
-// or top-level message by returning MessageOpen, ListOpen or bof respectively.
-// If the returned kind is either a MessageOpen or ListOpen, it also returns the
-// corresponding closing character.
-func (d *Decoder) currentOpenKind() (Kind, byte) {
- if len(d.openStack) == 0 {
- return bof, 0
- }
- openCh := d.openStack[len(d.openStack)-1]
- switch openCh {
- case '{':
- return MessageOpen, '}'
- case '<':
- return MessageOpen, '>'
- case '[':
- return ListOpen, ']'
- }
- panic(fmt.Sprintf("Decoder: openStack contains invalid byte %c", openCh))
-}
-
-func (d *Decoder) pushOpenStack(ch byte) {
- d.openStack = append(d.openStack, ch)
-}
-
-func (d *Decoder) popOpenStack() {
- d.openStack = d.openStack[:len(d.openStack)-1]
-}
-
-// parseFieldName parses field name and separator.
-func (d *Decoder) parseFieldName() (tok Token, err error) {
- defer func() {
- if err == nil && d.tryConsumeChar(':') {
- tok.attrs |= hasSeparator
- }
- }()
-
- // Extension or Any type URL.
- if d.in[0] == '[' {
- return d.parseTypeName()
- }
-
- // Identifier.
- if size := parseIdent(d.in, false); size > 0 {
- return d.consumeToken(Name, size, uint8(IdentName)), nil
- }
-
- // Field number. Identify if input is a valid number that is not negative
- // and is decimal integer within 32-bit range.
- if num := parseNumber(d.in); num.size > 0 {
- str := num.string(d.in)
- if !num.neg && num.kind == numDec {
- if _, err := strconv.ParseInt(str, 10, 32); err == nil {
- return d.consumeToken(Name, num.size, uint8(FieldNumber)), nil
- }
- }
- return Token{}, d.newSyntaxError("invalid field number: %s", str)
- }
-
- return Token{}, d.newSyntaxError("invalid field name: %s", errId(d.in))
-}
-
-// parseTypeName parses Any type URL or extension field name. The name is
-// enclosed in [ and ] characters. The C++ parser does not handle many legal URL
-// strings. This implementation is more liberal and allows for the pattern
-// ^[-_a-zA-Z0-9]+([./][-_a-zA-Z0-9]+)*`). Whitespaces and comments are allowed
-// in between [ ], '.', '/' and the sub names.
-func (d *Decoder) parseTypeName() (Token, error) {
- startPos := len(d.orig) - len(d.in)
- // Use alias s to advance first in order to use d.in for error handling.
- // Caller already checks for [ as first character.
- s := consume(d.in[1:], 0)
- if len(s) == 0 {
- return Token{}, ErrUnexpectedEOF
- }
-
- var name []byte
- for len(s) > 0 && isTypeNameChar(s[0]) {
- name = append(name, s[0])
- s = s[1:]
- }
- s = consume(s, 0)
-
- var closed bool
- for len(s) > 0 && !closed {
- switch {
- case s[0] == ']':
- s = s[1:]
- closed = true
-
- case s[0] == '/', s[0] == '.':
- if len(name) > 0 && (name[len(name)-1] == '/' || name[len(name)-1] == '.') {
- return Token{}, d.newSyntaxError("invalid type URL/extension field name: %s",
- d.orig[startPos:len(d.orig)-len(s)+1])
- }
- name = append(name, s[0])
- s = s[1:]
- s = consume(s, 0)
- for len(s) > 0 && isTypeNameChar(s[0]) {
- name = append(name, s[0])
- s = s[1:]
- }
- s = consume(s, 0)
-
- default:
- return Token{}, d.newSyntaxError(
- "invalid type URL/extension field name: %s", d.orig[startPos:len(d.orig)-len(s)+1])
- }
- }
-
- if !closed {
- return Token{}, ErrUnexpectedEOF
- }
-
- // First character cannot be '.'. Last character cannot be '.' or '/'.
- size := len(name)
- if size == 0 || name[0] == '.' || name[size-1] == '.' || name[size-1] == '/' {
- return Token{}, d.newSyntaxError("invalid type URL/extension field name: %s",
- d.orig[startPos:len(d.orig)-len(s)])
- }
-
- d.in = s
- endPos := len(d.orig) - len(d.in)
- d.consume(0)
-
- return Token{
- kind: Name,
- attrs: uint8(TypeName),
- pos: startPos,
- raw: d.orig[startPos:endPos],
- str: string(name),
- }, nil
-}
-
-func isTypeNameChar(b byte) bool {
- return (b == '-' || b == '_' ||
- ('0' <= b && b <= '9') ||
- ('a' <= b && b <= 'z') ||
- ('A' <= b && b <= 'Z'))
-}
-
-func isWhiteSpace(b byte) bool {
- switch b {
- case ' ', '\n', '\r', '\t':
- return true
- default:
- return false
- }
-}
-
-// parseIdent parses an unquoted proto identifier and returns size.
-// If allowNeg is true, it allows '-' to be the first character in the
-// identifier. This is used when parsing literal values like -infinity, etc.
-// Regular expression matches an identifier: `^[_a-zA-Z][_a-zA-Z0-9]*`
-func parseIdent(input []byte, allowNeg bool) int {
- var size int
-
- s := input
- if len(s) == 0 {
- return 0
- }
-
- if allowNeg && s[0] == '-' {
- s = s[1:]
- size++
- if len(s) == 0 {
- return 0
- }
- }
-
- switch {
- case s[0] == '_',
- 'a' <= s[0] && s[0] <= 'z',
- 'A' <= s[0] && s[0] <= 'Z':
- s = s[1:]
- size++
- default:
- return 0
- }
-
- for len(s) > 0 && (s[0] == '_' ||
- 'a' <= s[0] && s[0] <= 'z' ||
- 'A' <= s[0] && s[0] <= 'Z' ||
- '0' <= s[0] && s[0] <= '9') {
- s = s[1:]
- size++
- }
-
- if len(s) > 0 && !isDelim(s[0]) {
- return 0
- }
-
- return size
-}
-
-// parseScalar parses for a string, literal or number value.
-func (d *Decoder) parseScalar() (Token, error) {
- if d.in[0] == '"' || d.in[0] == '\'' {
- return d.parseStringValue()
- }
-
- if tok, ok := d.parseLiteralValue(); ok {
- return tok, nil
- }
-
- if tok, ok := d.parseNumberValue(); ok {
- return tok, nil
- }
-
- return Token{}, d.newSyntaxError("invalid scalar value: %s", errId(d.in))
-}
-
-// parseLiteralValue parses a literal value. A literal value is used for
-// bools, special floats and enums. This function simply identifies that the
-// field value is a literal.
-func (d *Decoder) parseLiteralValue() (Token, bool) {
- size := parseIdent(d.in, true)
- if size == 0 {
- return Token{}, false
- }
- return d.consumeToken(Scalar, size, literalValue), true
-}
-
-// consumeToken constructs a Token for given Kind from d.in and consumes given
-// size-length from it.
-func (d *Decoder) consumeToken(kind Kind, size int, attrs uint8) Token {
- // Important to compute raw and pos before consuming.
- tok := Token{
- kind: kind,
- attrs: attrs,
- pos: len(d.orig) - len(d.in),
- raw: d.in[:size],
- }
- d.consume(size)
- return tok
-}
-
-// newSyntaxError returns a syntax error with line and column information for
-// current position.
-func (d *Decoder) newSyntaxError(f string, x ...interface{}) error {
- e := errors.New(f, x...)
- line, column := d.Position(len(d.orig) - len(d.in))
- return errors.New("syntax error (line %d:%d): %v", line, column, e)
-}
-
-// Position returns line and column number of given index of the original input.
-// It will panic if index is out of range.
-func (d *Decoder) Position(idx int) (line int, column int) {
- b := d.orig[:idx]
- line = bytes.Count(b, []byte("\n")) + 1
- if i := bytes.LastIndexByte(b, '\n'); i >= 0 {
- b = b[i+1:]
- }
- column = utf8.RuneCount(b) + 1 // ignore multi-rune characters
- return line, column
-}
-
-func (d *Decoder) tryConsumeChar(c byte) bool {
- if len(d.in) > 0 && d.in[0] == c {
- d.consume(1)
- return true
- }
- return false
-}
-
-// consume consumes n bytes of input and any subsequent whitespace or comments.
-func (d *Decoder) consume(n int) {
- d.in = consume(d.in, n)
- return
-}
-
-// consume consumes n bytes of input and any subsequent whitespace or comments.
-func consume(b []byte, n int) []byte {
- b = b[n:]
- for len(b) > 0 {
- switch b[0] {
- case ' ', '\n', '\r', '\t':
- b = b[1:]
- case '#':
- if i := bytes.IndexByte(b, '\n'); i >= 0 {
- b = b[i+len("\n"):]
- } else {
- b = nil
- }
- default:
- return b
- }
- }
- return b
-}
-
-// errId extracts a byte sequence that looks like an invalid ID
-// (for the purposes of error reporting).
-func errId(seq []byte) []byte {
- const maxLen = 32
- for i := 0; i < len(seq); {
- if i > maxLen {
- return append(seq[:i:i], "…"...)
- }
- r, size := utf8.DecodeRune(seq[i:])
- if r > utf8.RuneSelf || (r != '/' && isDelim(byte(r))) {
- if i == 0 {
- // Either the first byte is invalid UTF-8 or a
- // delimiter, or the first rune is non-ASCII.
- // Return it as-is.
- i = size
- }
- return seq[:i:i]
- }
- i += size
- }
- // No delimiter found.
- return seq
-}
-
-// isDelim returns true if given byte is a delimiter character.
-func isDelim(c byte) bool {
- return !(c == '-' || c == '+' || c == '.' || c == '_' ||
- ('a' <= c && c <= 'z') ||
- ('A' <= c && c <= 'Z') ||
- ('0' <= c && c <= '9'))
-}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go
deleted file mode 100644
index 45c81f02..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go
+++ /dev/null
@@ -1,211 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package text
-
-// parseNumberValue parses a number from the input and returns a Token object.
-func (d *Decoder) parseNumberValue() (Token, bool) {
- in := d.in
- num := parseNumber(in)
- if num.size == 0 {
- return Token{}, false
- }
- numAttrs := num.kind
- if num.neg {
- numAttrs |= isNegative
- }
- tok := Token{
- kind: Scalar,
- attrs: numberValue,
- pos: len(d.orig) - len(d.in),
- raw: d.in[:num.size],
- str: num.string(d.in),
- numAttrs: numAttrs,
- }
- d.consume(num.size)
- return tok, true
-}
-
-const (
- numDec uint8 = (1 << iota) / 2
- numHex
- numOct
- numFloat
-)
-
-// number is the result of parsing out a valid number from parseNumber. It
-// contains data for doing float or integer conversion via the strconv package
-// in conjunction with the input bytes.
-type number struct {
- kind uint8
- neg bool
- size int
- // if neg, this is the length of whitespace and comments between
- // the minus sign and the rest fo the number literal
- sep int
-}
-
-func (num number) string(data []byte) string {
- strSize := num.size
- last := num.size - 1
- if num.kind == numFloat && (data[last] == 'f' || data[last] == 'F') {
- strSize = last
- }
- if num.neg && num.sep > 0 {
- // strip whitespace/comments between negative sign and the rest
- strLen := strSize - num.sep
- str := make([]byte, strLen)
- str[0] = data[0]
- copy(str[1:], data[num.sep+1:strSize])
- return string(str)
- }
- return string(data[:strSize])
-
-}
-
-// parseNumber constructs a number object from given input. It allows for the
-// following patterns:
-//
-// integer: ^-?([1-9][0-9]*|0[xX][0-9a-fA-F]+|0[0-7]*)
-// float: ^-?((0|[1-9][0-9]*)?([.][0-9]*)?([eE][+-]?[0-9]+)?[fF]?)
-//
-// It also returns the number of parsed bytes for the given number, 0 if it is
-// not a number.
-func parseNumber(input []byte) number {
- kind := numDec
- var size int
- var neg bool
-
- s := input
- if len(s) == 0 {
- return number{}
- }
-
- // Optional -
- var sep int
- if s[0] == '-' {
- neg = true
- s = s[1:]
- size++
- // Consume any whitespace or comments between the
- // negative sign and the rest of the number
- lenBefore := len(s)
- s = consume(s, 0)
- sep = lenBefore - len(s)
- size += sep
- if len(s) == 0 {
- return number{}
- }
- }
-
- switch {
- case s[0] == '0':
- if len(s) > 1 {
- switch {
- case s[1] == 'x' || s[1] == 'X':
- // Parse as hex number.
- kind = numHex
- n := 2
- s = s[2:]
- for len(s) > 0 && (('0' <= s[0] && s[0] <= '9') ||
- ('a' <= s[0] && s[0] <= 'f') ||
- ('A' <= s[0] && s[0] <= 'F')) {
- s = s[1:]
- n++
- }
- if n == 2 {
- return number{}
- }
- size += n
-
- case '0' <= s[1] && s[1] <= '7':
- // Parse as octal number.
- kind = numOct
- n := 2
- s = s[2:]
- for len(s) > 0 && '0' <= s[0] && s[0] <= '7' {
- s = s[1:]
- n++
- }
- size += n
- }
-
- if kind&(numHex|numOct) > 0 {
- if len(s) > 0 && !isDelim(s[0]) {
- return number{}
- }
- return number{kind: kind, neg: neg, size: size, sep: sep}
- }
- }
- s = s[1:]
- size++
-
- case '1' <= s[0] && s[0] <= '9':
- n := 1
- s = s[1:]
- for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
- s = s[1:]
- n++
- }
- size += n
-
- case s[0] == '.':
- // Set kind to numFloat to signify the intent to parse as float. And
- // that it needs to have other digits after '.'.
- kind = numFloat
-
- default:
- return number{}
- }
-
- // . followed by 0 or more digits.
- if len(s) > 0 && s[0] == '.' {
- n := 1
- s = s[1:]
- // If decimal point was before any digits, it should be followed by
- // other digits.
- if len(s) == 0 && kind == numFloat {
- return number{}
- }
- for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
- s = s[1:]
- n++
- }
- size += n
- kind = numFloat
- }
-
- // e or E followed by an optional - or + and 1 or more digits.
- if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') {
- kind = numFloat
- s = s[1:]
- n := 1
- if s[0] == '+' || s[0] == '-' {
- s = s[1:]
- n++
- if len(s) == 0 {
- return number{}
- }
- }
- for len(s) > 0 && '0' <= s[0] && s[0] <= '9' {
- s = s[1:]
- n++
- }
- size += n
- }
-
- // Optional suffix f or F for floats.
- if len(s) > 0 && (s[0] == 'f' || s[0] == 'F') {
- kind = numFloat
- s = s[1:]
- size++
- }
-
- // Check that next byte is a delimiter or it is at the end.
- if len(s) > 0 && !isDelim(s[0]) {
- return number{}
- }
-
- return number{kind: kind, neg: neg, size: size, sep: sep}
-}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go
deleted file mode 100644
index d4d34902..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package text
-
-import (
- "bytes"
- "strconv"
- "strings"
- "unicode"
- "unicode/utf16"
- "unicode/utf8"
-
- "google.golang.org/protobuf/internal/strs"
-)
-
-// parseStringValue parses string field token.
-// This differs from parseString since the text format allows
-// multiple back-to-back string literals where they are semantically treated
-// as a single large string with all values concatenated.
-//
-// E.g., `"foo" "bar" "baz"` => "foobarbaz"
-func (d *Decoder) parseStringValue() (Token, error) {
- // Note that the ending quote is sufficient to unambiguously mark the end
- // of a string. Thus, the text grammar does not require intervening
- // whitespace or control characters in-between strings.
- // Thus, the following is valid:
- // `"foo"'bar'"baz"` => "foobarbaz"
- in0 := d.in
- var ss []string
- for len(d.in) > 0 && (d.in[0] == '"' || d.in[0] == '\'') {
- s, err := d.parseString()
- if err != nil {
- return Token{}, err
- }
- ss = append(ss, s)
- }
- // d.in already points to the end of the value at this point.
- return Token{
- kind: Scalar,
- attrs: stringValue,
- pos: len(d.orig) - len(in0),
- raw: in0[:len(in0)-len(d.in)],
- str: strings.Join(ss, ""),
- }, nil
-}
-
-// parseString parses a string value enclosed in " or '.
-func (d *Decoder) parseString() (string, error) {
- in := d.in
- if len(in) == 0 {
- return "", ErrUnexpectedEOF
- }
- quote := in[0]
- in = in[1:]
- i := indexNeedEscapeInBytes(in)
- in, out := in[i:], in[:i:i] // set cap to prevent mutations
- for len(in) > 0 {
- switch r, n := utf8.DecodeRune(in); {
- case r == utf8.RuneError && n == 1:
- return "", d.newSyntaxError("invalid UTF-8 detected")
- case r == 0 || r == '\n':
- return "", d.newSyntaxError("invalid character %q in string", r)
- case r == rune(quote):
- in = in[1:]
- d.consume(len(d.in) - len(in))
- return string(out), nil
- case r == '\\':
- if len(in) < 2 {
- return "", ErrUnexpectedEOF
- }
- switch r := in[1]; r {
- case '"', '\'', '\\', '?':
- in, out = in[2:], append(out, r)
- case 'a':
- in, out = in[2:], append(out, '\a')
- case 'b':
- in, out = in[2:], append(out, '\b')
- case 'n':
- in, out = in[2:], append(out, '\n')
- case 'r':
- in, out = in[2:], append(out, '\r')
- case 't':
- in, out = in[2:], append(out, '\t')
- case 'v':
- in, out = in[2:], append(out, '\v')
- case 'f':
- in, out = in[2:], append(out, '\f')
- case '0', '1', '2', '3', '4', '5', '6', '7':
- // One, two, or three octal characters.
- n := len(in[1:]) - len(bytes.TrimLeft(in[1:], "01234567"))
- if n > 3 {
- n = 3
- }
- v, err := strconv.ParseUint(string(in[1:1+n]), 8, 8)
- if err != nil {
- return "", d.newSyntaxError("invalid octal escape code %q in string", in[:1+n])
- }
- in, out = in[1+n:], append(out, byte(v))
- case 'x':
- // One or two hexadecimal characters.
- n := len(in[2:]) - len(bytes.TrimLeft(in[2:], "0123456789abcdefABCDEF"))
- if n > 2 {
- n = 2
- }
- v, err := strconv.ParseUint(string(in[2:2+n]), 16, 8)
- if err != nil {
- return "", d.newSyntaxError("invalid hex escape code %q in string", in[:2+n])
- }
- in, out = in[2+n:], append(out, byte(v))
- case 'u', 'U':
- // Four or eight hexadecimal characters
- n := 6
- if r == 'U' {
- n = 10
- }
- if len(in) < n {
- return "", ErrUnexpectedEOF
- }
- v, err := strconv.ParseUint(string(in[2:n]), 16, 32)
- if utf8.MaxRune < v || err != nil {
- return "", d.newSyntaxError("invalid Unicode escape code %q in string", in[:n])
- }
- in = in[n:]
-
- r := rune(v)
- if utf16.IsSurrogate(r) {
- if len(in) < 6 {
- return "", ErrUnexpectedEOF
- }
- v, err := strconv.ParseUint(string(in[2:6]), 16, 16)
- r = utf16.DecodeRune(r, rune(v))
- if in[0] != '\\' || in[1] != 'u' || r == unicode.ReplacementChar || err != nil {
- return "", d.newSyntaxError("invalid Unicode escape code %q in string", in[:6])
- }
- in = in[6:]
- }
- out = append(out, string(r)...)
- default:
- return "", d.newSyntaxError("invalid escape code %q in string", in[:2])
- }
- default:
- i := indexNeedEscapeInBytes(in[n:])
- in, out = in[n+i:], append(out, in[:n+i]...)
- }
- }
- return "", ErrUnexpectedEOF
-}
-
-// indexNeedEscapeInString returns the index of the character that needs
-// escaping. If no characters need escaping, this returns the input length.
-func indexNeedEscapeInBytes(b []byte) int { return indexNeedEscapeInString(strs.UnsafeString(b)) }
-
-// UnmarshalString returns an unescaped string given a textproto string value.
-// String value needs to contain single or double quotes. This is only used by
-// internal/encoding/defval package for unmarshaling bytes.
-func UnmarshalString(s string) (string, error) {
- d := NewDecoder([]byte(s))
- return d.parseString()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go
deleted file mode 100644
index 83d2b0d5..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go
+++ /dev/null
@@ -1,373 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package text
-
-import (
- "bytes"
- "fmt"
- "math"
- "strconv"
- "strings"
-
- "google.golang.org/protobuf/internal/flags"
-)
-
-// Kind represents a token kind expressible in the textproto format.
-type Kind uint8
-
-// Kind values.
-const (
- Invalid Kind = iota
- EOF
- Name // Name indicates the field name.
- Scalar // Scalar are scalar values, e.g. "string", 47, ENUM_LITERAL, true.
- MessageOpen
- MessageClose
- ListOpen
- ListClose
-
- // comma and semi-colon are only for parsing in between values and should not be exposed.
- comma
- semicolon
-
- // bof indicates beginning of file, which is the default token
- // kind at the beginning of parsing.
- bof = Invalid
-)
-
-func (t Kind) String() string {
- switch t {
- case Invalid:
- return ""
- case EOF:
- return "eof"
- case Scalar:
- return "scalar"
- case Name:
- return "name"
- case MessageOpen:
- return "{"
- case MessageClose:
- return "}"
- case ListOpen:
- return "["
- case ListClose:
- return "]"
- case comma:
- return ","
- case semicolon:
- return ";"
- default:
- return fmt.Sprintf("", uint8(t))
- }
-}
-
-// NameKind represents different types of field names.
-type NameKind uint8
-
-// NameKind values.
-const (
- IdentName NameKind = iota + 1
- TypeName
- FieldNumber
-)
-
-func (t NameKind) String() string {
- switch t {
- case IdentName:
- return "IdentName"
- case TypeName:
- return "TypeName"
- case FieldNumber:
- return "FieldNumber"
- default:
- return fmt.Sprintf("", uint8(t))
- }
-}
-
-// Bit mask in Token.attrs to indicate if a Name token is followed by the
-// separator char ':'. The field name separator char is optional for message
-// field or repeated message field, but required for all other types. Decoder
-// simply indicates whether a Name token is followed by separator or not. It is
-// up to the prototext package to validate.
-const hasSeparator = 1 << 7
-
-// Scalar value types.
-const (
- numberValue = iota + 1
- stringValue
- literalValue
-)
-
-// Bit mask in Token.numAttrs to indicate that the number is a negative.
-const isNegative = 1 << 7
-
-// Token provides a parsed token kind and value. Values are provided by the
-// different accessor methods.
-type Token struct {
- // Kind of the Token object.
- kind Kind
- // attrs contains metadata for the following Kinds:
- // Name: hasSeparator bit and one of NameKind.
- // Scalar: one of numberValue, stringValue, literalValue.
- attrs uint8
- // numAttrs contains metadata for numberValue:
- // - highest bit is whether negative or positive.
- // - lower bits indicate one of numDec, numHex, numOct, numFloat.
- numAttrs uint8
- // pos provides the position of the token in the original input.
- pos int
- // raw bytes of the serialized token.
- // This is a subslice into the original input.
- raw []byte
- // str contains parsed string for the following:
- // - stringValue of Scalar kind
- // - numberValue of Scalar kind
- // - TypeName of Name kind
- str string
-}
-
-// Kind returns the token kind.
-func (t Token) Kind() Kind {
- return t.kind
-}
-
-// RawString returns the read value in string.
-func (t Token) RawString() string {
- return string(t.raw)
-}
-
-// Pos returns the token position from the input.
-func (t Token) Pos() int {
- return t.pos
-}
-
-// NameKind returns IdentName, TypeName or FieldNumber.
-// It panics if type is not Name.
-func (t Token) NameKind() NameKind {
- if t.kind == Name {
- return NameKind(t.attrs &^ hasSeparator)
- }
- panic(fmt.Sprintf("Token is not a Name type: %s", t.kind))
-}
-
-// HasSeparator returns true if the field name is followed by the separator char
-// ':', else false. It panics if type is not Name.
-func (t Token) HasSeparator() bool {
- if t.kind == Name {
- return t.attrs&hasSeparator != 0
- }
- panic(fmt.Sprintf("Token is not a Name type: %s", t.kind))
-}
-
-// IdentName returns the value for IdentName type.
-func (t Token) IdentName() string {
- if t.kind == Name && t.attrs&uint8(IdentName) != 0 {
- return string(t.raw)
- }
- panic(fmt.Sprintf("Token is not an IdentName: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator)))
-}
-
-// TypeName returns the value for TypeName type.
-func (t Token) TypeName() string {
- if t.kind == Name && t.attrs&uint8(TypeName) != 0 {
- return t.str
- }
- panic(fmt.Sprintf("Token is not a TypeName: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator)))
-}
-
-// FieldNumber returns the value for FieldNumber type. It returns a
-// non-negative int32 value. Caller will still need to validate for the correct
-// field number range.
-func (t Token) FieldNumber() int32 {
- if t.kind != Name || t.attrs&uint8(FieldNumber) == 0 {
- panic(fmt.Sprintf("Token is not a FieldNumber: %s:%s", t.kind, NameKind(t.attrs&^hasSeparator)))
- }
- // Following should not return an error as it had already been called right
- // before this Token was constructed.
- num, _ := strconv.ParseInt(string(t.raw), 10, 32)
- return int32(num)
-}
-
-// String returns the string value for a Scalar type.
-func (t Token) String() (string, bool) {
- if t.kind != Scalar || t.attrs != stringValue {
- return "", false
- }
- return t.str, true
-}
-
-// Enum returns the literal value for a Scalar type for use as enum literals.
-func (t Token) Enum() (string, bool) {
- if t.kind != Scalar || t.attrs != literalValue || (len(t.raw) > 0 && t.raw[0] == '-') {
- return "", false
- }
- return string(t.raw), true
-}
-
-// Bool returns the bool value for a Scalar type.
-func (t Token) Bool() (bool, bool) {
- if t.kind != Scalar {
- return false, false
- }
- switch t.attrs {
- case literalValue:
- if b, ok := boolLits[string(t.raw)]; ok {
- return b, true
- }
- case numberValue:
- // Unsigned integer representation of 0 or 1 is permitted: 00, 0x0, 01,
- // 0x1, etc.
- n, err := strconv.ParseUint(t.str, 0, 64)
- if err == nil {
- switch n {
- case 0:
- return false, true
- case 1:
- return true, true
- }
- }
- }
- return false, false
-}
-
-// These exact boolean literals are the ones supported in C++.
-var boolLits = map[string]bool{
- "t": true,
- "true": true,
- "True": true,
- "f": false,
- "false": false,
- "False": false,
-}
-
-// Uint64 returns the uint64 value for a Scalar type.
-func (t Token) Uint64() (uint64, bool) {
- if t.kind != Scalar || t.attrs != numberValue ||
- t.numAttrs&isNegative > 0 || t.numAttrs&numFloat > 0 {
- return 0, false
- }
- n, err := strconv.ParseUint(t.str, 0, 64)
- if err != nil {
- return 0, false
- }
- return n, true
-}
-
-// Uint32 returns the uint32 value for a Scalar type.
-func (t Token) Uint32() (uint32, bool) {
- if t.kind != Scalar || t.attrs != numberValue ||
- t.numAttrs&isNegative > 0 || t.numAttrs&numFloat > 0 {
- return 0, false
- }
- n, err := strconv.ParseUint(t.str, 0, 32)
- if err != nil {
- return 0, false
- }
- return uint32(n), true
-}
-
-// Int64 returns the int64 value for a Scalar type.
-func (t Token) Int64() (int64, bool) {
- if t.kind != Scalar || t.attrs != numberValue || t.numAttrs&numFloat > 0 {
- return 0, false
- }
- if n, err := strconv.ParseInt(t.str, 0, 64); err == nil {
- return n, true
- }
- // C++ accepts large positive hex numbers as negative values.
- // This feature is here for proto1 backwards compatibility purposes.
- if flags.ProtoLegacy && (t.numAttrs == numHex) {
- if n, err := strconv.ParseUint(t.str, 0, 64); err == nil {
- return int64(n), true
- }
- }
- return 0, false
-}
-
-// Int32 returns the int32 value for a Scalar type.
-func (t Token) Int32() (int32, bool) {
- if t.kind != Scalar || t.attrs != numberValue || t.numAttrs&numFloat > 0 {
- return 0, false
- }
- if n, err := strconv.ParseInt(t.str, 0, 32); err == nil {
- return int32(n), true
- }
- // C++ accepts large positive hex numbers as negative values.
- // This feature is here for proto1 backwards compatibility purposes.
- if flags.ProtoLegacy && (t.numAttrs == numHex) {
- if n, err := strconv.ParseUint(t.str, 0, 32); err == nil {
- return int32(n), true
- }
- }
- return 0, false
-}
-
-// Float64 returns the float64 value for a Scalar type.
-func (t Token) Float64() (float64, bool) {
- if t.kind != Scalar {
- return 0, false
- }
- switch t.attrs {
- case literalValue:
- if f, ok := floatLits[strings.ToLower(string(t.raw))]; ok {
- return f, true
- }
- case numberValue:
- n, err := strconv.ParseFloat(t.str, 64)
- if err == nil {
- return n, true
- }
- nerr := err.(*strconv.NumError)
- if nerr.Err == strconv.ErrRange {
- return n, true
- }
- }
- return 0, false
-}
-
-// Float32 returns the float32 value for a Scalar type.
-func (t Token) Float32() (float32, bool) {
- if t.kind != Scalar {
- return 0, false
- }
- switch t.attrs {
- case literalValue:
- if f, ok := floatLits[strings.ToLower(string(t.raw))]; ok {
- return float32(f), true
- }
- case numberValue:
- n, err := strconv.ParseFloat(t.str, 64)
- if err == nil {
- // Overflows are treated as (-)infinity.
- return float32(n), true
- }
- nerr := err.(*strconv.NumError)
- if nerr.Err == strconv.ErrRange {
- return float32(n), true
- }
- }
- return 0, false
-}
-
-// These are the supported float literals which C++ permits case-insensitive
-// variants of these.
-var floatLits = map[string]float64{
- "nan": math.NaN(),
- "inf": math.Inf(1),
- "infinity": math.Inf(1),
- "-inf": math.Inf(-1),
- "-infinity": math.Inf(-1),
-}
-
-// TokenEquals returns true if given Tokens are equal, else false.
-func TokenEquals(x, y Token) bool {
- return x.kind == y.kind &&
- x.attrs == y.attrs &&
- x.numAttrs == y.numAttrs &&
- x.pos == y.pos &&
- bytes.Equal(x.raw, y.raw) &&
- x.str == y.str
-}
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go b/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go
deleted file mode 100644
index 7ae6c2a3..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package text implements the text format for protocol buffers.
-// This package has no semantic understanding for protocol buffers and is only
-// a parser and composer for the format.
-//
-// There is no formal specification for the protobuf text format, as such the
-// C++ implementation (see google::protobuf::TextFormat) is the reference
-// implementation of the text format.
-//
-// This package is neither a superset nor a subset of the C++ implementation.
-// This implementation permits a more liberal grammar in some cases to be
-// backwards compatible with the historical Go implementation.
-// Future parsings unique to Go should not be added.
-// Some grammars allowed by the C++ implementation are deliberately
-// not implemented here because they are considered a bug by the protobuf team
-// and should not be replicated.
-//
-// The Go implementation should implement a sufficient amount of the C++
-// grammar such that the default text serialization by C++ can be parsed by Go.
-// However, just because the C++ parser accepts some input does not mean that
-// the Go implementation should as well.
-//
-// The text format is almost a superset of JSON except:
-// - message keys are not quoted strings, but identifiers
-// - the top-level value must be a message without the delimiters
-package text
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go b/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go
deleted file mode 100644
index cf7aed77..00000000
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go
+++ /dev/null
@@ -1,272 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package text
-
-import (
- "math"
- "math/bits"
- "strconv"
- "strings"
- "unicode/utf8"
-
- "google.golang.org/protobuf/internal/detrand"
- "google.golang.org/protobuf/internal/errors"
-)
-
-// encType represents an encoding type.
-type encType uint8
-
-const (
- _ encType = (1 << iota) / 2
- name
- scalar
- messageOpen
- messageClose
-)
-
-// Encoder provides methods to write out textproto constructs and values. The user is
-// responsible for producing valid sequences of constructs and values.
-type Encoder struct {
- encoderState
-
- indent string
- delims [2]byte
- outputASCII bool
-}
-
-type encoderState struct {
- lastType encType
- indents []byte
- out []byte
-}
-
-// NewEncoder returns an Encoder.
-//
-// If indent is a non-empty string, it causes every entry in a List or Message
-// to be preceded by the indent and trailed by a newline.
-//
-// If delims is not the zero value, it controls the delimiter characters used
-// for messages (e.g., "{}" vs "<>").
-//
-// If outputASCII is true, strings will be serialized in such a way that
-// multi-byte UTF-8 sequences are escaped. This property ensures that the
-// overall output is ASCII (as opposed to UTF-8).
-func NewEncoder(buf []byte, indent string, delims [2]byte, outputASCII bool) (*Encoder, error) {
- e := &Encoder{
- encoderState: encoderState{out: buf},
- }
- if len(indent) > 0 {
- if strings.Trim(indent, " \t") != "" {
- return nil, errors.New("indent may only be composed of space and tab characters")
- }
- e.indent = indent
- }
- switch delims {
- case [2]byte{0, 0}:
- e.delims = [2]byte{'{', '}'}
- case [2]byte{'{', '}'}, [2]byte{'<', '>'}:
- e.delims = delims
- default:
- return nil, errors.New("delimiters may only be \"{}\" or \"<>\"")
- }
- e.outputASCII = outputASCII
-
- return e, nil
-}
-
-// Bytes returns the content of the written bytes.
-func (e *Encoder) Bytes() []byte {
- return e.out
-}
-
-// StartMessage writes out the '{' or '<' symbol.
-func (e *Encoder) StartMessage() {
- e.prepareNext(messageOpen)
- e.out = append(e.out, e.delims[0])
-}
-
-// EndMessage writes out the '}' or '>' symbol.
-func (e *Encoder) EndMessage() {
- e.prepareNext(messageClose)
- e.out = append(e.out, e.delims[1])
-}
-
-// WriteName writes out the field name and the separator ':'.
-func (e *Encoder) WriteName(s string) {
- e.prepareNext(name)
- e.out = append(e.out, s...)
- e.out = append(e.out, ':')
-}
-
-// WriteBool writes out the given boolean value.
-func (e *Encoder) WriteBool(b bool) {
- if b {
- e.WriteLiteral("true")
- } else {
- e.WriteLiteral("false")
- }
-}
-
-// WriteString writes out the given string value.
-func (e *Encoder) WriteString(s string) {
- e.prepareNext(scalar)
- e.out = appendString(e.out, s, e.outputASCII)
-}
-
-func appendString(out []byte, in string, outputASCII bool) []byte {
- out = append(out, '"')
- i := indexNeedEscapeInString(in)
- in, out = in[i:], append(out, in[:i]...)
- for len(in) > 0 {
- switch r, n := utf8.DecodeRuneInString(in); {
- case r == utf8.RuneError && n == 1:
- // We do not report invalid UTF-8 because strings in the text format
- // are used to represent both the proto string and bytes type.
- r = rune(in[0])
- fallthrough
- case r < ' ' || r == '"' || r == '\\' || r == 0x7f:
- out = append(out, '\\')
- switch r {
- case '"', '\\':
- out = append(out, byte(r))
- case '\n':
- out = append(out, 'n')
- case '\r':
- out = append(out, 'r')
- case '\t':
- out = append(out, 't')
- default:
- out = append(out, 'x')
- out = append(out, "00"[1+(bits.Len32(uint32(r))-1)/4:]...)
- out = strconv.AppendUint(out, uint64(r), 16)
- }
- in = in[n:]
- case r >= utf8.RuneSelf && (outputASCII || r <= 0x009f):
- out = append(out, '\\')
- if r <= math.MaxUint16 {
- out = append(out, 'u')
- out = append(out, "0000"[1+(bits.Len32(uint32(r))-1)/4:]...)
- out = strconv.AppendUint(out, uint64(r), 16)
- } else {
- out = append(out, 'U')
- out = append(out, "00000000"[1+(bits.Len32(uint32(r))-1)/4:]...)
- out = strconv.AppendUint(out, uint64(r), 16)
- }
- in = in[n:]
- default:
- i := indexNeedEscapeInString(in[n:])
- in, out = in[n+i:], append(out, in[:n+i]...)
- }
- }
- out = append(out, '"')
- return out
-}
-
-// indexNeedEscapeInString returns the index of the character that needs
-// escaping. If no characters need escaping, this returns the input length.
-func indexNeedEscapeInString(s string) int {
- for i := 0; i < len(s); i++ {
- if c := s[i]; c < ' ' || c == '"' || c == '\'' || c == '\\' || c >= 0x7f {
- return i
- }
- }
- return len(s)
-}
-
-// WriteFloat writes out the given float value for given bitSize.
-func (e *Encoder) WriteFloat(n float64, bitSize int) {
- e.prepareNext(scalar)
- e.out = appendFloat(e.out, n, bitSize)
-}
-
-func appendFloat(out []byte, n float64, bitSize int) []byte {
- switch {
- case math.IsNaN(n):
- return append(out, "nan"...)
- case math.IsInf(n, +1):
- return append(out, "inf"...)
- case math.IsInf(n, -1):
- return append(out, "-inf"...)
- default:
- return strconv.AppendFloat(out, n, 'g', -1, bitSize)
- }
-}
-
-// WriteInt writes out the given signed integer value.
-func (e *Encoder) WriteInt(n int64) {
- e.prepareNext(scalar)
- e.out = strconv.AppendInt(e.out, n, 10)
-}
-
-// WriteUint writes out the given unsigned integer value.
-func (e *Encoder) WriteUint(n uint64) {
- e.prepareNext(scalar)
- e.out = strconv.AppendUint(e.out, n, 10)
-}
-
-// WriteLiteral writes out the given string as a literal value without quotes.
-// This is used for writing enum literal strings.
-func (e *Encoder) WriteLiteral(s string) {
- e.prepareNext(scalar)
- e.out = append(e.out, s...)
-}
-
-// prepareNext adds possible space and indentation for the next value based
-// on last encType and indent option. It also updates e.lastType to next.
-func (e *Encoder) prepareNext(next encType) {
- defer func() {
- e.lastType = next
- }()
-
- // Single line.
- if len(e.indent) == 0 {
- // Add space after each field before the next one.
- if e.lastType&(scalar|messageClose) != 0 && next == name {
- e.out = append(e.out, ' ')
- // Add a random extra space to make output unstable.
- if detrand.Bool() {
- e.out = append(e.out, ' ')
- }
- }
- return
- }
-
- // Multi-line.
- switch {
- case e.lastType == name:
- e.out = append(e.out, ' ')
- // Add a random extra space after name: to make output unstable.
- if detrand.Bool() {
- e.out = append(e.out, ' ')
- }
-
- case e.lastType == messageOpen && next != messageClose:
- e.indents = append(e.indents, e.indent...)
- e.out = append(e.out, '\n')
- e.out = append(e.out, e.indents...)
-
- case e.lastType&(scalar|messageClose) != 0:
- if next == messageClose {
- e.indents = e.indents[:len(e.indents)-len(e.indent)]
- }
- e.out = append(e.out, '\n')
- e.out = append(e.out, e.indents...)
- }
-}
-
-// Snapshot returns the current snapshot for use in Reset.
-func (e *Encoder) Snapshot() encoderState {
- return e.encoderState
-}
-
-// Reset resets the Encoder to the given encoderState from a Snapshot.
-func (e *Encoder) Reset(es encoderState) {
- e.encoderState = es
-}
-
-// AppendString appends the escaped form of the input string to b.
-func AppendString(b []byte, s string) []byte {
- return appendString(b, s, false)
-}
diff --git a/vendor/google.golang.org/protobuf/internal/errors/errors.go b/vendor/google.golang.org/protobuf/internal/errors/errors.go
deleted file mode 100644
index 20c17b35..00000000
--- a/vendor/google.golang.org/protobuf/internal/errors/errors.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package errors implements functions to manipulate errors.
-package errors
-
-import (
- "errors"
- "fmt"
-
- "google.golang.org/protobuf/internal/detrand"
-)
-
-// Error is a sentinel matching all errors produced by this package.
-var Error = errors.New("protobuf error")
-
-// New formats a string according to the format specifier and arguments and
-// returns an error that has a "proto" prefix.
-func New(f string, x ...interface{}) error {
- return &prefixError{s: format(f, x...)}
-}
-
-type prefixError struct{ s string }
-
-var prefix = func() string {
- // Deliberately introduce instability into the error message string to
- // discourage users from performing error string comparisons.
- if detrand.Bool() {
- return "proto:Â " // use non-breaking spaces (U+00a0)
- } else {
- return "proto: " // use regular spaces (U+0020)
- }
-}()
-
-func (e *prefixError) Error() string {
- return prefix + e.s
-}
-
-func (e *prefixError) Unwrap() error {
- return Error
-}
-
-// Wrap returns an error that has a "proto" prefix, the formatted string described
-// by the format specifier and arguments, and a suffix of err. The error wraps err.
-func Wrap(err error, f string, x ...interface{}) error {
- return &wrapError{
- s: format(f, x...),
- err: err,
- }
-}
-
-type wrapError struct {
- s string
- err error
-}
-
-func (e *wrapError) Error() string {
- return format("%v%v: %v", prefix, e.s, e.err)
-}
-
-func (e *wrapError) Unwrap() error {
- return e.err
-}
-
-func (e *wrapError) Is(target error) bool {
- return target == Error
-}
-
-func format(f string, x ...interface{}) string {
- // avoid "proto: " prefix when chaining
- for i := 0; i < len(x); i++ {
- switch e := x[i].(type) {
- case *prefixError:
- x[i] = e.s
- case *wrapError:
- x[i] = format("%v: %v", e.s, e.err)
- }
- }
- return fmt.Sprintf(f, x...)
-}
-
-func InvalidUTF8(name string) error {
- return New("field %v contains invalid UTF-8", name)
-}
-
-func RequiredNotSet(name string) error {
- return New("required field %v not set", name)
-}
diff --git a/vendor/google.golang.org/protobuf/internal/errors/is_go112.go b/vendor/google.golang.org/protobuf/internal/errors/is_go112.go
deleted file mode 100644
index fbcd3492..00000000
--- a/vendor/google.golang.org/protobuf/internal/errors/is_go112.go
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !go1.13
-// +build !go1.13
-
-package errors
-
-import "reflect"
-
-// Is is a copy of Go 1.13's errors.Is for use with older Go versions.
-func Is(err, target error) bool {
- if target == nil {
- return err == target
- }
-
- isComparable := reflect.TypeOf(target).Comparable()
- for {
- if isComparable && err == target {
- return true
- }
- if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) {
- return true
- }
- if err = unwrap(err); err == nil {
- return false
- }
- }
-}
-
-func unwrap(err error) error {
- u, ok := err.(interface {
- Unwrap() error
- })
- if !ok {
- return nil
- }
- return u.Unwrap()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/errors/is_go113.go b/vendor/google.golang.org/protobuf/internal/errors/is_go113.go
deleted file mode 100644
index 5e72f1cd..00000000
--- a/vendor/google.golang.org/protobuf/internal/errors/is_go113.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build go1.13
-// +build go1.13
-
-package errors
-
-import "errors"
-
-// Is is errors.Is.
-func Is(err, target error) bool { return errors.Is(err, target) }
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/build.go b/vendor/google.golang.org/protobuf/internal/filedesc/build.go
deleted file mode 100644
index 7cac1c19..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/build.go
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package filedesc provides functionality for constructing descriptors.
-//
-// The types in this package implement interfaces in the protoreflect package
-// related to protobuf descripriptors.
-package filedesc
-
-import (
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-// Builder construct a protoreflect.FileDescriptor from the raw descriptor.
-type Builder struct {
- // GoPackagePath is the Go package path that is invoking this builder.
- GoPackagePath string
-
- // RawDescriptor is the wire-encoded bytes of FileDescriptorProto
- // and must be populated.
- RawDescriptor []byte
-
- // NumEnums is the total number of enums declared in the file.
- NumEnums int32
- // NumMessages is the total number of messages declared in the file.
- // It includes the implicit message declarations for map entries.
- NumMessages int32
- // NumExtensions is the total number of extensions declared in the file.
- NumExtensions int32
- // NumServices is the total number of services declared in the file.
- NumServices int32
-
- // TypeResolver resolves extension field types for descriptor options.
- // If nil, it uses protoregistry.GlobalTypes.
- TypeResolver interface {
- protoregistry.ExtensionTypeResolver
- }
-
- // FileRegistry is use to lookup file, enum, and message dependencies.
- // Once constructed, the file descriptor is registered here.
- // If nil, it uses protoregistry.GlobalFiles.
- FileRegistry interface {
- FindFileByPath(string) (protoreflect.FileDescriptor, error)
- FindDescriptorByName(protoreflect.FullName) (protoreflect.Descriptor, error)
- RegisterFile(protoreflect.FileDescriptor) error
- }
-}
-
-// resolverByIndex is an interface Builder.FileRegistry may implement.
-// If so, it permits looking up an enum or message dependency based on the
-// sub-list and element index into filetype.Builder.DependencyIndexes.
-type resolverByIndex interface {
- FindEnumByIndex(int32, int32, []Enum, []Message) protoreflect.EnumDescriptor
- FindMessageByIndex(int32, int32, []Enum, []Message) protoreflect.MessageDescriptor
-}
-
-// Indexes of each sub-list in filetype.Builder.DependencyIndexes.
-const (
- listFieldDeps int32 = iota
- listExtTargets
- listExtDeps
- listMethInDeps
- listMethOutDeps
-)
-
-// Out is the output of the Builder.
-type Out struct {
- File protoreflect.FileDescriptor
-
- // Enums is all enum descriptors in "flattened ordering".
- Enums []Enum
- // Messages is all message descriptors in "flattened ordering".
- // It includes the implicit message declarations for map entries.
- Messages []Message
- // Extensions is all extension descriptors in "flattened ordering".
- Extensions []Extension
- // Service is all service descriptors in "flattened ordering".
- Services []Service
-}
-
-// Build constructs a FileDescriptor given the parameters set in Builder.
-// It assumes that the inputs are well-formed and panics if any inconsistencies
-// are encountered.
-//
-// If NumEnums+NumMessages+NumExtensions+NumServices is zero,
-// then Build automatically derives them from the raw descriptor.
-func (db Builder) Build() (out Out) {
- // Populate the counts if uninitialized.
- if db.NumEnums+db.NumMessages+db.NumExtensions+db.NumServices == 0 {
- db.unmarshalCounts(db.RawDescriptor, true)
- }
-
- // Initialize resolvers and registries if unpopulated.
- if db.TypeResolver == nil {
- db.TypeResolver = protoregistry.GlobalTypes
- }
- if db.FileRegistry == nil {
- db.FileRegistry = protoregistry.GlobalFiles
- }
-
- fd := newRawFile(db)
- out.File = fd
- out.Enums = fd.allEnums
- out.Messages = fd.allMessages
- out.Extensions = fd.allExtensions
- out.Services = fd.allServices
-
- if err := db.FileRegistry.RegisterFile(fd); err != nil {
- panic(err)
- }
- return out
-}
-
-// unmarshalCounts counts the number of enum, message, extension, and service
-// declarations in the raw message, which is either a FileDescriptorProto
-// or a MessageDescriptorProto depending on whether isFile is set.
-func (db *Builder) unmarshalCounts(b []byte, isFile bool) {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- if isFile {
- switch num {
- case genid.FileDescriptorProto_EnumType_field_number:
- db.NumEnums++
- case genid.FileDescriptorProto_MessageType_field_number:
- db.unmarshalCounts(v, false)
- db.NumMessages++
- case genid.FileDescriptorProto_Extension_field_number:
- db.NumExtensions++
- case genid.FileDescriptorProto_Service_field_number:
- db.NumServices++
- }
- } else {
- switch num {
- case genid.DescriptorProto_EnumType_field_number:
- db.NumEnums++
- case genid.DescriptorProto_NestedType_field_number:
- db.unmarshalCounts(v, false)
- db.NumMessages++
- case genid.DescriptorProto_Extension_field_number:
- db.NumExtensions++
- }
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc.go
deleted file mode 100644
index 8826bcf4..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc.go
+++ /dev/null
@@ -1,703 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package filedesc
-
-import (
- "bytes"
- "fmt"
- "sync"
- "sync/atomic"
-
- "google.golang.org/protobuf/internal/descfmt"
- "google.golang.org/protobuf/internal/descopts"
- "google.golang.org/protobuf/internal/encoding/defval"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-// Edition is an Enum for proto2.Edition
-type Edition int32
-
-// These values align with the value of Enum in descriptor.proto which allows
-// direct conversion between the proto enum and this enum.
-const (
- EditionUnknown Edition = 0
- EditionProto2 Edition = 998
- EditionProto3 Edition = 999
- Edition2023 Edition = 1000
- EditionUnsupported Edition = 100000
-)
-
-// The types in this file may have a suffix:
-// • L0: Contains fields common to all descriptors (except File) and
-// must be initialized up front.
-// • L1: Contains fields specific to a descriptor and
-// must be initialized up front. If the associated proto uses Editions, the
-// Editions features must always be resolved. If not explicitly set, the
-// appropriate default must be resolved and set.
-// • L2: Contains fields that are lazily initialized when constructing
-// from the raw file descriptor. When constructing as a literal, the L2
-// fields must be initialized up front.
-//
-// The types are exported so that packages like reflect/protodesc can
-// directly construct descriptors.
-
-type (
- File struct {
- fileRaw
- L1 FileL1
-
- once uint32 // atomically set if L2 is valid
- mu sync.Mutex // protects L2
- L2 *FileL2
- }
- FileL1 struct {
- Syntax protoreflect.Syntax
- Edition Edition // Only used if Syntax == Editions
- Path string
- Package protoreflect.FullName
-
- Enums Enums
- Messages Messages
- Extensions Extensions
- Services Services
-
- EditionFeatures EditionFeatures
- }
- FileL2 struct {
- Options func() protoreflect.ProtoMessage
- Imports FileImports
- Locations SourceLocations
- }
-
- EditionFeatures struct {
- // IsFieldPresence is true if field_presence is EXPLICIT
- // https://protobuf.dev/editions/features/#field_presence
- IsFieldPresence bool
- // IsFieldPresence is true if field_presence is LEGACY_REQUIRED
- // https://protobuf.dev/editions/features/#field_presence
- IsLegacyRequired bool
- // IsOpenEnum is true if enum_type is OPEN
- // https://protobuf.dev/editions/features/#enum_type
- IsOpenEnum bool
- // IsPacked is true if repeated_field_encoding is PACKED
- // https://protobuf.dev/editions/features/#repeated_field_encoding
- IsPacked bool
- // IsUTF8Validated is true if utf_validation is VERIFY
- // https://protobuf.dev/editions/features/#utf8_validation
- IsUTF8Validated bool
- // IsDelimitedEncoded is true if message_encoding is DELIMITED
- // https://protobuf.dev/editions/features/#message_encoding
- IsDelimitedEncoded bool
- // IsJSONCompliant is true if json_format is ALLOW
- // https://protobuf.dev/editions/features/#json_format
- IsJSONCompliant bool
- // GenerateLegacyUnmarshalJSON determines if the plugin generates the
- // UnmarshalJSON([]byte) error method for enums.
- GenerateLegacyUnmarshalJSON bool
- }
-)
-
-func (fd *File) ParentFile() protoreflect.FileDescriptor { return fd }
-func (fd *File) Parent() protoreflect.Descriptor { return nil }
-func (fd *File) Index() int { return 0 }
-func (fd *File) Syntax() protoreflect.Syntax { return fd.L1.Syntax }
-func (fd *File) Name() protoreflect.Name { return fd.L1.Package.Name() }
-func (fd *File) FullName() protoreflect.FullName { return fd.L1.Package }
-func (fd *File) IsPlaceholder() bool { return false }
-func (fd *File) Options() protoreflect.ProtoMessage {
- if f := fd.lazyInit().Options; f != nil {
- return f()
- }
- return descopts.File
-}
-func (fd *File) Path() string { return fd.L1.Path }
-func (fd *File) Package() protoreflect.FullName { return fd.L1.Package }
-func (fd *File) Imports() protoreflect.FileImports { return &fd.lazyInit().Imports }
-func (fd *File) Enums() protoreflect.EnumDescriptors { return &fd.L1.Enums }
-func (fd *File) Messages() protoreflect.MessageDescriptors { return &fd.L1.Messages }
-func (fd *File) Extensions() protoreflect.ExtensionDescriptors { return &fd.L1.Extensions }
-func (fd *File) Services() protoreflect.ServiceDescriptors { return &fd.L1.Services }
-func (fd *File) SourceLocations() protoreflect.SourceLocations { return &fd.lazyInit().Locations }
-func (fd *File) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, fd) }
-func (fd *File) ProtoType(protoreflect.FileDescriptor) {}
-func (fd *File) ProtoInternal(pragma.DoNotImplement) {}
-
-func (fd *File) lazyInit() *FileL2 {
- if atomic.LoadUint32(&fd.once) == 0 {
- fd.lazyInitOnce()
- }
- return fd.L2
-}
-
-func (fd *File) lazyInitOnce() {
- fd.mu.Lock()
- if fd.L2 == nil {
- fd.lazyRawInit() // recursively initializes all L2 structures
- }
- atomic.StoreUint32(&fd.once, 1)
- fd.mu.Unlock()
-}
-
-// GoPackagePath is a pseudo-internal API for determining the Go package path
-// that this file descriptor is declared in.
-//
-// WARNING: This method is exempt from the compatibility promise and may be
-// removed in the future without warning.
-func (fd *File) GoPackagePath() string {
- return fd.builder.GoPackagePath
-}
-
-type (
- Enum struct {
- Base
- L1 EnumL1
- L2 *EnumL2 // protected by fileDesc.once
- }
- EnumL1 struct {
- eagerValues bool // controls whether EnumL2.Values is already populated
-
- EditionFeatures EditionFeatures
- }
- EnumL2 struct {
- Options func() protoreflect.ProtoMessage
- Values EnumValues
- ReservedNames Names
- ReservedRanges EnumRanges
- }
-
- EnumValue struct {
- Base
- L1 EnumValueL1
- }
- EnumValueL1 struct {
- Options func() protoreflect.ProtoMessage
- Number protoreflect.EnumNumber
- }
-)
-
-func (ed *Enum) Options() protoreflect.ProtoMessage {
- if f := ed.lazyInit().Options; f != nil {
- return f()
- }
- return descopts.Enum
-}
-func (ed *Enum) Values() protoreflect.EnumValueDescriptors {
- if ed.L1.eagerValues {
- return &ed.L2.Values
- }
- return &ed.lazyInit().Values
-}
-func (ed *Enum) ReservedNames() protoreflect.Names { return &ed.lazyInit().ReservedNames }
-func (ed *Enum) ReservedRanges() protoreflect.EnumRanges { return &ed.lazyInit().ReservedRanges }
-func (ed *Enum) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, ed) }
-func (ed *Enum) ProtoType(protoreflect.EnumDescriptor) {}
-func (ed *Enum) lazyInit() *EnumL2 {
- ed.L0.ParentFile.lazyInit() // implicitly initializes L2
- return ed.L2
-}
-
-func (ed *EnumValue) Options() protoreflect.ProtoMessage {
- if f := ed.L1.Options; f != nil {
- return f()
- }
- return descopts.EnumValue
-}
-func (ed *EnumValue) Number() protoreflect.EnumNumber { return ed.L1.Number }
-func (ed *EnumValue) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, ed) }
-func (ed *EnumValue) ProtoType(protoreflect.EnumValueDescriptor) {}
-
-type (
- Message struct {
- Base
- L1 MessageL1
- L2 *MessageL2 // protected by fileDesc.once
- }
- MessageL1 struct {
- Enums Enums
- Messages Messages
- Extensions Extensions
- IsMapEntry bool // promoted from google.protobuf.MessageOptions
- IsMessageSet bool // promoted from google.protobuf.MessageOptions
-
- EditionFeatures EditionFeatures
- }
- MessageL2 struct {
- Options func() protoreflect.ProtoMessage
- Fields Fields
- Oneofs Oneofs
- ReservedNames Names
- ReservedRanges FieldRanges
- RequiredNumbers FieldNumbers // must be consistent with Fields.Cardinality
- ExtensionRanges FieldRanges
- ExtensionRangeOptions []func() protoreflect.ProtoMessage // must be same length as ExtensionRanges
- }
-
- Field struct {
- Base
- L1 FieldL1
- }
- FieldL1 struct {
- Options func() protoreflect.ProtoMessage
- Number protoreflect.FieldNumber
- Cardinality protoreflect.Cardinality // must be consistent with Message.RequiredNumbers
- Kind protoreflect.Kind
- StringName stringName
- IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto
- IsWeak bool // promoted from google.protobuf.FieldOptions
- HasPacked bool // promoted from google.protobuf.FieldOptions
- IsPacked bool // promoted from google.protobuf.FieldOptions
- HasEnforceUTF8 bool // promoted from google.protobuf.FieldOptions
- EnforceUTF8 bool // promoted from google.protobuf.FieldOptions
- Default defaultValue
- ContainingOneof protoreflect.OneofDescriptor // must be consistent with Message.Oneofs.Fields
- Enum protoreflect.EnumDescriptor
- Message protoreflect.MessageDescriptor
-
- EditionFeatures EditionFeatures
- }
-
- Oneof struct {
- Base
- L1 OneofL1
- }
- OneofL1 struct {
- Options func() protoreflect.ProtoMessage
- Fields OneofFields // must be consistent with Message.Fields.ContainingOneof
-
- EditionFeatures EditionFeatures
- }
-)
-
-func (md *Message) Options() protoreflect.ProtoMessage {
- if f := md.lazyInit().Options; f != nil {
- return f()
- }
- return descopts.Message
-}
-func (md *Message) IsMapEntry() bool { return md.L1.IsMapEntry }
-func (md *Message) Fields() protoreflect.FieldDescriptors { return &md.lazyInit().Fields }
-func (md *Message) Oneofs() protoreflect.OneofDescriptors { return &md.lazyInit().Oneofs }
-func (md *Message) ReservedNames() protoreflect.Names { return &md.lazyInit().ReservedNames }
-func (md *Message) ReservedRanges() protoreflect.FieldRanges { return &md.lazyInit().ReservedRanges }
-func (md *Message) RequiredNumbers() protoreflect.FieldNumbers { return &md.lazyInit().RequiredNumbers }
-func (md *Message) ExtensionRanges() protoreflect.FieldRanges { return &md.lazyInit().ExtensionRanges }
-func (md *Message) ExtensionRangeOptions(i int) protoreflect.ProtoMessage {
- if f := md.lazyInit().ExtensionRangeOptions[i]; f != nil {
- return f()
- }
- return descopts.ExtensionRange
-}
-func (md *Message) Enums() protoreflect.EnumDescriptors { return &md.L1.Enums }
-func (md *Message) Messages() protoreflect.MessageDescriptors { return &md.L1.Messages }
-func (md *Message) Extensions() protoreflect.ExtensionDescriptors { return &md.L1.Extensions }
-func (md *Message) ProtoType(protoreflect.MessageDescriptor) {}
-func (md *Message) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, md) }
-func (md *Message) lazyInit() *MessageL2 {
- md.L0.ParentFile.lazyInit() // implicitly initializes L2
- return md.L2
-}
-
-// IsMessageSet is a pseudo-internal API for checking whether a message
-// should serialize in the proto1 message format.
-//
-// WARNING: This method is exempt from the compatibility promise and may be
-// removed in the future without warning.
-func (md *Message) IsMessageSet() bool {
- return md.L1.IsMessageSet
-}
-
-func (fd *Field) Options() protoreflect.ProtoMessage {
- if f := fd.L1.Options; f != nil {
- return f()
- }
- return descopts.Field
-}
-func (fd *Field) Number() protoreflect.FieldNumber { return fd.L1.Number }
-func (fd *Field) Cardinality() protoreflect.Cardinality { return fd.L1.Cardinality }
-func (fd *Field) Kind() protoreflect.Kind {
- return fd.L1.Kind
-}
-func (fd *Field) HasJSONName() bool { return fd.L1.StringName.hasJSON }
-func (fd *Field) JSONName() string { return fd.L1.StringName.getJSON(fd) }
-func (fd *Field) TextName() string { return fd.L1.StringName.getText(fd) }
-func (fd *Field) HasPresence() bool {
- if fd.L1.Cardinality == protoreflect.Repeated {
- return false
- }
- explicitFieldPresence := fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsFieldPresence
- return fd.Syntax() == protoreflect.Proto2 || explicitFieldPresence || fd.L1.Message != nil || fd.L1.ContainingOneof != nil
-}
-func (fd *Field) HasOptionalKeyword() bool {
- return (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional
-}
-func (fd *Field) IsPacked() bool {
- if fd.L1.Cardinality != protoreflect.Repeated {
- return false
- }
- switch fd.L1.Kind {
- case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind:
- return false
- }
- if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions {
- return fd.L1.EditionFeatures.IsPacked
- }
- if fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3 {
- // proto3 repeated fields are packed by default.
- return !fd.L1.HasPacked || fd.L1.IsPacked
- }
- return fd.L1.IsPacked
-}
-func (fd *Field) IsExtension() bool { return false }
-func (fd *Field) IsWeak() bool { return fd.L1.IsWeak }
-func (fd *Field) IsList() bool { return fd.Cardinality() == protoreflect.Repeated && !fd.IsMap() }
-func (fd *Field) IsMap() bool { return fd.Message() != nil && fd.Message().IsMapEntry() }
-func (fd *Field) MapKey() protoreflect.FieldDescriptor {
- if !fd.IsMap() {
- return nil
- }
- return fd.Message().Fields().ByNumber(genid.MapEntry_Key_field_number)
-}
-func (fd *Field) MapValue() protoreflect.FieldDescriptor {
- if !fd.IsMap() {
- return nil
- }
- return fd.Message().Fields().ByNumber(genid.MapEntry_Value_field_number)
-}
-func (fd *Field) HasDefault() bool { return fd.L1.Default.has }
-func (fd *Field) Default() protoreflect.Value { return fd.L1.Default.get(fd) }
-func (fd *Field) DefaultEnumValue() protoreflect.EnumValueDescriptor { return fd.L1.Default.enum }
-func (fd *Field) ContainingOneof() protoreflect.OneofDescriptor { return fd.L1.ContainingOneof }
-func (fd *Field) ContainingMessage() protoreflect.MessageDescriptor {
- return fd.L0.Parent.(protoreflect.MessageDescriptor)
-}
-func (fd *Field) Enum() protoreflect.EnumDescriptor {
- return fd.L1.Enum
-}
-func (fd *Field) Message() protoreflect.MessageDescriptor {
- if fd.L1.IsWeak {
- if d, _ := protoregistry.GlobalFiles.FindDescriptorByName(fd.L1.Message.FullName()); d != nil {
- return d.(protoreflect.MessageDescriptor)
- }
- }
- return fd.L1.Message
-}
-func (fd *Field) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, fd) }
-func (fd *Field) ProtoType(protoreflect.FieldDescriptor) {}
-
-// EnforceUTF8 is a pseudo-internal API to determine whether to enforce UTF-8
-// validation for the string field. This exists for Google-internal use only
-// since proto3 did not enforce UTF-8 validity prior to the open-source release.
-// If this method does not exist, the default is to enforce valid UTF-8.
-//
-// WARNING: This method is exempt from the compatibility promise and may be
-// removed in the future without warning.
-func (fd *Field) EnforceUTF8() bool {
- if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions {
- return fd.L1.EditionFeatures.IsUTF8Validated
- }
- if fd.L1.HasEnforceUTF8 {
- return fd.L1.EnforceUTF8
- }
- return fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3
-}
-
-func (od *Oneof) IsSynthetic() bool {
- return od.L0.ParentFile.L1.Syntax == protoreflect.Proto3 && len(od.L1.Fields.List) == 1 && od.L1.Fields.List[0].HasOptionalKeyword()
-}
-func (od *Oneof) Options() protoreflect.ProtoMessage {
- if f := od.L1.Options; f != nil {
- return f()
- }
- return descopts.Oneof
-}
-func (od *Oneof) Fields() protoreflect.FieldDescriptors { return &od.L1.Fields }
-func (od *Oneof) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, od) }
-func (od *Oneof) ProtoType(protoreflect.OneofDescriptor) {}
-
-type (
- Extension struct {
- Base
- L1 ExtensionL1
- L2 *ExtensionL2 // protected by fileDesc.once
- }
- ExtensionL1 struct {
- Number protoreflect.FieldNumber
- Extendee protoreflect.MessageDescriptor
- Cardinality protoreflect.Cardinality
- Kind protoreflect.Kind
- EditionFeatures EditionFeatures
- }
- ExtensionL2 struct {
- Options func() protoreflect.ProtoMessage
- StringName stringName
- IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto
- IsPacked bool // promoted from google.protobuf.FieldOptions
- Default defaultValue
- Enum protoreflect.EnumDescriptor
- Message protoreflect.MessageDescriptor
- }
-)
-
-func (xd *Extension) Options() protoreflect.ProtoMessage {
- if f := xd.lazyInit().Options; f != nil {
- return f()
- }
- return descopts.Field
-}
-func (xd *Extension) Number() protoreflect.FieldNumber { return xd.L1.Number }
-func (xd *Extension) Cardinality() protoreflect.Cardinality { return xd.L1.Cardinality }
-func (xd *Extension) Kind() protoreflect.Kind { return xd.L1.Kind }
-func (xd *Extension) HasJSONName() bool { return xd.lazyInit().StringName.hasJSON }
-func (xd *Extension) JSONName() string { return xd.lazyInit().StringName.getJSON(xd) }
-func (xd *Extension) TextName() string { return xd.lazyInit().StringName.getText(xd) }
-func (xd *Extension) HasPresence() bool { return xd.L1.Cardinality != protoreflect.Repeated }
-func (xd *Extension) HasOptionalKeyword() bool {
- return (xd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && xd.L1.Cardinality == protoreflect.Optional) || xd.lazyInit().IsProto3Optional
-}
-func (xd *Extension) IsPacked() bool { return xd.lazyInit().IsPacked }
-func (xd *Extension) IsExtension() bool { return true }
-func (xd *Extension) IsWeak() bool { return false }
-func (xd *Extension) IsList() bool { return xd.Cardinality() == protoreflect.Repeated }
-func (xd *Extension) IsMap() bool { return false }
-func (xd *Extension) MapKey() protoreflect.FieldDescriptor { return nil }
-func (xd *Extension) MapValue() protoreflect.FieldDescriptor { return nil }
-func (xd *Extension) HasDefault() bool { return xd.lazyInit().Default.has }
-func (xd *Extension) Default() protoreflect.Value { return xd.lazyInit().Default.get(xd) }
-func (xd *Extension) DefaultEnumValue() protoreflect.EnumValueDescriptor {
- return xd.lazyInit().Default.enum
-}
-func (xd *Extension) ContainingOneof() protoreflect.OneofDescriptor { return nil }
-func (xd *Extension) ContainingMessage() protoreflect.MessageDescriptor { return xd.L1.Extendee }
-func (xd *Extension) Enum() protoreflect.EnumDescriptor { return xd.lazyInit().Enum }
-func (xd *Extension) Message() protoreflect.MessageDescriptor { return xd.lazyInit().Message }
-func (xd *Extension) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, xd) }
-func (xd *Extension) ProtoType(protoreflect.FieldDescriptor) {}
-func (xd *Extension) ProtoInternal(pragma.DoNotImplement) {}
-func (xd *Extension) lazyInit() *ExtensionL2 {
- xd.L0.ParentFile.lazyInit() // implicitly initializes L2
- return xd.L2
-}
-
-type (
- Service struct {
- Base
- L1 ServiceL1
- L2 *ServiceL2 // protected by fileDesc.once
- }
- ServiceL1 struct{}
- ServiceL2 struct {
- Options func() protoreflect.ProtoMessage
- Methods Methods
- }
-
- Method struct {
- Base
- L1 MethodL1
- }
- MethodL1 struct {
- Options func() protoreflect.ProtoMessage
- Input protoreflect.MessageDescriptor
- Output protoreflect.MessageDescriptor
- IsStreamingClient bool
- IsStreamingServer bool
- }
-)
-
-func (sd *Service) Options() protoreflect.ProtoMessage {
- if f := sd.lazyInit().Options; f != nil {
- return f()
- }
- return descopts.Service
-}
-func (sd *Service) Methods() protoreflect.MethodDescriptors { return &sd.lazyInit().Methods }
-func (sd *Service) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, sd) }
-func (sd *Service) ProtoType(protoreflect.ServiceDescriptor) {}
-func (sd *Service) ProtoInternal(pragma.DoNotImplement) {}
-func (sd *Service) lazyInit() *ServiceL2 {
- sd.L0.ParentFile.lazyInit() // implicitly initializes L2
- return sd.L2
-}
-
-func (md *Method) Options() protoreflect.ProtoMessage {
- if f := md.L1.Options; f != nil {
- return f()
- }
- return descopts.Method
-}
-func (md *Method) Input() protoreflect.MessageDescriptor { return md.L1.Input }
-func (md *Method) Output() protoreflect.MessageDescriptor { return md.L1.Output }
-func (md *Method) IsStreamingClient() bool { return md.L1.IsStreamingClient }
-func (md *Method) IsStreamingServer() bool { return md.L1.IsStreamingServer }
-func (md *Method) Format(s fmt.State, r rune) { descfmt.FormatDesc(s, r, md) }
-func (md *Method) ProtoType(protoreflect.MethodDescriptor) {}
-func (md *Method) ProtoInternal(pragma.DoNotImplement) {}
-
-// Surrogate files are can be used to create standalone descriptors
-// where the syntax is only information derived from the parent file.
-var (
- SurrogateProto2 = &File{L1: FileL1{Syntax: protoreflect.Proto2}, L2: &FileL2{}}
- SurrogateProto3 = &File{L1: FileL1{Syntax: protoreflect.Proto3}, L2: &FileL2{}}
-)
-
-type (
- Base struct {
- L0 BaseL0
- }
- BaseL0 struct {
- FullName protoreflect.FullName // must be populated
- ParentFile *File // must be populated
- Parent protoreflect.Descriptor
- Index int
- }
-)
-
-func (d *Base) Name() protoreflect.Name { return d.L0.FullName.Name() }
-func (d *Base) FullName() protoreflect.FullName { return d.L0.FullName }
-func (d *Base) ParentFile() protoreflect.FileDescriptor {
- if d.L0.ParentFile == SurrogateProto2 || d.L0.ParentFile == SurrogateProto3 {
- return nil // surrogate files are not real parents
- }
- return d.L0.ParentFile
-}
-func (d *Base) Parent() protoreflect.Descriptor { return d.L0.Parent }
-func (d *Base) Index() int { return d.L0.Index }
-func (d *Base) Syntax() protoreflect.Syntax { return d.L0.ParentFile.Syntax() }
-func (d *Base) IsPlaceholder() bool { return false }
-func (d *Base) ProtoInternal(pragma.DoNotImplement) {}
-
-type stringName struct {
- hasJSON bool
- once sync.Once
- nameJSON string
- nameText string
-}
-
-// InitJSON initializes the name. It is exported for use by other internal packages.
-func (s *stringName) InitJSON(name string) {
- s.hasJSON = true
- s.nameJSON = name
-}
-
-func (s *stringName) lazyInit(fd protoreflect.FieldDescriptor) *stringName {
- s.once.Do(func() {
- if fd.IsExtension() {
- // For extensions, JSON and text are formatted the same way.
- var name string
- if messageset.IsMessageSetExtension(fd) {
- name = string("[" + fd.FullName().Parent() + "]")
- } else {
- name = string("[" + fd.FullName() + "]")
- }
- s.nameJSON = name
- s.nameText = name
- } else {
- // Format the JSON name.
- if !s.hasJSON {
- s.nameJSON = strs.JSONCamelCase(string(fd.Name()))
- }
-
- // Format the text name.
- s.nameText = string(fd.Name())
- if fd.Kind() == protoreflect.GroupKind {
- s.nameText = string(fd.Message().Name())
- }
- }
- })
- return s
-}
-
-func (s *stringName) getJSON(fd protoreflect.FieldDescriptor) string { return s.lazyInit(fd).nameJSON }
-func (s *stringName) getText(fd protoreflect.FieldDescriptor) string { return s.lazyInit(fd).nameText }
-
-func DefaultValue(v protoreflect.Value, ev protoreflect.EnumValueDescriptor) defaultValue {
- dv := defaultValue{has: v.IsValid(), val: v, enum: ev}
- if b, ok := v.Interface().([]byte); ok {
- // Store a copy of the default bytes, so that we can detect
- // accidental mutations of the original value.
- dv.bytes = append([]byte(nil), b...)
- }
- return dv
-}
-
-func unmarshalDefault(b []byte, k protoreflect.Kind, pf *File, ed protoreflect.EnumDescriptor) defaultValue {
- var evs protoreflect.EnumValueDescriptors
- if k == protoreflect.EnumKind {
- // If the enum is declared within the same file, be careful not to
- // blindly call the Values method, lest we bind ourselves in a deadlock.
- if e, ok := ed.(*Enum); ok && e.L0.ParentFile == pf {
- evs = &e.L2.Values
- } else {
- evs = ed.Values()
- }
-
- // If we are unable to resolve the enum dependency, use a placeholder
- // enum value since we will not be able to parse the default value.
- if ed.IsPlaceholder() && protoreflect.Name(b).IsValid() {
- v := protoreflect.ValueOfEnum(0)
- ev := PlaceholderEnumValue(ed.FullName().Parent().Append(protoreflect.Name(b)))
- return DefaultValue(v, ev)
- }
- }
-
- v, ev, err := defval.Unmarshal(string(b), k, evs, defval.Descriptor)
- if err != nil {
- panic(err)
- }
- return DefaultValue(v, ev)
-}
-
-type defaultValue struct {
- has bool
- val protoreflect.Value
- enum protoreflect.EnumValueDescriptor
- bytes []byte
-}
-
-func (dv *defaultValue) get(fd protoreflect.FieldDescriptor) protoreflect.Value {
- // Return the zero value as the default if unpopulated.
- if !dv.has {
- if fd.Cardinality() == protoreflect.Repeated {
- return protoreflect.Value{}
- }
- switch fd.Kind() {
- case protoreflect.BoolKind:
- return protoreflect.ValueOfBool(false)
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind:
- return protoreflect.ValueOfInt32(0)
- case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- return protoreflect.ValueOfInt64(0)
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind:
- return protoreflect.ValueOfUint32(0)
- case protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- return protoreflect.ValueOfUint64(0)
- case protoreflect.FloatKind:
- return protoreflect.ValueOfFloat32(0)
- case protoreflect.DoubleKind:
- return protoreflect.ValueOfFloat64(0)
- case protoreflect.StringKind:
- return protoreflect.ValueOfString("")
- case protoreflect.BytesKind:
- return protoreflect.ValueOfBytes(nil)
- case protoreflect.EnumKind:
- if evs := fd.Enum().Values(); evs.Len() > 0 {
- return protoreflect.ValueOfEnum(evs.Get(0).Number())
- }
- return protoreflect.ValueOfEnum(0)
- }
- }
-
- if len(dv.bytes) > 0 && !bytes.Equal(dv.bytes, dv.val.Bytes()) {
- // TODO: Avoid panic if we're running with the race detector
- // and instead spawn a goroutine that periodically resets
- // this value back to the original to induce a race.
- panic(fmt.Sprintf("detected mutation on the default bytes for %v", fd.FullName()))
- }
- return dv.val
-}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
deleted file mode 100644
index 237e64fd..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
+++ /dev/null
@@ -1,523 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package filedesc
-
-import (
- "fmt"
- "sync"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// fileRaw is a data struct used when initializing a file descriptor from
-// a raw FileDescriptorProto.
-type fileRaw struct {
- builder Builder
- allEnums []Enum
- allMessages []Message
- allExtensions []Extension
- allServices []Service
-}
-
-func newRawFile(db Builder) *File {
- fd := &File{fileRaw: fileRaw{builder: db}}
- fd.initDecls(db.NumEnums, db.NumMessages, db.NumExtensions, db.NumServices)
- fd.unmarshalSeed(db.RawDescriptor)
-
- // Extended message targets are eagerly resolved since registration
- // needs this information at program init time.
- for i := range fd.allExtensions {
- xd := &fd.allExtensions[i]
- xd.L1.Extendee = fd.resolveMessageDependency(xd.L1.Extendee, listExtTargets, int32(i))
- }
-
- fd.checkDecls()
- return fd
-}
-
-// initDecls pre-allocates slices for the exact number of enums, messages
-// (including map entries), extensions, and services declared in the proto file.
-// This is done to avoid regrowing the slice, which would change the address
-// for any previously seen declaration.
-//
-// The alloc methods "allocates" slices by pulling from the capacity.
-func (fd *File) initDecls(numEnums, numMessages, numExtensions, numServices int32) {
- fd.allEnums = make([]Enum, 0, numEnums)
- fd.allMessages = make([]Message, 0, numMessages)
- fd.allExtensions = make([]Extension, 0, numExtensions)
- fd.allServices = make([]Service, 0, numServices)
-}
-
-func (fd *File) allocEnums(n int) []Enum {
- total := len(fd.allEnums)
- es := fd.allEnums[total : total+n]
- fd.allEnums = fd.allEnums[:total+n]
- return es
-}
-func (fd *File) allocMessages(n int) []Message {
- total := len(fd.allMessages)
- ms := fd.allMessages[total : total+n]
- fd.allMessages = fd.allMessages[:total+n]
- return ms
-}
-func (fd *File) allocExtensions(n int) []Extension {
- total := len(fd.allExtensions)
- xs := fd.allExtensions[total : total+n]
- fd.allExtensions = fd.allExtensions[:total+n]
- return xs
-}
-func (fd *File) allocServices(n int) []Service {
- total := len(fd.allServices)
- xs := fd.allServices[total : total+n]
- fd.allServices = fd.allServices[:total+n]
- return xs
-}
-
-// checkDecls performs a sanity check that the expected number of expected
-// declarations matches the number that were found in the descriptor proto.
-func (fd *File) checkDecls() {
- switch {
- case len(fd.allEnums) != cap(fd.allEnums):
- case len(fd.allMessages) != cap(fd.allMessages):
- case len(fd.allExtensions) != cap(fd.allExtensions):
- case len(fd.allServices) != cap(fd.allServices):
- default:
- return
- }
- panic("mismatching cardinality")
-}
-
-func (fd *File) unmarshalSeed(b []byte) {
- sb := getBuilder()
- defer putBuilder(sb)
-
- var prevField protoreflect.FieldNumber
- var numEnums, numMessages, numExtensions, numServices int
- var posEnums, posMessages, posExtensions, posServices int
- var options []byte
- b0 := b
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FileDescriptorProto_Syntax_field_number:
- switch string(v) {
- case "proto2":
- fd.L1.Syntax = protoreflect.Proto2
- case "proto3":
- fd.L1.Syntax = protoreflect.Proto3
- case "editions":
- fd.L1.Syntax = protoreflect.Editions
- default:
- panic("invalid syntax")
- }
- case genid.FileDescriptorProto_Name_field_number:
- fd.L1.Path = sb.MakeString(v)
- case genid.FileDescriptorProto_Package_field_number:
- fd.L1.Package = protoreflect.FullName(sb.MakeString(v))
- case genid.FileDescriptorProto_Options_field_number:
- options = v
- case genid.FileDescriptorProto_EnumType_field_number:
- if prevField != genid.FileDescriptorProto_EnumType_field_number {
- if numEnums > 0 {
- panic("non-contiguous repeated field")
- }
- posEnums = len(b0) - len(b) - n - m
- }
- numEnums++
- case genid.FileDescriptorProto_MessageType_field_number:
- if prevField != genid.FileDescriptorProto_MessageType_field_number {
- if numMessages > 0 {
- panic("non-contiguous repeated field")
- }
- posMessages = len(b0) - len(b) - n - m
- }
- numMessages++
- case genid.FileDescriptorProto_Extension_field_number:
- if prevField != genid.FileDescriptorProto_Extension_field_number {
- if numExtensions > 0 {
- panic("non-contiguous repeated field")
- }
- posExtensions = len(b0) - len(b) - n - m
- }
- numExtensions++
- case genid.FileDescriptorProto_Service_field_number:
- if prevField != genid.FileDescriptorProto_Service_field_number {
- if numServices > 0 {
- panic("non-contiguous repeated field")
- }
- posServices = len(b0) - len(b) - n - m
- }
- numServices++
- }
- prevField = num
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FileDescriptorProto_Edition_field_number:
- fd.L1.Edition = Edition(v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- prevField = -1 // ignore known field numbers of unknown wire type
- }
- }
-
- // If syntax is missing, it is assumed to be proto2.
- if fd.L1.Syntax == 0 {
- fd.L1.Syntax = protoreflect.Proto2
- }
-
- if fd.L1.Syntax == protoreflect.Editions {
- fd.L1.EditionFeatures = getFeaturesFor(fd.L1.Edition)
- }
-
- // Parse editions features from options if any
- if options != nil {
- fd.unmarshalSeedOptions(options)
- }
-
- // Must allocate all declarations before parsing each descriptor type
- // to ensure we handled all descriptors in "flattened ordering".
- if numEnums > 0 {
- fd.L1.Enums.List = fd.allocEnums(numEnums)
- }
- if numMessages > 0 {
- fd.L1.Messages.List = fd.allocMessages(numMessages)
- }
- if numExtensions > 0 {
- fd.L1.Extensions.List = fd.allocExtensions(numExtensions)
- }
- if numServices > 0 {
- fd.L1.Services.List = fd.allocServices(numServices)
- }
-
- if numEnums > 0 {
- b := b0[posEnums:]
- for i := range fd.L1.Enums.List {
- _, n := protowire.ConsumeVarint(b)
- v, m := protowire.ConsumeBytes(b[n:])
- fd.L1.Enums.List[i].unmarshalSeed(v, sb, fd, fd, i)
- b = b[n+m:]
- }
- }
- if numMessages > 0 {
- b := b0[posMessages:]
- for i := range fd.L1.Messages.List {
- _, n := protowire.ConsumeVarint(b)
- v, m := protowire.ConsumeBytes(b[n:])
- fd.L1.Messages.List[i].unmarshalSeed(v, sb, fd, fd, i)
- b = b[n+m:]
- }
- }
- if numExtensions > 0 {
- b := b0[posExtensions:]
- for i := range fd.L1.Extensions.List {
- _, n := protowire.ConsumeVarint(b)
- v, m := protowire.ConsumeBytes(b[n:])
- fd.L1.Extensions.List[i].unmarshalSeed(v, sb, fd, fd, i)
- b = b[n+m:]
- }
- }
- if numServices > 0 {
- b := b0[posServices:]
- for i := range fd.L1.Services.List {
- _, n := protowire.ConsumeVarint(b)
- v, m := protowire.ConsumeBytes(b[n:])
- fd.L1.Services.List[i].unmarshalSeed(v, sb, fd, fd, i)
- b = b[n+m:]
- }
- }
-}
-
-func (fd *File) unmarshalSeedOptions(b []byte) {
- for b := b; len(b) > 0; {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FileOptions_Features_field_number:
- if fd.Syntax() != protoreflect.Editions {
- panic(fmt.Sprintf("invalid descriptor: using edition features in a proto with syntax %s", fd.Syntax()))
- }
- fd.L1.EditionFeatures = unmarshalFeatureSet(v, fd.L1.EditionFeatures)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- ed.L0.ParentFile = pf
- ed.L0.Parent = pd
- ed.L0.Index = i
-
- var numValues int
- for b := b; len(b) > 0; {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.EnumDescriptorProto_Name_field_number:
- ed.L0.FullName = appendFullName(sb, pd.FullName(), v)
- case genid.EnumDescriptorProto_Value_field_number:
- numValues++
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-
- // Only construct enum value descriptors for top-level enums since
- // they are needed for registration.
- if pd != pf {
- return
- }
- ed.L1.eagerValues = true
- ed.L2 = new(EnumL2)
- ed.L2.Values.List = make([]EnumValue, numValues)
- for i := 0; len(b) > 0; {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.EnumDescriptorProto_Value_field_number:
- ed.L2.Values.List[i].unmarshalFull(v, sb, pf, ed, i)
- i++
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-func (md *Message) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- md.L0.ParentFile = pf
- md.L0.Parent = pd
- md.L0.Index = i
- md.L1.EditionFeatures = featuresFromParentDesc(md.Parent())
-
- var prevField protoreflect.FieldNumber
- var numEnums, numMessages, numExtensions int
- var posEnums, posMessages, posExtensions int
- b0 := b
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.DescriptorProto_Name_field_number:
- md.L0.FullName = appendFullName(sb, pd.FullName(), v)
- case genid.DescriptorProto_EnumType_field_number:
- if prevField != genid.DescriptorProto_EnumType_field_number {
- if numEnums > 0 {
- panic("non-contiguous repeated field")
- }
- posEnums = len(b0) - len(b) - n - m
- }
- numEnums++
- case genid.DescriptorProto_NestedType_field_number:
- if prevField != genid.DescriptorProto_NestedType_field_number {
- if numMessages > 0 {
- panic("non-contiguous repeated field")
- }
- posMessages = len(b0) - len(b) - n - m
- }
- numMessages++
- case genid.DescriptorProto_Extension_field_number:
- if prevField != genid.DescriptorProto_Extension_field_number {
- if numExtensions > 0 {
- panic("non-contiguous repeated field")
- }
- posExtensions = len(b0) - len(b) - n - m
- }
- numExtensions++
- case genid.DescriptorProto_Options_field_number:
- md.unmarshalSeedOptions(v)
- }
- prevField = num
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- prevField = -1 // ignore known field numbers of unknown wire type
- }
- }
-
- // Must allocate all declarations before parsing each descriptor type
- // to ensure we handled all descriptors in "flattened ordering".
- if numEnums > 0 {
- md.L1.Enums.List = pf.allocEnums(numEnums)
- }
- if numMessages > 0 {
- md.L1.Messages.List = pf.allocMessages(numMessages)
- }
- if numExtensions > 0 {
- md.L1.Extensions.List = pf.allocExtensions(numExtensions)
- }
-
- if numEnums > 0 {
- b := b0[posEnums:]
- for i := range md.L1.Enums.List {
- _, n := protowire.ConsumeVarint(b)
- v, m := protowire.ConsumeBytes(b[n:])
- md.L1.Enums.List[i].unmarshalSeed(v, sb, pf, md, i)
- b = b[n+m:]
- }
- }
- if numMessages > 0 {
- b := b0[posMessages:]
- for i := range md.L1.Messages.List {
- _, n := protowire.ConsumeVarint(b)
- v, m := protowire.ConsumeBytes(b[n:])
- md.L1.Messages.List[i].unmarshalSeed(v, sb, pf, md, i)
- b = b[n+m:]
- }
- }
- if numExtensions > 0 {
- b := b0[posExtensions:]
- for i := range md.L1.Extensions.List {
- _, n := protowire.ConsumeVarint(b)
- v, m := protowire.ConsumeBytes(b[n:])
- md.L1.Extensions.List[i].unmarshalSeed(v, sb, pf, md, i)
- b = b[n+m:]
- }
- }
-}
-
-func (md *Message) unmarshalSeedOptions(b []byte) {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.MessageOptions_MapEntry_field_number:
- md.L1.IsMapEntry = protowire.DecodeBool(v)
- case genid.MessageOptions_MessageSetWireFormat_field_number:
- md.L1.IsMessageSet = protowire.DecodeBool(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.MessageOptions_Features_field_number:
- md.L1.EditionFeatures = unmarshalFeatureSet(v, md.L1.EditionFeatures)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-func (xd *Extension) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- xd.L0.ParentFile = pf
- xd.L0.Parent = pd
- xd.L0.Index = i
-
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FieldDescriptorProto_Number_field_number:
- xd.L1.Number = protoreflect.FieldNumber(v)
- case genid.FieldDescriptorProto_Label_field_number:
- xd.L1.Cardinality = protoreflect.Cardinality(v)
- case genid.FieldDescriptorProto_Type_field_number:
- xd.L1.Kind = protoreflect.Kind(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FieldDescriptorProto_Name_field_number:
- xd.L0.FullName = appendFullName(sb, pd.FullName(), v)
- case genid.FieldDescriptorProto_Extendee_field_number:
- xd.L1.Extendee = PlaceholderMessage(makeFullName(sb, v))
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-func (sd *Service) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- sd.L0.ParentFile = pf
- sd.L0.Parent = pd
- sd.L0.Index = i
-
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.ServiceDescriptorProto_Name_field_number:
- sd.L0.FullName = appendFullName(sb, pd.FullName(), v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-var nameBuilderPool = sync.Pool{
- New: func() interface{} { return new(strs.Builder) },
-}
-
-func getBuilder() *strs.Builder {
- return nameBuilderPool.Get().(*strs.Builder)
-}
-func putBuilder(b *strs.Builder) {
- nameBuilderPool.Put(b)
-}
-
-// makeFullName converts b to a protoreflect.FullName,
-// where b must start with a leading dot.
-func makeFullName(sb *strs.Builder, b []byte) protoreflect.FullName {
- if len(b) == 0 || b[0] != '.' {
- panic("name reference must be fully qualified")
- }
- return protoreflect.FullName(sb.MakeString(b[1:]))
-}
-
-func appendFullName(sb *strs.Builder, prefix protoreflect.FullName, suffix []byte) protoreflect.FullName {
- return sb.AppendFullName(prefix, protoreflect.Name(strs.UnsafeString(suffix)))
-}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
deleted file mode 100644
index 482a61cc..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
+++ /dev/null
@@ -1,732 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package filedesc
-
-import (
- "reflect"
- "sync"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/descopts"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-func (fd *File) lazyRawInit() {
- fd.unmarshalFull(fd.builder.RawDescriptor)
- fd.resolveMessages()
- fd.resolveExtensions()
- fd.resolveServices()
-}
-
-func (file *File) resolveMessages() {
- var depIdx int32
- for i := range file.allMessages {
- md := &file.allMessages[i]
-
- // Resolve message field dependencies.
- for j := range md.L2.Fields.List {
- fd := &md.L2.Fields.List[j]
-
- // Weak fields are resolved upon actual use.
- if fd.L1.IsWeak {
- continue
- }
-
- // Resolve message field dependency.
- switch fd.L1.Kind {
- case protoreflect.EnumKind:
- fd.L1.Enum = file.resolveEnumDependency(fd.L1.Enum, listFieldDeps, depIdx)
- depIdx++
- case protoreflect.MessageKind, protoreflect.GroupKind:
- fd.L1.Message = file.resolveMessageDependency(fd.L1.Message, listFieldDeps, depIdx)
- depIdx++
- }
-
- // Default is resolved here since it depends on Enum being resolved.
- if v := fd.L1.Default.val; v.IsValid() {
- fd.L1.Default = unmarshalDefault(v.Bytes(), fd.L1.Kind, file, fd.L1.Enum)
- }
- }
- }
-}
-
-func (file *File) resolveExtensions() {
- var depIdx int32
- for i := range file.allExtensions {
- xd := &file.allExtensions[i]
-
- // Resolve extension field dependency.
- switch xd.L1.Kind {
- case protoreflect.EnumKind:
- xd.L2.Enum = file.resolveEnumDependency(xd.L2.Enum, listExtDeps, depIdx)
- depIdx++
- case protoreflect.MessageKind, protoreflect.GroupKind:
- xd.L2.Message = file.resolveMessageDependency(xd.L2.Message, listExtDeps, depIdx)
- depIdx++
- }
-
- // Default is resolved here since it depends on Enum being resolved.
- if v := xd.L2.Default.val; v.IsValid() {
- xd.L2.Default = unmarshalDefault(v.Bytes(), xd.L1.Kind, file, xd.L2.Enum)
- }
- }
-}
-
-func (file *File) resolveServices() {
- var depIdx int32
- for i := range file.allServices {
- sd := &file.allServices[i]
-
- // Resolve method dependencies.
- for j := range sd.L2.Methods.List {
- md := &sd.L2.Methods.List[j]
- md.L1.Input = file.resolveMessageDependency(md.L1.Input, listMethInDeps, depIdx)
- md.L1.Output = file.resolveMessageDependency(md.L1.Output, listMethOutDeps, depIdx)
- depIdx++
- }
- }
-}
-
-func (file *File) resolveEnumDependency(ed protoreflect.EnumDescriptor, i, j int32) protoreflect.EnumDescriptor {
- r := file.builder.FileRegistry
- if r, ok := r.(resolverByIndex); ok {
- if ed2 := r.FindEnumByIndex(i, j, file.allEnums, file.allMessages); ed2 != nil {
- return ed2
- }
- }
- for i := range file.allEnums {
- if ed2 := &file.allEnums[i]; ed2.L0.FullName == ed.FullName() {
- return ed2
- }
- }
- if d, _ := r.FindDescriptorByName(ed.FullName()); d != nil {
- return d.(protoreflect.EnumDescriptor)
- }
- return ed
-}
-
-func (file *File) resolveMessageDependency(md protoreflect.MessageDescriptor, i, j int32) protoreflect.MessageDescriptor {
- r := file.builder.FileRegistry
- if r, ok := r.(resolverByIndex); ok {
- if md2 := r.FindMessageByIndex(i, j, file.allEnums, file.allMessages); md2 != nil {
- return md2
- }
- }
- for i := range file.allMessages {
- if md2 := &file.allMessages[i]; md2.L0.FullName == md.FullName() {
- return md2
- }
- }
- if d, _ := r.FindDescriptorByName(md.FullName()); d != nil {
- return d.(protoreflect.MessageDescriptor)
- }
- return md
-}
-
-func (fd *File) unmarshalFull(b []byte) {
- sb := getBuilder()
- defer putBuilder(sb)
-
- var enumIdx, messageIdx, extensionIdx, serviceIdx int
- var rawOptions []byte
- fd.L2 = new(FileL2)
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FileDescriptorProto_PublicDependency_field_number:
- fd.L2.Imports[v].IsPublic = true
- case genid.FileDescriptorProto_WeakDependency_field_number:
- fd.L2.Imports[v].IsWeak = true
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FileDescriptorProto_Dependency_field_number:
- path := sb.MakeString(v)
- imp, _ := fd.builder.FileRegistry.FindFileByPath(path)
- if imp == nil {
- imp = PlaceholderFile(path)
- }
- fd.L2.Imports = append(fd.L2.Imports, protoreflect.FileImport{FileDescriptor: imp})
- case genid.FileDescriptorProto_EnumType_field_number:
- fd.L1.Enums.List[enumIdx].unmarshalFull(v, sb)
- enumIdx++
- case genid.FileDescriptorProto_MessageType_field_number:
- fd.L1.Messages.List[messageIdx].unmarshalFull(v, sb)
- messageIdx++
- case genid.FileDescriptorProto_Extension_field_number:
- fd.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb)
- extensionIdx++
- case genid.FileDescriptorProto_Service_field_number:
- fd.L1.Services.List[serviceIdx].unmarshalFull(v, sb)
- serviceIdx++
- case genid.FileDescriptorProto_Options_field_number:
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- fd.L2.Options = fd.builder.optionsUnmarshaler(&descopts.File, rawOptions)
-}
-
-func (ed *Enum) unmarshalFull(b []byte, sb *strs.Builder) {
- var rawValues [][]byte
- var rawOptions []byte
- if !ed.L1.eagerValues {
- ed.L2 = new(EnumL2)
- }
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.EnumDescriptorProto_Value_field_number:
- rawValues = append(rawValues, v)
- case genid.EnumDescriptorProto_ReservedName_field_number:
- ed.L2.ReservedNames.List = append(ed.L2.ReservedNames.List, protoreflect.Name(sb.MakeString(v)))
- case genid.EnumDescriptorProto_ReservedRange_field_number:
- ed.L2.ReservedRanges.List = append(ed.L2.ReservedRanges.List, unmarshalEnumReservedRange(v))
- case genid.EnumDescriptorProto_Options_field_number:
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- if !ed.L1.eagerValues && len(rawValues) > 0 {
- ed.L2.Values.List = make([]EnumValue, len(rawValues))
- for i, b := range rawValues {
- ed.L2.Values.List[i].unmarshalFull(b, sb, ed.L0.ParentFile, ed, i)
- }
- }
- ed.L2.Options = ed.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Enum, rawOptions)
-}
-
-func unmarshalEnumReservedRange(b []byte) (r [2]protoreflect.EnumNumber) {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.EnumDescriptorProto_EnumReservedRange_Start_field_number:
- r[0] = protoreflect.EnumNumber(v)
- case genid.EnumDescriptorProto_EnumReservedRange_End_field_number:
- r[1] = protoreflect.EnumNumber(v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- return r
-}
-
-func (vd *EnumValue) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- vd.L0.ParentFile = pf
- vd.L0.Parent = pd
- vd.L0.Index = i
-
- var rawOptions []byte
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.EnumValueDescriptorProto_Number_field_number:
- vd.L1.Number = protoreflect.EnumNumber(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.EnumValueDescriptorProto_Name_field_number:
- // NOTE: Enum values are in the same scope as the enum parent.
- vd.L0.FullName = appendFullName(sb, pd.Parent().FullName(), v)
- case genid.EnumValueDescriptorProto_Options_field_number:
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- vd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.EnumValue, rawOptions)
-}
-
-func (md *Message) unmarshalFull(b []byte, sb *strs.Builder) {
- var rawFields, rawOneofs [][]byte
- var enumIdx, messageIdx, extensionIdx int
- var rawOptions []byte
- md.L2 = new(MessageL2)
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.DescriptorProto_Field_field_number:
- rawFields = append(rawFields, v)
- case genid.DescriptorProto_OneofDecl_field_number:
- rawOneofs = append(rawOneofs, v)
- case genid.DescriptorProto_ReservedName_field_number:
- md.L2.ReservedNames.List = append(md.L2.ReservedNames.List, protoreflect.Name(sb.MakeString(v)))
- case genid.DescriptorProto_ReservedRange_field_number:
- md.L2.ReservedRanges.List = append(md.L2.ReservedRanges.List, unmarshalMessageReservedRange(v))
- case genid.DescriptorProto_ExtensionRange_field_number:
- r, rawOptions := unmarshalMessageExtensionRange(v)
- opts := md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.ExtensionRange, rawOptions)
- md.L2.ExtensionRanges.List = append(md.L2.ExtensionRanges.List, r)
- md.L2.ExtensionRangeOptions = append(md.L2.ExtensionRangeOptions, opts)
- case genid.DescriptorProto_EnumType_field_number:
- md.L1.Enums.List[enumIdx].unmarshalFull(v, sb)
- enumIdx++
- case genid.DescriptorProto_NestedType_field_number:
- md.L1.Messages.List[messageIdx].unmarshalFull(v, sb)
- messageIdx++
- case genid.DescriptorProto_Extension_field_number:
- md.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb)
- extensionIdx++
- case genid.DescriptorProto_Options_field_number:
- md.unmarshalOptions(v)
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- if len(rawFields) > 0 || len(rawOneofs) > 0 {
- md.L2.Fields.List = make([]Field, len(rawFields))
- md.L2.Oneofs.List = make([]Oneof, len(rawOneofs))
- for i, b := range rawFields {
- fd := &md.L2.Fields.List[i]
- fd.unmarshalFull(b, sb, md.L0.ParentFile, md, i)
- if fd.L1.Cardinality == protoreflect.Required {
- md.L2.RequiredNumbers.List = append(md.L2.RequiredNumbers.List, fd.L1.Number)
- }
- }
- for i, b := range rawOneofs {
- od := &md.L2.Oneofs.List[i]
- od.unmarshalFull(b, sb, md.L0.ParentFile, md, i)
- }
- }
- md.L2.Options = md.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Message, rawOptions)
-}
-
-func (md *Message) unmarshalOptions(b []byte) {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.MessageOptions_MapEntry_field_number:
- md.L1.IsMapEntry = protowire.DecodeBool(v)
- case genid.MessageOptions_MessageSetWireFormat_field_number:
- md.L1.IsMessageSet = protowire.DecodeBool(v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-func unmarshalMessageReservedRange(b []byte) (r [2]protoreflect.FieldNumber) {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.DescriptorProto_ReservedRange_Start_field_number:
- r[0] = protoreflect.FieldNumber(v)
- case genid.DescriptorProto_ReservedRange_End_field_number:
- r[1] = protoreflect.FieldNumber(v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- return r
-}
-
-func unmarshalMessageExtensionRange(b []byte) (r [2]protoreflect.FieldNumber, rawOptions []byte) {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.DescriptorProto_ExtensionRange_Start_field_number:
- r[0] = protoreflect.FieldNumber(v)
- case genid.DescriptorProto_ExtensionRange_End_field_number:
- r[1] = protoreflect.FieldNumber(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.DescriptorProto_ExtensionRange_Options_field_number:
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- return r, rawOptions
-}
-
-func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- fd.L0.ParentFile = pf
- fd.L0.Parent = pd
- fd.L0.Index = i
- fd.L1.EditionFeatures = featuresFromParentDesc(fd.Parent())
-
- var rawTypeName []byte
- var rawOptions []byte
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FieldDescriptorProto_Number_field_number:
- fd.L1.Number = protoreflect.FieldNumber(v)
- case genid.FieldDescriptorProto_Label_field_number:
- fd.L1.Cardinality = protoreflect.Cardinality(v)
- case genid.FieldDescriptorProto_Type_field_number:
- fd.L1.Kind = protoreflect.Kind(v)
- case genid.FieldDescriptorProto_OneofIndex_field_number:
- // In Message.unmarshalFull, we allocate slices for both
- // the field and oneof descriptors before unmarshaling either
- // of them. This ensures pointers to slice elements are stable.
- od := &pd.(*Message).L2.Oneofs.List[v]
- od.L1.Fields.List = append(od.L1.Fields.List, fd)
- if fd.L1.ContainingOneof != nil {
- panic("oneof type already set")
- }
- fd.L1.ContainingOneof = od
- case genid.FieldDescriptorProto_Proto3Optional_field_number:
- fd.L1.IsProto3Optional = protowire.DecodeBool(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FieldDescriptorProto_Name_field_number:
- fd.L0.FullName = appendFullName(sb, pd.FullName(), v)
- case genid.FieldDescriptorProto_JsonName_field_number:
- fd.L1.StringName.InitJSON(sb.MakeString(v))
- case genid.FieldDescriptorProto_DefaultValue_field_number:
- fd.L1.Default.val = protoreflect.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveMessages
- case genid.FieldDescriptorProto_TypeName_field_number:
- rawTypeName = v
- case genid.FieldDescriptorProto_Options_field_number:
- fd.unmarshalOptions(v)
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- if fd.Syntax() == protoreflect.Editions && fd.L1.Kind == protoreflect.MessageKind && fd.L1.EditionFeatures.IsDelimitedEncoded {
- fd.L1.Kind = protoreflect.GroupKind
- }
- if fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsLegacyRequired {
- fd.L1.Cardinality = protoreflect.Required
- }
- if rawTypeName != nil {
- name := makeFullName(sb, rawTypeName)
- switch fd.L1.Kind {
- case protoreflect.EnumKind:
- fd.L1.Enum = PlaceholderEnum(name)
- case protoreflect.MessageKind, protoreflect.GroupKind:
- fd.L1.Message = PlaceholderMessage(name)
- }
- }
- fd.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Field, rawOptions)
-}
-
-func (fd *Field) unmarshalOptions(b []byte) {
- const FieldOptions_EnforceUTF8 = 13
-
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FieldOptions_Packed_field_number:
- fd.L1.HasPacked = true
- fd.L1.IsPacked = protowire.DecodeBool(v)
- case genid.FieldOptions_Weak_field_number:
- fd.L1.IsWeak = protowire.DecodeBool(v)
- case FieldOptions_EnforceUTF8:
- fd.L1.HasEnforceUTF8 = true
- fd.L1.EnforceUTF8 = protowire.DecodeBool(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FieldOptions_Features_field_number:
- fd.L1.EditionFeatures = unmarshalFeatureSet(v, fd.L1.EditionFeatures)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-func (od *Oneof) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- od.L0.ParentFile = pf
- od.L0.Parent = pd
- od.L0.Index = i
-
- var rawOptions []byte
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.OneofDescriptorProto_Name_field_number:
- od.L0.FullName = appendFullName(sb, pd.FullName(), v)
- case genid.OneofDescriptorProto_Options_field_number:
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- od.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Oneof, rawOptions)
-}
-
-func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
- var rawTypeName []byte
- var rawOptions []byte
- xd.L1.EditionFeatures = featuresFromParentDesc(xd.L1.Extendee)
- xd.L2 = new(ExtensionL2)
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FieldDescriptorProto_Proto3Optional_field_number:
- xd.L2.IsProto3Optional = protowire.DecodeBool(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FieldDescriptorProto_JsonName_field_number:
- xd.L2.StringName.InitJSON(sb.MakeString(v))
- case genid.FieldDescriptorProto_DefaultValue_field_number:
- xd.L2.Default.val = protoreflect.ValueOfBytes(v) // temporarily store as bytes; later resolved in resolveExtensions
- case genid.FieldDescriptorProto_TypeName_field_number:
- rawTypeName = v
- case genid.FieldDescriptorProto_Options_field_number:
- xd.unmarshalOptions(v)
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- if xd.Syntax() == protoreflect.Editions && xd.L1.Kind == protoreflect.MessageKind && xd.L1.EditionFeatures.IsDelimitedEncoded {
- xd.L1.Kind = protoreflect.GroupKind
- }
- if xd.Syntax() == protoreflect.Editions && xd.L1.EditionFeatures.IsLegacyRequired {
- xd.L1.Cardinality = protoreflect.Required
- }
- if rawTypeName != nil {
- name := makeFullName(sb, rawTypeName)
- switch xd.L1.Kind {
- case protoreflect.EnumKind:
- xd.L2.Enum = PlaceholderEnum(name)
- case protoreflect.MessageKind, protoreflect.GroupKind:
- xd.L2.Message = PlaceholderMessage(name)
- }
- }
- xd.L2.Options = xd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Field, rawOptions)
-}
-
-func (xd *Extension) unmarshalOptions(b []byte) {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FieldOptions_Packed_field_number:
- xd.L2.IsPacked = protowire.DecodeBool(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FieldOptions_Features_field_number:
- xd.L1.EditionFeatures = unmarshalFeatureSet(v, xd.L1.EditionFeatures)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
-}
-
-func (sd *Service) unmarshalFull(b []byte, sb *strs.Builder) {
- var rawMethods [][]byte
- var rawOptions []byte
- sd.L2 = new(ServiceL2)
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.ServiceDescriptorProto_Method_field_number:
- rawMethods = append(rawMethods, v)
- case genid.ServiceDescriptorProto_Options_field_number:
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- if len(rawMethods) > 0 {
- sd.L2.Methods.List = make([]Method, len(rawMethods))
- for i, b := range rawMethods {
- sd.L2.Methods.List[i].unmarshalFull(b, sb, sd.L0.ParentFile, sd, i)
- }
- }
- sd.L2.Options = sd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Service, rawOptions)
-}
-
-func (md *Method) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
- md.L0.ParentFile = pf
- md.L0.Parent = pd
- md.L0.Index = i
-
- var rawOptions []byte
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.MethodDescriptorProto_ClientStreaming_field_number:
- md.L1.IsStreamingClient = protowire.DecodeBool(v)
- case genid.MethodDescriptorProto_ServerStreaming_field_number:
- md.L1.IsStreamingServer = protowire.DecodeBool(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.MethodDescriptorProto_Name_field_number:
- md.L0.FullName = appendFullName(sb, pd.FullName(), v)
- case genid.MethodDescriptorProto_InputType_field_number:
- md.L1.Input = PlaceholderMessage(makeFullName(sb, v))
- case genid.MethodDescriptorProto_OutputType_field_number:
- md.L1.Output = PlaceholderMessage(makeFullName(sb, v))
- case genid.MethodDescriptorProto_Options_field_number:
- rawOptions = appendOptions(rawOptions, v)
- }
- default:
- m := protowire.ConsumeFieldValue(num, typ, b)
- b = b[m:]
- }
- }
- md.L1.Options = pf.builder.optionsUnmarshaler(&descopts.Method, rawOptions)
-}
-
-// appendOptions appends src to dst, where the returned slice is never nil.
-// This is necessary to distinguish between empty and unpopulated options.
-func appendOptions(dst, src []byte) []byte {
- if dst == nil {
- dst = []byte{}
- }
- return append(dst, src...)
-}
-
-// optionsUnmarshaler constructs a lazy unmarshal function for an options message.
-//
-// The type of message to unmarshal to is passed as a pointer since the
-// vars in descopts may not yet be populated at the time this function is called.
-func (db *Builder) optionsUnmarshaler(p *protoreflect.ProtoMessage, b []byte) func() protoreflect.ProtoMessage {
- if b == nil {
- return nil
- }
- var opts protoreflect.ProtoMessage
- var once sync.Once
- return func() protoreflect.ProtoMessage {
- once.Do(func() {
- if *p == nil {
- panic("Descriptor.Options called without importing the descriptor package")
- }
- opts = reflect.New(reflect.TypeOf(*p).Elem()).Interface().(protoreflect.ProtoMessage)
- if err := (proto.UnmarshalOptions{
- AllowPartial: true,
- Resolver: db.TypeResolver,
- }).Unmarshal(b, opts); err != nil {
- panic(err)
- }
- })
- return opts
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go
deleted file mode 100644
index e3b6587d..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go
+++ /dev/null
@@ -1,457 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package filedesc
-
-import (
- "fmt"
- "math"
- "sort"
- "sync"
-
- "google.golang.org/protobuf/internal/genid"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/descfmt"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type FileImports []protoreflect.FileImport
-
-func (p *FileImports) Len() int { return len(*p) }
-func (p *FileImports) Get(i int) protoreflect.FileImport { return (*p)[i] }
-func (p *FileImports) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) }
-func (p *FileImports) ProtoInternal(pragma.DoNotImplement) {}
-
-type Names struct {
- List []protoreflect.Name
- once sync.Once
- has map[protoreflect.Name]int // protected by once
-}
-
-func (p *Names) Len() int { return len(p.List) }
-func (p *Names) Get(i int) protoreflect.Name { return p.List[i] }
-func (p *Names) Has(s protoreflect.Name) bool { return p.lazyInit().has[s] > 0 }
-func (p *Names) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) }
-func (p *Names) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Names) lazyInit() *Names {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.has = make(map[protoreflect.Name]int, len(p.List))
- for _, s := range p.List {
- p.has[s] = p.has[s] + 1
- }
- }
- })
- return p
-}
-
-// CheckValid reports any errors with the set of names with an error message
-// that completes the sentence: "ranges is invalid because it has ..."
-func (p *Names) CheckValid() error {
- for s, n := range p.lazyInit().has {
- switch {
- case n > 1:
- return errors.New("duplicate name: %q", s)
- case false && !s.IsValid():
- // NOTE: The C++ implementation does not validate the identifier.
- // See https://github.com/protocolbuffers/protobuf/issues/6335.
- return errors.New("invalid name: %q", s)
- }
- }
- return nil
-}
-
-type EnumRanges struct {
- List [][2]protoreflect.EnumNumber // start inclusive; end inclusive
- once sync.Once
- sorted [][2]protoreflect.EnumNumber // protected by once
-}
-
-func (p *EnumRanges) Len() int { return len(p.List) }
-func (p *EnumRanges) Get(i int) [2]protoreflect.EnumNumber { return p.List[i] }
-func (p *EnumRanges) Has(n protoreflect.EnumNumber) bool {
- for ls := p.lazyInit().sorted; len(ls) > 0; {
- i := len(ls) / 2
- switch r := enumRange(ls[i]); {
- case n < r.Start():
- ls = ls[:i] // search lower
- case n > r.End():
- ls = ls[i+1:] // search upper
- default:
- return true
- }
- }
- return false
-}
-func (p *EnumRanges) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) }
-func (p *EnumRanges) ProtoInternal(pragma.DoNotImplement) {}
-func (p *EnumRanges) lazyInit() *EnumRanges {
- p.once.Do(func() {
- p.sorted = append(p.sorted, p.List...)
- sort.Slice(p.sorted, func(i, j int) bool {
- return p.sorted[i][0] < p.sorted[j][0]
- })
- })
- return p
-}
-
-// CheckValid reports any errors with the set of names with an error message
-// that completes the sentence: "ranges is invalid because it has ..."
-func (p *EnumRanges) CheckValid() error {
- var rp enumRange
- for i, r := range p.lazyInit().sorted {
- r := enumRange(r)
- switch {
- case !(r.Start() <= r.End()):
- return errors.New("invalid range: %v", r)
- case !(rp.End() < r.Start()) && i > 0:
- return errors.New("overlapping ranges: %v with %v", rp, r)
- }
- rp = r
- }
- return nil
-}
-
-type enumRange [2]protoreflect.EnumNumber
-
-func (r enumRange) Start() protoreflect.EnumNumber { return r[0] } // inclusive
-func (r enumRange) End() protoreflect.EnumNumber { return r[1] } // inclusive
-func (r enumRange) String() string {
- if r.Start() == r.End() {
- return fmt.Sprintf("%d", r.Start())
- }
- return fmt.Sprintf("%d to %d", r.Start(), r.End())
-}
-
-type FieldRanges struct {
- List [][2]protoreflect.FieldNumber // start inclusive; end exclusive
- once sync.Once
- sorted [][2]protoreflect.FieldNumber // protected by once
-}
-
-func (p *FieldRanges) Len() int { return len(p.List) }
-func (p *FieldRanges) Get(i int) [2]protoreflect.FieldNumber { return p.List[i] }
-func (p *FieldRanges) Has(n protoreflect.FieldNumber) bool {
- for ls := p.lazyInit().sorted; len(ls) > 0; {
- i := len(ls) / 2
- switch r := fieldRange(ls[i]); {
- case n < r.Start():
- ls = ls[:i] // search lower
- case n > r.End():
- ls = ls[i+1:] // search upper
- default:
- return true
- }
- }
- return false
-}
-func (p *FieldRanges) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) }
-func (p *FieldRanges) ProtoInternal(pragma.DoNotImplement) {}
-func (p *FieldRanges) lazyInit() *FieldRanges {
- p.once.Do(func() {
- p.sorted = append(p.sorted, p.List...)
- sort.Slice(p.sorted, func(i, j int) bool {
- return p.sorted[i][0] < p.sorted[j][0]
- })
- })
- return p
-}
-
-// CheckValid reports any errors with the set of ranges with an error message
-// that completes the sentence: "ranges is invalid because it has ..."
-func (p *FieldRanges) CheckValid(isMessageSet bool) error {
- var rp fieldRange
- for i, r := range p.lazyInit().sorted {
- r := fieldRange(r)
- switch {
- case !isValidFieldNumber(r.Start(), isMessageSet):
- return errors.New("invalid field number: %d", r.Start())
- case !isValidFieldNumber(r.End(), isMessageSet):
- return errors.New("invalid field number: %d", r.End())
- case !(r.Start() <= r.End()):
- return errors.New("invalid range: %v", r)
- case !(rp.End() < r.Start()) && i > 0:
- return errors.New("overlapping ranges: %v with %v", rp, r)
- }
- rp = r
- }
- return nil
-}
-
-// isValidFieldNumber reports whether the field number is valid.
-// Unlike the FieldNumber.IsValid method, it allows ranges that cover the
-// reserved number range.
-func isValidFieldNumber(n protoreflect.FieldNumber, isMessageSet bool) bool {
- return protowire.MinValidNumber <= n && (n <= protowire.MaxValidNumber || isMessageSet)
-}
-
-// CheckOverlap reports an error if p and q overlap.
-func (p *FieldRanges) CheckOverlap(q *FieldRanges) error {
- rps := p.lazyInit().sorted
- rqs := q.lazyInit().sorted
- for pi, qi := 0, 0; pi < len(rps) && qi < len(rqs); {
- rp := fieldRange(rps[pi])
- rq := fieldRange(rqs[qi])
- if !(rp.End() < rq.Start() || rq.End() < rp.Start()) {
- return errors.New("overlapping ranges: %v with %v", rp, rq)
- }
- if rp.Start() < rq.Start() {
- pi++
- } else {
- qi++
- }
- }
- return nil
-}
-
-type fieldRange [2]protoreflect.FieldNumber
-
-func (r fieldRange) Start() protoreflect.FieldNumber { return r[0] } // inclusive
-func (r fieldRange) End() protoreflect.FieldNumber { return r[1] - 1 } // inclusive
-func (r fieldRange) String() string {
- if r.Start() == r.End() {
- return fmt.Sprintf("%d", r.Start())
- }
- return fmt.Sprintf("%d to %d", r.Start(), r.End())
-}
-
-type FieldNumbers struct {
- List []protoreflect.FieldNumber
- once sync.Once
- has map[protoreflect.FieldNumber]struct{} // protected by once
-}
-
-func (p *FieldNumbers) Len() int { return len(p.List) }
-func (p *FieldNumbers) Get(i int) protoreflect.FieldNumber { return p.List[i] }
-func (p *FieldNumbers) Has(n protoreflect.FieldNumber) bool {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.has = make(map[protoreflect.FieldNumber]struct{}, len(p.List))
- for _, n := range p.List {
- p.has[n] = struct{}{}
- }
- }
- })
- _, ok := p.has[n]
- return ok
-}
-func (p *FieldNumbers) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) }
-func (p *FieldNumbers) ProtoInternal(pragma.DoNotImplement) {}
-
-type OneofFields struct {
- List []protoreflect.FieldDescriptor
- once sync.Once
- byName map[protoreflect.Name]protoreflect.FieldDescriptor // protected by once
- byJSON map[string]protoreflect.FieldDescriptor // protected by once
- byText map[string]protoreflect.FieldDescriptor // protected by once
- byNum map[protoreflect.FieldNumber]protoreflect.FieldDescriptor // protected by once
-}
-
-func (p *OneofFields) Len() int { return len(p.List) }
-func (p *OneofFields) Get(i int) protoreflect.FieldDescriptor { return p.List[i] }
-func (p *OneofFields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor {
- return p.lazyInit().byName[s]
-}
-func (p *OneofFields) ByJSONName(s string) protoreflect.FieldDescriptor {
- return p.lazyInit().byJSON[s]
-}
-func (p *OneofFields) ByTextName(s string) protoreflect.FieldDescriptor {
- return p.lazyInit().byText[s]
-}
-func (p *OneofFields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor {
- return p.lazyInit().byNum[n]
-}
-func (p *OneofFields) Format(s fmt.State, r rune) { descfmt.FormatList(s, r, p) }
-func (p *OneofFields) ProtoInternal(pragma.DoNotImplement) {}
-
-func (p *OneofFields) lazyInit() *OneofFields {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]protoreflect.FieldDescriptor, len(p.List))
- p.byJSON = make(map[string]protoreflect.FieldDescriptor, len(p.List))
- p.byText = make(map[string]protoreflect.FieldDescriptor, len(p.List))
- p.byNum = make(map[protoreflect.FieldNumber]protoreflect.FieldDescriptor, len(p.List))
- for _, f := range p.List {
- // Field names and numbers are guaranteed to be unique.
- p.byName[f.Name()] = f
- p.byJSON[f.JSONName()] = f
- p.byText[f.TextName()] = f
- p.byNum[f.Number()] = f
- }
- }
- })
- return p
-}
-
-type SourceLocations struct {
- // List is a list of SourceLocations.
- // The SourceLocation.Next field does not need to be populated
- // as it will be lazily populated upon first need.
- List []protoreflect.SourceLocation
-
- // File is the parent file descriptor that these locations are relative to.
- // If non-nil, ByDescriptor verifies that the provided descriptor
- // is a child of this file descriptor.
- File protoreflect.FileDescriptor
-
- once sync.Once
- byPath map[pathKey]int
-}
-
-func (p *SourceLocations) Len() int { return len(p.List) }
-func (p *SourceLocations) Get(i int) protoreflect.SourceLocation { return p.lazyInit().List[i] }
-func (p *SourceLocations) byKey(k pathKey) protoreflect.SourceLocation {
- if i, ok := p.lazyInit().byPath[k]; ok {
- return p.List[i]
- }
- return protoreflect.SourceLocation{}
-}
-func (p *SourceLocations) ByPath(path protoreflect.SourcePath) protoreflect.SourceLocation {
- return p.byKey(newPathKey(path))
-}
-func (p *SourceLocations) ByDescriptor(desc protoreflect.Descriptor) protoreflect.SourceLocation {
- if p.File != nil && desc != nil && p.File != desc.ParentFile() {
- return protoreflect.SourceLocation{} // mismatching parent files
- }
- var pathArr [16]int32
- path := pathArr[:0]
- for {
- switch desc.(type) {
- case protoreflect.FileDescriptor:
- // Reverse the path since it was constructed in reverse.
- for i, j := 0, len(path)-1; i < j; i, j = i+1, j-1 {
- path[i], path[j] = path[j], path[i]
- }
- return p.byKey(newPathKey(path))
- case protoreflect.MessageDescriptor:
- path = append(path, int32(desc.Index()))
- desc = desc.Parent()
- switch desc.(type) {
- case protoreflect.FileDescriptor:
- path = append(path, int32(genid.FileDescriptorProto_MessageType_field_number))
- case protoreflect.MessageDescriptor:
- path = append(path, int32(genid.DescriptorProto_NestedType_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- case protoreflect.FieldDescriptor:
- isExtension := desc.(protoreflect.FieldDescriptor).IsExtension()
- path = append(path, int32(desc.Index()))
- desc = desc.Parent()
- if isExtension {
- switch desc.(type) {
- case protoreflect.FileDescriptor:
- path = append(path, int32(genid.FileDescriptorProto_Extension_field_number))
- case protoreflect.MessageDescriptor:
- path = append(path, int32(genid.DescriptorProto_Extension_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- } else {
- switch desc.(type) {
- case protoreflect.MessageDescriptor:
- path = append(path, int32(genid.DescriptorProto_Field_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- }
- case protoreflect.OneofDescriptor:
- path = append(path, int32(desc.Index()))
- desc = desc.Parent()
- switch desc.(type) {
- case protoreflect.MessageDescriptor:
- path = append(path, int32(genid.DescriptorProto_OneofDecl_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- case protoreflect.EnumDescriptor:
- path = append(path, int32(desc.Index()))
- desc = desc.Parent()
- switch desc.(type) {
- case protoreflect.FileDescriptor:
- path = append(path, int32(genid.FileDescriptorProto_EnumType_field_number))
- case protoreflect.MessageDescriptor:
- path = append(path, int32(genid.DescriptorProto_EnumType_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- case protoreflect.EnumValueDescriptor:
- path = append(path, int32(desc.Index()))
- desc = desc.Parent()
- switch desc.(type) {
- case protoreflect.EnumDescriptor:
- path = append(path, int32(genid.EnumDescriptorProto_Value_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- case protoreflect.ServiceDescriptor:
- path = append(path, int32(desc.Index()))
- desc = desc.Parent()
- switch desc.(type) {
- case protoreflect.FileDescriptor:
- path = append(path, int32(genid.FileDescriptorProto_Service_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- case protoreflect.MethodDescriptor:
- path = append(path, int32(desc.Index()))
- desc = desc.Parent()
- switch desc.(type) {
- case protoreflect.ServiceDescriptor:
- path = append(path, int32(genid.ServiceDescriptorProto_Method_field_number))
- default:
- return protoreflect.SourceLocation{}
- }
- default:
- return protoreflect.SourceLocation{}
- }
- }
-}
-func (p *SourceLocations) lazyInit() *SourceLocations {
- p.once.Do(func() {
- if len(p.List) > 0 {
- // Collect all the indexes for a given path.
- pathIdxs := make(map[pathKey][]int, len(p.List))
- for i, l := range p.List {
- k := newPathKey(l.Path)
- pathIdxs[k] = append(pathIdxs[k], i)
- }
-
- // Update the next index for all locations.
- p.byPath = make(map[pathKey]int, len(p.List))
- for k, idxs := range pathIdxs {
- for i := 0; i < len(idxs)-1; i++ {
- p.List[idxs[i]].Next = idxs[i+1]
- }
- p.List[idxs[len(idxs)-1]].Next = 0
- p.byPath[k] = idxs[0] // record the first location for this path
- }
- }
- })
- return p
-}
-func (p *SourceLocations) ProtoInternal(pragma.DoNotImplement) {}
-
-// pathKey is a comparable representation of protoreflect.SourcePath.
-type pathKey struct {
- arr [16]uint8 // first n-1 path segments; last element is the length
- str string // used if the path does not fit in arr
-}
-
-func newPathKey(p protoreflect.SourcePath) (k pathKey) {
- if len(p) < len(k.arr) {
- for i, ps := range p {
- if ps < 0 || math.MaxUint8 <= ps {
- return pathKey{str: p.String()}
- }
- k.arr[i] = uint8(ps)
- }
- k.arr[len(k.arr)-1] = uint8(len(p))
- return k
- }
- return pathKey{str: p.String()}
-}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go
deleted file mode 100644
index 30db19fd..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go
+++ /dev/null
@@ -1,356 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-types. DO NOT EDIT.
-
-package filedesc
-
-import (
- "fmt"
- "sync"
-
- "google.golang.org/protobuf/internal/descfmt"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type Enums struct {
- List []Enum
- once sync.Once
- byName map[protoreflect.Name]*Enum // protected by once
-}
-
-func (p *Enums) Len() int {
- return len(p.List)
-}
-func (p *Enums) Get(i int) protoreflect.EnumDescriptor {
- return &p.List[i]
-}
-func (p *Enums) ByName(s protoreflect.Name) protoreflect.EnumDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Enums) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *Enums) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Enums) lazyInit() *Enums {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*Enum, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- }
- }
- })
- return p
-}
-
-type EnumValues struct {
- List []EnumValue
- once sync.Once
- byName map[protoreflect.Name]*EnumValue // protected by once
- byNum map[protoreflect.EnumNumber]*EnumValue // protected by once
-}
-
-func (p *EnumValues) Len() int {
- return len(p.List)
-}
-func (p *EnumValues) Get(i int) protoreflect.EnumValueDescriptor {
- return &p.List[i]
-}
-func (p *EnumValues) ByName(s protoreflect.Name) protoreflect.EnumValueDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *EnumValues) ByNumber(n protoreflect.EnumNumber) protoreflect.EnumValueDescriptor {
- if d := p.lazyInit().byNum[n]; d != nil {
- return d
- }
- return nil
-}
-func (p *EnumValues) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *EnumValues) ProtoInternal(pragma.DoNotImplement) {}
-func (p *EnumValues) lazyInit() *EnumValues {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*EnumValue, len(p.List))
- p.byNum = make(map[protoreflect.EnumNumber]*EnumValue, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- if _, ok := p.byNum[d.Number()]; !ok {
- p.byNum[d.Number()] = d
- }
- }
- }
- })
- return p
-}
-
-type Messages struct {
- List []Message
- once sync.Once
- byName map[protoreflect.Name]*Message // protected by once
-}
-
-func (p *Messages) Len() int {
- return len(p.List)
-}
-func (p *Messages) Get(i int) protoreflect.MessageDescriptor {
- return &p.List[i]
-}
-func (p *Messages) ByName(s protoreflect.Name) protoreflect.MessageDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Messages) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *Messages) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Messages) lazyInit() *Messages {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*Message, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- }
- }
- })
- return p
-}
-
-type Fields struct {
- List []Field
- once sync.Once
- byName map[protoreflect.Name]*Field // protected by once
- byJSON map[string]*Field // protected by once
- byText map[string]*Field // protected by once
- byNum map[protoreflect.FieldNumber]*Field // protected by once
-}
-
-func (p *Fields) Len() int {
- return len(p.List)
-}
-func (p *Fields) Get(i int) protoreflect.FieldDescriptor {
- return &p.List[i]
-}
-func (p *Fields) ByName(s protoreflect.Name) protoreflect.FieldDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Fields) ByJSONName(s string) protoreflect.FieldDescriptor {
- if d := p.lazyInit().byJSON[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Fields) ByTextName(s string) protoreflect.FieldDescriptor {
- if d := p.lazyInit().byText[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Fields) ByNumber(n protoreflect.FieldNumber) protoreflect.FieldDescriptor {
- if d := p.lazyInit().byNum[n]; d != nil {
- return d
- }
- return nil
-}
-func (p *Fields) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *Fields) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Fields) lazyInit() *Fields {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*Field, len(p.List))
- p.byJSON = make(map[string]*Field, len(p.List))
- p.byText = make(map[string]*Field, len(p.List))
- p.byNum = make(map[protoreflect.FieldNumber]*Field, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- if _, ok := p.byJSON[d.JSONName()]; !ok {
- p.byJSON[d.JSONName()] = d
- }
- if _, ok := p.byText[d.TextName()]; !ok {
- p.byText[d.TextName()] = d
- }
- if _, ok := p.byNum[d.Number()]; !ok {
- p.byNum[d.Number()] = d
- }
- }
- }
- })
- return p
-}
-
-type Oneofs struct {
- List []Oneof
- once sync.Once
- byName map[protoreflect.Name]*Oneof // protected by once
-}
-
-func (p *Oneofs) Len() int {
- return len(p.List)
-}
-func (p *Oneofs) Get(i int) protoreflect.OneofDescriptor {
- return &p.List[i]
-}
-func (p *Oneofs) ByName(s protoreflect.Name) protoreflect.OneofDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Oneofs) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *Oneofs) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Oneofs) lazyInit() *Oneofs {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*Oneof, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- }
- }
- })
- return p
-}
-
-type Extensions struct {
- List []Extension
- once sync.Once
- byName map[protoreflect.Name]*Extension // protected by once
-}
-
-func (p *Extensions) Len() int {
- return len(p.List)
-}
-func (p *Extensions) Get(i int) protoreflect.ExtensionDescriptor {
- return &p.List[i]
-}
-func (p *Extensions) ByName(s protoreflect.Name) protoreflect.ExtensionDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Extensions) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *Extensions) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Extensions) lazyInit() *Extensions {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*Extension, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- }
- }
- })
- return p
-}
-
-type Services struct {
- List []Service
- once sync.Once
- byName map[protoreflect.Name]*Service // protected by once
-}
-
-func (p *Services) Len() int {
- return len(p.List)
-}
-func (p *Services) Get(i int) protoreflect.ServiceDescriptor {
- return &p.List[i]
-}
-func (p *Services) ByName(s protoreflect.Name) protoreflect.ServiceDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Services) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *Services) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Services) lazyInit() *Services {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*Service, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- }
- }
- })
- return p
-}
-
-type Methods struct {
- List []Method
- once sync.Once
- byName map[protoreflect.Name]*Method // protected by once
-}
-
-func (p *Methods) Len() int {
- return len(p.List)
-}
-func (p *Methods) Get(i int) protoreflect.MethodDescriptor {
- return &p.List[i]
-}
-func (p *Methods) ByName(s protoreflect.Name) protoreflect.MethodDescriptor {
- if d := p.lazyInit().byName[s]; d != nil {
- return d
- }
- return nil
-}
-func (p *Methods) Format(s fmt.State, r rune) {
- descfmt.FormatList(s, r, p)
-}
-func (p *Methods) ProtoInternal(pragma.DoNotImplement) {}
-func (p *Methods) lazyInit() *Methods {
- p.once.Do(func() {
- if len(p.List) > 0 {
- p.byName = make(map[protoreflect.Name]*Method, len(p.List))
- for i := range p.List {
- d := &p.List[i]
- if _, ok := p.byName[d.Name()]; !ok {
- p.byName[d.Name()] = d
- }
- }
- }
- })
- return p
-}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go b/vendor/google.golang.org/protobuf/internal/filedesc/editions.go
deleted file mode 100644
index 0375a49d..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package filedesc
-
-import (
- "fmt"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/editiondefaults"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-var defaultsCache = make(map[Edition]EditionFeatures)
-
-func init() {
- unmarshalEditionDefaults(editiondefaults.Defaults)
-}
-
-func unmarshalGoFeature(b []byte, parent EditionFeatures) EditionFeatures {
- for len(b) > 0 {
- num, _, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch num {
- case genid.GoFeatures_LegacyUnmarshalJsonEnum_field_number:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- parent.GenerateLegacyUnmarshalJSON = protowire.DecodeBool(v)
- default:
- panic(fmt.Sprintf("unkown field number %d while unmarshalling GoFeatures", num))
- }
- }
- return parent
-}
-
-func unmarshalFeatureSet(b []byte, parent EditionFeatures) EditionFeatures {
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FeatureSet_FieldPresence_field_number:
- parent.IsFieldPresence = v == genid.FeatureSet_EXPLICIT_enum_value || v == genid.FeatureSet_LEGACY_REQUIRED_enum_value
- parent.IsLegacyRequired = v == genid.FeatureSet_LEGACY_REQUIRED_enum_value
- case genid.FeatureSet_EnumType_field_number:
- parent.IsOpenEnum = v == genid.FeatureSet_OPEN_enum_value
- case genid.FeatureSet_RepeatedFieldEncoding_field_number:
- parent.IsPacked = v == genid.FeatureSet_PACKED_enum_value
- case genid.FeatureSet_Utf8Validation_field_number:
- parent.IsUTF8Validated = v == genid.FeatureSet_VERIFY_enum_value
- case genid.FeatureSet_MessageEncoding_field_number:
- parent.IsDelimitedEncoded = v == genid.FeatureSet_DELIMITED_enum_value
- case genid.FeatureSet_JsonFormat_field_number:
- parent.IsJSONCompliant = v == genid.FeatureSet_ALLOW_enum_value
- default:
- panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.GoFeatures_LegacyUnmarshalJsonEnum_field_number:
- parent = unmarshalGoFeature(v, parent)
- }
- }
- }
-
- return parent
-}
-
-func featuresFromParentDesc(parentDesc protoreflect.Descriptor) EditionFeatures {
- var parentFS EditionFeatures
- switch p := parentDesc.(type) {
- case *File:
- parentFS = p.L1.EditionFeatures
- case *Message:
- parentFS = p.L1.EditionFeatures
- default:
- panic(fmt.Sprintf("unknown parent type %T", parentDesc))
- }
- return parentFS
-}
-
-func unmarshalEditionDefault(b []byte) {
- var ed Edition
- var fs EditionFeatures
- for len(b) > 0 {
- num, typ, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch typ {
- case protowire.VarintType:
- v, m := protowire.ConsumeVarint(b)
- b = b[m:]
- switch num {
- case genid.FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number:
- ed = Edition(v)
- }
- case protowire.BytesType:
- v, m := protowire.ConsumeBytes(b)
- b = b[m:]
- switch num {
- case genid.FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number:
- fs = unmarshalFeatureSet(v, fs)
- }
- }
- }
- defaultsCache[ed] = fs
-}
-
-func unmarshalEditionDefaults(b []byte) {
- for len(b) > 0 {
- num, _, n := protowire.ConsumeTag(b)
- b = b[n:]
- switch num {
- case genid.FeatureSetDefaults_Defaults_field_number:
- def, m := protowire.ConsumeBytes(b)
- b = b[m:]
- unmarshalEditionDefault(def)
- case genid.FeatureSetDefaults_MinimumEdition_field_number,
- genid.FeatureSetDefaults_MaximumEdition_field_number:
- // We don't care about the minimum and maximum editions. If the
- // edition we are looking for later on is not in the cache we know
- // it is outside of the range between minimum and maximum edition.
- _, m := protowire.ConsumeVarint(b)
- b = b[m:]
- default:
- panic(fmt.Sprintf("unkown field number %d while unmarshalling EditionDefault", num))
- }
- }
-}
-
-func getFeaturesFor(ed Edition) EditionFeatures {
- if def, ok := defaultsCache[ed]; ok {
- return def
- }
- panic(fmt.Sprintf("unsupported edition: %v", ed))
-}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go b/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go
deleted file mode 100644
index 28240ebc..00000000
--- a/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package filedesc
-
-import (
- "google.golang.org/protobuf/internal/descopts"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-var (
- emptyNames = new(Names)
- emptyEnumRanges = new(EnumRanges)
- emptyFieldRanges = new(FieldRanges)
- emptyFieldNumbers = new(FieldNumbers)
- emptySourceLocations = new(SourceLocations)
-
- emptyFiles = new(FileImports)
- emptyMessages = new(Messages)
- emptyFields = new(Fields)
- emptyOneofs = new(Oneofs)
- emptyEnums = new(Enums)
- emptyEnumValues = new(EnumValues)
- emptyExtensions = new(Extensions)
- emptyServices = new(Services)
-)
-
-// PlaceholderFile is a placeholder, representing only the file path.
-type PlaceholderFile string
-
-func (f PlaceholderFile) ParentFile() protoreflect.FileDescriptor { return f }
-func (f PlaceholderFile) Parent() protoreflect.Descriptor { return nil }
-func (f PlaceholderFile) Index() int { return 0 }
-func (f PlaceholderFile) Syntax() protoreflect.Syntax { return 0 }
-func (f PlaceholderFile) Name() protoreflect.Name { return "" }
-func (f PlaceholderFile) FullName() protoreflect.FullName { return "" }
-func (f PlaceholderFile) IsPlaceholder() bool { return true }
-func (f PlaceholderFile) Options() protoreflect.ProtoMessage { return descopts.File }
-func (f PlaceholderFile) Path() string { return string(f) }
-func (f PlaceholderFile) Package() protoreflect.FullName { return "" }
-func (f PlaceholderFile) Imports() protoreflect.FileImports { return emptyFiles }
-func (f PlaceholderFile) Messages() protoreflect.MessageDescriptors { return emptyMessages }
-func (f PlaceholderFile) Enums() protoreflect.EnumDescriptors { return emptyEnums }
-func (f PlaceholderFile) Extensions() protoreflect.ExtensionDescriptors { return emptyExtensions }
-func (f PlaceholderFile) Services() protoreflect.ServiceDescriptors { return emptyServices }
-func (f PlaceholderFile) SourceLocations() protoreflect.SourceLocations { return emptySourceLocations }
-func (f PlaceholderFile) ProtoType(protoreflect.FileDescriptor) { return }
-func (f PlaceholderFile) ProtoInternal(pragma.DoNotImplement) { return }
-
-// PlaceholderEnum is a placeholder, representing only the full name.
-type PlaceholderEnum protoreflect.FullName
-
-func (e PlaceholderEnum) ParentFile() protoreflect.FileDescriptor { return nil }
-func (e PlaceholderEnum) Parent() protoreflect.Descriptor { return nil }
-func (e PlaceholderEnum) Index() int { return 0 }
-func (e PlaceholderEnum) Syntax() protoreflect.Syntax { return 0 }
-func (e PlaceholderEnum) Name() protoreflect.Name { return protoreflect.FullName(e).Name() }
-func (e PlaceholderEnum) FullName() protoreflect.FullName { return protoreflect.FullName(e) }
-func (e PlaceholderEnum) IsPlaceholder() bool { return true }
-func (e PlaceholderEnum) Options() protoreflect.ProtoMessage { return descopts.Enum }
-func (e PlaceholderEnum) Values() protoreflect.EnumValueDescriptors { return emptyEnumValues }
-func (e PlaceholderEnum) ReservedNames() protoreflect.Names { return emptyNames }
-func (e PlaceholderEnum) ReservedRanges() protoreflect.EnumRanges { return emptyEnumRanges }
-func (e PlaceholderEnum) ProtoType(protoreflect.EnumDescriptor) { return }
-func (e PlaceholderEnum) ProtoInternal(pragma.DoNotImplement) { return }
-
-// PlaceholderEnumValue is a placeholder, representing only the full name.
-type PlaceholderEnumValue protoreflect.FullName
-
-func (e PlaceholderEnumValue) ParentFile() protoreflect.FileDescriptor { return nil }
-func (e PlaceholderEnumValue) Parent() protoreflect.Descriptor { return nil }
-func (e PlaceholderEnumValue) Index() int { return 0 }
-func (e PlaceholderEnumValue) Syntax() protoreflect.Syntax { return 0 }
-func (e PlaceholderEnumValue) Name() protoreflect.Name { return protoreflect.FullName(e).Name() }
-func (e PlaceholderEnumValue) FullName() protoreflect.FullName { return protoreflect.FullName(e) }
-func (e PlaceholderEnumValue) IsPlaceholder() bool { return true }
-func (e PlaceholderEnumValue) Options() protoreflect.ProtoMessage { return descopts.EnumValue }
-func (e PlaceholderEnumValue) Number() protoreflect.EnumNumber { return 0 }
-func (e PlaceholderEnumValue) ProtoType(protoreflect.EnumValueDescriptor) { return }
-func (e PlaceholderEnumValue) ProtoInternal(pragma.DoNotImplement) { return }
-
-// PlaceholderMessage is a placeholder, representing only the full name.
-type PlaceholderMessage protoreflect.FullName
-
-func (m PlaceholderMessage) ParentFile() protoreflect.FileDescriptor { return nil }
-func (m PlaceholderMessage) Parent() protoreflect.Descriptor { return nil }
-func (m PlaceholderMessage) Index() int { return 0 }
-func (m PlaceholderMessage) Syntax() protoreflect.Syntax { return 0 }
-func (m PlaceholderMessage) Name() protoreflect.Name { return protoreflect.FullName(m).Name() }
-func (m PlaceholderMessage) FullName() protoreflect.FullName { return protoreflect.FullName(m) }
-func (m PlaceholderMessage) IsPlaceholder() bool { return true }
-func (m PlaceholderMessage) Options() protoreflect.ProtoMessage { return descopts.Message }
-func (m PlaceholderMessage) IsMapEntry() bool { return false }
-func (m PlaceholderMessage) Fields() protoreflect.FieldDescriptors { return emptyFields }
-func (m PlaceholderMessage) Oneofs() protoreflect.OneofDescriptors { return emptyOneofs }
-func (m PlaceholderMessage) ReservedNames() protoreflect.Names { return emptyNames }
-func (m PlaceholderMessage) ReservedRanges() protoreflect.FieldRanges { return emptyFieldRanges }
-func (m PlaceholderMessage) RequiredNumbers() protoreflect.FieldNumbers { return emptyFieldNumbers }
-func (m PlaceholderMessage) ExtensionRanges() protoreflect.FieldRanges { return emptyFieldRanges }
-func (m PlaceholderMessage) ExtensionRangeOptions(int) protoreflect.ProtoMessage {
- panic("index out of range")
-}
-func (m PlaceholderMessage) Messages() protoreflect.MessageDescriptors { return emptyMessages }
-func (m PlaceholderMessage) Enums() protoreflect.EnumDescriptors { return emptyEnums }
-func (m PlaceholderMessage) Extensions() protoreflect.ExtensionDescriptors { return emptyExtensions }
-func (m PlaceholderMessage) ProtoType(protoreflect.MessageDescriptor) { return }
-func (m PlaceholderMessage) ProtoInternal(pragma.DoNotImplement) { return }
diff --git a/vendor/google.golang.org/protobuf/internal/filetype/build.go b/vendor/google.golang.org/protobuf/internal/filetype/build.go
deleted file mode 100644
index f0e38c4e..00000000
--- a/vendor/google.golang.org/protobuf/internal/filetype/build.go
+++ /dev/null
@@ -1,296 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package filetype provides functionality for wrapping descriptors
-// with Go type information.
-package filetype
-
-import (
- "reflect"
-
- "google.golang.org/protobuf/internal/descopts"
- "google.golang.org/protobuf/internal/filedesc"
- pimpl "google.golang.org/protobuf/internal/impl"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-// Builder constructs type descriptors from a raw file descriptor
-// and associated Go types for each enum and message declaration.
-//
-// # Flattened Ordering
-//
-// The protobuf type system represents declarations as a tree. Certain nodes in
-// the tree require us to either associate it with a concrete Go type or to
-// resolve a dependency, which is information that must be provided separately
-// since it cannot be derived from the file descriptor alone.
-//
-// However, representing a tree as Go literals is difficult to simply do in a
-// space and time efficient way. Thus, we store them as a flattened list of
-// objects where the serialization order from the tree-based form is important.
-//
-// The "flattened ordering" is defined as a tree traversal of all enum, message,
-// extension, and service declarations using the following algorithm:
-//
-// def VisitFileDecls(fd):
-// for e in fd.Enums: yield e
-// for m in fd.Messages: yield m
-// for x in fd.Extensions: yield x
-// for s in fd.Services: yield s
-// for m in fd.Messages: yield from VisitMessageDecls(m)
-//
-// def VisitMessageDecls(md):
-// for e in md.Enums: yield e
-// for m in md.Messages: yield m
-// for x in md.Extensions: yield x
-// for m in md.Messages: yield from VisitMessageDecls(m)
-//
-// The traversal starts at the root file descriptor and yields each direct
-// declaration within each node before traversing into sub-declarations
-// that children themselves may have.
-type Builder struct {
- // File is the underlying file descriptor builder.
- File filedesc.Builder
-
- // GoTypes is a unique set of the Go types for all declarations and
- // dependencies. Each type is represented as a zero value of the Go type.
- //
- // Declarations are Go types generated for enums and messages directly
- // declared (not publicly imported) in the proto source file.
- // Messages for map entries are accounted for, but represented by nil.
- // Enum declarations in "flattened ordering" come first, followed by
- // message declarations in "flattened ordering".
- //
- // Dependencies are Go types for enums or messages referenced by
- // message fields (excluding weak fields), for parent extended messages of
- // extension fields, for enums or messages referenced by extension fields,
- // and for input and output messages referenced by service methods.
- // Dependencies must come after declarations, but the ordering of
- // dependencies themselves is unspecified.
- GoTypes []interface{}
-
- // DependencyIndexes is an ordered list of indexes into GoTypes for the
- // dependencies of messages, extensions, or services.
- //
- // There are 5 sub-lists in "flattened ordering" concatenated back-to-back:
- // 0. Message field dependencies: list of the enum or message type
- // referred to by every message field.
- // 1. Extension field targets: list of the extended parent message of
- // every extension.
- // 2. Extension field dependencies: list of the enum or message type
- // referred to by every extension field.
- // 3. Service method inputs: list of the input message type
- // referred to by every service method.
- // 4. Service method outputs: list of the output message type
- // referred to by every service method.
- //
- // The offset into DependencyIndexes for the start of each sub-list
- // is appended to the end in reverse order.
- DependencyIndexes []int32
-
- // EnumInfos is a list of enum infos in "flattened ordering".
- EnumInfos []pimpl.EnumInfo
-
- // MessageInfos is a list of message infos in "flattened ordering".
- // If provided, the GoType and PBType for each element is populated.
- //
- // Requirement: len(MessageInfos) == len(Build.Messages)
- MessageInfos []pimpl.MessageInfo
-
- // ExtensionInfos is a list of extension infos in "flattened ordering".
- // Each element is initialized and registered with the protoregistry package.
- //
- // Requirement: len(LegacyExtensions) == len(Build.Extensions)
- ExtensionInfos []pimpl.ExtensionInfo
-
- // TypeRegistry is the registry to register each type descriptor.
- // If nil, it uses protoregistry.GlobalTypes.
- TypeRegistry interface {
- RegisterMessage(protoreflect.MessageType) error
- RegisterEnum(protoreflect.EnumType) error
- RegisterExtension(protoreflect.ExtensionType) error
- }
-}
-
-// Out is the output of the builder.
-type Out struct {
- File protoreflect.FileDescriptor
-}
-
-func (tb Builder) Build() (out Out) {
- // Replace the resolver with one that resolves dependencies by index,
- // which is faster and more reliable than relying on the global registry.
- if tb.File.FileRegistry == nil {
- tb.File.FileRegistry = protoregistry.GlobalFiles
- }
- tb.File.FileRegistry = &resolverByIndex{
- goTypes: tb.GoTypes,
- depIdxs: tb.DependencyIndexes,
- fileRegistry: tb.File.FileRegistry,
- }
-
- // Initialize registry if unpopulated.
- if tb.TypeRegistry == nil {
- tb.TypeRegistry = protoregistry.GlobalTypes
- }
-
- fbOut := tb.File.Build()
- out.File = fbOut.File
-
- // Process enums.
- enumGoTypes := tb.GoTypes[:len(fbOut.Enums)]
- if len(tb.EnumInfos) != len(fbOut.Enums) {
- panic("mismatching enum lengths")
- }
- if len(fbOut.Enums) > 0 {
- for i := range fbOut.Enums {
- tb.EnumInfos[i] = pimpl.EnumInfo{
- GoReflectType: reflect.TypeOf(enumGoTypes[i]),
- Desc: &fbOut.Enums[i],
- }
- // Register enum types.
- if err := tb.TypeRegistry.RegisterEnum(&tb.EnumInfos[i]); err != nil {
- panic(err)
- }
- }
- }
-
- // Process messages.
- messageGoTypes := tb.GoTypes[len(fbOut.Enums):][:len(fbOut.Messages)]
- if len(tb.MessageInfos) != len(fbOut.Messages) {
- panic("mismatching message lengths")
- }
- if len(fbOut.Messages) > 0 {
- for i := range fbOut.Messages {
- if messageGoTypes[i] == nil {
- continue // skip map entry
- }
-
- tb.MessageInfos[i].GoReflectType = reflect.TypeOf(messageGoTypes[i])
- tb.MessageInfos[i].Desc = &fbOut.Messages[i]
-
- // Register message types.
- if err := tb.TypeRegistry.RegisterMessage(&tb.MessageInfos[i]); err != nil {
- panic(err)
- }
- }
-
- // As a special-case for descriptor.proto,
- // locally register concrete message type for the options.
- if out.File.Path() == "google/protobuf/descriptor.proto" && out.File.Package() == "google.protobuf" {
- for i := range fbOut.Messages {
- switch fbOut.Messages[i].Name() {
- case "FileOptions":
- descopts.File = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "EnumOptions":
- descopts.Enum = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "EnumValueOptions":
- descopts.EnumValue = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "MessageOptions":
- descopts.Message = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "FieldOptions":
- descopts.Field = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "OneofOptions":
- descopts.Oneof = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "ExtensionRangeOptions":
- descopts.ExtensionRange = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "ServiceOptions":
- descopts.Service = messageGoTypes[i].(protoreflect.ProtoMessage)
- case "MethodOptions":
- descopts.Method = messageGoTypes[i].(protoreflect.ProtoMessage)
- }
- }
- }
- }
-
- // Process extensions.
- if len(tb.ExtensionInfos) != len(fbOut.Extensions) {
- panic("mismatching extension lengths")
- }
- var depIdx int32
- for i := range fbOut.Extensions {
- // For enum and message kinds, determine the referent Go type so
- // that we can construct their constructors.
- const listExtDeps = 2
- var goType reflect.Type
- switch fbOut.Extensions[i].L1.Kind {
- case protoreflect.EnumKind:
- j := depIdxs.Get(tb.DependencyIndexes, listExtDeps, depIdx)
- goType = reflect.TypeOf(tb.GoTypes[j])
- depIdx++
- case protoreflect.MessageKind, protoreflect.GroupKind:
- j := depIdxs.Get(tb.DependencyIndexes, listExtDeps, depIdx)
- goType = reflect.TypeOf(tb.GoTypes[j])
- depIdx++
- default:
- goType = goTypeForPBKind[fbOut.Extensions[i].L1.Kind]
- }
- if fbOut.Extensions[i].IsList() {
- goType = reflect.SliceOf(goType)
- }
-
- pimpl.InitExtensionInfo(&tb.ExtensionInfos[i], &fbOut.Extensions[i], goType)
-
- // Register extension types.
- if err := tb.TypeRegistry.RegisterExtension(&tb.ExtensionInfos[i]); err != nil {
- panic(err)
- }
- }
-
- return out
-}
-
-var goTypeForPBKind = map[protoreflect.Kind]reflect.Type{
- protoreflect.BoolKind: reflect.TypeOf(bool(false)),
- protoreflect.Int32Kind: reflect.TypeOf(int32(0)),
- protoreflect.Sint32Kind: reflect.TypeOf(int32(0)),
- protoreflect.Sfixed32Kind: reflect.TypeOf(int32(0)),
- protoreflect.Int64Kind: reflect.TypeOf(int64(0)),
- protoreflect.Sint64Kind: reflect.TypeOf(int64(0)),
- protoreflect.Sfixed64Kind: reflect.TypeOf(int64(0)),
- protoreflect.Uint32Kind: reflect.TypeOf(uint32(0)),
- protoreflect.Fixed32Kind: reflect.TypeOf(uint32(0)),
- protoreflect.Uint64Kind: reflect.TypeOf(uint64(0)),
- protoreflect.Fixed64Kind: reflect.TypeOf(uint64(0)),
- protoreflect.FloatKind: reflect.TypeOf(float32(0)),
- protoreflect.DoubleKind: reflect.TypeOf(float64(0)),
- protoreflect.StringKind: reflect.TypeOf(string("")),
- protoreflect.BytesKind: reflect.TypeOf([]byte(nil)),
-}
-
-type depIdxs []int32
-
-// Get retrieves the jth element of the ith sub-list.
-func (x depIdxs) Get(i, j int32) int32 {
- return x[x[int32(len(x))-i-1]+j]
-}
-
-type (
- resolverByIndex struct {
- goTypes []interface{}
- depIdxs depIdxs
- fileRegistry
- }
- fileRegistry interface {
- FindFileByPath(string) (protoreflect.FileDescriptor, error)
- FindDescriptorByName(protoreflect.FullName) (protoreflect.Descriptor, error)
- RegisterFile(protoreflect.FileDescriptor) error
- }
-)
-
-func (r *resolverByIndex) FindEnumByIndex(i, j int32, es []filedesc.Enum, ms []filedesc.Message) protoreflect.EnumDescriptor {
- if depIdx := int(r.depIdxs.Get(i, j)); int(depIdx) < len(es)+len(ms) {
- return &es[depIdx]
- } else {
- return pimpl.Export{}.EnumDescriptorOf(r.goTypes[depIdx])
- }
-}
-
-func (r *resolverByIndex) FindMessageByIndex(i, j int32, es []filedesc.Enum, ms []filedesc.Message) protoreflect.MessageDescriptor {
- if depIdx := int(r.depIdxs.Get(i, j)); depIdx < len(es)+len(ms) {
- return &ms[depIdx-len(es)]
- } else {
- return pimpl.Export{}.MessageDescriptorOf(r.goTypes[depIdx])
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/flags/flags.go b/vendor/google.golang.org/protobuf/internal/flags/flags.go
deleted file mode 100644
index 58372dd3..00000000
--- a/vendor/google.golang.org/protobuf/internal/flags/flags.go
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package flags provides a set of flags controlled by build tags.
-package flags
-
-// ProtoLegacy specifies whether to enable support for legacy functionality
-// such as MessageSets, weak fields, and various other obscure behavior
-// that is necessary to maintain backwards compatibility with proto1 or
-// the pre-release variants of proto2 and proto3.
-//
-// This is disabled by default unless built with the "protolegacy" tag.
-//
-// WARNING: The compatibility agreement covers nothing provided by this flag.
-// As such, functionality may suddenly be removed or changed at our discretion.
-const ProtoLegacy = protoLegacy
-
-// LazyUnmarshalExtensions specifies whether to lazily unmarshal extensions.
-//
-// Lazy extension unmarshaling validates the contents of message-valued
-// extension fields at unmarshal time, but defers creating the message
-// structure until the extension is first accessed.
-const LazyUnmarshalExtensions = ProtoLegacy
diff --git a/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go b/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go
deleted file mode 100644
index bda8e8cf..00000000
--- a/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !protolegacy
-// +build !protolegacy
-
-package flags
-
-const protoLegacy = false
diff --git a/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go b/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go
deleted file mode 100644
index 6d8d9bd6..00000000
--- a/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build protolegacy
-// +build protolegacy
-
-package flags
-
-const protoLegacy = true
diff --git a/vendor/google.golang.org/protobuf/internal/genid/any_gen.go b/vendor/google.golang.org/protobuf/internal/genid/any_gen.go
deleted file mode 100644
index e6f7d47a..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/any_gen.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_any_proto = "google/protobuf/any.proto"
-
-// Names for google.protobuf.Any.
-const (
- Any_message_name protoreflect.Name = "Any"
- Any_message_fullname protoreflect.FullName = "google.protobuf.Any"
-)
-
-// Field names for google.protobuf.Any.
-const (
- Any_TypeUrl_field_name protoreflect.Name = "type_url"
- Any_Value_field_name protoreflect.Name = "value"
-
- Any_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Any.type_url"
- Any_Value_field_fullname protoreflect.FullName = "google.protobuf.Any.value"
-)
-
-// Field numbers for google.protobuf.Any.
-const (
- Any_TypeUrl_field_number protoreflect.FieldNumber = 1
- Any_Value_field_number protoreflect.FieldNumber = 2
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/api_gen.go b/vendor/google.golang.org/protobuf/internal/genid/api_gen.go
deleted file mode 100644
index df8f9185..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/api_gen.go
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_api_proto = "google/protobuf/api.proto"
-
-// Names for google.protobuf.Api.
-const (
- Api_message_name protoreflect.Name = "Api"
- Api_message_fullname protoreflect.FullName = "google.protobuf.Api"
-)
-
-// Field names for google.protobuf.Api.
-const (
- Api_Name_field_name protoreflect.Name = "name"
- Api_Methods_field_name protoreflect.Name = "methods"
- Api_Options_field_name protoreflect.Name = "options"
- Api_Version_field_name protoreflect.Name = "version"
- Api_SourceContext_field_name protoreflect.Name = "source_context"
- Api_Mixins_field_name protoreflect.Name = "mixins"
- Api_Syntax_field_name protoreflect.Name = "syntax"
-
- Api_Name_field_fullname protoreflect.FullName = "google.protobuf.Api.name"
- Api_Methods_field_fullname protoreflect.FullName = "google.protobuf.Api.methods"
- Api_Options_field_fullname protoreflect.FullName = "google.protobuf.Api.options"
- Api_Version_field_fullname protoreflect.FullName = "google.protobuf.Api.version"
- Api_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Api.source_context"
- Api_Mixins_field_fullname protoreflect.FullName = "google.protobuf.Api.mixins"
- Api_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Api.syntax"
-)
-
-// Field numbers for google.protobuf.Api.
-const (
- Api_Name_field_number protoreflect.FieldNumber = 1
- Api_Methods_field_number protoreflect.FieldNumber = 2
- Api_Options_field_number protoreflect.FieldNumber = 3
- Api_Version_field_number protoreflect.FieldNumber = 4
- Api_SourceContext_field_number protoreflect.FieldNumber = 5
- Api_Mixins_field_number protoreflect.FieldNumber = 6
- Api_Syntax_field_number protoreflect.FieldNumber = 7
-)
-
-// Names for google.protobuf.Method.
-const (
- Method_message_name protoreflect.Name = "Method"
- Method_message_fullname protoreflect.FullName = "google.protobuf.Method"
-)
-
-// Field names for google.protobuf.Method.
-const (
- Method_Name_field_name protoreflect.Name = "name"
- Method_RequestTypeUrl_field_name protoreflect.Name = "request_type_url"
- Method_RequestStreaming_field_name protoreflect.Name = "request_streaming"
- Method_ResponseTypeUrl_field_name protoreflect.Name = "response_type_url"
- Method_ResponseStreaming_field_name protoreflect.Name = "response_streaming"
- Method_Options_field_name protoreflect.Name = "options"
- Method_Syntax_field_name protoreflect.Name = "syntax"
-
- Method_Name_field_fullname protoreflect.FullName = "google.protobuf.Method.name"
- Method_RequestTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.request_type_url"
- Method_RequestStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.request_streaming"
- Method_ResponseTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.response_type_url"
- Method_ResponseStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.response_streaming"
- Method_Options_field_fullname protoreflect.FullName = "google.protobuf.Method.options"
- Method_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Method.syntax"
-)
-
-// Field numbers for google.protobuf.Method.
-const (
- Method_Name_field_number protoreflect.FieldNumber = 1
- Method_RequestTypeUrl_field_number protoreflect.FieldNumber = 2
- Method_RequestStreaming_field_number protoreflect.FieldNumber = 3
- Method_ResponseTypeUrl_field_number protoreflect.FieldNumber = 4
- Method_ResponseStreaming_field_number protoreflect.FieldNumber = 5
- Method_Options_field_number protoreflect.FieldNumber = 6
- Method_Syntax_field_number protoreflect.FieldNumber = 7
-)
-
-// Names for google.protobuf.Mixin.
-const (
- Mixin_message_name protoreflect.Name = "Mixin"
- Mixin_message_fullname protoreflect.FullName = "google.protobuf.Mixin"
-)
-
-// Field names for google.protobuf.Mixin.
-const (
- Mixin_Name_field_name protoreflect.Name = "name"
- Mixin_Root_field_name protoreflect.Name = "root"
-
- Mixin_Name_field_fullname protoreflect.FullName = "google.protobuf.Mixin.name"
- Mixin_Root_field_fullname protoreflect.FullName = "google.protobuf.Mixin.root"
-)
-
-// Field numbers for google.protobuf.Mixin.
-const (
- Mixin_Name_field_number protoreflect.FieldNumber = 1
- Mixin_Root_field_number protoreflect.FieldNumber = 2
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
deleted file mode 100644
index 40272c89..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
+++ /dev/null
@@ -1,1233 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_descriptor_proto = "google/protobuf/descriptor.proto"
-
-// Full and short names for google.protobuf.Edition.
-const (
- Edition_enum_fullname = "google.protobuf.Edition"
- Edition_enum_name = "Edition"
-)
-
-// Enum values for google.protobuf.Edition.
-const (
- Edition_EDITION_UNKNOWN_enum_value = 0
- Edition_EDITION_PROTO2_enum_value = 998
- Edition_EDITION_PROTO3_enum_value = 999
- Edition_EDITION_2023_enum_value = 1000
- Edition_EDITION_2024_enum_value = 1001
- Edition_EDITION_1_TEST_ONLY_enum_value = 1
- Edition_EDITION_2_TEST_ONLY_enum_value = 2
- Edition_EDITION_99997_TEST_ONLY_enum_value = 99997
- Edition_EDITION_99998_TEST_ONLY_enum_value = 99998
- Edition_EDITION_99999_TEST_ONLY_enum_value = 99999
- Edition_EDITION_MAX_enum_value = 2147483647
-)
-
-// Names for google.protobuf.FileDescriptorSet.
-const (
- FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
- FileDescriptorSet_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet"
-)
-
-// Field names for google.protobuf.FileDescriptorSet.
-const (
- FileDescriptorSet_File_field_name protoreflect.Name = "file"
-
- FileDescriptorSet_File_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet.file"
-)
-
-// Field numbers for google.protobuf.FileDescriptorSet.
-const (
- FileDescriptorSet_File_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.FileDescriptorProto.
-const (
- FileDescriptorProto_message_name protoreflect.Name = "FileDescriptorProto"
- FileDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto"
-)
-
-// Field names for google.protobuf.FileDescriptorProto.
-const (
- FileDescriptorProto_Name_field_name protoreflect.Name = "name"
- FileDescriptorProto_Package_field_name protoreflect.Name = "package"
- FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency"
- FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency"
- FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency"
- FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type"
- FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type"
- FileDescriptorProto_Service_field_name protoreflect.Name = "service"
- FileDescriptorProto_Extension_field_name protoreflect.Name = "extension"
- FileDescriptorProto_Options_field_name protoreflect.Name = "options"
- FileDescriptorProto_SourceCodeInfo_field_name protoreflect.Name = "source_code_info"
- FileDescriptorProto_Syntax_field_name protoreflect.Name = "syntax"
- FileDescriptorProto_Edition_field_name protoreflect.Name = "edition"
-
- FileDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.name"
- FileDescriptorProto_Package_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.package"
- FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency"
- FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency"
- FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency"
- FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type"
- FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type"
- FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service"
- FileDescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.extension"
- FileDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.options"
- FileDescriptorProto_SourceCodeInfo_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.source_code_info"
- FileDescriptorProto_Syntax_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.syntax"
- FileDescriptorProto_Edition_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.edition"
-)
-
-// Field numbers for google.protobuf.FileDescriptorProto.
-const (
- FileDescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- FileDescriptorProto_Package_field_number protoreflect.FieldNumber = 2
- FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3
- FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10
- FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11
- FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4
- FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5
- FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6
- FileDescriptorProto_Extension_field_number protoreflect.FieldNumber = 7
- FileDescriptorProto_Options_field_number protoreflect.FieldNumber = 8
- FileDescriptorProto_SourceCodeInfo_field_number protoreflect.FieldNumber = 9
- FileDescriptorProto_Syntax_field_number protoreflect.FieldNumber = 12
- FileDescriptorProto_Edition_field_number protoreflect.FieldNumber = 14
-)
-
-// Names for google.protobuf.DescriptorProto.
-const (
- DescriptorProto_message_name protoreflect.Name = "DescriptorProto"
- DescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto"
-)
-
-// Field names for google.protobuf.DescriptorProto.
-const (
- DescriptorProto_Name_field_name protoreflect.Name = "name"
- DescriptorProto_Field_field_name protoreflect.Name = "field"
- DescriptorProto_Extension_field_name protoreflect.Name = "extension"
- DescriptorProto_NestedType_field_name protoreflect.Name = "nested_type"
- DescriptorProto_EnumType_field_name protoreflect.Name = "enum_type"
- DescriptorProto_ExtensionRange_field_name protoreflect.Name = "extension_range"
- DescriptorProto_OneofDecl_field_name protoreflect.Name = "oneof_decl"
- DescriptorProto_Options_field_name protoreflect.Name = "options"
- DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
- DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
-
- DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name"
- DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field"
- DescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension"
- DescriptorProto_NestedType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.nested_type"
- DescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.enum_type"
- DescriptorProto_ExtensionRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension_range"
- DescriptorProto_OneofDecl_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.oneof_decl"
- DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options"
- DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range"
- DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name"
-)
-
-// Field numbers for google.protobuf.DescriptorProto.
-const (
- DescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- DescriptorProto_Field_field_number protoreflect.FieldNumber = 2
- DescriptorProto_Extension_field_number protoreflect.FieldNumber = 6
- DescriptorProto_NestedType_field_number protoreflect.FieldNumber = 3
- DescriptorProto_EnumType_field_number protoreflect.FieldNumber = 4
- DescriptorProto_ExtensionRange_field_number protoreflect.FieldNumber = 5
- DescriptorProto_OneofDecl_field_number protoreflect.FieldNumber = 8
- DescriptorProto_Options_field_number protoreflect.FieldNumber = 7
- DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9
- DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10
-)
-
-// Names for google.protobuf.DescriptorProto.ExtensionRange.
-const (
- DescriptorProto_ExtensionRange_message_name protoreflect.Name = "ExtensionRange"
- DescriptorProto_ExtensionRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange"
-)
-
-// Field names for google.protobuf.DescriptorProto.ExtensionRange.
-const (
- DescriptorProto_ExtensionRange_Start_field_name protoreflect.Name = "start"
- DescriptorProto_ExtensionRange_End_field_name protoreflect.Name = "end"
- DescriptorProto_ExtensionRange_Options_field_name protoreflect.Name = "options"
-
- DescriptorProto_ExtensionRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.start"
- DescriptorProto_ExtensionRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.end"
- DescriptorProto_ExtensionRange_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.options"
-)
-
-// Field numbers for google.protobuf.DescriptorProto.ExtensionRange.
-const (
- DescriptorProto_ExtensionRange_Start_field_number protoreflect.FieldNumber = 1
- DescriptorProto_ExtensionRange_End_field_number protoreflect.FieldNumber = 2
- DescriptorProto_ExtensionRange_Options_field_number protoreflect.FieldNumber = 3
-)
-
-// Names for google.protobuf.DescriptorProto.ReservedRange.
-const (
- DescriptorProto_ReservedRange_message_name protoreflect.Name = "ReservedRange"
- DescriptorProto_ReservedRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange"
-)
-
-// Field names for google.protobuf.DescriptorProto.ReservedRange.
-const (
- DescriptorProto_ReservedRange_Start_field_name protoreflect.Name = "start"
- DescriptorProto_ReservedRange_End_field_name protoreflect.Name = "end"
-
- DescriptorProto_ReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.start"
- DescriptorProto_ReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.end"
-)
-
-// Field numbers for google.protobuf.DescriptorProto.ReservedRange.
-const (
- DescriptorProto_ReservedRange_Start_field_number protoreflect.FieldNumber = 1
- DescriptorProto_ReservedRange_End_field_number protoreflect.FieldNumber = 2
-)
-
-// Names for google.protobuf.ExtensionRangeOptions.
-const (
- ExtensionRangeOptions_message_name protoreflect.Name = "ExtensionRangeOptions"
- ExtensionRangeOptions_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions"
-)
-
-// Field names for google.protobuf.ExtensionRangeOptions.
-const (
- ExtensionRangeOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
- ExtensionRangeOptions_Declaration_field_name protoreflect.Name = "declaration"
- ExtensionRangeOptions_Features_field_name protoreflect.Name = "features"
- ExtensionRangeOptions_Verification_field_name protoreflect.Name = "verification"
-
- ExtensionRangeOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.uninterpreted_option"
- ExtensionRangeOptions_Declaration_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.declaration"
- ExtensionRangeOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.features"
- ExtensionRangeOptions_Verification_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.verification"
-)
-
-// Field numbers for google.protobuf.ExtensionRangeOptions.
-const (
- ExtensionRangeOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
- ExtensionRangeOptions_Declaration_field_number protoreflect.FieldNumber = 2
- ExtensionRangeOptions_Features_field_number protoreflect.FieldNumber = 50
- ExtensionRangeOptions_Verification_field_number protoreflect.FieldNumber = 3
-)
-
-// Full and short names for google.protobuf.ExtensionRangeOptions.VerificationState.
-const (
- ExtensionRangeOptions_VerificationState_enum_fullname = "google.protobuf.ExtensionRangeOptions.VerificationState"
- ExtensionRangeOptions_VerificationState_enum_name = "VerificationState"
-)
-
-// Enum values for google.protobuf.ExtensionRangeOptions.VerificationState.
-const (
- ExtensionRangeOptions_DECLARATION_enum_value = 0
- ExtensionRangeOptions_UNVERIFIED_enum_value = 1
-)
-
-// Names for google.protobuf.ExtensionRangeOptions.Declaration.
-const (
- ExtensionRangeOptions_Declaration_message_name protoreflect.Name = "Declaration"
- ExtensionRangeOptions_Declaration_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration"
-)
-
-// Field names for google.protobuf.ExtensionRangeOptions.Declaration.
-const (
- ExtensionRangeOptions_Declaration_Number_field_name protoreflect.Name = "number"
- ExtensionRangeOptions_Declaration_FullName_field_name protoreflect.Name = "full_name"
- ExtensionRangeOptions_Declaration_Type_field_name protoreflect.Name = "type"
- ExtensionRangeOptions_Declaration_Reserved_field_name protoreflect.Name = "reserved"
- ExtensionRangeOptions_Declaration_Repeated_field_name protoreflect.Name = "repeated"
-
- ExtensionRangeOptions_Declaration_Number_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.number"
- ExtensionRangeOptions_Declaration_FullName_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.full_name"
- ExtensionRangeOptions_Declaration_Type_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.type"
- ExtensionRangeOptions_Declaration_Reserved_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.reserved"
- ExtensionRangeOptions_Declaration_Repeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.repeated"
-)
-
-// Field numbers for google.protobuf.ExtensionRangeOptions.Declaration.
-const (
- ExtensionRangeOptions_Declaration_Number_field_number protoreflect.FieldNumber = 1
- ExtensionRangeOptions_Declaration_FullName_field_number protoreflect.FieldNumber = 2
- ExtensionRangeOptions_Declaration_Type_field_number protoreflect.FieldNumber = 3
- ExtensionRangeOptions_Declaration_Reserved_field_number protoreflect.FieldNumber = 5
- ExtensionRangeOptions_Declaration_Repeated_field_number protoreflect.FieldNumber = 6
-)
-
-// Names for google.protobuf.FieldDescriptorProto.
-const (
- FieldDescriptorProto_message_name protoreflect.Name = "FieldDescriptorProto"
- FieldDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto"
-)
-
-// Field names for google.protobuf.FieldDescriptorProto.
-const (
- FieldDescriptorProto_Name_field_name protoreflect.Name = "name"
- FieldDescriptorProto_Number_field_name protoreflect.Name = "number"
- FieldDescriptorProto_Label_field_name protoreflect.Name = "label"
- FieldDescriptorProto_Type_field_name protoreflect.Name = "type"
- FieldDescriptorProto_TypeName_field_name protoreflect.Name = "type_name"
- FieldDescriptorProto_Extendee_field_name protoreflect.Name = "extendee"
- FieldDescriptorProto_DefaultValue_field_name protoreflect.Name = "default_value"
- FieldDescriptorProto_OneofIndex_field_name protoreflect.Name = "oneof_index"
- FieldDescriptorProto_JsonName_field_name protoreflect.Name = "json_name"
- FieldDescriptorProto_Options_field_name protoreflect.Name = "options"
- FieldDescriptorProto_Proto3Optional_field_name protoreflect.Name = "proto3_optional"
-
- FieldDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.name"
- FieldDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.number"
- FieldDescriptorProto_Label_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.label"
- FieldDescriptorProto_Type_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type"
- FieldDescriptorProto_TypeName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type_name"
- FieldDescriptorProto_Extendee_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.extendee"
- FieldDescriptorProto_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.default_value"
- FieldDescriptorProto_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.oneof_index"
- FieldDescriptorProto_JsonName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.json_name"
- FieldDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.options"
- FieldDescriptorProto_Proto3Optional_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.proto3_optional"
-)
-
-// Field numbers for google.protobuf.FieldDescriptorProto.
-const (
- FieldDescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- FieldDescriptorProto_Number_field_number protoreflect.FieldNumber = 3
- FieldDescriptorProto_Label_field_number protoreflect.FieldNumber = 4
- FieldDescriptorProto_Type_field_number protoreflect.FieldNumber = 5
- FieldDescriptorProto_TypeName_field_number protoreflect.FieldNumber = 6
- FieldDescriptorProto_Extendee_field_number protoreflect.FieldNumber = 2
- FieldDescriptorProto_DefaultValue_field_number protoreflect.FieldNumber = 7
- FieldDescriptorProto_OneofIndex_field_number protoreflect.FieldNumber = 9
- FieldDescriptorProto_JsonName_field_number protoreflect.FieldNumber = 10
- FieldDescriptorProto_Options_field_number protoreflect.FieldNumber = 8
- FieldDescriptorProto_Proto3Optional_field_number protoreflect.FieldNumber = 17
-)
-
-// Full and short names for google.protobuf.FieldDescriptorProto.Type.
-const (
- FieldDescriptorProto_Type_enum_fullname = "google.protobuf.FieldDescriptorProto.Type"
- FieldDescriptorProto_Type_enum_name = "Type"
-)
-
-// Enum values for google.protobuf.FieldDescriptorProto.Type.
-const (
- FieldDescriptorProto_TYPE_DOUBLE_enum_value = 1
- FieldDescriptorProto_TYPE_FLOAT_enum_value = 2
- FieldDescriptorProto_TYPE_INT64_enum_value = 3
- FieldDescriptorProto_TYPE_UINT64_enum_value = 4
- FieldDescriptorProto_TYPE_INT32_enum_value = 5
- FieldDescriptorProto_TYPE_FIXED64_enum_value = 6
- FieldDescriptorProto_TYPE_FIXED32_enum_value = 7
- FieldDescriptorProto_TYPE_BOOL_enum_value = 8
- FieldDescriptorProto_TYPE_STRING_enum_value = 9
- FieldDescriptorProto_TYPE_GROUP_enum_value = 10
- FieldDescriptorProto_TYPE_MESSAGE_enum_value = 11
- FieldDescriptorProto_TYPE_BYTES_enum_value = 12
- FieldDescriptorProto_TYPE_UINT32_enum_value = 13
- FieldDescriptorProto_TYPE_ENUM_enum_value = 14
- FieldDescriptorProto_TYPE_SFIXED32_enum_value = 15
- FieldDescriptorProto_TYPE_SFIXED64_enum_value = 16
- FieldDescriptorProto_TYPE_SINT32_enum_value = 17
- FieldDescriptorProto_TYPE_SINT64_enum_value = 18
-)
-
-// Full and short names for google.protobuf.FieldDescriptorProto.Label.
-const (
- FieldDescriptorProto_Label_enum_fullname = "google.protobuf.FieldDescriptorProto.Label"
- FieldDescriptorProto_Label_enum_name = "Label"
-)
-
-// Enum values for google.protobuf.FieldDescriptorProto.Label.
-const (
- FieldDescriptorProto_LABEL_OPTIONAL_enum_value = 1
- FieldDescriptorProto_LABEL_REPEATED_enum_value = 3
- FieldDescriptorProto_LABEL_REQUIRED_enum_value = 2
-)
-
-// Names for google.protobuf.OneofDescriptorProto.
-const (
- OneofDescriptorProto_message_name protoreflect.Name = "OneofDescriptorProto"
- OneofDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto"
-)
-
-// Field names for google.protobuf.OneofDescriptorProto.
-const (
- OneofDescriptorProto_Name_field_name protoreflect.Name = "name"
- OneofDescriptorProto_Options_field_name protoreflect.Name = "options"
-
- OneofDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.name"
- OneofDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.options"
-)
-
-// Field numbers for google.protobuf.OneofDescriptorProto.
-const (
- OneofDescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- OneofDescriptorProto_Options_field_number protoreflect.FieldNumber = 2
-)
-
-// Names for google.protobuf.EnumDescriptorProto.
-const (
- EnumDescriptorProto_message_name protoreflect.Name = "EnumDescriptorProto"
- EnumDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto"
-)
-
-// Field names for google.protobuf.EnumDescriptorProto.
-const (
- EnumDescriptorProto_Name_field_name protoreflect.Name = "name"
- EnumDescriptorProto_Value_field_name protoreflect.Name = "value"
- EnumDescriptorProto_Options_field_name protoreflect.Name = "options"
- EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
- EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
-
- EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name"
- EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value"
- EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options"
- EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range"
- EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name"
-)
-
-// Field numbers for google.protobuf.EnumDescriptorProto.
-const (
- EnumDescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- EnumDescriptorProto_Value_field_number protoreflect.FieldNumber = 2
- EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
- EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4
- EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5
-)
-
-// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
-const (
- EnumDescriptorProto_EnumReservedRange_message_name protoreflect.Name = "EnumReservedRange"
- EnumDescriptorProto_EnumReservedRange_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange"
-)
-
-// Field names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
-const (
- EnumDescriptorProto_EnumReservedRange_Start_field_name protoreflect.Name = "start"
- EnumDescriptorProto_EnumReservedRange_End_field_name protoreflect.Name = "end"
-
- EnumDescriptorProto_EnumReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.start"
- EnumDescriptorProto_EnumReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.end"
-)
-
-// Field numbers for google.protobuf.EnumDescriptorProto.EnumReservedRange.
-const (
- EnumDescriptorProto_EnumReservedRange_Start_field_number protoreflect.FieldNumber = 1
- EnumDescriptorProto_EnumReservedRange_End_field_number protoreflect.FieldNumber = 2
-)
-
-// Names for google.protobuf.EnumValueDescriptorProto.
-const (
- EnumValueDescriptorProto_message_name protoreflect.Name = "EnumValueDescriptorProto"
- EnumValueDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto"
-)
-
-// Field names for google.protobuf.EnumValueDescriptorProto.
-const (
- EnumValueDescriptorProto_Name_field_name protoreflect.Name = "name"
- EnumValueDescriptorProto_Number_field_name protoreflect.Name = "number"
- EnumValueDescriptorProto_Options_field_name protoreflect.Name = "options"
-
- EnumValueDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.name"
- EnumValueDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.number"
- EnumValueDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.options"
-)
-
-// Field numbers for google.protobuf.EnumValueDescriptorProto.
-const (
- EnumValueDescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- EnumValueDescriptorProto_Number_field_number protoreflect.FieldNumber = 2
- EnumValueDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
-)
-
-// Names for google.protobuf.ServiceDescriptorProto.
-const (
- ServiceDescriptorProto_message_name protoreflect.Name = "ServiceDescriptorProto"
- ServiceDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto"
-)
-
-// Field names for google.protobuf.ServiceDescriptorProto.
-const (
- ServiceDescriptorProto_Name_field_name protoreflect.Name = "name"
- ServiceDescriptorProto_Method_field_name protoreflect.Name = "method"
- ServiceDescriptorProto_Options_field_name protoreflect.Name = "options"
-
- ServiceDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.name"
- ServiceDescriptorProto_Method_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.method"
- ServiceDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.options"
-)
-
-// Field numbers for google.protobuf.ServiceDescriptorProto.
-const (
- ServiceDescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- ServiceDescriptorProto_Method_field_number protoreflect.FieldNumber = 2
- ServiceDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
-)
-
-// Names for google.protobuf.MethodDescriptorProto.
-const (
- MethodDescriptorProto_message_name protoreflect.Name = "MethodDescriptorProto"
- MethodDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto"
-)
-
-// Field names for google.protobuf.MethodDescriptorProto.
-const (
- MethodDescriptorProto_Name_field_name protoreflect.Name = "name"
- MethodDescriptorProto_InputType_field_name protoreflect.Name = "input_type"
- MethodDescriptorProto_OutputType_field_name protoreflect.Name = "output_type"
- MethodDescriptorProto_Options_field_name protoreflect.Name = "options"
- MethodDescriptorProto_ClientStreaming_field_name protoreflect.Name = "client_streaming"
- MethodDescriptorProto_ServerStreaming_field_name protoreflect.Name = "server_streaming"
-
- MethodDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.name"
- MethodDescriptorProto_InputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.input_type"
- MethodDescriptorProto_OutputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.output_type"
- MethodDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.options"
- MethodDescriptorProto_ClientStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.client_streaming"
- MethodDescriptorProto_ServerStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.server_streaming"
-)
-
-// Field numbers for google.protobuf.MethodDescriptorProto.
-const (
- MethodDescriptorProto_Name_field_number protoreflect.FieldNumber = 1
- MethodDescriptorProto_InputType_field_number protoreflect.FieldNumber = 2
- MethodDescriptorProto_OutputType_field_number protoreflect.FieldNumber = 3
- MethodDescriptorProto_Options_field_number protoreflect.FieldNumber = 4
- MethodDescriptorProto_ClientStreaming_field_number protoreflect.FieldNumber = 5
- MethodDescriptorProto_ServerStreaming_field_number protoreflect.FieldNumber = 6
-)
-
-// Names for google.protobuf.FileOptions.
-const (
- FileOptions_message_name protoreflect.Name = "FileOptions"
- FileOptions_message_fullname protoreflect.FullName = "google.protobuf.FileOptions"
-)
-
-// Field names for google.protobuf.FileOptions.
-const (
- FileOptions_JavaPackage_field_name protoreflect.Name = "java_package"
- FileOptions_JavaOuterClassname_field_name protoreflect.Name = "java_outer_classname"
- FileOptions_JavaMultipleFiles_field_name protoreflect.Name = "java_multiple_files"
- FileOptions_JavaGenerateEqualsAndHash_field_name protoreflect.Name = "java_generate_equals_and_hash"
- FileOptions_JavaStringCheckUtf8_field_name protoreflect.Name = "java_string_check_utf8"
- FileOptions_OptimizeFor_field_name protoreflect.Name = "optimize_for"
- FileOptions_GoPackage_field_name protoreflect.Name = "go_package"
- FileOptions_CcGenericServices_field_name protoreflect.Name = "cc_generic_services"
- FileOptions_JavaGenericServices_field_name protoreflect.Name = "java_generic_services"
- FileOptions_PyGenericServices_field_name protoreflect.Name = "py_generic_services"
- FileOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- FileOptions_CcEnableArenas_field_name protoreflect.Name = "cc_enable_arenas"
- FileOptions_ObjcClassPrefix_field_name protoreflect.Name = "objc_class_prefix"
- FileOptions_CsharpNamespace_field_name protoreflect.Name = "csharp_namespace"
- FileOptions_SwiftPrefix_field_name protoreflect.Name = "swift_prefix"
- FileOptions_PhpClassPrefix_field_name protoreflect.Name = "php_class_prefix"
- FileOptions_PhpNamespace_field_name protoreflect.Name = "php_namespace"
- FileOptions_PhpMetadataNamespace_field_name protoreflect.Name = "php_metadata_namespace"
- FileOptions_RubyPackage_field_name protoreflect.Name = "ruby_package"
- FileOptions_Features_field_name protoreflect.Name = "features"
- FileOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- FileOptions_JavaPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_package"
- FileOptions_JavaOuterClassname_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_outer_classname"
- FileOptions_JavaMultipleFiles_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_multiple_files"
- FileOptions_JavaGenerateEqualsAndHash_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generate_equals_and_hash"
- FileOptions_JavaStringCheckUtf8_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_string_check_utf8"
- FileOptions_OptimizeFor_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.optimize_for"
- FileOptions_GoPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.go_package"
- FileOptions_CcGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_generic_services"
- FileOptions_JavaGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generic_services"
- FileOptions_PyGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.py_generic_services"
- FileOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.deprecated"
- FileOptions_CcEnableArenas_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_enable_arenas"
- FileOptions_ObjcClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.objc_class_prefix"
- FileOptions_CsharpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.csharp_namespace"
- FileOptions_SwiftPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.swift_prefix"
- FileOptions_PhpClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_class_prefix"
- FileOptions_PhpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_namespace"
- FileOptions_PhpMetadataNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_metadata_namespace"
- FileOptions_RubyPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.ruby_package"
- FileOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.features"
- FileOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.FileOptions.
-const (
- FileOptions_JavaPackage_field_number protoreflect.FieldNumber = 1
- FileOptions_JavaOuterClassname_field_number protoreflect.FieldNumber = 8
- FileOptions_JavaMultipleFiles_field_number protoreflect.FieldNumber = 10
- FileOptions_JavaGenerateEqualsAndHash_field_number protoreflect.FieldNumber = 20
- FileOptions_JavaStringCheckUtf8_field_number protoreflect.FieldNumber = 27
- FileOptions_OptimizeFor_field_number protoreflect.FieldNumber = 9
- FileOptions_GoPackage_field_number protoreflect.FieldNumber = 11
- FileOptions_CcGenericServices_field_number protoreflect.FieldNumber = 16
- FileOptions_JavaGenericServices_field_number protoreflect.FieldNumber = 17
- FileOptions_PyGenericServices_field_number protoreflect.FieldNumber = 18
- FileOptions_Deprecated_field_number protoreflect.FieldNumber = 23
- FileOptions_CcEnableArenas_field_number protoreflect.FieldNumber = 31
- FileOptions_ObjcClassPrefix_field_number protoreflect.FieldNumber = 36
- FileOptions_CsharpNamespace_field_number protoreflect.FieldNumber = 37
- FileOptions_SwiftPrefix_field_number protoreflect.FieldNumber = 39
- FileOptions_PhpClassPrefix_field_number protoreflect.FieldNumber = 40
- FileOptions_PhpNamespace_field_number protoreflect.FieldNumber = 41
- FileOptions_PhpMetadataNamespace_field_number protoreflect.FieldNumber = 44
- FileOptions_RubyPackage_field_number protoreflect.FieldNumber = 45
- FileOptions_Features_field_number protoreflect.FieldNumber = 50
- FileOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Full and short names for google.protobuf.FileOptions.OptimizeMode.
-const (
- FileOptions_OptimizeMode_enum_fullname = "google.protobuf.FileOptions.OptimizeMode"
- FileOptions_OptimizeMode_enum_name = "OptimizeMode"
-)
-
-// Enum values for google.protobuf.FileOptions.OptimizeMode.
-const (
- FileOptions_SPEED_enum_value = 1
- FileOptions_CODE_SIZE_enum_value = 2
- FileOptions_LITE_RUNTIME_enum_value = 3
-)
-
-// Names for google.protobuf.MessageOptions.
-const (
- MessageOptions_message_name protoreflect.Name = "MessageOptions"
- MessageOptions_message_fullname protoreflect.FullName = "google.protobuf.MessageOptions"
-)
-
-// Field names for google.protobuf.MessageOptions.
-const (
- MessageOptions_MessageSetWireFormat_field_name protoreflect.Name = "message_set_wire_format"
- MessageOptions_NoStandardDescriptorAccessor_field_name protoreflect.Name = "no_standard_descriptor_accessor"
- MessageOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- MessageOptions_MapEntry_field_name protoreflect.Name = "map_entry"
- MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
- MessageOptions_Features_field_name protoreflect.Name = "features"
- MessageOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- MessageOptions_MessageSetWireFormat_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format"
- MessageOptions_NoStandardDescriptorAccessor_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor"
- MessageOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated"
- MessageOptions_MapEntry_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.map_entry"
- MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts"
- MessageOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.features"
- MessageOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.MessageOptions.
-const (
- MessageOptions_MessageSetWireFormat_field_number protoreflect.FieldNumber = 1
- MessageOptions_NoStandardDescriptorAccessor_field_number protoreflect.FieldNumber = 2
- MessageOptions_Deprecated_field_number protoreflect.FieldNumber = 3
- MessageOptions_MapEntry_field_number protoreflect.FieldNumber = 7
- MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 11
- MessageOptions_Features_field_number protoreflect.FieldNumber = 12
- MessageOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Names for google.protobuf.FieldOptions.
-const (
- FieldOptions_message_name protoreflect.Name = "FieldOptions"
- FieldOptions_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions"
-)
-
-// Field names for google.protobuf.FieldOptions.
-const (
- FieldOptions_Ctype_field_name protoreflect.Name = "ctype"
- FieldOptions_Packed_field_name protoreflect.Name = "packed"
- FieldOptions_Jstype_field_name protoreflect.Name = "jstype"
- FieldOptions_Lazy_field_name protoreflect.Name = "lazy"
- FieldOptions_UnverifiedLazy_field_name protoreflect.Name = "unverified_lazy"
- FieldOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- FieldOptions_Weak_field_name protoreflect.Name = "weak"
- FieldOptions_DebugRedact_field_name protoreflect.Name = "debug_redact"
- FieldOptions_Retention_field_name protoreflect.Name = "retention"
- FieldOptions_Targets_field_name protoreflect.Name = "targets"
- FieldOptions_EditionDefaults_field_name protoreflect.Name = "edition_defaults"
- FieldOptions_Features_field_name protoreflect.Name = "features"
- FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- FieldOptions_Ctype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.ctype"
- FieldOptions_Packed_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.packed"
- FieldOptions_Jstype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.jstype"
- FieldOptions_Lazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.lazy"
- FieldOptions_UnverifiedLazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.unverified_lazy"
- FieldOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.deprecated"
- FieldOptions_Weak_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.weak"
- FieldOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.debug_redact"
- FieldOptions_Retention_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.retention"
- FieldOptions_Targets_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.targets"
- FieldOptions_EditionDefaults_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.edition_defaults"
- FieldOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.features"
- FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.FieldOptions.
-const (
- FieldOptions_Ctype_field_number protoreflect.FieldNumber = 1
- FieldOptions_Packed_field_number protoreflect.FieldNumber = 2
- FieldOptions_Jstype_field_number protoreflect.FieldNumber = 6
- FieldOptions_Lazy_field_number protoreflect.FieldNumber = 5
- FieldOptions_UnverifiedLazy_field_number protoreflect.FieldNumber = 15
- FieldOptions_Deprecated_field_number protoreflect.FieldNumber = 3
- FieldOptions_Weak_field_number protoreflect.FieldNumber = 10
- FieldOptions_DebugRedact_field_number protoreflect.FieldNumber = 16
- FieldOptions_Retention_field_number protoreflect.FieldNumber = 17
- FieldOptions_Targets_field_number protoreflect.FieldNumber = 19
- FieldOptions_EditionDefaults_field_number protoreflect.FieldNumber = 20
- FieldOptions_Features_field_number protoreflect.FieldNumber = 21
- FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Full and short names for google.protobuf.FieldOptions.CType.
-const (
- FieldOptions_CType_enum_fullname = "google.protobuf.FieldOptions.CType"
- FieldOptions_CType_enum_name = "CType"
-)
-
-// Enum values for google.protobuf.FieldOptions.CType.
-const (
- FieldOptions_STRING_enum_value = 0
- FieldOptions_CORD_enum_value = 1
- FieldOptions_STRING_PIECE_enum_value = 2
-)
-
-// Full and short names for google.protobuf.FieldOptions.JSType.
-const (
- FieldOptions_JSType_enum_fullname = "google.protobuf.FieldOptions.JSType"
- FieldOptions_JSType_enum_name = "JSType"
-)
-
-// Enum values for google.protobuf.FieldOptions.JSType.
-const (
- FieldOptions_JS_NORMAL_enum_value = 0
- FieldOptions_JS_STRING_enum_value = 1
- FieldOptions_JS_NUMBER_enum_value = 2
-)
-
-// Full and short names for google.protobuf.FieldOptions.OptionRetention.
-const (
- FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention"
- FieldOptions_OptionRetention_enum_name = "OptionRetention"
-)
-
-// Enum values for google.protobuf.FieldOptions.OptionRetention.
-const (
- FieldOptions_RETENTION_UNKNOWN_enum_value = 0
- FieldOptions_RETENTION_RUNTIME_enum_value = 1
- FieldOptions_RETENTION_SOURCE_enum_value = 2
-)
-
-// Full and short names for google.protobuf.FieldOptions.OptionTargetType.
-const (
- FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType"
- FieldOptions_OptionTargetType_enum_name = "OptionTargetType"
-)
-
-// Enum values for google.protobuf.FieldOptions.OptionTargetType.
-const (
- FieldOptions_TARGET_TYPE_UNKNOWN_enum_value = 0
- FieldOptions_TARGET_TYPE_FILE_enum_value = 1
- FieldOptions_TARGET_TYPE_EXTENSION_RANGE_enum_value = 2
- FieldOptions_TARGET_TYPE_MESSAGE_enum_value = 3
- FieldOptions_TARGET_TYPE_FIELD_enum_value = 4
- FieldOptions_TARGET_TYPE_ONEOF_enum_value = 5
- FieldOptions_TARGET_TYPE_ENUM_enum_value = 6
- FieldOptions_TARGET_TYPE_ENUM_ENTRY_enum_value = 7
- FieldOptions_TARGET_TYPE_SERVICE_enum_value = 8
- FieldOptions_TARGET_TYPE_METHOD_enum_value = 9
-)
-
-// Names for google.protobuf.FieldOptions.EditionDefault.
-const (
- FieldOptions_EditionDefault_message_name protoreflect.Name = "EditionDefault"
- FieldOptions_EditionDefault_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault"
-)
-
-// Field names for google.protobuf.FieldOptions.EditionDefault.
-const (
- FieldOptions_EditionDefault_Edition_field_name protoreflect.Name = "edition"
- FieldOptions_EditionDefault_Value_field_name protoreflect.Name = "value"
-
- FieldOptions_EditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault.edition"
- FieldOptions_EditionDefault_Value_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault.value"
-)
-
-// Field numbers for google.protobuf.FieldOptions.EditionDefault.
-const (
- FieldOptions_EditionDefault_Edition_field_number protoreflect.FieldNumber = 3
- FieldOptions_EditionDefault_Value_field_number protoreflect.FieldNumber = 2
-)
-
-// Names for google.protobuf.OneofOptions.
-const (
- OneofOptions_message_name protoreflect.Name = "OneofOptions"
- OneofOptions_message_fullname protoreflect.FullName = "google.protobuf.OneofOptions"
-)
-
-// Field names for google.protobuf.OneofOptions.
-const (
- OneofOptions_Features_field_name protoreflect.Name = "features"
- OneofOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- OneofOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.features"
- OneofOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.OneofOptions.
-const (
- OneofOptions_Features_field_number protoreflect.FieldNumber = 1
- OneofOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Names for google.protobuf.EnumOptions.
-const (
- EnumOptions_message_name protoreflect.Name = "EnumOptions"
- EnumOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumOptions"
-)
-
-// Field names for google.protobuf.EnumOptions.
-const (
- EnumOptions_AllowAlias_field_name protoreflect.Name = "allow_alias"
- EnumOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
- EnumOptions_Features_field_name protoreflect.Name = "features"
- EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- EnumOptions_AllowAlias_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias"
- EnumOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated"
- EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts"
- EnumOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.features"
- EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.EnumOptions.
-const (
- EnumOptions_AllowAlias_field_number protoreflect.FieldNumber = 2
- EnumOptions_Deprecated_field_number protoreflect.FieldNumber = 3
- EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 6
- EnumOptions_Features_field_number protoreflect.FieldNumber = 7
- EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Names for google.protobuf.EnumValueOptions.
-const (
- EnumValueOptions_message_name protoreflect.Name = "EnumValueOptions"
- EnumValueOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions"
-)
-
-// Field names for google.protobuf.EnumValueOptions.
-const (
- EnumValueOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- EnumValueOptions_Features_field_name protoreflect.Name = "features"
- EnumValueOptions_DebugRedact_field_name protoreflect.Name = "debug_redact"
- EnumValueOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- EnumValueOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.deprecated"
- EnumValueOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.features"
- EnumValueOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.debug_redact"
- EnumValueOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.EnumValueOptions.
-const (
- EnumValueOptions_Deprecated_field_number protoreflect.FieldNumber = 1
- EnumValueOptions_Features_field_number protoreflect.FieldNumber = 2
- EnumValueOptions_DebugRedact_field_number protoreflect.FieldNumber = 3
- EnumValueOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Names for google.protobuf.ServiceOptions.
-const (
- ServiceOptions_message_name protoreflect.Name = "ServiceOptions"
- ServiceOptions_message_fullname protoreflect.FullName = "google.protobuf.ServiceOptions"
-)
-
-// Field names for google.protobuf.ServiceOptions.
-const (
- ServiceOptions_Features_field_name protoreflect.Name = "features"
- ServiceOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- ServiceOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- ServiceOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.features"
- ServiceOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.deprecated"
- ServiceOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.ServiceOptions.
-const (
- ServiceOptions_Features_field_number protoreflect.FieldNumber = 34
- ServiceOptions_Deprecated_field_number protoreflect.FieldNumber = 33
- ServiceOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Names for google.protobuf.MethodOptions.
-const (
- MethodOptions_message_name protoreflect.Name = "MethodOptions"
- MethodOptions_message_fullname protoreflect.FullName = "google.protobuf.MethodOptions"
-)
-
-// Field names for google.protobuf.MethodOptions.
-const (
- MethodOptions_Deprecated_field_name protoreflect.Name = "deprecated"
- MethodOptions_IdempotencyLevel_field_name protoreflect.Name = "idempotency_level"
- MethodOptions_Features_field_name protoreflect.Name = "features"
- MethodOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
-
- MethodOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.deprecated"
- MethodOptions_IdempotencyLevel_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.idempotency_level"
- MethodOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.features"
- MethodOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.uninterpreted_option"
-)
-
-// Field numbers for google.protobuf.MethodOptions.
-const (
- MethodOptions_Deprecated_field_number protoreflect.FieldNumber = 33
- MethodOptions_IdempotencyLevel_field_number protoreflect.FieldNumber = 34
- MethodOptions_Features_field_number protoreflect.FieldNumber = 35
- MethodOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
-)
-
-// Full and short names for google.protobuf.MethodOptions.IdempotencyLevel.
-const (
- MethodOptions_IdempotencyLevel_enum_fullname = "google.protobuf.MethodOptions.IdempotencyLevel"
- MethodOptions_IdempotencyLevel_enum_name = "IdempotencyLevel"
-)
-
-// Enum values for google.protobuf.MethodOptions.IdempotencyLevel.
-const (
- MethodOptions_IDEMPOTENCY_UNKNOWN_enum_value = 0
- MethodOptions_NO_SIDE_EFFECTS_enum_value = 1
- MethodOptions_IDEMPOTENT_enum_value = 2
-)
-
-// Names for google.protobuf.UninterpretedOption.
-const (
- UninterpretedOption_message_name protoreflect.Name = "UninterpretedOption"
- UninterpretedOption_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption"
-)
-
-// Field names for google.protobuf.UninterpretedOption.
-const (
- UninterpretedOption_Name_field_name protoreflect.Name = "name"
- UninterpretedOption_IdentifierValue_field_name protoreflect.Name = "identifier_value"
- UninterpretedOption_PositiveIntValue_field_name protoreflect.Name = "positive_int_value"
- UninterpretedOption_NegativeIntValue_field_name protoreflect.Name = "negative_int_value"
- UninterpretedOption_DoubleValue_field_name protoreflect.Name = "double_value"
- UninterpretedOption_StringValue_field_name protoreflect.Name = "string_value"
- UninterpretedOption_AggregateValue_field_name protoreflect.Name = "aggregate_value"
-
- UninterpretedOption_Name_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.name"
- UninterpretedOption_IdentifierValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.identifier_value"
- UninterpretedOption_PositiveIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.positive_int_value"
- UninterpretedOption_NegativeIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.negative_int_value"
- UninterpretedOption_DoubleValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.double_value"
- UninterpretedOption_StringValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.string_value"
- UninterpretedOption_AggregateValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.aggregate_value"
-)
-
-// Field numbers for google.protobuf.UninterpretedOption.
-const (
- UninterpretedOption_Name_field_number protoreflect.FieldNumber = 2
- UninterpretedOption_IdentifierValue_field_number protoreflect.FieldNumber = 3
- UninterpretedOption_PositiveIntValue_field_number protoreflect.FieldNumber = 4
- UninterpretedOption_NegativeIntValue_field_number protoreflect.FieldNumber = 5
- UninterpretedOption_DoubleValue_field_number protoreflect.FieldNumber = 6
- UninterpretedOption_StringValue_field_number protoreflect.FieldNumber = 7
- UninterpretedOption_AggregateValue_field_number protoreflect.FieldNumber = 8
-)
-
-// Names for google.protobuf.UninterpretedOption.NamePart.
-const (
- UninterpretedOption_NamePart_message_name protoreflect.Name = "NamePart"
- UninterpretedOption_NamePart_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart"
-)
-
-// Field names for google.protobuf.UninterpretedOption.NamePart.
-const (
- UninterpretedOption_NamePart_NamePart_field_name protoreflect.Name = "name_part"
- UninterpretedOption_NamePart_IsExtension_field_name protoreflect.Name = "is_extension"
-
- UninterpretedOption_NamePart_NamePart_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.name_part"
- UninterpretedOption_NamePart_IsExtension_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.is_extension"
-)
-
-// Field numbers for google.protobuf.UninterpretedOption.NamePart.
-const (
- UninterpretedOption_NamePart_NamePart_field_number protoreflect.FieldNumber = 1
- UninterpretedOption_NamePart_IsExtension_field_number protoreflect.FieldNumber = 2
-)
-
-// Names for google.protobuf.FeatureSet.
-const (
- FeatureSet_message_name protoreflect.Name = "FeatureSet"
- FeatureSet_message_fullname protoreflect.FullName = "google.protobuf.FeatureSet"
-)
-
-// Field names for google.protobuf.FeatureSet.
-const (
- FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence"
- FeatureSet_EnumType_field_name protoreflect.Name = "enum_type"
- FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding"
- FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
- FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
- FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
-
- FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
- FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
- FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding"
- FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
- FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
- FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
-)
-
-// Field numbers for google.protobuf.FeatureSet.
-const (
- FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1
- FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2
- FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3
- FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
- FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
- FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
-)
-
-// Full and short names for google.protobuf.FeatureSet.FieldPresence.
-const (
- FeatureSet_FieldPresence_enum_fullname = "google.protobuf.FeatureSet.FieldPresence"
- FeatureSet_FieldPresence_enum_name = "FieldPresence"
-)
-
-// Enum values for google.protobuf.FeatureSet.FieldPresence.
-const (
- FeatureSet_FIELD_PRESENCE_UNKNOWN_enum_value = 0
- FeatureSet_EXPLICIT_enum_value = 1
- FeatureSet_IMPLICIT_enum_value = 2
- FeatureSet_LEGACY_REQUIRED_enum_value = 3
-)
-
-// Full and short names for google.protobuf.FeatureSet.EnumType.
-const (
- FeatureSet_EnumType_enum_fullname = "google.protobuf.FeatureSet.EnumType"
- FeatureSet_EnumType_enum_name = "EnumType"
-)
-
-// Enum values for google.protobuf.FeatureSet.EnumType.
-const (
- FeatureSet_ENUM_TYPE_UNKNOWN_enum_value = 0
- FeatureSet_OPEN_enum_value = 1
- FeatureSet_CLOSED_enum_value = 2
-)
-
-// Full and short names for google.protobuf.FeatureSet.RepeatedFieldEncoding.
-const (
- FeatureSet_RepeatedFieldEncoding_enum_fullname = "google.protobuf.FeatureSet.RepeatedFieldEncoding"
- FeatureSet_RepeatedFieldEncoding_enum_name = "RepeatedFieldEncoding"
-)
-
-// Enum values for google.protobuf.FeatureSet.RepeatedFieldEncoding.
-const (
- FeatureSet_REPEATED_FIELD_ENCODING_UNKNOWN_enum_value = 0
- FeatureSet_PACKED_enum_value = 1
- FeatureSet_EXPANDED_enum_value = 2
-)
-
-// Full and short names for google.protobuf.FeatureSet.Utf8Validation.
-const (
- FeatureSet_Utf8Validation_enum_fullname = "google.protobuf.FeatureSet.Utf8Validation"
- FeatureSet_Utf8Validation_enum_name = "Utf8Validation"
-)
-
-// Enum values for google.protobuf.FeatureSet.Utf8Validation.
-const (
- FeatureSet_UTF8_VALIDATION_UNKNOWN_enum_value = 0
- FeatureSet_VERIFY_enum_value = 2
- FeatureSet_NONE_enum_value = 3
-)
-
-// Full and short names for google.protobuf.FeatureSet.MessageEncoding.
-const (
- FeatureSet_MessageEncoding_enum_fullname = "google.protobuf.FeatureSet.MessageEncoding"
- FeatureSet_MessageEncoding_enum_name = "MessageEncoding"
-)
-
-// Enum values for google.protobuf.FeatureSet.MessageEncoding.
-const (
- FeatureSet_MESSAGE_ENCODING_UNKNOWN_enum_value = 0
- FeatureSet_LENGTH_PREFIXED_enum_value = 1
- FeatureSet_DELIMITED_enum_value = 2
-)
-
-// Full and short names for google.protobuf.FeatureSet.JsonFormat.
-const (
- FeatureSet_JsonFormat_enum_fullname = "google.protobuf.FeatureSet.JsonFormat"
- FeatureSet_JsonFormat_enum_name = "JsonFormat"
-)
-
-// Enum values for google.protobuf.FeatureSet.JsonFormat.
-const (
- FeatureSet_JSON_FORMAT_UNKNOWN_enum_value = 0
- FeatureSet_ALLOW_enum_value = 1
- FeatureSet_LEGACY_BEST_EFFORT_enum_value = 2
-)
-
-// Names for google.protobuf.FeatureSetDefaults.
-const (
- FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
- FeatureSetDefaults_message_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults"
-)
-
-// Field names for google.protobuf.FeatureSetDefaults.
-const (
- FeatureSetDefaults_Defaults_field_name protoreflect.Name = "defaults"
- FeatureSetDefaults_MinimumEdition_field_name protoreflect.Name = "minimum_edition"
- FeatureSetDefaults_MaximumEdition_field_name protoreflect.Name = "maximum_edition"
-
- FeatureSetDefaults_Defaults_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.defaults"
- FeatureSetDefaults_MinimumEdition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.minimum_edition"
- FeatureSetDefaults_MaximumEdition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.maximum_edition"
-)
-
-// Field numbers for google.protobuf.FeatureSetDefaults.
-const (
- FeatureSetDefaults_Defaults_field_number protoreflect.FieldNumber = 1
- FeatureSetDefaults_MinimumEdition_field_number protoreflect.FieldNumber = 4
- FeatureSetDefaults_MaximumEdition_field_number protoreflect.FieldNumber = 5
-)
-
-// Names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
-const (
- FeatureSetDefaults_FeatureSetEditionDefault_message_name protoreflect.Name = "FeatureSetEditionDefault"
- FeatureSetDefaults_FeatureSetEditionDefault_message_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"
-)
-
-// Field names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
-const (
- FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name protoreflect.Name = "edition"
- FeatureSetDefaults_FeatureSetEditionDefault_Features_field_name protoreflect.Name = "features"
-
- FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition"
- FeatureSetDefaults_FeatureSetEditionDefault_Features_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features"
-)
-
-// Field numbers for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
-const (
- FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number protoreflect.FieldNumber = 3
- FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number protoreflect.FieldNumber = 2
-)
-
-// Names for google.protobuf.SourceCodeInfo.
-const (
- SourceCodeInfo_message_name protoreflect.Name = "SourceCodeInfo"
- SourceCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo"
-)
-
-// Field names for google.protobuf.SourceCodeInfo.
-const (
- SourceCodeInfo_Location_field_name protoreflect.Name = "location"
-
- SourceCodeInfo_Location_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.location"
-)
-
-// Field numbers for google.protobuf.SourceCodeInfo.
-const (
- SourceCodeInfo_Location_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.SourceCodeInfo.Location.
-const (
- SourceCodeInfo_Location_message_name protoreflect.Name = "Location"
- SourceCodeInfo_Location_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location"
-)
-
-// Field names for google.protobuf.SourceCodeInfo.Location.
-const (
- SourceCodeInfo_Location_Path_field_name protoreflect.Name = "path"
- SourceCodeInfo_Location_Span_field_name protoreflect.Name = "span"
- SourceCodeInfo_Location_LeadingComments_field_name protoreflect.Name = "leading_comments"
- SourceCodeInfo_Location_TrailingComments_field_name protoreflect.Name = "trailing_comments"
- SourceCodeInfo_Location_LeadingDetachedComments_field_name protoreflect.Name = "leading_detached_comments"
-
- SourceCodeInfo_Location_Path_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.path"
- SourceCodeInfo_Location_Span_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.span"
- SourceCodeInfo_Location_LeadingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_comments"
- SourceCodeInfo_Location_TrailingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.trailing_comments"
- SourceCodeInfo_Location_LeadingDetachedComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_detached_comments"
-)
-
-// Field numbers for google.protobuf.SourceCodeInfo.Location.
-const (
- SourceCodeInfo_Location_Path_field_number protoreflect.FieldNumber = 1
- SourceCodeInfo_Location_Span_field_number protoreflect.FieldNumber = 2
- SourceCodeInfo_Location_LeadingComments_field_number protoreflect.FieldNumber = 3
- SourceCodeInfo_Location_TrailingComments_field_number protoreflect.FieldNumber = 4
- SourceCodeInfo_Location_LeadingDetachedComments_field_number protoreflect.FieldNumber = 6
-)
-
-// Names for google.protobuf.GeneratedCodeInfo.
-const (
- GeneratedCodeInfo_message_name protoreflect.Name = "GeneratedCodeInfo"
- GeneratedCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo"
-)
-
-// Field names for google.protobuf.GeneratedCodeInfo.
-const (
- GeneratedCodeInfo_Annotation_field_name protoreflect.Name = "annotation"
-
- GeneratedCodeInfo_Annotation_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.annotation"
-)
-
-// Field numbers for google.protobuf.GeneratedCodeInfo.
-const (
- GeneratedCodeInfo_Annotation_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.GeneratedCodeInfo.Annotation.
-const (
- GeneratedCodeInfo_Annotation_message_name protoreflect.Name = "Annotation"
- GeneratedCodeInfo_Annotation_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation"
-)
-
-// Field names for google.protobuf.GeneratedCodeInfo.Annotation.
-const (
- GeneratedCodeInfo_Annotation_Path_field_name protoreflect.Name = "path"
- GeneratedCodeInfo_Annotation_SourceFile_field_name protoreflect.Name = "source_file"
- GeneratedCodeInfo_Annotation_Begin_field_name protoreflect.Name = "begin"
- GeneratedCodeInfo_Annotation_End_field_name protoreflect.Name = "end"
- GeneratedCodeInfo_Annotation_Semantic_field_name protoreflect.Name = "semantic"
-
- GeneratedCodeInfo_Annotation_Path_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.path"
- GeneratedCodeInfo_Annotation_SourceFile_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.source_file"
- GeneratedCodeInfo_Annotation_Begin_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.begin"
- GeneratedCodeInfo_Annotation_End_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.end"
- GeneratedCodeInfo_Annotation_Semantic_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.semantic"
-)
-
-// Field numbers for google.protobuf.GeneratedCodeInfo.Annotation.
-const (
- GeneratedCodeInfo_Annotation_Path_field_number protoreflect.FieldNumber = 1
- GeneratedCodeInfo_Annotation_SourceFile_field_number protoreflect.FieldNumber = 2
- GeneratedCodeInfo_Annotation_Begin_field_number protoreflect.FieldNumber = 3
- GeneratedCodeInfo_Annotation_End_field_number protoreflect.FieldNumber = 4
- GeneratedCodeInfo_Annotation_Semantic_field_number protoreflect.FieldNumber = 5
-)
-
-// Full and short names for google.protobuf.GeneratedCodeInfo.Annotation.Semantic.
-const (
- GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic"
- GeneratedCodeInfo_Annotation_Semantic_enum_name = "Semantic"
-)
-
-// Enum values for google.protobuf.GeneratedCodeInfo.Annotation.Semantic.
-const (
- GeneratedCodeInfo_Annotation_NONE_enum_value = 0
- GeneratedCodeInfo_Annotation_SET_enum_value = 1
- GeneratedCodeInfo_Annotation_ALIAS_enum_value = 2
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/doc.go b/vendor/google.golang.org/protobuf/internal/genid/doc.go
deleted file mode 100644
index 45ccd012..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/doc.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package genid contains constants for declarations in descriptor.proto
-// and the well-known types.
-package genid
-
-import protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-const GoogleProtobuf_package protoreflect.FullName = "google.protobuf"
diff --git a/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go b/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go
deleted file mode 100644
index b070ef4f..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_duration_proto = "google/protobuf/duration.proto"
-
-// Names for google.protobuf.Duration.
-const (
- Duration_message_name protoreflect.Name = "Duration"
- Duration_message_fullname protoreflect.FullName = "google.protobuf.Duration"
-)
-
-// Field names for google.protobuf.Duration.
-const (
- Duration_Seconds_field_name protoreflect.Name = "seconds"
- Duration_Nanos_field_name protoreflect.Name = "nanos"
-
- Duration_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Duration.seconds"
- Duration_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Duration.nanos"
-)
-
-// Field numbers for google.protobuf.Duration.
-const (
- Duration_Seconds_field_number protoreflect.FieldNumber = 1
- Duration_Nanos_field_number protoreflect.FieldNumber = 2
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go b/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go
deleted file mode 100644
index 762abb34..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_empty_proto = "google/protobuf/empty.proto"
-
-// Names for google.protobuf.Empty.
-const (
- Empty_message_name protoreflect.Name = "Empty"
- Empty_message_fullname protoreflect.FullName = "google.protobuf.Empty"
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go b/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go
deleted file mode 100644
index 70bed453..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_field_mask_proto = "google/protobuf/field_mask.proto"
-
-// Names for google.protobuf.FieldMask.
-const (
- FieldMask_message_name protoreflect.Name = "FieldMask"
- FieldMask_message_fullname protoreflect.FullName = "google.protobuf.FieldMask"
-)
-
-// Field names for google.protobuf.FieldMask.
-const (
- FieldMask_Paths_field_name protoreflect.Name = "paths"
-
- FieldMask_Paths_field_fullname protoreflect.FullName = "google.protobuf.FieldMask.paths"
-)
-
-// Field numbers for google.protobuf.FieldMask.
-const (
- FieldMask_Paths_field_number protoreflect.FieldNumber = 1
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go b/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go
deleted file mode 100644
index fd9015e8..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_reflect_protodesc_proto_go_features_proto = "reflect/protodesc/proto/go_features.proto"
-
-// Names for google.protobuf.GoFeatures.
-const (
- GoFeatures_message_name protoreflect.Name = "GoFeatures"
- GoFeatures_message_fullname protoreflect.FullName = "google.protobuf.GoFeatures"
-)
-
-// Field names for google.protobuf.GoFeatures.
-const (
- GoFeatures_LegacyUnmarshalJsonEnum_field_name protoreflect.Name = "legacy_unmarshal_json_enum"
-
- GoFeatures_LegacyUnmarshalJsonEnum_field_fullname protoreflect.FullName = "google.protobuf.GoFeatures.legacy_unmarshal_json_enum"
-)
-
-// Field numbers for google.protobuf.GoFeatures.
-const (
- GoFeatures_LegacyUnmarshalJsonEnum_field_number protoreflect.FieldNumber = 1
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/goname.go b/vendor/google.golang.org/protobuf/internal/genid/goname.go
deleted file mode 100644
index 693d2e9e..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/goname.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package genid
-
-// Go names of implementation-specific struct fields in generated messages.
-const (
- State_goname = "state"
-
- SizeCache_goname = "sizeCache"
- SizeCacheA_goname = "XXX_sizecache"
-
- WeakFields_goname = "weakFields"
- WeakFieldsA_goname = "XXX_weak"
-
- UnknownFields_goname = "unknownFields"
- UnknownFieldsA_goname = "XXX_unrecognized"
-
- ExtensionFields_goname = "extensionFields"
- ExtensionFieldsA_goname = "XXX_InternalExtensions"
- ExtensionFieldsB_goname = "XXX_extensions"
-
- WeakFieldPrefix_goname = "XXX_weak_"
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/map_entry.go b/vendor/google.golang.org/protobuf/internal/genid/map_entry.go
deleted file mode 100644
index 8f9ea02f..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/map_entry.go
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package genid
-
-import protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-// Generic field names and numbers for synthetic map entry messages.
-const (
- MapEntry_Key_field_name protoreflect.Name = "key"
- MapEntry_Value_field_name protoreflect.Name = "value"
-
- MapEntry_Key_field_number protoreflect.FieldNumber = 1
- MapEntry_Value_field_number protoreflect.FieldNumber = 2
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go b/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go
deleted file mode 100644
index 3e99ae16..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_source_context_proto = "google/protobuf/source_context.proto"
-
-// Names for google.protobuf.SourceContext.
-const (
- SourceContext_message_name protoreflect.Name = "SourceContext"
- SourceContext_message_fullname protoreflect.FullName = "google.protobuf.SourceContext"
-)
-
-// Field names for google.protobuf.SourceContext.
-const (
- SourceContext_FileName_field_name protoreflect.Name = "file_name"
-
- SourceContext_FileName_field_fullname protoreflect.FullName = "google.protobuf.SourceContext.file_name"
-)
-
-// Field numbers for google.protobuf.SourceContext.
-const (
- SourceContext_FileName_field_number protoreflect.FieldNumber = 1
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go b/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go
deleted file mode 100644
index ad6f80c4..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_struct_proto = "google/protobuf/struct.proto"
-
-// Full and short names for google.protobuf.NullValue.
-const (
- NullValue_enum_fullname = "google.protobuf.NullValue"
- NullValue_enum_name = "NullValue"
-)
-
-// Enum values for google.protobuf.NullValue.
-const (
- NullValue_NULL_VALUE_enum_value = 0
-)
-
-// Names for google.protobuf.Struct.
-const (
- Struct_message_name protoreflect.Name = "Struct"
- Struct_message_fullname protoreflect.FullName = "google.protobuf.Struct"
-)
-
-// Field names for google.protobuf.Struct.
-const (
- Struct_Fields_field_name protoreflect.Name = "fields"
-
- Struct_Fields_field_fullname protoreflect.FullName = "google.protobuf.Struct.fields"
-)
-
-// Field numbers for google.protobuf.Struct.
-const (
- Struct_Fields_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.Struct.FieldsEntry.
-const (
- Struct_FieldsEntry_message_name protoreflect.Name = "FieldsEntry"
- Struct_FieldsEntry_message_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry"
-)
-
-// Field names for google.protobuf.Struct.FieldsEntry.
-const (
- Struct_FieldsEntry_Key_field_name protoreflect.Name = "key"
- Struct_FieldsEntry_Value_field_name protoreflect.Name = "value"
-
- Struct_FieldsEntry_Key_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.key"
- Struct_FieldsEntry_Value_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.value"
-)
-
-// Field numbers for google.protobuf.Struct.FieldsEntry.
-const (
- Struct_FieldsEntry_Key_field_number protoreflect.FieldNumber = 1
- Struct_FieldsEntry_Value_field_number protoreflect.FieldNumber = 2
-)
-
-// Names for google.protobuf.Value.
-const (
- Value_message_name protoreflect.Name = "Value"
- Value_message_fullname protoreflect.FullName = "google.protobuf.Value"
-)
-
-// Field names for google.protobuf.Value.
-const (
- Value_NullValue_field_name protoreflect.Name = "null_value"
- Value_NumberValue_field_name protoreflect.Name = "number_value"
- Value_StringValue_field_name protoreflect.Name = "string_value"
- Value_BoolValue_field_name protoreflect.Name = "bool_value"
- Value_StructValue_field_name protoreflect.Name = "struct_value"
- Value_ListValue_field_name protoreflect.Name = "list_value"
-
- Value_NullValue_field_fullname protoreflect.FullName = "google.protobuf.Value.null_value"
- Value_NumberValue_field_fullname protoreflect.FullName = "google.protobuf.Value.number_value"
- Value_StringValue_field_fullname protoreflect.FullName = "google.protobuf.Value.string_value"
- Value_BoolValue_field_fullname protoreflect.FullName = "google.protobuf.Value.bool_value"
- Value_StructValue_field_fullname protoreflect.FullName = "google.protobuf.Value.struct_value"
- Value_ListValue_field_fullname protoreflect.FullName = "google.protobuf.Value.list_value"
-)
-
-// Field numbers for google.protobuf.Value.
-const (
- Value_NullValue_field_number protoreflect.FieldNumber = 1
- Value_NumberValue_field_number protoreflect.FieldNumber = 2
- Value_StringValue_field_number protoreflect.FieldNumber = 3
- Value_BoolValue_field_number protoreflect.FieldNumber = 4
- Value_StructValue_field_number protoreflect.FieldNumber = 5
- Value_ListValue_field_number protoreflect.FieldNumber = 6
-)
-
-// Oneof names for google.protobuf.Value.
-const (
- Value_Kind_oneof_name protoreflect.Name = "kind"
-
- Value_Kind_oneof_fullname protoreflect.FullName = "google.protobuf.Value.kind"
-)
-
-// Names for google.protobuf.ListValue.
-const (
- ListValue_message_name protoreflect.Name = "ListValue"
- ListValue_message_fullname protoreflect.FullName = "google.protobuf.ListValue"
-)
-
-// Field names for google.protobuf.ListValue.
-const (
- ListValue_Values_field_name protoreflect.Name = "values"
-
- ListValue_Values_field_fullname protoreflect.FullName = "google.protobuf.ListValue.values"
-)
-
-// Field numbers for google.protobuf.ListValue.
-const (
- ListValue_Values_field_number protoreflect.FieldNumber = 1
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go b/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go
deleted file mode 100644
index f5cd5634..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_timestamp_proto = "google/protobuf/timestamp.proto"
-
-// Names for google.protobuf.Timestamp.
-const (
- Timestamp_message_name protoreflect.Name = "Timestamp"
- Timestamp_message_fullname protoreflect.FullName = "google.protobuf.Timestamp"
-)
-
-// Field names for google.protobuf.Timestamp.
-const (
- Timestamp_Seconds_field_name protoreflect.Name = "seconds"
- Timestamp_Nanos_field_name protoreflect.Name = "nanos"
-
- Timestamp_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.seconds"
- Timestamp_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.nanos"
-)
-
-// Field numbers for google.protobuf.Timestamp.
-const (
- Timestamp_Seconds_field_number protoreflect.FieldNumber = 1
- Timestamp_Nanos_field_number protoreflect.FieldNumber = 2
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/type_gen.go b/vendor/google.golang.org/protobuf/internal/genid/type_gen.go
deleted file mode 100644
index 49bc73e2..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/type_gen.go
+++ /dev/null
@@ -1,228 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_type_proto = "google/protobuf/type.proto"
-
-// Full and short names for google.protobuf.Syntax.
-const (
- Syntax_enum_fullname = "google.protobuf.Syntax"
- Syntax_enum_name = "Syntax"
-)
-
-// Enum values for google.protobuf.Syntax.
-const (
- Syntax_SYNTAX_PROTO2_enum_value = 0
- Syntax_SYNTAX_PROTO3_enum_value = 1
- Syntax_SYNTAX_EDITIONS_enum_value = 2
-)
-
-// Names for google.protobuf.Type.
-const (
- Type_message_name protoreflect.Name = "Type"
- Type_message_fullname protoreflect.FullName = "google.protobuf.Type"
-)
-
-// Field names for google.protobuf.Type.
-const (
- Type_Name_field_name protoreflect.Name = "name"
- Type_Fields_field_name protoreflect.Name = "fields"
- Type_Oneofs_field_name protoreflect.Name = "oneofs"
- Type_Options_field_name protoreflect.Name = "options"
- Type_SourceContext_field_name protoreflect.Name = "source_context"
- Type_Syntax_field_name protoreflect.Name = "syntax"
- Type_Edition_field_name protoreflect.Name = "edition"
-
- Type_Name_field_fullname protoreflect.FullName = "google.protobuf.Type.name"
- Type_Fields_field_fullname protoreflect.FullName = "google.protobuf.Type.fields"
- Type_Oneofs_field_fullname protoreflect.FullName = "google.protobuf.Type.oneofs"
- Type_Options_field_fullname protoreflect.FullName = "google.protobuf.Type.options"
- Type_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Type.source_context"
- Type_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Type.syntax"
- Type_Edition_field_fullname protoreflect.FullName = "google.protobuf.Type.edition"
-)
-
-// Field numbers for google.protobuf.Type.
-const (
- Type_Name_field_number protoreflect.FieldNumber = 1
- Type_Fields_field_number protoreflect.FieldNumber = 2
- Type_Oneofs_field_number protoreflect.FieldNumber = 3
- Type_Options_field_number protoreflect.FieldNumber = 4
- Type_SourceContext_field_number protoreflect.FieldNumber = 5
- Type_Syntax_field_number protoreflect.FieldNumber = 6
- Type_Edition_field_number protoreflect.FieldNumber = 7
-)
-
-// Names for google.protobuf.Field.
-const (
- Field_message_name protoreflect.Name = "Field"
- Field_message_fullname protoreflect.FullName = "google.protobuf.Field"
-)
-
-// Field names for google.protobuf.Field.
-const (
- Field_Kind_field_name protoreflect.Name = "kind"
- Field_Cardinality_field_name protoreflect.Name = "cardinality"
- Field_Number_field_name protoreflect.Name = "number"
- Field_Name_field_name protoreflect.Name = "name"
- Field_TypeUrl_field_name protoreflect.Name = "type_url"
- Field_OneofIndex_field_name protoreflect.Name = "oneof_index"
- Field_Packed_field_name protoreflect.Name = "packed"
- Field_Options_field_name protoreflect.Name = "options"
- Field_JsonName_field_name protoreflect.Name = "json_name"
- Field_DefaultValue_field_name protoreflect.Name = "default_value"
-
- Field_Kind_field_fullname protoreflect.FullName = "google.protobuf.Field.kind"
- Field_Cardinality_field_fullname protoreflect.FullName = "google.protobuf.Field.cardinality"
- Field_Number_field_fullname protoreflect.FullName = "google.protobuf.Field.number"
- Field_Name_field_fullname protoreflect.FullName = "google.protobuf.Field.name"
- Field_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Field.type_url"
- Field_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.Field.oneof_index"
- Field_Packed_field_fullname protoreflect.FullName = "google.protobuf.Field.packed"
- Field_Options_field_fullname protoreflect.FullName = "google.protobuf.Field.options"
- Field_JsonName_field_fullname protoreflect.FullName = "google.protobuf.Field.json_name"
- Field_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.Field.default_value"
-)
-
-// Field numbers for google.protobuf.Field.
-const (
- Field_Kind_field_number protoreflect.FieldNumber = 1
- Field_Cardinality_field_number protoreflect.FieldNumber = 2
- Field_Number_field_number protoreflect.FieldNumber = 3
- Field_Name_field_number protoreflect.FieldNumber = 4
- Field_TypeUrl_field_number protoreflect.FieldNumber = 6
- Field_OneofIndex_field_number protoreflect.FieldNumber = 7
- Field_Packed_field_number protoreflect.FieldNumber = 8
- Field_Options_field_number protoreflect.FieldNumber = 9
- Field_JsonName_field_number protoreflect.FieldNumber = 10
- Field_DefaultValue_field_number protoreflect.FieldNumber = 11
-)
-
-// Full and short names for google.protobuf.Field.Kind.
-const (
- Field_Kind_enum_fullname = "google.protobuf.Field.Kind"
- Field_Kind_enum_name = "Kind"
-)
-
-// Enum values for google.protobuf.Field.Kind.
-const (
- Field_TYPE_UNKNOWN_enum_value = 0
- Field_TYPE_DOUBLE_enum_value = 1
- Field_TYPE_FLOAT_enum_value = 2
- Field_TYPE_INT64_enum_value = 3
- Field_TYPE_UINT64_enum_value = 4
- Field_TYPE_INT32_enum_value = 5
- Field_TYPE_FIXED64_enum_value = 6
- Field_TYPE_FIXED32_enum_value = 7
- Field_TYPE_BOOL_enum_value = 8
- Field_TYPE_STRING_enum_value = 9
- Field_TYPE_GROUP_enum_value = 10
- Field_TYPE_MESSAGE_enum_value = 11
- Field_TYPE_BYTES_enum_value = 12
- Field_TYPE_UINT32_enum_value = 13
- Field_TYPE_ENUM_enum_value = 14
- Field_TYPE_SFIXED32_enum_value = 15
- Field_TYPE_SFIXED64_enum_value = 16
- Field_TYPE_SINT32_enum_value = 17
- Field_TYPE_SINT64_enum_value = 18
-)
-
-// Full and short names for google.protobuf.Field.Cardinality.
-const (
- Field_Cardinality_enum_fullname = "google.protobuf.Field.Cardinality"
- Field_Cardinality_enum_name = "Cardinality"
-)
-
-// Enum values for google.protobuf.Field.Cardinality.
-const (
- Field_CARDINALITY_UNKNOWN_enum_value = 0
- Field_CARDINALITY_OPTIONAL_enum_value = 1
- Field_CARDINALITY_REQUIRED_enum_value = 2
- Field_CARDINALITY_REPEATED_enum_value = 3
-)
-
-// Names for google.protobuf.Enum.
-const (
- Enum_message_name protoreflect.Name = "Enum"
- Enum_message_fullname protoreflect.FullName = "google.protobuf.Enum"
-)
-
-// Field names for google.protobuf.Enum.
-const (
- Enum_Name_field_name protoreflect.Name = "name"
- Enum_Enumvalue_field_name protoreflect.Name = "enumvalue"
- Enum_Options_field_name protoreflect.Name = "options"
- Enum_SourceContext_field_name protoreflect.Name = "source_context"
- Enum_Syntax_field_name protoreflect.Name = "syntax"
- Enum_Edition_field_name protoreflect.Name = "edition"
-
- Enum_Name_field_fullname protoreflect.FullName = "google.protobuf.Enum.name"
- Enum_Enumvalue_field_fullname protoreflect.FullName = "google.protobuf.Enum.enumvalue"
- Enum_Options_field_fullname protoreflect.FullName = "google.protobuf.Enum.options"
- Enum_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Enum.source_context"
- Enum_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Enum.syntax"
- Enum_Edition_field_fullname protoreflect.FullName = "google.protobuf.Enum.edition"
-)
-
-// Field numbers for google.protobuf.Enum.
-const (
- Enum_Name_field_number protoreflect.FieldNumber = 1
- Enum_Enumvalue_field_number protoreflect.FieldNumber = 2
- Enum_Options_field_number protoreflect.FieldNumber = 3
- Enum_SourceContext_field_number protoreflect.FieldNumber = 4
- Enum_Syntax_field_number protoreflect.FieldNumber = 5
- Enum_Edition_field_number protoreflect.FieldNumber = 6
-)
-
-// Names for google.protobuf.EnumValue.
-const (
- EnumValue_message_name protoreflect.Name = "EnumValue"
- EnumValue_message_fullname protoreflect.FullName = "google.protobuf.EnumValue"
-)
-
-// Field names for google.protobuf.EnumValue.
-const (
- EnumValue_Name_field_name protoreflect.Name = "name"
- EnumValue_Number_field_name protoreflect.Name = "number"
- EnumValue_Options_field_name protoreflect.Name = "options"
-
- EnumValue_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.name"
- EnumValue_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.number"
- EnumValue_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.options"
-)
-
-// Field numbers for google.protobuf.EnumValue.
-const (
- EnumValue_Name_field_number protoreflect.FieldNumber = 1
- EnumValue_Number_field_number protoreflect.FieldNumber = 2
- EnumValue_Options_field_number protoreflect.FieldNumber = 3
-)
-
-// Names for google.protobuf.Option.
-const (
- Option_message_name protoreflect.Name = "Option"
- Option_message_fullname protoreflect.FullName = "google.protobuf.Option"
-)
-
-// Field names for google.protobuf.Option.
-const (
- Option_Name_field_name protoreflect.Name = "name"
- Option_Value_field_name protoreflect.Name = "value"
-
- Option_Name_field_fullname protoreflect.FullName = "google.protobuf.Option.name"
- Option_Value_field_fullname protoreflect.FullName = "google.protobuf.Option.value"
-)
-
-// Field numbers for google.protobuf.Option.
-const (
- Option_Name_field_number protoreflect.FieldNumber = 1
- Option_Value_field_number protoreflect.FieldNumber = 2
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/wrappers.go b/vendor/google.golang.org/protobuf/internal/genid/wrappers.go
deleted file mode 100644
index 429384b8..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/wrappers.go
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package genid
-
-import protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-// Generic field name and number for messages in wrappers.proto.
-const (
- WrapperValue_Value_field_name protoreflect.Name = "value"
- WrapperValue_Value_field_number protoreflect.FieldNumber = 1
-)
diff --git a/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go b/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go
deleted file mode 100644
index 72527d2a..00000000
--- a/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package genid
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-const File_google_protobuf_wrappers_proto = "google/protobuf/wrappers.proto"
-
-// Names for google.protobuf.DoubleValue.
-const (
- DoubleValue_message_name protoreflect.Name = "DoubleValue"
- DoubleValue_message_fullname protoreflect.FullName = "google.protobuf.DoubleValue"
-)
-
-// Field names for google.protobuf.DoubleValue.
-const (
- DoubleValue_Value_field_name protoreflect.Name = "value"
-
- DoubleValue_Value_field_fullname protoreflect.FullName = "google.protobuf.DoubleValue.value"
-)
-
-// Field numbers for google.protobuf.DoubleValue.
-const (
- DoubleValue_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.FloatValue.
-const (
- FloatValue_message_name protoreflect.Name = "FloatValue"
- FloatValue_message_fullname protoreflect.FullName = "google.protobuf.FloatValue"
-)
-
-// Field names for google.protobuf.FloatValue.
-const (
- FloatValue_Value_field_name protoreflect.Name = "value"
-
- FloatValue_Value_field_fullname protoreflect.FullName = "google.protobuf.FloatValue.value"
-)
-
-// Field numbers for google.protobuf.FloatValue.
-const (
- FloatValue_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.Int64Value.
-const (
- Int64Value_message_name protoreflect.Name = "Int64Value"
- Int64Value_message_fullname protoreflect.FullName = "google.protobuf.Int64Value"
-)
-
-// Field names for google.protobuf.Int64Value.
-const (
- Int64Value_Value_field_name protoreflect.Name = "value"
-
- Int64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int64Value.value"
-)
-
-// Field numbers for google.protobuf.Int64Value.
-const (
- Int64Value_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.UInt64Value.
-const (
- UInt64Value_message_name protoreflect.Name = "UInt64Value"
- UInt64Value_message_fullname protoreflect.FullName = "google.protobuf.UInt64Value"
-)
-
-// Field names for google.protobuf.UInt64Value.
-const (
- UInt64Value_Value_field_name protoreflect.Name = "value"
-
- UInt64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt64Value.value"
-)
-
-// Field numbers for google.protobuf.UInt64Value.
-const (
- UInt64Value_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.Int32Value.
-const (
- Int32Value_message_name protoreflect.Name = "Int32Value"
- Int32Value_message_fullname protoreflect.FullName = "google.protobuf.Int32Value"
-)
-
-// Field names for google.protobuf.Int32Value.
-const (
- Int32Value_Value_field_name protoreflect.Name = "value"
-
- Int32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int32Value.value"
-)
-
-// Field numbers for google.protobuf.Int32Value.
-const (
- Int32Value_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.UInt32Value.
-const (
- UInt32Value_message_name protoreflect.Name = "UInt32Value"
- UInt32Value_message_fullname protoreflect.FullName = "google.protobuf.UInt32Value"
-)
-
-// Field names for google.protobuf.UInt32Value.
-const (
- UInt32Value_Value_field_name protoreflect.Name = "value"
-
- UInt32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt32Value.value"
-)
-
-// Field numbers for google.protobuf.UInt32Value.
-const (
- UInt32Value_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.BoolValue.
-const (
- BoolValue_message_name protoreflect.Name = "BoolValue"
- BoolValue_message_fullname protoreflect.FullName = "google.protobuf.BoolValue"
-)
-
-// Field names for google.protobuf.BoolValue.
-const (
- BoolValue_Value_field_name protoreflect.Name = "value"
-
- BoolValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BoolValue.value"
-)
-
-// Field numbers for google.protobuf.BoolValue.
-const (
- BoolValue_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.StringValue.
-const (
- StringValue_message_name protoreflect.Name = "StringValue"
- StringValue_message_fullname protoreflect.FullName = "google.protobuf.StringValue"
-)
-
-// Field names for google.protobuf.StringValue.
-const (
- StringValue_Value_field_name protoreflect.Name = "value"
-
- StringValue_Value_field_fullname protoreflect.FullName = "google.protobuf.StringValue.value"
-)
-
-// Field numbers for google.protobuf.StringValue.
-const (
- StringValue_Value_field_number protoreflect.FieldNumber = 1
-)
-
-// Names for google.protobuf.BytesValue.
-const (
- BytesValue_message_name protoreflect.Name = "BytesValue"
- BytesValue_message_fullname protoreflect.FullName = "google.protobuf.BytesValue"
-)
-
-// Field names for google.protobuf.BytesValue.
-const (
- BytesValue_Value_field_name protoreflect.Name = "value"
-
- BytesValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BytesValue.value"
-)
-
-// Field numbers for google.protobuf.BytesValue.
-const (
- BytesValue_Value_field_number protoreflect.FieldNumber = 1
-)
diff --git a/vendor/google.golang.org/protobuf/internal/impl/api_export.go b/vendor/google.golang.org/protobuf/internal/impl/api_export.go
deleted file mode 100644
index a371f98d..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/api_export.go
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
- "strconv"
-
- "google.golang.org/protobuf/encoding/prototext"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// Export is a zero-length named type that exists only to export a set of
-// functions that we do not want to appear in godoc.
-type Export struct{}
-
-// NewError formats a string according to the format specifier and arguments and
-// returns an error that has a "proto" prefix.
-func (Export) NewError(f string, x ...interface{}) error {
- return errors.New(f, x...)
-}
-
-// enum is any enum type generated by protoc-gen-go
-// and must be a named int32 type.
-type enum = interface{}
-
-// EnumOf returns the protoreflect.Enum interface over e.
-// It returns nil if e is nil.
-func (Export) EnumOf(e enum) protoreflect.Enum {
- switch e := e.(type) {
- case nil:
- return nil
- case protoreflect.Enum:
- return e
- default:
- return legacyWrapEnum(reflect.ValueOf(e))
- }
-}
-
-// EnumDescriptorOf returns the protoreflect.EnumDescriptor for e.
-// It returns nil if e is nil.
-func (Export) EnumDescriptorOf(e enum) protoreflect.EnumDescriptor {
- switch e := e.(type) {
- case nil:
- return nil
- case protoreflect.Enum:
- return e.Descriptor()
- default:
- return LegacyLoadEnumDesc(reflect.TypeOf(e))
- }
-}
-
-// EnumTypeOf returns the protoreflect.EnumType for e.
-// It returns nil if e is nil.
-func (Export) EnumTypeOf(e enum) protoreflect.EnumType {
- switch e := e.(type) {
- case nil:
- return nil
- case protoreflect.Enum:
- return e.Type()
- default:
- return legacyLoadEnumType(reflect.TypeOf(e))
- }
-}
-
-// EnumStringOf returns the enum value as a string, either as the name if
-// the number is resolvable, or the number formatted as a string.
-func (Export) EnumStringOf(ed protoreflect.EnumDescriptor, n protoreflect.EnumNumber) string {
- ev := ed.Values().ByNumber(n)
- if ev != nil {
- return string(ev.Name())
- }
- return strconv.Itoa(int(n))
-}
-
-// message is any message type generated by protoc-gen-go
-// and must be a pointer to a named struct type.
-type message = interface{}
-
-// legacyMessageWrapper wraps a v2 message as a v1 message.
-type legacyMessageWrapper struct{ m protoreflect.ProtoMessage }
-
-func (m legacyMessageWrapper) Reset() { proto.Reset(m.m) }
-func (m legacyMessageWrapper) String() string { return Export{}.MessageStringOf(m.m) }
-func (m legacyMessageWrapper) ProtoMessage() {}
-
-// ProtoMessageV1Of converts either a v1 or v2 message to a v1 message.
-// It returns nil if m is nil.
-func (Export) ProtoMessageV1Of(m message) protoiface.MessageV1 {
- switch mv := m.(type) {
- case nil:
- return nil
- case protoiface.MessageV1:
- return mv
- case unwrapper:
- return Export{}.ProtoMessageV1Of(mv.protoUnwrap())
- case protoreflect.ProtoMessage:
- return legacyMessageWrapper{mv}
- default:
- panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m))
- }
-}
-
-func (Export) protoMessageV2Of(m message) protoreflect.ProtoMessage {
- switch mv := m.(type) {
- case nil:
- return nil
- case protoreflect.ProtoMessage:
- return mv
- case legacyMessageWrapper:
- return mv.m
- case protoiface.MessageV1:
- return nil
- default:
- panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m))
- }
-}
-
-// ProtoMessageV2Of converts either a v1 or v2 message to a v2 message.
-// It returns nil if m is nil.
-func (Export) ProtoMessageV2Of(m message) protoreflect.ProtoMessage {
- if m == nil {
- return nil
- }
- if mv := (Export{}).protoMessageV2Of(m); mv != nil {
- return mv
- }
- return legacyWrapMessage(reflect.ValueOf(m)).Interface()
-}
-
-// MessageOf returns the protoreflect.Message interface over m.
-// It returns nil if m is nil.
-func (Export) MessageOf(m message) protoreflect.Message {
- if m == nil {
- return nil
- }
- if mv := (Export{}).protoMessageV2Of(m); mv != nil {
- return mv.ProtoReflect()
- }
- return legacyWrapMessage(reflect.ValueOf(m))
-}
-
-// MessageDescriptorOf returns the protoreflect.MessageDescriptor for m.
-// It returns nil if m is nil.
-func (Export) MessageDescriptorOf(m message) protoreflect.MessageDescriptor {
- if m == nil {
- return nil
- }
- if mv := (Export{}).protoMessageV2Of(m); mv != nil {
- return mv.ProtoReflect().Descriptor()
- }
- return LegacyLoadMessageDesc(reflect.TypeOf(m))
-}
-
-// MessageTypeOf returns the protoreflect.MessageType for m.
-// It returns nil if m is nil.
-func (Export) MessageTypeOf(m message) protoreflect.MessageType {
- if m == nil {
- return nil
- }
- if mv := (Export{}).protoMessageV2Of(m); mv != nil {
- return mv.ProtoReflect().Type()
- }
- return legacyLoadMessageType(reflect.TypeOf(m), "")
-}
-
-// MessageStringOf returns the message value as a string,
-// which is the message serialized in the protobuf text format.
-func (Export) MessageStringOf(m protoreflect.ProtoMessage) string {
- return prototext.MarshalOptions{Multiline: false}.Format(m)
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/checkinit.go b/vendor/google.golang.org/protobuf/internal/impl/checkinit.go
deleted file mode 100644
index bff041ed..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/checkinit.go
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "sync"
-
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-func (mi *MessageInfo) checkInitialized(in protoiface.CheckInitializedInput) (protoiface.CheckInitializedOutput, error) {
- var p pointer
- if ms, ok := in.Message.(*messageState); ok {
- p = ms.pointer()
- } else {
- p = in.Message.(*messageReflectWrapper).pointer()
- }
- return protoiface.CheckInitializedOutput{}, mi.checkInitializedPointer(p)
-}
-
-func (mi *MessageInfo) checkInitializedPointer(p pointer) error {
- mi.init()
- if !mi.needsInitCheck {
- return nil
- }
- if p.IsNil() {
- for _, f := range mi.orderedCoderFields {
- if f.isRequired {
- return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName()))
- }
- }
- return nil
- }
- if mi.extensionOffset.IsValid() {
- e := p.Apply(mi.extensionOffset).Extensions()
- if err := mi.isInitExtensions(e); err != nil {
- return err
- }
- }
- for _, f := range mi.orderedCoderFields {
- if !f.isRequired && f.funcs.isInit == nil {
- continue
- }
- fptr := p.Apply(f.offset)
- if f.isPointer && fptr.Elem().IsNil() {
- if f.isRequired {
- return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName()))
- }
- continue
- }
- if f.funcs.isInit == nil {
- continue
- }
- if err := f.funcs.isInit(fptr, f); err != nil {
- return err
- }
- }
- return nil
-}
-
-func (mi *MessageInfo) isInitExtensions(ext *map[int32]ExtensionField) error {
- if ext == nil {
- return nil
- }
- for _, x := range *ext {
- ei := getExtensionFieldInfo(x.Type())
- if ei.funcs.isInit == nil {
- continue
- }
- v := x.Value()
- if !v.IsValid() {
- continue
- }
- if err := ei.funcs.isInit(v); err != nil {
- return err
- }
- }
- return nil
-}
-
-var (
- needsInitCheckMu sync.Mutex
- needsInitCheckMap sync.Map
-)
-
-// needsInitCheck reports whether a message needs to be checked for partial initialization.
-//
-// It returns true if the message transitively includes any required or extension fields.
-func needsInitCheck(md protoreflect.MessageDescriptor) bool {
- if v, ok := needsInitCheckMap.Load(md); ok {
- if has, ok := v.(bool); ok {
- return has
- }
- }
- needsInitCheckMu.Lock()
- defer needsInitCheckMu.Unlock()
- return needsInitCheckLocked(md)
-}
-
-func needsInitCheckLocked(md protoreflect.MessageDescriptor) (has bool) {
- if v, ok := needsInitCheckMap.Load(md); ok {
- // If has is true, we've previously determined that this message
- // needs init checks.
- //
- // If has is false, we've previously determined that it can never
- // be uninitialized.
- //
- // If has is not a bool, we've just encountered a cycle in the
- // message graph. In this case, it is safe to return false: If
- // the message does have required fields, we'll detect them later
- // in the graph traversal.
- has, ok := v.(bool)
- return ok && has
- }
- needsInitCheckMap.Store(md, struct{}{}) // avoid cycles while descending into this message
- defer func() {
- needsInitCheckMap.Store(md, has)
- }()
- if md.RequiredNumbers().Len() > 0 {
- return true
- }
- if md.ExtensionRanges().Len() > 0 {
- return true
- }
- for i := 0; i < md.Fields().Len(); i++ {
- fd := md.Fields().Get(i)
- // Map keys are never messages, so just consider the map value.
- if fd.IsMap() {
- fd = fd.MapValue()
- }
- fmd := fd.Message()
- if fmd != nil && needsInitCheckLocked(fmd) {
- return true
- }
- }
- return false
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go b/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go
deleted file mode 100644
index 2b8f122c..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "sync"
- "sync/atomic"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type extensionFieldInfo struct {
- wiretag uint64
- tagsize int
- unmarshalNeedsValue bool
- funcs valueCoderFuncs
- validation validationInfo
-}
-
-func getExtensionFieldInfo(xt protoreflect.ExtensionType) *extensionFieldInfo {
- if xi, ok := xt.(*ExtensionInfo); ok {
- xi.lazyInit()
- return xi.info
- }
- // Ideally we'd cache the resulting *extensionFieldInfo so we don't have to
- // recompute this metadata repeatedly. But without support for something like
- // weak references, such a cache would pin temporary values (like dynamic
- // extension types, constructed for the duration of a user request) to the
- // heap forever, causing memory usage of the cache to grow unbounded.
- // See discussion in https://github.com/golang/protobuf/issues/1521.
- return makeExtensionFieldInfo(xt.TypeDescriptor())
-}
-
-func makeExtensionFieldInfo(xd protoreflect.ExtensionDescriptor) *extensionFieldInfo {
- var wiretag uint64
- if !xd.IsPacked() {
- wiretag = protowire.EncodeTag(xd.Number(), wireTypes[xd.Kind()])
- } else {
- wiretag = protowire.EncodeTag(xd.Number(), protowire.BytesType)
- }
- e := &extensionFieldInfo{
- wiretag: wiretag,
- tagsize: protowire.SizeVarint(wiretag),
- funcs: encoderFuncsForValue(xd),
- }
- // Does the unmarshal function need a value passed to it?
- // This is true for composite types, where we pass in a message, list, or map to fill in,
- // and for enums, where we pass in a prototype value to specify the concrete enum type.
- switch xd.Kind() {
- case protoreflect.MessageKind, protoreflect.GroupKind, protoreflect.EnumKind:
- e.unmarshalNeedsValue = true
- default:
- if xd.Cardinality() == protoreflect.Repeated {
- e.unmarshalNeedsValue = true
- }
- }
- return e
-}
-
-type lazyExtensionValue struct {
- atomicOnce uint32 // atomically set if value is valid
- mu sync.Mutex
- xi *extensionFieldInfo
- value protoreflect.Value
- b []byte
- fn func() protoreflect.Value
-}
-
-type ExtensionField struct {
- typ protoreflect.ExtensionType
-
- // value is either the value of GetValue,
- // or a *lazyExtensionValue that then returns the value of GetValue.
- value protoreflect.Value
- lazy *lazyExtensionValue
-}
-
-func (f *ExtensionField) appendLazyBytes(xt protoreflect.ExtensionType, xi *extensionFieldInfo, num protowire.Number, wtyp protowire.Type, b []byte) {
- if f.lazy == nil {
- f.lazy = &lazyExtensionValue{xi: xi}
- }
- f.typ = xt
- f.lazy.xi = xi
- f.lazy.b = protowire.AppendTag(f.lazy.b, num, wtyp)
- f.lazy.b = append(f.lazy.b, b...)
-}
-
-func (f *ExtensionField) canLazy(xt protoreflect.ExtensionType) bool {
- if f.typ == nil {
- return true
- }
- if f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0 {
- return true
- }
- return false
-}
-
-func (f *ExtensionField) lazyInit() {
- f.lazy.mu.Lock()
- defer f.lazy.mu.Unlock()
- if atomic.LoadUint32(&f.lazy.atomicOnce) == 1 {
- return
- }
- if f.lazy.xi != nil {
- b := f.lazy.b
- val := f.typ.New()
- for len(b) > 0 {
- var tag uint64
- if b[0] < 0x80 {
- tag = uint64(b[0])
- b = b[1:]
- } else if len(b) >= 2 && b[1] < 128 {
- tag = uint64(b[0]&0x7f) + uint64(b[1])<<7
- b = b[2:]
- } else {
- var n int
- tag, n = protowire.ConsumeVarint(b)
- if n < 0 {
- panic(errors.New("bad tag in lazy extension decoding"))
- }
- b = b[n:]
- }
- num := protowire.Number(tag >> 3)
- wtyp := protowire.Type(tag & 7)
- var out unmarshalOutput
- var err error
- val, out, err = f.lazy.xi.funcs.unmarshal(b, val, num, wtyp, lazyUnmarshalOptions)
- if err != nil {
- panic(errors.New("decode failure in lazy extension decoding: %v", err))
- }
- b = b[out.n:]
- }
- f.lazy.value = val
- } else {
- f.lazy.value = f.lazy.fn()
- }
- f.lazy.xi = nil
- f.lazy.fn = nil
- f.lazy.b = nil
- atomic.StoreUint32(&f.lazy.atomicOnce, 1)
-}
-
-// Set sets the type and value of the extension field.
-// This must not be called concurrently.
-func (f *ExtensionField) Set(t protoreflect.ExtensionType, v protoreflect.Value) {
- f.typ = t
- f.value = v
- f.lazy = nil
-}
-
-// SetLazy sets the type and a value that is to be lazily evaluated upon first use.
-// This must not be called concurrently.
-func (f *ExtensionField) SetLazy(t protoreflect.ExtensionType, fn func() protoreflect.Value) {
- f.typ = t
- f.lazy = &lazyExtensionValue{fn: fn}
-}
-
-// Value returns the value of the extension field.
-// This may be called concurrently.
-func (f *ExtensionField) Value() protoreflect.Value {
- if f.lazy != nil {
- if atomic.LoadUint32(&f.lazy.atomicOnce) == 0 {
- f.lazyInit()
- }
- return f.lazy.value
- }
- return f.value
-}
-
-// Type returns the type of the extension field.
-// This may be called concurrently.
-func (f ExtensionField) Type() protoreflect.ExtensionType {
- return f.typ
-}
-
-// IsSet returns whether the extension field is set.
-// This may be called concurrently.
-func (f ExtensionField) IsSet() bool {
- return f.typ != nil
-}
-
-// IsLazy reports whether a field is lazily encoded.
-// It is exported for testing.
-func IsLazy(m protoreflect.Message, fd protoreflect.FieldDescriptor) bool {
- var mi *MessageInfo
- var p pointer
- switch m := m.(type) {
- case *messageState:
- mi = m.messageInfo()
- p = m.pointer()
- case *messageReflectWrapper:
- mi = m.messageInfo()
- p = m.pointer()
- default:
- return false
- }
- xd, ok := fd.(protoreflect.ExtensionTypeDescriptor)
- if !ok {
- return false
- }
- xt := xd.Type()
- ext := mi.extensionMap(p)
- if ext == nil {
- return false
- }
- f, ok := (*ext)[int32(fd.Number())]
- if !ok {
- return false
- }
- return f.typ == xt && f.lazy != nil && atomic.LoadUint32(&f.lazy.atomicOnce) == 0
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_field.go b/vendor/google.golang.org/protobuf/internal/impl/codec_field.go
deleted file mode 100644
index 3fadd241..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_field.go
+++ /dev/null
@@ -1,830 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
- "sync"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-type errInvalidUTF8 struct{}
-
-func (errInvalidUTF8) Error() string { return "string field contains invalid UTF-8" }
-func (errInvalidUTF8) InvalidUTF8() bool { return true }
-func (errInvalidUTF8) Unwrap() error { return errors.Error }
-
-// initOneofFieldCoders initializes the fast-path functions for the fields in a oneof.
-//
-// For size, marshal, and isInit operations, functions are set only on the first field
-// in the oneof. The functions are called when the oneof is non-nil, and will dispatch
-// to the appropriate field-specific function as necessary.
-//
-// The unmarshal function is set on each field individually as usual.
-func (mi *MessageInfo) initOneofFieldCoders(od protoreflect.OneofDescriptor, si structInfo) {
- fs := si.oneofsByName[od.Name()]
- ft := fs.Type
- oneofFields := make(map[reflect.Type]*coderFieldInfo)
- needIsInit := false
- fields := od.Fields()
- for i, lim := 0, fields.Len(); i < lim; i++ {
- fd := od.Fields().Get(i)
- num := fd.Number()
- // Make a copy of the original coderFieldInfo for use in unmarshaling.
- //
- // oneofFields[oneofType].funcs.marshal is the field-specific marshal function.
- //
- // mi.coderFields[num].marshal is set on only the first field in the oneof,
- // and dispatches to the field-specific marshaler in oneofFields.
- cf := *mi.coderFields[num]
- ot := si.oneofWrappersByNumber[num]
- cf.ft = ot.Field(0).Type
- cf.mi, cf.funcs = fieldCoder(fd, cf.ft)
- oneofFields[ot] = &cf
- if cf.funcs.isInit != nil {
- needIsInit = true
- }
- mi.coderFields[num].funcs.unmarshal = func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- var vw reflect.Value // pointer to wrapper type
- vi := p.AsValueOf(ft).Elem() // oneof field value of interface kind
- if !vi.IsNil() && !vi.Elem().IsNil() && vi.Elem().Elem().Type() == ot {
- vw = vi.Elem()
- } else {
- vw = reflect.New(ot)
- }
- out, err := cf.funcs.unmarshal(b, pointerOfValue(vw).Apply(zeroOffset), wtyp, &cf, opts)
- if err != nil {
- return out, err
- }
- vi.Set(vw)
- return out, nil
- }
- }
- getInfo := func(p pointer) (pointer, *coderFieldInfo) {
- v := p.AsValueOf(ft).Elem()
- if v.IsNil() {
- return pointer{}, nil
- }
- v = v.Elem() // interface -> *struct
- if v.IsNil() {
- return pointer{}, nil
- }
- return pointerOfValue(v).Apply(zeroOffset), oneofFields[v.Elem().Type()]
- }
- first := mi.coderFields[od.Fields().Get(0).Number()]
- first.funcs.size = func(p pointer, _ *coderFieldInfo, opts marshalOptions) int {
- p, info := getInfo(p)
- if info == nil || info.funcs.size == nil {
- return 0
- }
- return info.funcs.size(p, info, opts)
- }
- first.funcs.marshal = func(b []byte, p pointer, _ *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- p, info := getInfo(p)
- if info == nil || info.funcs.marshal == nil {
- return b, nil
- }
- return info.funcs.marshal(b, p, info, opts)
- }
- first.funcs.merge = func(dst, src pointer, _ *coderFieldInfo, opts mergeOptions) {
- srcp, srcinfo := getInfo(src)
- if srcinfo == nil || srcinfo.funcs.merge == nil {
- return
- }
- dstp, dstinfo := getInfo(dst)
- if dstinfo != srcinfo {
- dst.AsValueOf(ft).Elem().Set(reflect.New(src.AsValueOf(ft).Elem().Elem().Elem().Type()))
- dstp = pointerOfValue(dst.AsValueOf(ft).Elem().Elem()).Apply(zeroOffset)
- }
- srcinfo.funcs.merge(dstp, srcp, srcinfo, opts)
- }
- if needIsInit {
- first.funcs.isInit = func(p pointer, _ *coderFieldInfo) error {
- p, info := getInfo(p)
- if info == nil || info.funcs.isInit == nil {
- return nil
- }
- return info.funcs.isInit(p, info)
- }
- }
-}
-
-func makeWeakMessageFieldCoder(fd protoreflect.FieldDescriptor) pointerCoderFuncs {
- var once sync.Once
- var messageType protoreflect.MessageType
- lazyInit := func() {
- once.Do(func() {
- messageName := fd.Message().FullName()
- messageType, _ = protoregistry.GlobalTypes.FindMessageByName(messageName)
- })
- }
-
- return pointerCoderFuncs{
- size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- m, ok := p.WeakFields().get(f.num)
- if !ok {
- return 0
- }
- lazyInit()
- if messageType == nil {
- panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName()))
- }
- return sizeMessage(m, f.tagsize, opts)
- },
- marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- m, ok := p.WeakFields().get(f.num)
- if !ok {
- return b, nil
- }
- lazyInit()
- if messageType == nil {
- panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName()))
- }
- return appendMessage(b, m, f.wiretag, opts)
- },
- unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- fs := p.WeakFields()
- m, ok := fs.get(f.num)
- if !ok {
- lazyInit()
- if messageType == nil {
- return unmarshalOutput{}, errUnknown
- }
- m = messageType.New().Interface()
- fs.set(f.num, m)
- }
- return consumeMessage(b, m, wtyp, opts)
- },
- isInit: func(p pointer, f *coderFieldInfo) error {
- m, ok := p.WeakFields().get(f.num)
- if !ok {
- return nil
- }
- return proto.CheckInitialized(m)
- },
- merge: func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
- sm, ok := src.WeakFields().get(f.num)
- if !ok {
- return
- }
- dm, ok := dst.WeakFields().get(f.num)
- if !ok {
- lazyInit()
- if messageType == nil {
- panic(fmt.Sprintf("weak message %v is not linked in", fd.Message().FullName()))
- }
- dm = messageType.New().Interface()
- dst.WeakFields().set(f.num, dm)
- }
- opts.Merge(dm, sm)
- },
- }
-}
-
-func makeMessageFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs {
- if mi := getMessageInfo(ft); mi != nil {
- funcs := pointerCoderFuncs{
- size: sizeMessageInfo,
- marshal: appendMessageInfo,
- unmarshal: consumeMessageInfo,
- merge: mergeMessage,
- }
- if needsInitCheck(mi.Desc) {
- funcs.isInit = isInitMessageInfo
- }
- return funcs
- } else {
- return pointerCoderFuncs{
- size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- m := asMessage(p.AsValueOf(ft).Elem())
- return sizeMessage(m, f.tagsize, opts)
- },
- marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- m := asMessage(p.AsValueOf(ft).Elem())
- return appendMessage(b, m, f.wiretag, opts)
- },
- unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- mp := p.AsValueOf(ft).Elem()
- if mp.IsNil() {
- mp.Set(reflect.New(ft.Elem()))
- }
- return consumeMessage(b, asMessage(mp), wtyp, opts)
- },
- isInit: func(p pointer, f *coderFieldInfo) error {
- m := asMessage(p.AsValueOf(ft).Elem())
- return proto.CheckInitialized(m)
- },
- merge: mergeMessage,
- }
- }
-}
-
-func sizeMessageInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- return protowire.SizeBytes(f.mi.sizePointer(p.Elem(), opts)) + f.tagsize
-}
-
-func appendMessageInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(f.mi.sizePointer(p.Elem(), opts)))
- return f.mi.marshalAppendPointer(b, p.Elem(), opts)
-}
-
-func consumeMessageInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- if p.Elem().IsNil() {
- p.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem())))
- }
- o, err := f.mi.unmarshalPointer(v, p.Elem(), 0, opts)
- if err != nil {
- return out, err
- }
- out.n = n
- out.initialized = o.initialized
- return out, nil
-}
-
-func isInitMessageInfo(p pointer, f *coderFieldInfo) error {
- return f.mi.checkInitializedPointer(p.Elem())
-}
-
-func sizeMessage(m proto.Message, tagsize int, _ marshalOptions) int {
- return protowire.SizeBytes(proto.Size(m)) + tagsize
-}
-
-func appendMessage(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(proto.Size(m)))
- return opts.Options().MarshalAppend(b, m)
-}
-
-func consumeMessage(b []byte, m proto.Message, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{
- Buf: v,
- Message: m.ProtoReflect(),
- })
- if err != nil {
- return out, err
- }
- out.n = n
- out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0
- return out, nil
-}
-
-func sizeMessageValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- m := v.Message().Interface()
- return sizeMessage(m, tagsize, opts)
-}
-
-func appendMessageValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- m := v.Message().Interface()
- return appendMessage(b, m, wiretag, opts)
-}
-
-func consumeMessageValue(b []byte, v protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (protoreflect.Value, unmarshalOutput, error) {
- m := v.Message().Interface()
- out, err := consumeMessage(b, m, wtyp, opts)
- return v, out, err
-}
-
-func isInitMessageValue(v protoreflect.Value) error {
- m := v.Message().Interface()
- return proto.CheckInitialized(m)
-}
-
-var coderMessageValue = valueCoderFuncs{
- size: sizeMessageValue,
- marshal: appendMessageValue,
- unmarshal: consumeMessageValue,
- isInit: isInitMessageValue,
- merge: mergeMessageValue,
-}
-
-func sizeGroupValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- m := v.Message().Interface()
- return sizeGroup(m, tagsize, opts)
-}
-
-func appendGroupValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- m := v.Message().Interface()
- return appendGroup(b, m, wiretag, opts)
-}
-
-func consumeGroupValue(b []byte, v protoreflect.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (protoreflect.Value, unmarshalOutput, error) {
- m := v.Message().Interface()
- out, err := consumeGroup(b, m, num, wtyp, opts)
- return v, out, err
-}
-
-var coderGroupValue = valueCoderFuncs{
- size: sizeGroupValue,
- marshal: appendGroupValue,
- unmarshal: consumeGroupValue,
- isInit: isInitMessageValue,
- merge: mergeMessageValue,
-}
-
-func makeGroupFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs {
- num := fd.Number()
- if mi := getMessageInfo(ft); mi != nil {
- funcs := pointerCoderFuncs{
- size: sizeGroupType,
- marshal: appendGroupType,
- unmarshal: consumeGroupType,
- merge: mergeMessage,
- }
- if needsInitCheck(mi.Desc) {
- funcs.isInit = isInitMessageInfo
- }
- return funcs
- } else {
- return pointerCoderFuncs{
- size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- m := asMessage(p.AsValueOf(ft).Elem())
- return sizeGroup(m, f.tagsize, opts)
- },
- marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- m := asMessage(p.AsValueOf(ft).Elem())
- return appendGroup(b, m, f.wiretag, opts)
- },
- unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- mp := p.AsValueOf(ft).Elem()
- if mp.IsNil() {
- mp.Set(reflect.New(ft.Elem()))
- }
- return consumeGroup(b, asMessage(mp), num, wtyp, opts)
- },
- isInit: func(p pointer, f *coderFieldInfo) error {
- m := asMessage(p.AsValueOf(ft).Elem())
- return proto.CheckInitialized(m)
- },
- merge: mergeMessage,
- }
- }
-}
-
-func sizeGroupType(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- return 2*f.tagsize + f.mi.sizePointer(p.Elem(), opts)
-}
-
-func appendGroupType(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, f.wiretag) // start group
- b, err := f.mi.marshalAppendPointer(b, p.Elem(), opts)
- b = protowire.AppendVarint(b, f.wiretag+1) // end group
- return b, err
-}
-
-func consumeGroupType(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.StartGroupType {
- return out, errUnknown
- }
- if p.Elem().IsNil() {
- p.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem())))
- }
- return f.mi.unmarshalPointer(b, p.Elem(), f.num, opts)
-}
-
-func sizeGroup(m proto.Message, tagsize int, _ marshalOptions) int {
- return 2*tagsize + proto.Size(m)
-}
-
-func appendGroup(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag) // start group
- b, err := opts.Options().MarshalAppend(b, m)
- b = protowire.AppendVarint(b, wiretag+1) // end group
- return b, err
-}
-
-func consumeGroup(b []byte, m proto.Message, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.StartGroupType {
- return out, errUnknown
- }
- b, n := protowire.ConsumeGroup(num, b)
- if n < 0 {
- return out, errDecode
- }
- o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{
- Buf: b,
- Message: m.ProtoReflect(),
- })
- if err != nil {
- return out, err
- }
- out.n = n
- out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0
- return out, nil
-}
-
-func makeMessageSliceFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs {
- if mi := getMessageInfo(ft); mi != nil {
- funcs := pointerCoderFuncs{
- size: sizeMessageSliceInfo,
- marshal: appendMessageSliceInfo,
- unmarshal: consumeMessageSliceInfo,
- merge: mergeMessageSlice,
- }
- if needsInitCheck(mi.Desc) {
- funcs.isInit = isInitMessageSliceInfo
- }
- return funcs
- }
- return pointerCoderFuncs{
- size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- return sizeMessageSlice(p, ft, f.tagsize, opts)
- },
- marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- return appendMessageSlice(b, p, f.wiretag, ft, opts)
- },
- unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- return consumeMessageSlice(b, p, ft, wtyp, opts)
- },
- isInit: func(p pointer, f *coderFieldInfo) error {
- return isInitMessageSlice(p, ft)
- },
- merge: mergeMessageSlice,
- }
-}
-
-func sizeMessageSliceInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- s := p.PointerSlice()
- n := 0
- for _, v := range s {
- n += protowire.SizeBytes(f.mi.sizePointer(v, opts)) + f.tagsize
- }
- return n
-}
-
-func appendMessageSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := p.PointerSlice()
- var err error
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- siz := f.mi.sizePointer(v, opts)
- b = protowire.AppendVarint(b, uint64(siz))
- b, err = f.mi.marshalAppendPointer(b, v, opts)
- if err != nil {
- return b, err
- }
- }
- return b, nil
-}
-
-func consumeMessageSliceInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- m := reflect.New(f.mi.GoReflectType.Elem()).Interface()
- mp := pointerOfIface(m)
- o, err := f.mi.unmarshalPointer(v, mp, 0, opts)
- if err != nil {
- return out, err
- }
- p.AppendPointerSlice(mp)
- out.n = n
- out.initialized = o.initialized
- return out, nil
-}
-
-func isInitMessageSliceInfo(p pointer, f *coderFieldInfo) error {
- s := p.PointerSlice()
- for _, v := range s {
- if err := f.mi.checkInitializedPointer(v); err != nil {
- return err
- }
- }
- return nil
-}
-
-func sizeMessageSlice(p pointer, goType reflect.Type, tagsize int, _ marshalOptions) int {
- s := p.PointerSlice()
- n := 0
- for _, v := range s {
- m := asMessage(v.AsValueOf(goType.Elem()))
- n += protowire.SizeBytes(proto.Size(m)) + tagsize
- }
- return n
-}
-
-func appendMessageSlice(b []byte, p pointer, wiretag uint64, goType reflect.Type, opts marshalOptions) ([]byte, error) {
- s := p.PointerSlice()
- var err error
- for _, v := range s {
- m := asMessage(v.AsValueOf(goType.Elem()))
- b = protowire.AppendVarint(b, wiretag)
- siz := proto.Size(m)
- b = protowire.AppendVarint(b, uint64(siz))
- b, err = opts.Options().MarshalAppend(b, m)
- if err != nil {
- return b, err
- }
- }
- return b, nil
-}
-
-func consumeMessageSlice(b []byte, p pointer, goType reflect.Type, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- mp := reflect.New(goType.Elem())
- o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{
- Buf: v,
- Message: asMessage(mp).ProtoReflect(),
- })
- if err != nil {
- return out, err
- }
- p.AppendPointerSlice(pointerOfValue(mp))
- out.n = n
- out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0
- return out, nil
-}
-
-func isInitMessageSlice(p pointer, goType reflect.Type) error {
- s := p.PointerSlice()
- for _, v := range s {
- m := asMessage(v.AsValueOf(goType.Elem()))
- if err := proto.CheckInitialized(m); err != nil {
- return err
- }
- }
- return nil
-}
-
-// Slices of messages
-
-func sizeMessageSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int {
- list := listv.List()
- n := 0
- for i, llen := 0, list.Len(); i < llen; i++ {
- m := list.Get(i).Message().Interface()
- n += protowire.SizeBytes(proto.Size(m)) + tagsize
- }
- return n
-}
-
-func appendMessageSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- mopts := opts.Options()
- for i, llen := 0, list.Len(); i < llen; i++ {
- m := list.Get(i).Message().Interface()
- b = protowire.AppendVarint(b, wiretag)
- siz := proto.Size(m)
- b = protowire.AppendVarint(b, uint64(siz))
- var err error
- b, err = mopts.MarshalAppend(b, m)
- if err != nil {
- return b, err
- }
- }
- return b, nil
-}
-
-func consumeMessageSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp != protowire.BytesType {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- m := list.NewElement()
- o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{
- Buf: v,
- Message: m.Message(),
- })
- if err != nil {
- return protoreflect.Value{}, out, err
- }
- list.Append(m)
- out.n = n
- out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0
- return listv, out, nil
-}
-
-func isInitMessageSliceValue(listv protoreflect.Value) error {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- m := list.Get(i).Message().Interface()
- if err := proto.CheckInitialized(m); err != nil {
- return err
- }
- }
- return nil
-}
-
-var coderMessageSliceValue = valueCoderFuncs{
- size: sizeMessageSliceValue,
- marshal: appendMessageSliceValue,
- unmarshal: consumeMessageSliceValue,
- isInit: isInitMessageSliceValue,
- merge: mergeMessageListValue,
-}
-
-func sizeGroupSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int {
- list := listv.List()
- n := 0
- for i, llen := 0, list.Len(); i < llen; i++ {
- m := list.Get(i).Message().Interface()
- n += 2*tagsize + proto.Size(m)
- }
- return n
-}
-
-func appendGroupSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- mopts := opts.Options()
- for i, llen := 0, list.Len(); i < llen; i++ {
- m := list.Get(i).Message().Interface()
- b = protowire.AppendVarint(b, wiretag) // start group
- var err error
- b, err = mopts.MarshalAppend(b, m)
- if err != nil {
- return b, err
- }
- b = protowire.AppendVarint(b, wiretag+1) // end group
- }
- return b, nil
-}
-
-func consumeGroupSliceValue(b []byte, listv protoreflect.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp != protowire.StartGroupType {
- return protoreflect.Value{}, out, errUnknown
- }
- b, n := protowire.ConsumeGroup(num, b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- m := list.NewElement()
- o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{
- Buf: b,
- Message: m.Message(),
- })
- if err != nil {
- return protoreflect.Value{}, out, err
- }
- list.Append(m)
- out.n = n
- out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0
- return listv, out, nil
-}
-
-var coderGroupSliceValue = valueCoderFuncs{
- size: sizeGroupSliceValue,
- marshal: appendGroupSliceValue,
- unmarshal: consumeGroupSliceValue,
- isInit: isInitMessageSliceValue,
- merge: mergeMessageListValue,
-}
-
-func makeGroupSliceFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) pointerCoderFuncs {
- num := fd.Number()
- if mi := getMessageInfo(ft); mi != nil {
- funcs := pointerCoderFuncs{
- size: sizeGroupSliceInfo,
- marshal: appendGroupSliceInfo,
- unmarshal: consumeGroupSliceInfo,
- merge: mergeMessageSlice,
- }
- if needsInitCheck(mi.Desc) {
- funcs.isInit = isInitMessageSliceInfo
- }
- return funcs
- }
- return pointerCoderFuncs{
- size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- return sizeGroupSlice(p, ft, f.tagsize, opts)
- },
- marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- return appendGroupSlice(b, p, f.wiretag, ft, opts)
- },
- unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- return consumeGroupSlice(b, p, num, wtyp, ft, opts)
- },
- isInit: func(p pointer, f *coderFieldInfo) error {
- return isInitMessageSlice(p, ft)
- },
- merge: mergeMessageSlice,
- }
-}
-
-func sizeGroupSlice(p pointer, messageType reflect.Type, tagsize int, _ marshalOptions) int {
- s := p.PointerSlice()
- n := 0
- for _, v := range s {
- m := asMessage(v.AsValueOf(messageType.Elem()))
- n += 2*tagsize + proto.Size(m)
- }
- return n
-}
-
-func appendGroupSlice(b []byte, p pointer, wiretag uint64, messageType reflect.Type, opts marshalOptions) ([]byte, error) {
- s := p.PointerSlice()
- var err error
- for _, v := range s {
- m := asMessage(v.AsValueOf(messageType.Elem()))
- b = protowire.AppendVarint(b, wiretag) // start group
- b, err = opts.Options().MarshalAppend(b, m)
- if err != nil {
- return b, err
- }
- b = protowire.AppendVarint(b, wiretag+1) // end group
- }
- return b, nil
-}
-
-func consumeGroupSlice(b []byte, p pointer, num protowire.Number, wtyp protowire.Type, goType reflect.Type, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.StartGroupType {
- return out, errUnknown
- }
- b, n := protowire.ConsumeGroup(num, b)
- if n < 0 {
- return out, errDecode
- }
- mp := reflect.New(goType.Elem())
- o, err := opts.Options().UnmarshalState(protoiface.UnmarshalInput{
- Buf: b,
- Message: asMessage(mp).ProtoReflect(),
- })
- if err != nil {
- return out, err
- }
- p.AppendPointerSlice(pointerOfValue(mp))
- out.n = n
- out.initialized = o.Flags&protoiface.UnmarshalInitialized != 0
- return out, nil
-}
-
-func sizeGroupSliceInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- s := p.PointerSlice()
- n := 0
- for _, v := range s {
- n += 2*f.tagsize + f.mi.sizePointer(v, opts)
- }
- return n
-}
-
-func appendGroupSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := p.PointerSlice()
- var err error
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag) // start group
- b, err = f.mi.marshalAppendPointer(b, v, opts)
- if err != nil {
- return b, err
- }
- b = protowire.AppendVarint(b, f.wiretag+1) // end group
- }
- return b, nil
-}
-
-func consumeGroupSliceInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- if wtyp != protowire.StartGroupType {
- return unmarshalOutput{}, errUnknown
- }
- m := reflect.New(f.mi.GoReflectType.Elem()).Interface()
- mp := pointerOfIface(m)
- out, err := f.mi.unmarshalPointer(b, mp, f.num, opts)
- if err != nil {
- return out, err
- }
- p.AppendPointerSlice(mp)
- return out, nil
-}
-
-func asMessage(v reflect.Value) protoreflect.ProtoMessage {
- if m, ok := v.Interface().(protoreflect.ProtoMessage); ok {
- return m
- }
- return legacyWrapMessage(v).Interface()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go b/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go
deleted file mode 100644
index f55dc01e..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go
+++ /dev/null
@@ -1,5724 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-types. DO NOT EDIT.
-
-package impl
-
-import (
- "math"
- "unicode/utf8"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// sizeBool returns the size of wire encoding a bool pointer as a Bool.
-func sizeBool(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Bool()
- return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v))
-}
-
-// appendBool wire encodes a bool pointer as a Bool.
-func appendBool(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Bool()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeBool(v))
- return b, nil
-}
-
-// consumeBool wire decodes a bool pointer as a Bool.
-func consumeBool(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *p.Bool() = protowire.DecodeBool(v)
- out.n = n
- return out, nil
-}
-
-var coderBool = pointerCoderFuncs{
- size: sizeBool,
- marshal: appendBool,
- unmarshal: consumeBool,
- merge: mergeBool,
-}
-
-// sizeBoolNoZero returns the size of wire encoding a bool pointer as a Bool.
-// The zero value is not encoded.
-func sizeBoolNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Bool()
- if v == false {
- return 0
- }
- return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v))
-}
-
-// appendBoolNoZero wire encodes a bool pointer as a Bool.
-// The zero value is not encoded.
-func appendBoolNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Bool()
- if v == false {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeBool(v))
- return b, nil
-}
-
-var coderBoolNoZero = pointerCoderFuncs{
- size: sizeBoolNoZero,
- marshal: appendBoolNoZero,
- unmarshal: consumeBool,
- merge: mergeBoolNoZero,
-}
-
-// sizeBoolPtr returns the size of wire encoding a *bool pointer as a Bool.
-// It panics if the pointer is nil.
-func sizeBoolPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.BoolPtr()
- return f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v))
-}
-
-// appendBoolPtr wire encodes a *bool pointer as a Bool.
-// It panics if the pointer is nil.
-func appendBoolPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.BoolPtr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeBool(v))
- return b, nil
-}
-
-// consumeBoolPtr wire decodes a *bool pointer as a Bool.
-func consumeBoolPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- vp := p.BoolPtr()
- if *vp == nil {
- *vp = new(bool)
- }
- **vp = protowire.DecodeBool(v)
- out.n = n
- return out, nil
-}
-
-var coderBoolPtr = pointerCoderFuncs{
- size: sizeBoolPtr,
- marshal: appendBoolPtr,
- unmarshal: consumeBoolPtr,
- merge: mergeBoolPtr,
-}
-
-// sizeBoolSlice returns the size of wire encoding a []bool pointer as a repeated Bool.
-func sizeBoolSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.BoolSlice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeVarint(protowire.EncodeBool(v))
- }
- return size
-}
-
-// appendBoolSlice encodes a []bool pointer as a repeated Bool.
-func appendBoolSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.BoolSlice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeBool(v))
- }
- return b, nil
-}
-
-// consumeBoolSlice wire decodes a []bool pointer as a repeated Bool.
-func consumeBoolSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.BoolSlice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := 0
- for _, v := range b {
- if v < 0x80 {
- count++
- }
- }
- if count > 0 {
- p.growBoolSlice(count)
- }
- s := *sp
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- s = append(s, protowire.DecodeBool(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, protowire.DecodeBool(v))
- out.n = n
- return out, nil
-}
-
-var coderBoolSlice = pointerCoderFuncs{
- size: sizeBoolSlice,
- marshal: appendBoolSlice,
- unmarshal: consumeBoolSlice,
- merge: mergeBoolSlice,
-}
-
-// sizeBoolPackedSlice returns the size of wire encoding a []bool pointer as a packed repeated Bool.
-func sizeBoolPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.BoolSlice()
- if len(s) == 0 {
- return 0
- }
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(protowire.EncodeBool(v))
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendBoolPackedSlice encodes a []bool pointer as a packed repeated Bool.
-func appendBoolPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.BoolSlice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(protowire.EncodeBool(v))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendVarint(b, protowire.EncodeBool(v))
- }
- return b, nil
-}
-
-var coderBoolPackedSlice = pointerCoderFuncs{
- size: sizeBoolPackedSlice,
- marshal: appendBoolPackedSlice,
- unmarshal: consumeBoolSlice,
- merge: mergeBoolSlice,
-}
-
-// sizeBoolValue returns the size of wire encoding a bool value as a Bool.
-func sizeBoolValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(protowire.EncodeBool(v.Bool()))
-}
-
-// appendBoolValue encodes a bool value as a Bool.
-func appendBoolValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool()))
- return b, nil
-}
-
-// consumeBoolValue decodes a bool value as a Bool.
-func consumeBoolValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfBool(protowire.DecodeBool(v)), out, nil
-}
-
-var coderBoolValue = valueCoderFuncs{
- size: sizeBoolValue,
- marshal: appendBoolValue,
- unmarshal: consumeBoolValue,
- merge: mergeScalarValue,
-}
-
-// sizeBoolSliceValue returns the size of wire encoding a []bool value as a repeated Bool.
-func sizeBoolSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(protowire.EncodeBool(v.Bool()))
- }
- return size
-}
-
-// appendBoolSliceValue encodes a []bool value as a repeated Bool.
-func appendBoolSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool()))
- }
- return b, nil
-}
-
-// consumeBoolSliceValue wire decodes a []bool value as a repeated Bool.
-func consumeBoolSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderBoolSliceValue = valueCoderFuncs{
- size: sizeBoolSliceValue,
- marshal: appendBoolSliceValue,
- unmarshal: consumeBoolSliceValue,
- merge: mergeListValue,
-}
-
-// sizeBoolPackedSliceValue returns the size of wire encoding a []bool value as a packed repeated Bool.
-func sizeBoolPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(protowire.EncodeBool(v.Bool()))
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendBoolPackedSliceValue encodes a []bool value as a packed repeated Bool.
-func appendBoolPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(protowire.EncodeBool(v.Bool()))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool()))
- }
- return b, nil
-}
-
-var coderBoolPackedSliceValue = valueCoderFuncs{
- size: sizeBoolPackedSliceValue,
- marshal: appendBoolPackedSliceValue,
- unmarshal: consumeBoolSliceValue,
- merge: mergeListValue,
-}
-
-// sizeEnumValue returns the size of wire encoding a value as a Enum.
-func sizeEnumValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(uint64(v.Enum()))
-}
-
-// appendEnumValue encodes a value as a Enum.
-func appendEnumValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(v.Enum()))
- return b, nil
-}
-
-// consumeEnumValue decodes a value as a Enum.
-func consumeEnumValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)), out, nil
-}
-
-var coderEnumValue = valueCoderFuncs{
- size: sizeEnumValue,
- marshal: appendEnumValue,
- unmarshal: consumeEnumValue,
- merge: mergeScalarValue,
-}
-
-// sizeEnumSliceValue returns the size of wire encoding a [] value as a repeated Enum.
-func sizeEnumSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(uint64(v.Enum()))
- }
- return size
-}
-
-// appendEnumSliceValue encodes a [] value as a repeated Enum.
-func appendEnumSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(v.Enum()))
- }
- return b, nil
-}
-
-// consumeEnumSliceValue wire decodes a [] value as a repeated Enum.
-func consumeEnumSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderEnumSliceValue = valueCoderFuncs{
- size: sizeEnumSliceValue,
- marshal: appendEnumSliceValue,
- unmarshal: consumeEnumSliceValue,
- merge: mergeListValue,
-}
-
-// sizeEnumPackedSliceValue returns the size of wire encoding a [] value as a packed repeated Enum.
-func sizeEnumPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(v.Enum()))
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendEnumPackedSliceValue encodes a [] value as a packed repeated Enum.
-func appendEnumPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(v.Enum()))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, uint64(v.Enum()))
- }
- return b, nil
-}
-
-var coderEnumPackedSliceValue = valueCoderFuncs{
- size: sizeEnumPackedSliceValue,
- marshal: appendEnumPackedSliceValue,
- unmarshal: consumeEnumSliceValue,
- merge: mergeListValue,
-}
-
-// sizeInt32 returns the size of wire encoding a int32 pointer as a Int32.
-func sizeInt32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int32()
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendInt32 wire encodes a int32 pointer as a Int32.
-func appendInt32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int32()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-// consumeInt32 wire decodes a int32 pointer as a Int32.
-func consumeInt32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *p.Int32() = int32(v)
- out.n = n
- return out, nil
-}
-
-var coderInt32 = pointerCoderFuncs{
- size: sizeInt32,
- marshal: appendInt32,
- unmarshal: consumeInt32,
- merge: mergeInt32,
-}
-
-// sizeInt32NoZero returns the size of wire encoding a int32 pointer as a Int32.
-// The zero value is not encoded.
-func sizeInt32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int32()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendInt32NoZero wire encodes a int32 pointer as a Int32.
-// The zero value is not encoded.
-func appendInt32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int32()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-var coderInt32NoZero = pointerCoderFuncs{
- size: sizeInt32NoZero,
- marshal: appendInt32NoZero,
- unmarshal: consumeInt32,
- merge: mergeInt32NoZero,
-}
-
-// sizeInt32Ptr returns the size of wire encoding a *int32 pointer as a Int32.
-// It panics if the pointer is nil.
-func sizeInt32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.Int32Ptr()
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendInt32Ptr wire encodes a *int32 pointer as a Int32.
-// It panics if the pointer is nil.
-func appendInt32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Int32Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-// consumeInt32Ptr wire decodes a *int32 pointer as a Int32.
-func consumeInt32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- vp := p.Int32Ptr()
- if *vp == nil {
- *vp = new(int32)
- }
- **vp = int32(v)
- out.n = n
- return out, nil
-}
-
-var coderInt32Ptr = pointerCoderFuncs{
- size: sizeInt32Ptr,
- marshal: appendInt32Ptr,
- unmarshal: consumeInt32Ptr,
- merge: mergeInt32Ptr,
-}
-
-// sizeInt32Slice returns the size of wire encoding a []int32 pointer as a repeated Int32.
-func sizeInt32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int32Slice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeVarint(uint64(v))
- }
- return size
-}
-
-// appendInt32Slice encodes a []int32 pointer as a repeated Int32.
-func appendInt32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int32Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- }
- return b, nil
-}
-
-// consumeInt32Slice wire decodes a []int32 pointer as a repeated Int32.
-func consumeInt32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Int32Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := 0
- for _, v := range b {
- if v < 0x80 {
- count++
- }
- }
- if count > 0 {
- p.growInt32Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- s = append(s, int32(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, int32(v))
- out.n = n
- return out, nil
-}
-
-var coderInt32Slice = pointerCoderFuncs{
- size: sizeInt32Slice,
- marshal: appendInt32Slice,
- unmarshal: consumeInt32Slice,
- merge: mergeInt32Slice,
-}
-
-// sizeInt32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Int32.
-func sizeInt32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int32Slice()
- if len(s) == 0 {
- return 0
- }
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(uint64(v))
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendInt32PackedSlice encodes a []int32 pointer as a packed repeated Int32.
-func appendInt32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int32Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(uint64(v))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendVarint(b, uint64(v))
- }
- return b, nil
-}
-
-var coderInt32PackedSlice = pointerCoderFuncs{
- size: sizeInt32PackedSlice,
- marshal: appendInt32PackedSlice,
- unmarshal: consumeInt32Slice,
- merge: mergeInt32Slice,
-}
-
-// sizeInt32Value returns the size of wire encoding a int32 value as a Int32.
-func sizeInt32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(uint64(int32(v.Int())))
-}
-
-// appendInt32Value encodes a int32 value as a Int32.
-func appendInt32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(int32(v.Int())))
- return b, nil
-}
-
-// consumeInt32Value decodes a int32 value as a Int32.
-func consumeInt32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfInt32(int32(v)), out, nil
-}
-
-var coderInt32Value = valueCoderFuncs{
- size: sizeInt32Value,
- marshal: appendInt32Value,
- unmarshal: consumeInt32Value,
- merge: mergeScalarValue,
-}
-
-// sizeInt32SliceValue returns the size of wire encoding a []int32 value as a repeated Int32.
-func sizeInt32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(uint64(int32(v.Int())))
- }
- return size
-}
-
-// appendInt32SliceValue encodes a []int32 value as a repeated Int32.
-func appendInt32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(int32(v.Int())))
- }
- return b, nil
-}
-
-// consumeInt32SliceValue wire decodes a []int32 value as a repeated Int32.
-func consumeInt32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderInt32SliceValue = valueCoderFuncs{
- size: sizeInt32SliceValue,
- marshal: appendInt32SliceValue,
- unmarshal: consumeInt32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeInt32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Int32.
-func sizeInt32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(int32(v.Int())))
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendInt32PackedSliceValue encodes a []int32 value as a packed repeated Int32.
-func appendInt32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(int32(v.Int())))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, uint64(int32(v.Int())))
- }
- return b, nil
-}
-
-var coderInt32PackedSliceValue = valueCoderFuncs{
- size: sizeInt32PackedSliceValue,
- marshal: appendInt32PackedSliceValue,
- unmarshal: consumeInt32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeSint32 returns the size of wire encoding a int32 pointer as a Sint32.
-func sizeSint32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int32()
- return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v)))
-}
-
-// appendSint32 wire encodes a int32 pointer as a Sint32.
-func appendSint32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int32()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v)))
- return b, nil
-}
-
-// consumeSint32 wire decodes a int32 pointer as a Sint32.
-func consumeSint32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *p.Int32() = int32(protowire.DecodeZigZag(v & math.MaxUint32))
- out.n = n
- return out, nil
-}
-
-var coderSint32 = pointerCoderFuncs{
- size: sizeSint32,
- marshal: appendSint32,
- unmarshal: consumeSint32,
- merge: mergeInt32,
-}
-
-// sizeSint32NoZero returns the size of wire encoding a int32 pointer as a Sint32.
-// The zero value is not encoded.
-func sizeSint32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int32()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v)))
-}
-
-// appendSint32NoZero wire encodes a int32 pointer as a Sint32.
-// The zero value is not encoded.
-func appendSint32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int32()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v)))
- return b, nil
-}
-
-var coderSint32NoZero = pointerCoderFuncs{
- size: sizeSint32NoZero,
- marshal: appendSint32NoZero,
- unmarshal: consumeSint32,
- merge: mergeInt32NoZero,
-}
-
-// sizeSint32Ptr returns the size of wire encoding a *int32 pointer as a Sint32.
-// It panics if the pointer is nil.
-func sizeSint32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.Int32Ptr()
- return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v)))
-}
-
-// appendSint32Ptr wire encodes a *int32 pointer as a Sint32.
-// It panics if the pointer is nil.
-func appendSint32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Int32Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v)))
- return b, nil
-}
-
-// consumeSint32Ptr wire decodes a *int32 pointer as a Sint32.
-func consumeSint32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- vp := p.Int32Ptr()
- if *vp == nil {
- *vp = new(int32)
- }
- **vp = int32(protowire.DecodeZigZag(v & math.MaxUint32))
- out.n = n
- return out, nil
-}
-
-var coderSint32Ptr = pointerCoderFuncs{
- size: sizeSint32Ptr,
- marshal: appendSint32Ptr,
- unmarshal: consumeSint32Ptr,
- merge: mergeInt32Ptr,
-}
-
-// sizeSint32Slice returns the size of wire encoding a []int32 pointer as a repeated Sint32.
-func sizeSint32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int32Slice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(v)))
- }
- return size
-}
-
-// appendSint32Slice encodes a []int32 pointer as a repeated Sint32.
-func appendSint32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int32Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v)))
- }
- return b, nil
-}
-
-// consumeSint32Slice wire decodes a []int32 pointer as a repeated Sint32.
-func consumeSint32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Int32Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := 0
- for _, v := range b {
- if v < 0x80 {
- count++
- }
- }
- if count > 0 {
- p.growInt32Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- s = append(s, int32(protowire.DecodeZigZag(v&math.MaxUint32)))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, int32(protowire.DecodeZigZag(v&math.MaxUint32)))
- out.n = n
- return out, nil
-}
-
-var coderSint32Slice = pointerCoderFuncs{
- size: sizeSint32Slice,
- marshal: appendSint32Slice,
- unmarshal: consumeSint32Slice,
- merge: mergeInt32Slice,
-}
-
-// sizeSint32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Sint32.
-func sizeSint32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int32Slice()
- if len(s) == 0 {
- return 0
- }
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(protowire.EncodeZigZag(int64(v)))
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendSint32PackedSlice encodes a []int32 pointer as a packed repeated Sint32.
-func appendSint32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int32Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(protowire.EncodeZigZag(int64(v)))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(v)))
- }
- return b, nil
-}
-
-var coderSint32PackedSlice = pointerCoderFuncs{
- size: sizeSint32PackedSlice,
- marshal: appendSint32PackedSlice,
- unmarshal: consumeSint32Slice,
- merge: mergeInt32Slice,
-}
-
-// sizeSint32Value returns the size of wire encoding a int32 value as a Sint32.
-func sizeSint32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int()))))
-}
-
-// appendSint32Value encodes a int32 value as a Sint32.
-func appendSint32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int()))))
- return b, nil
-}
-
-// consumeSint32Value decodes a int32 value as a Sint32.
-func consumeSint32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))), out, nil
-}
-
-var coderSint32Value = valueCoderFuncs{
- size: sizeSint32Value,
- marshal: appendSint32Value,
- unmarshal: consumeSint32Value,
- merge: mergeScalarValue,
-}
-
-// sizeSint32SliceValue returns the size of wire encoding a []int32 value as a repeated Sint32.
-func sizeSint32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int()))))
- }
- return size
-}
-
-// appendSint32SliceValue encodes a []int32 value as a repeated Sint32.
-func appendSint32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int()))))
- }
- return b, nil
-}
-
-// consumeSint32SliceValue wire decodes a []int32 value as a repeated Sint32.
-func consumeSint32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))))
- out.n = n
- return listv, out, nil
-}
-
-var coderSint32SliceValue = valueCoderFuncs{
- size: sizeSint32SliceValue,
- marshal: appendSint32SliceValue,
- unmarshal: consumeSint32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeSint32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Sint32.
-func sizeSint32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int()))))
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendSint32PackedSliceValue encodes a []int32 value as a packed repeated Sint32.
-func appendSint32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int()))))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int()))))
- }
- return b, nil
-}
-
-var coderSint32PackedSliceValue = valueCoderFuncs{
- size: sizeSint32PackedSliceValue,
- marshal: appendSint32PackedSliceValue,
- unmarshal: consumeSint32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeUint32 returns the size of wire encoding a uint32 pointer as a Uint32.
-func sizeUint32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Uint32()
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendUint32 wire encodes a uint32 pointer as a Uint32.
-func appendUint32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint32()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-// consumeUint32 wire decodes a uint32 pointer as a Uint32.
-func consumeUint32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *p.Uint32() = uint32(v)
- out.n = n
- return out, nil
-}
-
-var coderUint32 = pointerCoderFuncs{
- size: sizeUint32,
- marshal: appendUint32,
- unmarshal: consumeUint32,
- merge: mergeUint32,
-}
-
-// sizeUint32NoZero returns the size of wire encoding a uint32 pointer as a Uint32.
-// The zero value is not encoded.
-func sizeUint32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Uint32()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendUint32NoZero wire encodes a uint32 pointer as a Uint32.
-// The zero value is not encoded.
-func appendUint32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint32()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-var coderUint32NoZero = pointerCoderFuncs{
- size: sizeUint32NoZero,
- marshal: appendUint32NoZero,
- unmarshal: consumeUint32,
- merge: mergeUint32NoZero,
-}
-
-// sizeUint32Ptr returns the size of wire encoding a *uint32 pointer as a Uint32.
-// It panics if the pointer is nil.
-func sizeUint32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.Uint32Ptr()
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendUint32Ptr wire encodes a *uint32 pointer as a Uint32.
-// It panics if the pointer is nil.
-func appendUint32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Uint32Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-// consumeUint32Ptr wire decodes a *uint32 pointer as a Uint32.
-func consumeUint32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- vp := p.Uint32Ptr()
- if *vp == nil {
- *vp = new(uint32)
- }
- **vp = uint32(v)
- out.n = n
- return out, nil
-}
-
-var coderUint32Ptr = pointerCoderFuncs{
- size: sizeUint32Ptr,
- marshal: appendUint32Ptr,
- unmarshal: consumeUint32Ptr,
- merge: mergeUint32Ptr,
-}
-
-// sizeUint32Slice returns the size of wire encoding a []uint32 pointer as a repeated Uint32.
-func sizeUint32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint32Slice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeVarint(uint64(v))
- }
- return size
-}
-
-// appendUint32Slice encodes a []uint32 pointer as a repeated Uint32.
-func appendUint32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint32Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- }
- return b, nil
-}
-
-// consumeUint32Slice wire decodes a []uint32 pointer as a repeated Uint32.
-func consumeUint32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Uint32Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := 0
- for _, v := range b {
- if v < 0x80 {
- count++
- }
- }
- if count > 0 {
- p.growUint32Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- s = append(s, uint32(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, uint32(v))
- out.n = n
- return out, nil
-}
-
-var coderUint32Slice = pointerCoderFuncs{
- size: sizeUint32Slice,
- marshal: appendUint32Slice,
- unmarshal: consumeUint32Slice,
- merge: mergeUint32Slice,
-}
-
-// sizeUint32PackedSlice returns the size of wire encoding a []uint32 pointer as a packed repeated Uint32.
-func sizeUint32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint32Slice()
- if len(s) == 0 {
- return 0
- }
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(uint64(v))
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendUint32PackedSlice encodes a []uint32 pointer as a packed repeated Uint32.
-func appendUint32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint32Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(uint64(v))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendVarint(b, uint64(v))
- }
- return b, nil
-}
-
-var coderUint32PackedSlice = pointerCoderFuncs{
- size: sizeUint32PackedSlice,
- marshal: appendUint32PackedSlice,
- unmarshal: consumeUint32Slice,
- merge: mergeUint32Slice,
-}
-
-// sizeUint32Value returns the size of wire encoding a uint32 value as a Uint32.
-func sizeUint32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(uint64(uint32(v.Uint())))
-}
-
-// appendUint32Value encodes a uint32 value as a Uint32.
-func appendUint32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(uint32(v.Uint())))
- return b, nil
-}
-
-// consumeUint32Value decodes a uint32 value as a Uint32.
-func consumeUint32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfUint32(uint32(v)), out, nil
-}
-
-var coderUint32Value = valueCoderFuncs{
- size: sizeUint32Value,
- marshal: appendUint32Value,
- unmarshal: consumeUint32Value,
- merge: mergeScalarValue,
-}
-
-// sizeUint32SliceValue returns the size of wire encoding a []uint32 value as a repeated Uint32.
-func sizeUint32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(uint64(uint32(v.Uint())))
- }
- return size
-}
-
-// appendUint32SliceValue encodes a []uint32 value as a repeated Uint32.
-func appendUint32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(uint32(v.Uint())))
- }
- return b, nil
-}
-
-// consumeUint32SliceValue wire decodes a []uint32 value as a repeated Uint32.
-func consumeUint32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderUint32SliceValue = valueCoderFuncs{
- size: sizeUint32SliceValue,
- marshal: appendUint32SliceValue,
- unmarshal: consumeUint32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeUint32PackedSliceValue returns the size of wire encoding a []uint32 value as a packed repeated Uint32.
-func sizeUint32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(uint32(v.Uint())))
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendUint32PackedSliceValue encodes a []uint32 value as a packed repeated Uint32.
-func appendUint32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(uint32(v.Uint())))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, uint64(uint32(v.Uint())))
- }
- return b, nil
-}
-
-var coderUint32PackedSliceValue = valueCoderFuncs{
- size: sizeUint32PackedSliceValue,
- marshal: appendUint32PackedSliceValue,
- unmarshal: consumeUint32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeInt64 returns the size of wire encoding a int64 pointer as a Int64.
-func sizeInt64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int64()
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendInt64 wire encodes a int64 pointer as a Int64.
-func appendInt64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int64()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-// consumeInt64 wire decodes a int64 pointer as a Int64.
-func consumeInt64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *p.Int64() = int64(v)
- out.n = n
- return out, nil
-}
-
-var coderInt64 = pointerCoderFuncs{
- size: sizeInt64,
- marshal: appendInt64,
- unmarshal: consumeInt64,
- merge: mergeInt64,
-}
-
-// sizeInt64NoZero returns the size of wire encoding a int64 pointer as a Int64.
-// The zero value is not encoded.
-func sizeInt64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int64()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendInt64NoZero wire encodes a int64 pointer as a Int64.
-// The zero value is not encoded.
-func appendInt64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int64()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-var coderInt64NoZero = pointerCoderFuncs{
- size: sizeInt64NoZero,
- marshal: appendInt64NoZero,
- unmarshal: consumeInt64,
- merge: mergeInt64NoZero,
-}
-
-// sizeInt64Ptr returns the size of wire encoding a *int64 pointer as a Int64.
-// It panics if the pointer is nil.
-func sizeInt64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.Int64Ptr()
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-// appendInt64Ptr wire encodes a *int64 pointer as a Int64.
-// It panics if the pointer is nil.
-func appendInt64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Int64Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-// consumeInt64Ptr wire decodes a *int64 pointer as a Int64.
-func consumeInt64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- vp := p.Int64Ptr()
- if *vp == nil {
- *vp = new(int64)
- }
- **vp = int64(v)
- out.n = n
- return out, nil
-}
-
-var coderInt64Ptr = pointerCoderFuncs{
- size: sizeInt64Ptr,
- marshal: appendInt64Ptr,
- unmarshal: consumeInt64Ptr,
- merge: mergeInt64Ptr,
-}
-
-// sizeInt64Slice returns the size of wire encoding a []int64 pointer as a repeated Int64.
-func sizeInt64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int64Slice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeVarint(uint64(v))
- }
- return size
-}
-
-// appendInt64Slice encodes a []int64 pointer as a repeated Int64.
-func appendInt64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int64Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- }
- return b, nil
-}
-
-// consumeInt64Slice wire decodes a []int64 pointer as a repeated Int64.
-func consumeInt64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Int64Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := 0
- for _, v := range b {
- if v < 0x80 {
- count++
- }
- }
- if count > 0 {
- p.growInt64Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- s = append(s, int64(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, int64(v))
- out.n = n
- return out, nil
-}
-
-var coderInt64Slice = pointerCoderFuncs{
- size: sizeInt64Slice,
- marshal: appendInt64Slice,
- unmarshal: consumeInt64Slice,
- merge: mergeInt64Slice,
-}
-
-// sizeInt64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Int64.
-func sizeInt64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int64Slice()
- if len(s) == 0 {
- return 0
- }
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(uint64(v))
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendInt64PackedSlice encodes a []int64 pointer as a packed repeated Int64.
-func appendInt64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int64Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(uint64(v))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendVarint(b, uint64(v))
- }
- return b, nil
-}
-
-var coderInt64PackedSlice = pointerCoderFuncs{
- size: sizeInt64PackedSlice,
- marshal: appendInt64PackedSlice,
- unmarshal: consumeInt64Slice,
- merge: mergeInt64Slice,
-}
-
-// sizeInt64Value returns the size of wire encoding a int64 value as a Int64.
-func sizeInt64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(uint64(v.Int()))
-}
-
-// appendInt64Value encodes a int64 value as a Int64.
-func appendInt64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(v.Int()))
- return b, nil
-}
-
-// consumeInt64Value decodes a int64 value as a Int64.
-func consumeInt64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfInt64(int64(v)), out, nil
-}
-
-var coderInt64Value = valueCoderFuncs{
- size: sizeInt64Value,
- marshal: appendInt64Value,
- unmarshal: consumeInt64Value,
- merge: mergeScalarValue,
-}
-
-// sizeInt64SliceValue returns the size of wire encoding a []int64 value as a repeated Int64.
-func sizeInt64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(uint64(v.Int()))
- }
- return size
-}
-
-// appendInt64SliceValue encodes a []int64 value as a repeated Int64.
-func appendInt64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, uint64(v.Int()))
- }
- return b, nil
-}
-
-// consumeInt64SliceValue wire decodes a []int64 value as a repeated Int64.
-func consumeInt64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderInt64SliceValue = valueCoderFuncs{
- size: sizeInt64SliceValue,
- marshal: appendInt64SliceValue,
- unmarshal: consumeInt64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeInt64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Int64.
-func sizeInt64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(v.Int()))
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendInt64PackedSliceValue encodes a []int64 value as a packed repeated Int64.
-func appendInt64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(uint64(v.Int()))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, uint64(v.Int()))
- }
- return b, nil
-}
-
-var coderInt64PackedSliceValue = valueCoderFuncs{
- size: sizeInt64PackedSliceValue,
- marshal: appendInt64PackedSliceValue,
- unmarshal: consumeInt64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeSint64 returns the size of wire encoding a int64 pointer as a Sint64.
-func sizeSint64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int64()
- return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v))
-}
-
-// appendSint64 wire encodes a int64 pointer as a Sint64.
-func appendSint64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int64()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v))
- return b, nil
-}
-
-// consumeSint64 wire decodes a int64 pointer as a Sint64.
-func consumeSint64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *p.Int64() = protowire.DecodeZigZag(v)
- out.n = n
- return out, nil
-}
-
-var coderSint64 = pointerCoderFuncs{
- size: sizeSint64,
- marshal: appendSint64,
- unmarshal: consumeSint64,
- merge: mergeInt64,
-}
-
-// sizeSint64NoZero returns the size of wire encoding a int64 pointer as a Sint64.
-// The zero value is not encoded.
-func sizeSint64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int64()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v))
-}
-
-// appendSint64NoZero wire encodes a int64 pointer as a Sint64.
-// The zero value is not encoded.
-func appendSint64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int64()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v))
- return b, nil
-}
-
-var coderSint64NoZero = pointerCoderFuncs{
- size: sizeSint64NoZero,
- marshal: appendSint64NoZero,
- unmarshal: consumeSint64,
- merge: mergeInt64NoZero,
-}
-
-// sizeSint64Ptr returns the size of wire encoding a *int64 pointer as a Sint64.
-// It panics if the pointer is nil.
-func sizeSint64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.Int64Ptr()
- return f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v))
-}
-
-// appendSint64Ptr wire encodes a *int64 pointer as a Sint64.
-// It panics if the pointer is nil.
-func appendSint64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Int64Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v))
- return b, nil
-}
-
-// consumeSint64Ptr wire decodes a *int64 pointer as a Sint64.
-func consumeSint64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- vp := p.Int64Ptr()
- if *vp == nil {
- *vp = new(int64)
- }
- **vp = protowire.DecodeZigZag(v)
- out.n = n
- return out, nil
-}
-
-var coderSint64Ptr = pointerCoderFuncs{
- size: sizeSint64Ptr,
- marshal: appendSint64Ptr,
- unmarshal: consumeSint64Ptr,
- merge: mergeInt64Ptr,
-}
-
-// sizeSint64Slice returns the size of wire encoding a []int64 pointer as a repeated Sint64.
-func sizeSint64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int64Slice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v))
- }
- return size
-}
-
-// appendSint64Slice encodes a []int64 pointer as a repeated Sint64.
-func appendSint64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int64Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v))
- }
- return b, nil
-}
-
-// consumeSint64Slice wire decodes a []int64 pointer as a repeated Sint64.
-func consumeSint64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Int64Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := 0
- for _, v := range b {
- if v < 0x80 {
- count++
- }
- }
- if count > 0 {
- p.growInt64Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- s = append(s, protowire.DecodeZigZag(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, protowire.DecodeZigZag(v))
- out.n = n
- return out, nil
-}
-
-var coderSint64Slice = pointerCoderFuncs{
- size: sizeSint64Slice,
- marshal: appendSint64Slice,
- unmarshal: consumeSint64Slice,
- merge: mergeInt64Slice,
-}
-
-// sizeSint64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Sint64.
-func sizeSint64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int64Slice()
- if len(s) == 0 {
- return 0
- }
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(protowire.EncodeZigZag(v))
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendSint64PackedSlice encodes a []int64 pointer as a packed repeated Sint64.
-func appendSint64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int64Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(protowire.EncodeZigZag(v))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v))
- }
- return b, nil
-}
-
-var coderSint64PackedSlice = pointerCoderFuncs{
- size: sizeSint64PackedSlice,
- marshal: appendSint64PackedSlice,
- unmarshal: consumeSint64Slice,
- merge: mergeInt64Slice,
-}
-
-// sizeSint64Value returns the size of wire encoding a int64 value as a Sint64.
-func sizeSint64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v.Int()))
-}
-
-// appendSint64Value encodes a int64 value as a Sint64.
-func appendSint64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int()))
- return b, nil
-}
-
-// consumeSint64Value decodes a int64 value as a Sint64.
-func consumeSint64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)), out, nil
-}
-
-var coderSint64Value = valueCoderFuncs{
- size: sizeSint64Value,
- marshal: appendSint64Value,
- unmarshal: consumeSint64Value,
- merge: mergeScalarValue,
-}
-
-// sizeSint64SliceValue returns the size of wire encoding a []int64 value as a repeated Sint64.
-func sizeSint64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(protowire.EncodeZigZag(v.Int()))
- }
- return size
-}
-
-// appendSint64SliceValue encodes a []int64 value as a repeated Sint64.
-func appendSint64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int()))
- }
- return b, nil
-}
-
-// consumeSint64SliceValue wire decodes a []int64 value as a repeated Sint64.
-func consumeSint64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderSint64SliceValue = valueCoderFuncs{
- size: sizeSint64SliceValue,
- marshal: appendSint64SliceValue,
- unmarshal: consumeSint64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeSint64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Sint64.
-func sizeSint64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(protowire.EncodeZigZag(v.Int()))
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendSint64PackedSliceValue encodes a []int64 value as a packed repeated Sint64.
-func appendSint64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(protowire.EncodeZigZag(v.Int()))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int()))
- }
- return b, nil
-}
-
-var coderSint64PackedSliceValue = valueCoderFuncs{
- size: sizeSint64PackedSliceValue,
- marshal: appendSint64PackedSliceValue,
- unmarshal: consumeSint64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeUint64 returns the size of wire encoding a uint64 pointer as a Uint64.
-func sizeUint64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Uint64()
- return f.tagsize + protowire.SizeVarint(v)
-}
-
-// appendUint64 wire encodes a uint64 pointer as a Uint64.
-func appendUint64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint64()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, v)
- return b, nil
-}
-
-// consumeUint64 wire decodes a uint64 pointer as a Uint64.
-func consumeUint64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *p.Uint64() = v
- out.n = n
- return out, nil
-}
-
-var coderUint64 = pointerCoderFuncs{
- size: sizeUint64,
- marshal: appendUint64,
- unmarshal: consumeUint64,
- merge: mergeUint64,
-}
-
-// sizeUint64NoZero returns the size of wire encoding a uint64 pointer as a Uint64.
-// The zero value is not encoded.
-func sizeUint64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Uint64()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeVarint(v)
-}
-
-// appendUint64NoZero wire encodes a uint64 pointer as a Uint64.
-// The zero value is not encoded.
-func appendUint64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint64()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, v)
- return b, nil
-}
-
-var coderUint64NoZero = pointerCoderFuncs{
- size: sizeUint64NoZero,
- marshal: appendUint64NoZero,
- unmarshal: consumeUint64,
- merge: mergeUint64NoZero,
-}
-
-// sizeUint64Ptr returns the size of wire encoding a *uint64 pointer as a Uint64.
-// It panics if the pointer is nil.
-func sizeUint64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.Uint64Ptr()
- return f.tagsize + protowire.SizeVarint(v)
-}
-
-// appendUint64Ptr wire encodes a *uint64 pointer as a Uint64.
-// It panics if the pointer is nil.
-func appendUint64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Uint64Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, v)
- return b, nil
-}
-
-// consumeUint64Ptr wire decodes a *uint64 pointer as a Uint64.
-func consumeUint64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- vp := p.Uint64Ptr()
- if *vp == nil {
- *vp = new(uint64)
- }
- **vp = v
- out.n = n
- return out, nil
-}
-
-var coderUint64Ptr = pointerCoderFuncs{
- size: sizeUint64Ptr,
- marshal: appendUint64Ptr,
- unmarshal: consumeUint64Ptr,
- merge: mergeUint64Ptr,
-}
-
-// sizeUint64Slice returns the size of wire encoding a []uint64 pointer as a repeated Uint64.
-func sizeUint64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint64Slice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeVarint(v)
- }
- return size
-}
-
-// appendUint64Slice encodes a []uint64 pointer as a repeated Uint64.
-func appendUint64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint64Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, v)
- }
- return b, nil
-}
-
-// consumeUint64Slice wire decodes a []uint64 pointer as a repeated Uint64.
-func consumeUint64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Uint64Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := 0
- for _, v := range b {
- if v < 0x80 {
- count++
- }
- }
- if count > 0 {
- p.growUint64Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- s = append(s, v)
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, v)
- out.n = n
- return out, nil
-}
-
-var coderUint64Slice = pointerCoderFuncs{
- size: sizeUint64Slice,
- marshal: appendUint64Slice,
- unmarshal: consumeUint64Slice,
- merge: mergeUint64Slice,
-}
-
-// sizeUint64PackedSlice returns the size of wire encoding a []uint64 pointer as a packed repeated Uint64.
-func sizeUint64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint64Slice()
- if len(s) == 0 {
- return 0
- }
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(v)
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendUint64PackedSlice encodes a []uint64 pointer as a packed repeated Uint64.
-func appendUint64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint64Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for _, v := range s {
- n += protowire.SizeVarint(v)
- }
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendVarint(b, v)
- }
- return b, nil
-}
-
-var coderUint64PackedSlice = pointerCoderFuncs{
- size: sizeUint64PackedSlice,
- marshal: appendUint64PackedSlice,
- unmarshal: consumeUint64Slice,
- merge: mergeUint64Slice,
-}
-
-// sizeUint64Value returns the size of wire encoding a uint64 value as a Uint64.
-func sizeUint64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeVarint(v.Uint())
-}
-
-// appendUint64Value encodes a uint64 value as a Uint64.
-func appendUint64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, v.Uint())
- return b, nil
-}
-
-// consumeUint64Value decodes a uint64 value as a Uint64.
-func consumeUint64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfUint64(v), out, nil
-}
-
-var coderUint64Value = valueCoderFuncs{
- size: sizeUint64Value,
- marshal: appendUint64Value,
- unmarshal: consumeUint64Value,
- merge: mergeScalarValue,
-}
-
-// sizeUint64SliceValue returns the size of wire encoding a []uint64 value as a repeated Uint64.
-func sizeUint64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeVarint(v.Uint())
- }
- return size
-}
-
-// appendUint64SliceValue encodes a []uint64 value as a repeated Uint64.
-func appendUint64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendVarint(b, v.Uint())
- }
- return b, nil
-}
-
-// consumeUint64SliceValue wire decodes a []uint64 value as a repeated Uint64.
-func consumeUint64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint64(v))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.VarintType {
- return protoreflect.Value{}, out, errUnknown
- }
- var v uint64
- var n int
- if len(b) >= 1 && b[0] < 0x80 {
- v = uint64(b[0])
- n = 1
- } else if len(b) >= 2 && b[1] < 128 {
- v = uint64(b[0]&0x7f) + uint64(b[1])<<7
- n = 2
- } else {
- v, n = protowire.ConsumeVarint(b)
- }
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint64(v))
- out.n = n
- return listv, out, nil
-}
-
-var coderUint64SliceValue = valueCoderFuncs{
- size: sizeUint64SliceValue,
- marshal: appendUint64SliceValue,
- unmarshal: consumeUint64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeUint64PackedSliceValue returns the size of wire encoding a []uint64 value as a packed repeated Uint64.
-func sizeUint64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i, llen := 0, llen; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(v.Uint())
- }
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendUint64PackedSliceValue encodes a []uint64 value as a packed repeated Uint64.
-func appendUint64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- n += protowire.SizeVarint(v.Uint())
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, v.Uint())
- }
- return b, nil
-}
-
-var coderUint64PackedSliceValue = valueCoderFuncs{
- size: sizeUint64PackedSliceValue,
- marshal: appendUint64PackedSliceValue,
- unmarshal: consumeUint64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeSfixed32 returns the size of wire encoding a int32 pointer as a Sfixed32.
-func sizeSfixed32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
-
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendSfixed32 wire encodes a int32 pointer as a Sfixed32.
-func appendSfixed32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int32()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, uint32(v))
- return b, nil
-}
-
-// consumeSfixed32 wire decodes a int32 pointer as a Sfixed32.
-func consumeSfixed32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Int32() = int32(v)
- out.n = n
- return out, nil
-}
-
-var coderSfixed32 = pointerCoderFuncs{
- size: sizeSfixed32,
- marshal: appendSfixed32,
- unmarshal: consumeSfixed32,
- merge: mergeInt32,
-}
-
-// sizeSfixed32NoZero returns the size of wire encoding a int32 pointer as a Sfixed32.
-// The zero value is not encoded.
-func sizeSfixed32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int32()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendSfixed32NoZero wire encodes a int32 pointer as a Sfixed32.
-// The zero value is not encoded.
-func appendSfixed32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int32()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, uint32(v))
- return b, nil
-}
-
-var coderSfixed32NoZero = pointerCoderFuncs{
- size: sizeSfixed32NoZero,
- marshal: appendSfixed32NoZero,
- unmarshal: consumeSfixed32,
- merge: mergeInt32NoZero,
-}
-
-// sizeSfixed32Ptr returns the size of wire encoding a *int32 pointer as a Sfixed32.
-// It panics if the pointer is nil.
-func sizeSfixed32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendSfixed32Ptr wire encodes a *int32 pointer as a Sfixed32.
-// It panics if the pointer is nil.
-func appendSfixed32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Int32Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, uint32(v))
- return b, nil
-}
-
-// consumeSfixed32Ptr wire decodes a *int32 pointer as a Sfixed32.
-func consumeSfixed32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- vp := p.Int32Ptr()
- if *vp == nil {
- *vp = new(int32)
- }
- **vp = int32(v)
- out.n = n
- return out, nil
-}
-
-var coderSfixed32Ptr = pointerCoderFuncs{
- size: sizeSfixed32Ptr,
- marshal: appendSfixed32Ptr,
- unmarshal: consumeSfixed32Ptr,
- merge: mergeInt32Ptr,
-}
-
-// sizeSfixed32Slice returns the size of wire encoding a []int32 pointer as a repeated Sfixed32.
-func sizeSfixed32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int32Slice()
- size = len(s) * (f.tagsize + protowire.SizeFixed32())
- return size
-}
-
-// appendSfixed32Slice encodes a []int32 pointer as a repeated Sfixed32.
-func appendSfixed32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int32Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, uint32(v))
- }
- return b, nil
-}
-
-// consumeSfixed32Slice wire decodes a []int32 pointer as a repeated Sfixed32.
-func consumeSfixed32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Int32Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := len(b) / protowire.SizeFixed32()
- if count > 0 {
- p.growInt32Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- s = append(s, int32(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, int32(v))
- out.n = n
- return out, nil
-}
-
-var coderSfixed32Slice = pointerCoderFuncs{
- size: sizeSfixed32Slice,
- marshal: appendSfixed32Slice,
- unmarshal: consumeSfixed32Slice,
- merge: mergeInt32Slice,
-}
-
-// sizeSfixed32PackedSlice returns the size of wire encoding a []int32 pointer as a packed repeated Sfixed32.
-func sizeSfixed32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int32Slice()
- if len(s) == 0 {
- return 0
- }
- n := len(s) * protowire.SizeFixed32()
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendSfixed32PackedSlice encodes a []int32 pointer as a packed repeated Sfixed32.
-func appendSfixed32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int32Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := len(s) * protowire.SizeFixed32()
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendFixed32(b, uint32(v))
- }
- return b, nil
-}
-
-var coderSfixed32PackedSlice = pointerCoderFuncs{
- size: sizeSfixed32PackedSlice,
- marshal: appendSfixed32PackedSlice,
- unmarshal: consumeSfixed32Slice,
- merge: mergeInt32Slice,
-}
-
-// sizeSfixed32Value returns the size of wire encoding a int32 value as a Sfixed32.
-func sizeSfixed32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeFixed32()
-}
-
-// appendSfixed32Value encodes a int32 value as a Sfixed32.
-func appendSfixed32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed32(b, uint32(v.Int()))
- return b, nil
-}
-
-// consumeSfixed32Value decodes a int32 value as a Sfixed32.
-func consumeSfixed32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfInt32(int32(v)), out, nil
-}
-
-var coderSfixed32Value = valueCoderFuncs{
- size: sizeSfixed32Value,
- marshal: appendSfixed32Value,
- unmarshal: consumeSfixed32Value,
- merge: mergeScalarValue,
-}
-
-// sizeSfixed32SliceValue returns the size of wire encoding a []int32 value as a repeated Sfixed32.
-func sizeSfixed32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- size = list.Len() * (tagsize + protowire.SizeFixed32())
- return size
-}
-
-// appendSfixed32SliceValue encodes a []int32 value as a repeated Sfixed32.
-func appendSfixed32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed32(b, uint32(v.Int()))
- }
- return b, nil
-}
-
-// consumeSfixed32SliceValue wire decodes a []int32 value as a repeated Sfixed32.
-func consumeSfixed32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.Fixed32Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderSfixed32SliceValue = valueCoderFuncs{
- size: sizeSfixed32SliceValue,
- marshal: appendSfixed32SliceValue,
- unmarshal: consumeSfixed32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeSfixed32PackedSliceValue returns the size of wire encoding a []int32 value as a packed repeated Sfixed32.
-func sizeSfixed32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := llen * protowire.SizeFixed32()
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendSfixed32PackedSliceValue encodes a []int32 value as a packed repeated Sfixed32.
-func appendSfixed32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := llen * protowire.SizeFixed32()
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendFixed32(b, uint32(v.Int()))
- }
- return b, nil
-}
-
-var coderSfixed32PackedSliceValue = valueCoderFuncs{
- size: sizeSfixed32PackedSliceValue,
- marshal: appendSfixed32PackedSliceValue,
- unmarshal: consumeSfixed32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeFixed32 returns the size of wire encoding a uint32 pointer as a Fixed32.
-func sizeFixed32(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
-
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendFixed32 wire encodes a uint32 pointer as a Fixed32.
-func appendFixed32(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint32()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, v)
- return b, nil
-}
-
-// consumeFixed32 wire decodes a uint32 pointer as a Fixed32.
-func consumeFixed32(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Uint32() = v
- out.n = n
- return out, nil
-}
-
-var coderFixed32 = pointerCoderFuncs{
- size: sizeFixed32,
- marshal: appendFixed32,
- unmarshal: consumeFixed32,
- merge: mergeUint32,
-}
-
-// sizeFixed32NoZero returns the size of wire encoding a uint32 pointer as a Fixed32.
-// The zero value is not encoded.
-func sizeFixed32NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Uint32()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendFixed32NoZero wire encodes a uint32 pointer as a Fixed32.
-// The zero value is not encoded.
-func appendFixed32NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint32()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, v)
- return b, nil
-}
-
-var coderFixed32NoZero = pointerCoderFuncs{
- size: sizeFixed32NoZero,
- marshal: appendFixed32NoZero,
- unmarshal: consumeFixed32,
- merge: mergeUint32NoZero,
-}
-
-// sizeFixed32Ptr returns the size of wire encoding a *uint32 pointer as a Fixed32.
-// It panics if the pointer is nil.
-func sizeFixed32Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendFixed32Ptr wire encodes a *uint32 pointer as a Fixed32.
-// It panics if the pointer is nil.
-func appendFixed32Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Uint32Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, v)
- return b, nil
-}
-
-// consumeFixed32Ptr wire decodes a *uint32 pointer as a Fixed32.
-func consumeFixed32Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- vp := p.Uint32Ptr()
- if *vp == nil {
- *vp = new(uint32)
- }
- **vp = v
- out.n = n
- return out, nil
-}
-
-var coderFixed32Ptr = pointerCoderFuncs{
- size: sizeFixed32Ptr,
- marshal: appendFixed32Ptr,
- unmarshal: consumeFixed32Ptr,
- merge: mergeUint32Ptr,
-}
-
-// sizeFixed32Slice returns the size of wire encoding a []uint32 pointer as a repeated Fixed32.
-func sizeFixed32Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint32Slice()
- size = len(s) * (f.tagsize + protowire.SizeFixed32())
- return size
-}
-
-// appendFixed32Slice encodes a []uint32 pointer as a repeated Fixed32.
-func appendFixed32Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint32Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, v)
- }
- return b, nil
-}
-
-// consumeFixed32Slice wire decodes a []uint32 pointer as a repeated Fixed32.
-func consumeFixed32Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Uint32Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := len(b) / protowire.SizeFixed32()
- if count > 0 {
- p.growUint32Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- s = append(s, v)
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, v)
- out.n = n
- return out, nil
-}
-
-var coderFixed32Slice = pointerCoderFuncs{
- size: sizeFixed32Slice,
- marshal: appendFixed32Slice,
- unmarshal: consumeFixed32Slice,
- merge: mergeUint32Slice,
-}
-
-// sizeFixed32PackedSlice returns the size of wire encoding a []uint32 pointer as a packed repeated Fixed32.
-func sizeFixed32PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint32Slice()
- if len(s) == 0 {
- return 0
- }
- n := len(s) * protowire.SizeFixed32()
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendFixed32PackedSlice encodes a []uint32 pointer as a packed repeated Fixed32.
-func appendFixed32PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint32Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := len(s) * protowire.SizeFixed32()
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendFixed32(b, v)
- }
- return b, nil
-}
-
-var coderFixed32PackedSlice = pointerCoderFuncs{
- size: sizeFixed32PackedSlice,
- marshal: appendFixed32PackedSlice,
- unmarshal: consumeFixed32Slice,
- merge: mergeUint32Slice,
-}
-
-// sizeFixed32Value returns the size of wire encoding a uint32 value as a Fixed32.
-func sizeFixed32Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeFixed32()
-}
-
-// appendFixed32Value encodes a uint32 value as a Fixed32.
-func appendFixed32Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed32(b, uint32(v.Uint()))
- return b, nil
-}
-
-// consumeFixed32Value decodes a uint32 value as a Fixed32.
-func consumeFixed32Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfUint32(uint32(v)), out, nil
-}
-
-var coderFixed32Value = valueCoderFuncs{
- size: sizeFixed32Value,
- marshal: appendFixed32Value,
- unmarshal: consumeFixed32Value,
- merge: mergeScalarValue,
-}
-
-// sizeFixed32SliceValue returns the size of wire encoding a []uint32 value as a repeated Fixed32.
-func sizeFixed32SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- size = list.Len() * (tagsize + protowire.SizeFixed32())
- return size
-}
-
-// appendFixed32SliceValue encodes a []uint32 value as a repeated Fixed32.
-func appendFixed32SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed32(b, uint32(v.Uint()))
- }
- return b, nil
-}
-
-// consumeFixed32SliceValue wire decodes a []uint32 value as a repeated Fixed32.
-func consumeFixed32SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.Fixed32Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderFixed32SliceValue = valueCoderFuncs{
- size: sizeFixed32SliceValue,
- marshal: appendFixed32SliceValue,
- unmarshal: consumeFixed32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeFixed32PackedSliceValue returns the size of wire encoding a []uint32 value as a packed repeated Fixed32.
-func sizeFixed32PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := llen * protowire.SizeFixed32()
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendFixed32PackedSliceValue encodes a []uint32 value as a packed repeated Fixed32.
-func appendFixed32PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := llen * protowire.SizeFixed32()
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendFixed32(b, uint32(v.Uint()))
- }
- return b, nil
-}
-
-var coderFixed32PackedSliceValue = valueCoderFuncs{
- size: sizeFixed32PackedSliceValue,
- marshal: appendFixed32PackedSliceValue,
- unmarshal: consumeFixed32SliceValue,
- merge: mergeListValue,
-}
-
-// sizeFloat returns the size of wire encoding a float32 pointer as a Float.
-func sizeFloat(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
-
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendFloat wire encodes a float32 pointer as a Float.
-func appendFloat(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Float32()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, math.Float32bits(v))
- return b, nil
-}
-
-// consumeFloat wire decodes a float32 pointer as a Float.
-func consumeFloat(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Float32() = math.Float32frombits(v)
- out.n = n
- return out, nil
-}
-
-var coderFloat = pointerCoderFuncs{
- size: sizeFloat,
- marshal: appendFloat,
- unmarshal: consumeFloat,
- merge: mergeFloat32,
-}
-
-// sizeFloatNoZero returns the size of wire encoding a float32 pointer as a Float.
-// The zero value is not encoded.
-func sizeFloatNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Float32()
- if v == 0 && !math.Signbit(float64(v)) {
- return 0
- }
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendFloatNoZero wire encodes a float32 pointer as a Float.
-// The zero value is not encoded.
-func appendFloatNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Float32()
- if v == 0 && !math.Signbit(float64(v)) {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, math.Float32bits(v))
- return b, nil
-}
-
-var coderFloatNoZero = pointerCoderFuncs{
- size: sizeFloatNoZero,
- marshal: appendFloatNoZero,
- unmarshal: consumeFloat,
- merge: mergeFloat32NoZero,
-}
-
-// sizeFloatPtr returns the size of wire encoding a *float32 pointer as a Float.
-// It panics if the pointer is nil.
-func sizeFloatPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- return f.tagsize + protowire.SizeFixed32()
-}
-
-// appendFloatPtr wire encodes a *float32 pointer as a Float.
-// It panics if the pointer is nil.
-func appendFloatPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Float32Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, math.Float32bits(v))
- return b, nil
-}
-
-// consumeFloatPtr wire decodes a *float32 pointer as a Float.
-func consumeFloatPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- vp := p.Float32Ptr()
- if *vp == nil {
- *vp = new(float32)
- }
- **vp = math.Float32frombits(v)
- out.n = n
- return out, nil
-}
-
-var coderFloatPtr = pointerCoderFuncs{
- size: sizeFloatPtr,
- marshal: appendFloatPtr,
- unmarshal: consumeFloatPtr,
- merge: mergeFloat32Ptr,
-}
-
-// sizeFloatSlice returns the size of wire encoding a []float32 pointer as a repeated Float.
-func sizeFloatSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Float32Slice()
- size = len(s) * (f.tagsize + protowire.SizeFixed32())
- return size
-}
-
-// appendFloatSlice encodes a []float32 pointer as a repeated Float.
-func appendFloatSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Float32Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed32(b, math.Float32bits(v))
- }
- return b, nil
-}
-
-// consumeFloatSlice wire decodes a []float32 pointer as a repeated Float.
-func consumeFloatSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Float32Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := len(b) / protowire.SizeFixed32()
- if count > 0 {
- p.growFloat32Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- s = append(s, math.Float32frombits(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.Fixed32Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, math.Float32frombits(v))
- out.n = n
- return out, nil
-}
-
-var coderFloatSlice = pointerCoderFuncs{
- size: sizeFloatSlice,
- marshal: appendFloatSlice,
- unmarshal: consumeFloatSlice,
- merge: mergeFloat32Slice,
-}
-
-// sizeFloatPackedSlice returns the size of wire encoding a []float32 pointer as a packed repeated Float.
-func sizeFloatPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Float32Slice()
- if len(s) == 0 {
- return 0
- }
- n := len(s) * protowire.SizeFixed32()
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendFloatPackedSlice encodes a []float32 pointer as a packed repeated Float.
-func appendFloatPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Float32Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := len(s) * protowire.SizeFixed32()
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendFixed32(b, math.Float32bits(v))
- }
- return b, nil
-}
-
-var coderFloatPackedSlice = pointerCoderFuncs{
- size: sizeFloatPackedSlice,
- marshal: appendFloatPackedSlice,
- unmarshal: consumeFloatSlice,
- merge: mergeFloat32Slice,
-}
-
-// sizeFloatValue returns the size of wire encoding a float32 value as a Float.
-func sizeFloatValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeFixed32()
-}
-
-// appendFloatValue encodes a float32 value as a Float.
-func appendFloatValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float())))
- return b, nil
-}
-
-// consumeFloatValue decodes a float32 value as a Float.
-func consumeFloatValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed32Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))), out, nil
-}
-
-var coderFloatValue = valueCoderFuncs{
- size: sizeFloatValue,
- marshal: appendFloatValue,
- unmarshal: consumeFloatValue,
- merge: mergeScalarValue,
-}
-
-// sizeFloatSliceValue returns the size of wire encoding a []float32 value as a repeated Float.
-func sizeFloatSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- size = list.Len() * (tagsize + protowire.SizeFixed32())
- return size
-}
-
-// appendFloatSliceValue encodes a []float32 value as a repeated Float.
-func appendFloatSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float())))
- }
- return b, nil
-}
-
-// consumeFloatSliceValue wire decodes a []float32 value as a repeated Float.
-func consumeFloatSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.Fixed32Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))))
- out.n = n
- return listv, out, nil
-}
-
-var coderFloatSliceValue = valueCoderFuncs{
- size: sizeFloatSliceValue,
- marshal: appendFloatSliceValue,
- unmarshal: consumeFloatSliceValue,
- merge: mergeListValue,
-}
-
-// sizeFloatPackedSliceValue returns the size of wire encoding a []float32 value as a packed repeated Float.
-func sizeFloatPackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := llen * protowire.SizeFixed32()
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendFloatPackedSliceValue encodes a []float32 value as a packed repeated Float.
-func appendFloatPackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := llen * protowire.SizeFixed32()
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float())))
- }
- return b, nil
-}
-
-var coderFloatPackedSliceValue = valueCoderFuncs{
- size: sizeFloatPackedSliceValue,
- marshal: appendFloatPackedSliceValue,
- unmarshal: consumeFloatSliceValue,
- merge: mergeListValue,
-}
-
-// sizeSfixed64 returns the size of wire encoding a int64 pointer as a Sfixed64.
-func sizeSfixed64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
-
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendSfixed64 wire encodes a int64 pointer as a Sfixed64.
-func appendSfixed64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int64()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, uint64(v))
- return b, nil
-}
-
-// consumeSfixed64 wire decodes a int64 pointer as a Sfixed64.
-func consumeSfixed64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Int64() = int64(v)
- out.n = n
- return out, nil
-}
-
-var coderSfixed64 = pointerCoderFuncs{
- size: sizeSfixed64,
- marshal: appendSfixed64,
- unmarshal: consumeSfixed64,
- merge: mergeInt64,
-}
-
-// sizeSfixed64NoZero returns the size of wire encoding a int64 pointer as a Sfixed64.
-// The zero value is not encoded.
-func sizeSfixed64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Int64()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendSfixed64NoZero wire encodes a int64 pointer as a Sfixed64.
-// The zero value is not encoded.
-func appendSfixed64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Int64()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, uint64(v))
- return b, nil
-}
-
-var coderSfixed64NoZero = pointerCoderFuncs{
- size: sizeSfixed64NoZero,
- marshal: appendSfixed64NoZero,
- unmarshal: consumeSfixed64,
- merge: mergeInt64NoZero,
-}
-
-// sizeSfixed64Ptr returns the size of wire encoding a *int64 pointer as a Sfixed64.
-// It panics if the pointer is nil.
-func sizeSfixed64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendSfixed64Ptr wire encodes a *int64 pointer as a Sfixed64.
-// It panics if the pointer is nil.
-func appendSfixed64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Int64Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, uint64(v))
- return b, nil
-}
-
-// consumeSfixed64Ptr wire decodes a *int64 pointer as a Sfixed64.
-func consumeSfixed64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- vp := p.Int64Ptr()
- if *vp == nil {
- *vp = new(int64)
- }
- **vp = int64(v)
- out.n = n
- return out, nil
-}
-
-var coderSfixed64Ptr = pointerCoderFuncs{
- size: sizeSfixed64Ptr,
- marshal: appendSfixed64Ptr,
- unmarshal: consumeSfixed64Ptr,
- merge: mergeInt64Ptr,
-}
-
-// sizeSfixed64Slice returns the size of wire encoding a []int64 pointer as a repeated Sfixed64.
-func sizeSfixed64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int64Slice()
- size = len(s) * (f.tagsize + protowire.SizeFixed64())
- return size
-}
-
-// appendSfixed64Slice encodes a []int64 pointer as a repeated Sfixed64.
-func appendSfixed64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int64Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, uint64(v))
- }
- return b, nil
-}
-
-// consumeSfixed64Slice wire decodes a []int64 pointer as a repeated Sfixed64.
-func consumeSfixed64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Int64Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := len(b) / protowire.SizeFixed64()
- if count > 0 {
- p.growInt64Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- s = append(s, int64(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, int64(v))
- out.n = n
- return out, nil
-}
-
-var coderSfixed64Slice = pointerCoderFuncs{
- size: sizeSfixed64Slice,
- marshal: appendSfixed64Slice,
- unmarshal: consumeSfixed64Slice,
- merge: mergeInt64Slice,
-}
-
-// sizeSfixed64PackedSlice returns the size of wire encoding a []int64 pointer as a packed repeated Sfixed64.
-func sizeSfixed64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Int64Slice()
- if len(s) == 0 {
- return 0
- }
- n := len(s) * protowire.SizeFixed64()
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendSfixed64PackedSlice encodes a []int64 pointer as a packed repeated Sfixed64.
-func appendSfixed64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Int64Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := len(s) * protowire.SizeFixed64()
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendFixed64(b, uint64(v))
- }
- return b, nil
-}
-
-var coderSfixed64PackedSlice = pointerCoderFuncs{
- size: sizeSfixed64PackedSlice,
- marshal: appendSfixed64PackedSlice,
- unmarshal: consumeSfixed64Slice,
- merge: mergeInt64Slice,
-}
-
-// sizeSfixed64Value returns the size of wire encoding a int64 value as a Sfixed64.
-func sizeSfixed64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeFixed64()
-}
-
-// appendSfixed64Value encodes a int64 value as a Sfixed64.
-func appendSfixed64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed64(b, uint64(v.Int()))
- return b, nil
-}
-
-// consumeSfixed64Value decodes a int64 value as a Sfixed64.
-func consumeSfixed64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfInt64(int64(v)), out, nil
-}
-
-var coderSfixed64Value = valueCoderFuncs{
- size: sizeSfixed64Value,
- marshal: appendSfixed64Value,
- unmarshal: consumeSfixed64Value,
- merge: mergeScalarValue,
-}
-
-// sizeSfixed64SliceValue returns the size of wire encoding a []int64 value as a repeated Sfixed64.
-func sizeSfixed64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- size = list.Len() * (tagsize + protowire.SizeFixed64())
- return size
-}
-
-// appendSfixed64SliceValue encodes a []int64 value as a repeated Sfixed64.
-func appendSfixed64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed64(b, uint64(v.Int()))
- }
- return b, nil
-}
-
-// consumeSfixed64SliceValue wire decodes a []int64 value as a repeated Sfixed64.
-func consumeSfixed64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.Fixed64Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderSfixed64SliceValue = valueCoderFuncs{
- size: sizeSfixed64SliceValue,
- marshal: appendSfixed64SliceValue,
- unmarshal: consumeSfixed64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeSfixed64PackedSliceValue returns the size of wire encoding a []int64 value as a packed repeated Sfixed64.
-func sizeSfixed64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := llen * protowire.SizeFixed64()
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendSfixed64PackedSliceValue encodes a []int64 value as a packed repeated Sfixed64.
-func appendSfixed64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := llen * protowire.SizeFixed64()
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendFixed64(b, uint64(v.Int()))
- }
- return b, nil
-}
-
-var coderSfixed64PackedSliceValue = valueCoderFuncs{
- size: sizeSfixed64PackedSliceValue,
- marshal: appendSfixed64PackedSliceValue,
- unmarshal: consumeSfixed64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeFixed64 returns the size of wire encoding a uint64 pointer as a Fixed64.
-func sizeFixed64(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
-
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendFixed64 wire encodes a uint64 pointer as a Fixed64.
-func appendFixed64(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint64()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, v)
- return b, nil
-}
-
-// consumeFixed64 wire decodes a uint64 pointer as a Fixed64.
-func consumeFixed64(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Uint64() = v
- out.n = n
- return out, nil
-}
-
-var coderFixed64 = pointerCoderFuncs{
- size: sizeFixed64,
- marshal: appendFixed64,
- unmarshal: consumeFixed64,
- merge: mergeUint64,
-}
-
-// sizeFixed64NoZero returns the size of wire encoding a uint64 pointer as a Fixed64.
-// The zero value is not encoded.
-func sizeFixed64NoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Uint64()
- if v == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendFixed64NoZero wire encodes a uint64 pointer as a Fixed64.
-// The zero value is not encoded.
-func appendFixed64NoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Uint64()
- if v == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, v)
- return b, nil
-}
-
-var coderFixed64NoZero = pointerCoderFuncs{
- size: sizeFixed64NoZero,
- marshal: appendFixed64NoZero,
- unmarshal: consumeFixed64,
- merge: mergeUint64NoZero,
-}
-
-// sizeFixed64Ptr returns the size of wire encoding a *uint64 pointer as a Fixed64.
-// It panics if the pointer is nil.
-func sizeFixed64Ptr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendFixed64Ptr wire encodes a *uint64 pointer as a Fixed64.
-// It panics if the pointer is nil.
-func appendFixed64Ptr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Uint64Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, v)
- return b, nil
-}
-
-// consumeFixed64Ptr wire decodes a *uint64 pointer as a Fixed64.
-func consumeFixed64Ptr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- vp := p.Uint64Ptr()
- if *vp == nil {
- *vp = new(uint64)
- }
- **vp = v
- out.n = n
- return out, nil
-}
-
-var coderFixed64Ptr = pointerCoderFuncs{
- size: sizeFixed64Ptr,
- marshal: appendFixed64Ptr,
- unmarshal: consumeFixed64Ptr,
- merge: mergeUint64Ptr,
-}
-
-// sizeFixed64Slice returns the size of wire encoding a []uint64 pointer as a repeated Fixed64.
-func sizeFixed64Slice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint64Slice()
- size = len(s) * (f.tagsize + protowire.SizeFixed64())
- return size
-}
-
-// appendFixed64Slice encodes a []uint64 pointer as a repeated Fixed64.
-func appendFixed64Slice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint64Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, v)
- }
- return b, nil
-}
-
-// consumeFixed64Slice wire decodes a []uint64 pointer as a repeated Fixed64.
-func consumeFixed64Slice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Uint64Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := len(b) / protowire.SizeFixed64()
- if count > 0 {
- p.growUint64Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- s = append(s, v)
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, v)
- out.n = n
- return out, nil
-}
-
-var coderFixed64Slice = pointerCoderFuncs{
- size: sizeFixed64Slice,
- marshal: appendFixed64Slice,
- unmarshal: consumeFixed64Slice,
- merge: mergeUint64Slice,
-}
-
-// sizeFixed64PackedSlice returns the size of wire encoding a []uint64 pointer as a packed repeated Fixed64.
-func sizeFixed64PackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Uint64Slice()
- if len(s) == 0 {
- return 0
- }
- n := len(s) * protowire.SizeFixed64()
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendFixed64PackedSlice encodes a []uint64 pointer as a packed repeated Fixed64.
-func appendFixed64PackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Uint64Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := len(s) * protowire.SizeFixed64()
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendFixed64(b, v)
- }
- return b, nil
-}
-
-var coderFixed64PackedSlice = pointerCoderFuncs{
- size: sizeFixed64PackedSlice,
- marshal: appendFixed64PackedSlice,
- unmarshal: consumeFixed64Slice,
- merge: mergeUint64Slice,
-}
-
-// sizeFixed64Value returns the size of wire encoding a uint64 value as a Fixed64.
-func sizeFixed64Value(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeFixed64()
-}
-
-// appendFixed64Value encodes a uint64 value as a Fixed64.
-func appendFixed64Value(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed64(b, v.Uint())
- return b, nil
-}
-
-// consumeFixed64Value decodes a uint64 value as a Fixed64.
-func consumeFixed64Value(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfUint64(v), out, nil
-}
-
-var coderFixed64Value = valueCoderFuncs{
- size: sizeFixed64Value,
- marshal: appendFixed64Value,
- unmarshal: consumeFixed64Value,
- merge: mergeScalarValue,
-}
-
-// sizeFixed64SliceValue returns the size of wire encoding a []uint64 value as a repeated Fixed64.
-func sizeFixed64SliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- size = list.Len() * (tagsize + protowire.SizeFixed64())
- return size
-}
-
-// appendFixed64SliceValue encodes a []uint64 value as a repeated Fixed64.
-func appendFixed64SliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed64(b, v.Uint())
- }
- return b, nil
-}
-
-// consumeFixed64SliceValue wire decodes a []uint64 value as a repeated Fixed64.
-func consumeFixed64SliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint64(v))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.Fixed64Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfUint64(v))
- out.n = n
- return listv, out, nil
-}
-
-var coderFixed64SliceValue = valueCoderFuncs{
- size: sizeFixed64SliceValue,
- marshal: appendFixed64SliceValue,
- unmarshal: consumeFixed64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeFixed64PackedSliceValue returns the size of wire encoding a []uint64 value as a packed repeated Fixed64.
-func sizeFixed64PackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := llen * protowire.SizeFixed64()
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendFixed64PackedSliceValue encodes a []uint64 value as a packed repeated Fixed64.
-func appendFixed64PackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := llen * protowire.SizeFixed64()
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendFixed64(b, v.Uint())
- }
- return b, nil
-}
-
-var coderFixed64PackedSliceValue = valueCoderFuncs{
- size: sizeFixed64PackedSliceValue,
- marshal: appendFixed64PackedSliceValue,
- unmarshal: consumeFixed64SliceValue,
- merge: mergeListValue,
-}
-
-// sizeDouble returns the size of wire encoding a float64 pointer as a Double.
-func sizeDouble(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
-
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendDouble wire encodes a float64 pointer as a Double.
-func appendDouble(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Float64()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, math.Float64bits(v))
- return b, nil
-}
-
-// consumeDouble wire decodes a float64 pointer as a Double.
-func consumeDouble(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Float64() = math.Float64frombits(v)
- out.n = n
- return out, nil
-}
-
-var coderDouble = pointerCoderFuncs{
- size: sizeDouble,
- marshal: appendDouble,
- unmarshal: consumeDouble,
- merge: mergeFloat64,
-}
-
-// sizeDoubleNoZero returns the size of wire encoding a float64 pointer as a Double.
-// The zero value is not encoded.
-func sizeDoubleNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Float64()
- if v == 0 && !math.Signbit(float64(v)) {
- return 0
- }
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendDoubleNoZero wire encodes a float64 pointer as a Double.
-// The zero value is not encoded.
-func appendDoubleNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Float64()
- if v == 0 && !math.Signbit(float64(v)) {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, math.Float64bits(v))
- return b, nil
-}
-
-var coderDoubleNoZero = pointerCoderFuncs{
- size: sizeDoubleNoZero,
- marshal: appendDoubleNoZero,
- unmarshal: consumeDouble,
- merge: mergeFloat64NoZero,
-}
-
-// sizeDoublePtr returns the size of wire encoding a *float64 pointer as a Double.
-// It panics if the pointer is nil.
-func sizeDoublePtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- return f.tagsize + protowire.SizeFixed64()
-}
-
-// appendDoublePtr wire encodes a *float64 pointer as a Double.
-// It panics if the pointer is nil.
-func appendDoublePtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.Float64Ptr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, math.Float64bits(v))
- return b, nil
-}
-
-// consumeDoublePtr wire decodes a *float64 pointer as a Double.
-func consumeDoublePtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- vp := p.Float64Ptr()
- if *vp == nil {
- *vp = new(float64)
- }
- **vp = math.Float64frombits(v)
- out.n = n
- return out, nil
-}
-
-var coderDoublePtr = pointerCoderFuncs{
- size: sizeDoublePtr,
- marshal: appendDoublePtr,
- unmarshal: consumeDoublePtr,
- merge: mergeFloat64Ptr,
-}
-
-// sizeDoubleSlice returns the size of wire encoding a []float64 pointer as a repeated Double.
-func sizeDoubleSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Float64Slice()
- size = len(s) * (f.tagsize + protowire.SizeFixed64())
- return size
-}
-
-// appendDoubleSlice encodes a []float64 pointer as a repeated Double.
-func appendDoubleSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Float64Slice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendFixed64(b, math.Float64bits(v))
- }
- return b, nil
-}
-
-// consumeDoubleSlice wire decodes a []float64 pointer as a repeated Double.
-func consumeDoubleSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.Float64Slice()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- count := len(b) / protowire.SizeFixed64()
- if count > 0 {
- p.growFloat64Slice(count)
- }
- s := *sp
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- s = append(s, math.Float64frombits(v))
- b = b[n:]
- }
- *sp = s
- out.n = n
- return out, nil
- }
- if wtyp != protowire.Fixed64Type {
- return out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, math.Float64frombits(v))
- out.n = n
- return out, nil
-}
-
-var coderDoubleSlice = pointerCoderFuncs{
- size: sizeDoubleSlice,
- marshal: appendDoubleSlice,
- unmarshal: consumeDoubleSlice,
- merge: mergeFloat64Slice,
-}
-
-// sizeDoublePackedSlice returns the size of wire encoding a []float64 pointer as a packed repeated Double.
-func sizeDoublePackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.Float64Slice()
- if len(s) == 0 {
- return 0
- }
- n := len(s) * protowire.SizeFixed64()
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-// appendDoublePackedSlice encodes a []float64 pointer as a packed repeated Double.
-func appendDoublePackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.Float64Slice()
- if len(s) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := len(s) * protowire.SizeFixed64()
- b = protowire.AppendVarint(b, uint64(n))
- for _, v := range s {
- b = protowire.AppendFixed64(b, math.Float64bits(v))
- }
- return b, nil
-}
-
-var coderDoublePackedSlice = pointerCoderFuncs{
- size: sizeDoublePackedSlice,
- marshal: appendDoublePackedSlice,
- unmarshal: consumeDoubleSlice,
- merge: mergeFloat64Slice,
-}
-
-// sizeDoubleValue returns the size of wire encoding a float64 value as a Double.
-func sizeDoubleValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeFixed64()
-}
-
-// appendDoubleValue encodes a float64 value as a Double.
-func appendDoubleValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed64(b, math.Float64bits(v.Float()))
- return b, nil
-}
-
-// consumeDoubleValue decodes a float64 value as a Double.
-func consumeDoubleValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.Fixed64Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfFloat64(math.Float64frombits(v)), out, nil
-}
-
-var coderDoubleValue = valueCoderFuncs{
- size: sizeDoubleValue,
- marshal: appendDoubleValue,
- unmarshal: consumeDoubleValue,
- merge: mergeScalarValue,
-}
-
-// sizeDoubleSliceValue returns the size of wire encoding a []float64 value as a repeated Double.
-func sizeDoubleSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- size = list.Len() * (tagsize + protowire.SizeFixed64())
- return size
-}
-
-// appendDoubleSliceValue encodes a []float64 value as a repeated Double.
-func appendDoubleSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendFixed64(b, math.Float64bits(v.Float()))
- }
- return b, nil
-}
-
-// consumeDoubleSliceValue wire decodes a []float64 value as a repeated Double.
-func consumeDoubleSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- for len(b) > 0 {
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v)))
- b = b[n:]
- }
- out.n = n
- return listv, out, nil
- }
- if wtyp != protowire.Fixed64Type {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderDoubleSliceValue = valueCoderFuncs{
- size: sizeDoubleSliceValue,
- marshal: appendDoubleSliceValue,
- unmarshal: consumeDoubleSliceValue,
- merge: mergeListValue,
-}
-
-// sizeDoublePackedSliceValue returns the size of wire encoding a []float64 value as a packed repeated Double.
-func sizeDoublePackedSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return 0
- }
- n := llen * protowire.SizeFixed64()
- return tagsize + protowire.SizeBytes(n)
-}
-
-// appendDoublePackedSliceValue encodes a []float64 value as a packed repeated Double.
-func appendDoublePackedSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- llen := list.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, wiretag)
- n := llen * protowire.SizeFixed64()
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendFixed64(b, math.Float64bits(v.Float()))
- }
- return b, nil
-}
-
-var coderDoublePackedSliceValue = valueCoderFuncs{
- size: sizeDoublePackedSliceValue,
- marshal: appendDoublePackedSliceValue,
- unmarshal: consumeDoubleSliceValue,
- merge: mergeListValue,
-}
-
-// sizeString returns the size of wire encoding a string pointer as a String.
-func sizeString(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.String()
- return f.tagsize + protowire.SizeBytes(len(v))
-}
-
-// appendString wire encodes a string pointer as a String.
-func appendString(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.String()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- return b, nil
-}
-
-// consumeString wire decodes a string pointer as a String.
-func consumeString(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- *p.String() = string(v)
- out.n = n
- return out, nil
-}
-
-var coderString = pointerCoderFuncs{
- size: sizeString,
- marshal: appendString,
- unmarshal: consumeString,
- merge: mergeString,
-}
-
-// appendStringValidateUTF8 wire encodes a string pointer as a String.
-func appendStringValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.String()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- if !utf8.ValidString(v) {
- return b, errInvalidUTF8{}
- }
- return b, nil
-}
-
-// consumeStringValidateUTF8 wire decodes a string pointer as a String.
-func consumeStringValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- if !utf8.Valid(v) {
- return out, errInvalidUTF8{}
- }
- *p.String() = string(v)
- out.n = n
- return out, nil
-}
-
-var coderStringValidateUTF8 = pointerCoderFuncs{
- size: sizeString,
- marshal: appendStringValidateUTF8,
- unmarshal: consumeStringValidateUTF8,
- merge: mergeString,
-}
-
-// sizeStringNoZero returns the size of wire encoding a string pointer as a String.
-// The zero value is not encoded.
-func sizeStringNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.String()
- if len(v) == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeBytes(len(v))
-}
-
-// appendStringNoZero wire encodes a string pointer as a String.
-// The zero value is not encoded.
-func appendStringNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.String()
- if len(v) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- return b, nil
-}
-
-var coderStringNoZero = pointerCoderFuncs{
- size: sizeStringNoZero,
- marshal: appendStringNoZero,
- unmarshal: consumeString,
- merge: mergeStringNoZero,
-}
-
-// appendStringNoZeroValidateUTF8 wire encodes a string pointer as a String.
-// The zero value is not encoded.
-func appendStringNoZeroValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.String()
- if len(v) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- if !utf8.ValidString(v) {
- return b, errInvalidUTF8{}
- }
- return b, nil
-}
-
-var coderStringNoZeroValidateUTF8 = pointerCoderFuncs{
- size: sizeStringNoZero,
- marshal: appendStringNoZeroValidateUTF8,
- unmarshal: consumeStringValidateUTF8,
- merge: mergeStringNoZero,
-}
-
-// sizeStringPtr returns the size of wire encoding a *string pointer as a String.
-// It panics if the pointer is nil.
-func sizeStringPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := **p.StringPtr()
- return f.tagsize + protowire.SizeBytes(len(v))
-}
-
-// appendStringPtr wire encodes a *string pointer as a String.
-// It panics if the pointer is nil.
-func appendStringPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.StringPtr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- return b, nil
-}
-
-// consumeStringPtr wire decodes a *string pointer as a String.
-func consumeStringPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- vp := p.StringPtr()
- if *vp == nil {
- *vp = new(string)
- }
- **vp = string(v)
- out.n = n
- return out, nil
-}
-
-var coderStringPtr = pointerCoderFuncs{
- size: sizeStringPtr,
- marshal: appendStringPtr,
- unmarshal: consumeStringPtr,
- merge: mergeStringPtr,
-}
-
-// appendStringPtrValidateUTF8 wire encodes a *string pointer as a String.
-// It panics if the pointer is nil.
-func appendStringPtrValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := **p.StringPtr()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- if !utf8.ValidString(v) {
- return b, errInvalidUTF8{}
- }
- return b, nil
-}
-
-// consumeStringPtrValidateUTF8 wire decodes a *string pointer as a String.
-func consumeStringPtrValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- if !utf8.Valid(v) {
- return out, errInvalidUTF8{}
- }
- vp := p.StringPtr()
- if *vp == nil {
- *vp = new(string)
- }
- **vp = string(v)
- out.n = n
- return out, nil
-}
-
-var coderStringPtrValidateUTF8 = pointerCoderFuncs{
- size: sizeStringPtr,
- marshal: appendStringPtrValidateUTF8,
- unmarshal: consumeStringPtrValidateUTF8,
- merge: mergeStringPtr,
-}
-
-// sizeStringSlice returns the size of wire encoding a []string pointer as a repeated String.
-func sizeStringSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.StringSlice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeBytes(len(v))
- }
- return size
-}
-
-// appendStringSlice encodes a []string pointer as a repeated String.
-func appendStringSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.StringSlice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- }
- return b, nil
-}
-
-// consumeStringSlice wire decodes a []string pointer as a repeated String.
-func consumeStringSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.StringSlice()
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, string(v))
- out.n = n
- return out, nil
-}
-
-var coderStringSlice = pointerCoderFuncs{
- size: sizeStringSlice,
- marshal: appendStringSlice,
- unmarshal: consumeStringSlice,
- merge: mergeStringSlice,
-}
-
-// appendStringSliceValidateUTF8 encodes a []string pointer as a repeated String.
-func appendStringSliceValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.StringSlice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendString(b, v)
- if !utf8.ValidString(v) {
- return b, errInvalidUTF8{}
- }
- }
- return b, nil
-}
-
-// consumeStringSliceValidateUTF8 wire decodes a []string pointer as a repeated String.
-func consumeStringSliceValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- if !utf8.Valid(v) {
- return out, errInvalidUTF8{}
- }
- sp := p.StringSlice()
- *sp = append(*sp, string(v))
- out.n = n
- return out, nil
-}
-
-var coderStringSliceValidateUTF8 = pointerCoderFuncs{
- size: sizeStringSlice,
- marshal: appendStringSliceValidateUTF8,
- unmarshal: consumeStringSliceValidateUTF8,
- merge: mergeStringSlice,
-}
-
-// sizeStringValue returns the size of wire encoding a string value as a String.
-func sizeStringValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeBytes(len(v.String()))
-}
-
-// appendStringValue encodes a string value as a String.
-func appendStringValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendString(b, v.String())
- return b, nil
-}
-
-// consumeStringValue decodes a string value as a String.
-func consumeStringValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfString(string(v)), out, nil
-}
-
-var coderStringValue = valueCoderFuncs{
- size: sizeStringValue,
- marshal: appendStringValue,
- unmarshal: consumeStringValue,
- merge: mergeScalarValue,
-}
-
-// appendStringValueValidateUTF8 encodes a string value as a String.
-func appendStringValueValidateUTF8(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendString(b, v.String())
- if !utf8.ValidString(v.String()) {
- return b, errInvalidUTF8{}
- }
- return b, nil
-}
-
-// consumeStringValueValidateUTF8 decodes a string value as a String.
-func consumeStringValueValidateUTF8(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- if !utf8.Valid(v) {
- return protoreflect.Value{}, out, errInvalidUTF8{}
- }
- out.n = n
- return protoreflect.ValueOfString(string(v)), out, nil
-}
-
-var coderStringValueValidateUTF8 = valueCoderFuncs{
- size: sizeStringValue,
- marshal: appendStringValueValidateUTF8,
- unmarshal: consumeStringValueValidateUTF8,
- merge: mergeScalarValue,
-}
-
-// sizeStringSliceValue returns the size of wire encoding a []string value as a repeated String.
-func sizeStringSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeBytes(len(v.String()))
- }
- return size
-}
-
-// appendStringSliceValue encodes a []string value as a repeated String.
-func appendStringSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendString(b, v.String())
- }
- return b, nil
-}
-
-// consumeStringSliceValue wire decodes a []string value as a repeated String.
-func consumeStringSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp != protowire.BytesType {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfString(string(v)))
- out.n = n
- return listv, out, nil
-}
-
-var coderStringSliceValue = valueCoderFuncs{
- size: sizeStringSliceValue,
- marshal: appendStringSliceValue,
- unmarshal: consumeStringSliceValue,
- merge: mergeListValue,
-}
-
-// sizeBytes returns the size of wire encoding a []byte pointer as a Bytes.
-func sizeBytes(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Bytes()
- return f.tagsize + protowire.SizeBytes(len(v))
-}
-
-// appendBytes wire encodes a []byte pointer as a Bytes.
-func appendBytes(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Bytes()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendBytes(b, v)
- return b, nil
-}
-
-// consumeBytes wire decodes a []byte pointer as a Bytes.
-func consumeBytes(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Bytes() = append(emptyBuf[:], v...)
- out.n = n
- return out, nil
-}
-
-var coderBytes = pointerCoderFuncs{
- size: sizeBytes,
- marshal: appendBytes,
- unmarshal: consumeBytes,
- merge: mergeBytes,
-}
-
-// appendBytesValidateUTF8 wire encodes a []byte pointer as a Bytes.
-func appendBytesValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Bytes()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendBytes(b, v)
- if !utf8.Valid(v) {
- return b, errInvalidUTF8{}
- }
- return b, nil
-}
-
-// consumeBytesValidateUTF8 wire decodes a []byte pointer as a Bytes.
-func consumeBytesValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- if !utf8.Valid(v) {
- return out, errInvalidUTF8{}
- }
- *p.Bytes() = append(emptyBuf[:], v...)
- out.n = n
- return out, nil
-}
-
-var coderBytesValidateUTF8 = pointerCoderFuncs{
- size: sizeBytes,
- marshal: appendBytesValidateUTF8,
- unmarshal: consumeBytesValidateUTF8,
- merge: mergeBytes,
-}
-
-// sizeBytesNoZero returns the size of wire encoding a []byte pointer as a Bytes.
-// The zero value is not encoded.
-func sizeBytesNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- v := *p.Bytes()
- if len(v) == 0 {
- return 0
- }
- return f.tagsize + protowire.SizeBytes(len(v))
-}
-
-// appendBytesNoZero wire encodes a []byte pointer as a Bytes.
-// The zero value is not encoded.
-func appendBytesNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Bytes()
- if len(v) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendBytes(b, v)
- return b, nil
-}
-
-// consumeBytesNoZero wire decodes a []byte pointer as a Bytes.
-// The zero value is not decoded.
-func consumeBytesNoZero(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- *p.Bytes() = append(([]byte)(nil), v...)
- out.n = n
- return out, nil
-}
-
-var coderBytesNoZero = pointerCoderFuncs{
- size: sizeBytesNoZero,
- marshal: appendBytesNoZero,
- unmarshal: consumeBytesNoZero,
- merge: mergeBytesNoZero,
-}
-
-// appendBytesNoZeroValidateUTF8 wire encodes a []byte pointer as a Bytes.
-// The zero value is not encoded.
-func appendBytesNoZeroValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := *p.Bytes()
- if len(v) == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendBytes(b, v)
- if !utf8.Valid(v) {
- return b, errInvalidUTF8{}
- }
- return b, nil
-}
-
-// consumeBytesNoZeroValidateUTF8 wire decodes a []byte pointer as a Bytes.
-func consumeBytesNoZeroValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- if !utf8.Valid(v) {
- return out, errInvalidUTF8{}
- }
- *p.Bytes() = append(([]byte)(nil), v...)
- out.n = n
- return out, nil
-}
-
-var coderBytesNoZeroValidateUTF8 = pointerCoderFuncs{
- size: sizeBytesNoZero,
- marshal: appendBytesNoZeroValidateUTF8,
- unmarshal: consumeBytesNoZeroValidateUTF8,
- merge: mergeBytesNoZero,
-}
-
-// sizeBytesSlice returns the size of wire encoding a [][]byte pointer as a repeated Bytes.
-func sizeBytesSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := *p.BytesSlice()
- for _, v := range s {
- size += f.tagsize + protowire.SizeBytes(len(v))
- }
- return size
-}
-
-// appendBytesSlice encodes a [][]byte pointer as a repeated Bytes.
-func appendBytesSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.BytesSlice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendBytes(b, v)
- }
- return b, nil
-}
-
-// consumeBytesSlice wire decodes a [][]byte pointer as a repeated Bytes.
-func consumeBytesSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- sp := p.BytesSlice()
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- *sp = append(*sp, append(emptyBuf[:], v...))
- out.n = n
- return out, nil
-}
-
-var coderBytesSlice = pointerCoderFuncs{
- size: sizeBytesSlice,
- marshal: appendBytesSlice,
- unmarshal: consumeBytesSlice,
- merge: mergeBytesSlice,
-}
-
-// appendBytesSliceValidateUTF8 encodes a [][]byte pointer as a repeated Bytes.
-func appendBytesSliceValidateUTF8(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := *p.BytesSlice()
- for _, v := range s {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendBytes(b, v)
- if !utf8.Valid(v) {
- return b, errInvalidUTF8{}
- }
- }
- return b, nil
-}
-
-// consumeBytesSliceValidateUTF8 wire decodes a [][]byte pointer as a repeated Bytes.
-func consumeBytesSliceValidateUTF8(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- if !utf8.Valid(v) {
- return out, errInvalidUTF8{}
- }
- sp := p.BytesSlice()
- *sp = append(*sp, append(emptyBuf[:], v...))
- out.n = n
- return out, nil
-}
-
-var coderBytesSliceValidateUTF8 = pointerCoderFuncs{
- size: sizeBytesSlice,
- marshal: appendBytesSliceValidateUTF8,
- unmarshal: consumeBytesSliceValidateUTF8,
- merge: mergeBytesSlice,
-}
-
-// sizeBytesValue returns the size of wire encoding a []byte value as a Bytes.
-func sizeBytesValue(v protoreflect.Value, tagsize int, opts marshalOptions) int {
- return tagsize + protowire.SizeBytes(len(v.Bytes()))
-}
-
-// appendBytesValue encodes a []byte value as a Bytes.
-func appendBytesValue(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendBytes(b, v.Bytes())
- return b, nil
-}
-
-// consumeBytesValue decodes a []byte value as a Bytes.
-func consumeBytesValue(b []byte, _ protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- out.n = n
- return protoreflect.ValueOfBytes(append(emptyBuf[:], v...)), out, nil
-}
-
-var coderBytesValue = valueCoderFuncs{
- size: sizeBytesValue,
- marshal: appendBytesValue,
- unmarshal: consumeBytesValue,
- merge: mergeBytesValue,
-}
-
-// sizeBytesSliceValue returns the size of wire encoding a [][]byte value as a repeated Bytes.
-func sizeBytesSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) (size int) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- size += tagsize + protowire.SizeBytes(len(v.Bytes()))
- }
- return size
-}
-
-// appendBytesSliceValue encodes a [][]byte value as a repeated Bytes.
-func appendBytesSliceValue(b []byte, listv protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error) {
- list := listv.List()
- for i, llen := 0, list.Len(); i < llen; i++ {
- v := list.Get(i)
- b = protowire.AppendVarint(b, wiretag)
- b = protowire.AppendBytes(b, v.Bytes())
- }
- return b, nil
-}
-
-// consumeBytesSliceValue wire decodes a [][]byte value as a repeated Bytes.
-func consumeBytesSliceValue(b []byte, listv protoreflect.Value, _ protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (_ protoreflect.Value, out unmarshalOutput, err error) {
- list := listv.List()
- if wtyp != protowire.BytesType {
- return protoreflect.Value{}, out, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return protoreflect.Value{}, out, errDecode
- }
- list.Append(protoreflect.ValueOfBytes(append(emptyBuf[:], v...)))
- out.n = n
- return listv, out, nil
-}
-
-var coderBytesSliceValue = valueCoderFuncs{
- size: sizeBytesSliceValue,
- marshal: appendBytesSliceValue,
- unmarshal: consumeBytesSliceValue,
- merge: mergeBytesListValue,
-}
-
-// We append to an empty array rather than a nil []byte to get non-nil zero-length byte slices.
-var emptyBuf [0]byte
-
-var wireTypes = map[protoreflect.Kind]protowire.Type{
- protoreflect.BoolKind: protowire.VarintType,
- protoreflect.EnumKind: protowire.VarintType,
- protoreflect.Int32Kind: protowire.VarintType,
- protoreflect.Sint32Kind: protowire.VarintType,
- protoreflect.Uint32Kind: protowire.VarintType,
- protoreflect.Int64Kind: protowire.VarintType,
- protoreflect.Sint64Kind: protowire.VarintType,
- protoreflect.Uint64Kind: protowire.VarintType,
- protoreflect.Sfixed32Kind: protowire.Fixed32Type,
- protoreflect.Fixed32Kind: protowire.Fixed32Type,
- protoreflect.FloatKind: protowire.Fixed32Type,
- protoreflect.Sfixed64Kind: protowire.Fixed64Type,
- protoreflect.Fixed64Kind: protowire.Fixed64Type,
- protoreflect.DoubleKind: protowire.Fixed64Type,
- protoreflect.StringKind: protowire.BytesType,
- protoreflect.BytesKind: protowire.BytesType,
- protoreflect.MessageKind: protowire.BytesType,
- protoreflect.GroupKind: protowire.StartGroupType,
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map.go
deleted file mode 100644
index 111b9d16..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_map.go
+++ /dev/null
@@ -1,388 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "reflect"
- "sort"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type mapInfo struct {
- goType reflect.Type
- keyWiretag uint64
- valWiretag uint64
- keyFuncs valueCoderFuncs
- valFuncs valueCoderFuncs
- keyZero protoreflect.Value
- keyKind protoreflect.Kind
- conv *mapConverter
-}
-
-func encoderFuncsForMap(fd protoreflect.FieldDescriptor, ft reflect.Type) (valueMessage *MessageInfo, funcs pointerCoderFuncs) {
- // TODO: Consider generating specialized map coders.
- keyField := fd.MapKey()
- valField := fd.MapValue()
- keyWiretag := protowire.EncodeTag(1, wireTypes[keyField.Kind()])
- valWiretag := protowire.EncodeTag(2, wireTypes[valField.Kind()])
- keyFuncs := encoderFuncsForValue(keyField)
- valFuncs := encoderFuncsForValue(valField)
- conv := newMapConverter(ft, fd)
-
- mapi := &mapInfo{
- goType: ft,
- keyWiretag: keyWiretag,
- valWiretag: valWiretag,
- keyFuncs: keyFuncs,
- valFuncs: valFuncs,
- keyZero: keyField.Default(),
- keyKind: keyField.Kind(),
- conv: conv,
- }
- if valField.Kind() == protoreflect.MessageKind {
- valueMessage = getMessageInfo(ft.Elem())
- }
-
- funcs = pointerCoderFuncs{
- size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- return sizeMap(p.AsValueOf(ft).Elem(), mapi, f, opts)
- },
- marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- return appendMap(b, p.AsValueOf(ft).Elem(), mapi, f, opts)
- },
- unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- mp := p.AsValueOf(ft)
- if mp.Elem().IsNil() {
- mp.Elem().Set(reflect.MakeMap(mapi.goType))
- }
- if f.mi == nil {
- return consumeMap(b, mp.Elem(), wtyp, mapi, f, opts)
- } else {
- return consumeMapOfMessage(b, mp.Elem(), wtyp, mapi, f, opts)
- }
- },
- }
- switch valField.Kind() {
- case protoreflect.MessageKind:
- funcs.merge = mergeMapOfMessage
- case protoreflect.BytesKind:
- funcs.merge = mergeMapOfBytes
- default:
- funcs.merge = mergeMap
- }
- if valFuncs.isInit != nil {
- funcs.isInit = func(p pointer, f *coderFieldInfo) error {
- return isInitMap(p.AsValueOf(ft).Elem(), mapi, f)
- }
- }
- return valueMessage, funcs
-}
-
-const (
- mapKeyTagSize = 1 // field 1, tag size 1.
- mapValTagSize = 1 // field 2, tag size 2.
-)
-
-func sizeMap(mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) int {
- if mapv.Len() == 0 {
- return 0
- }
- n := 0
- iter := mapRange(mapv)
- for iter.Next() {
- key := mapi.conv.keyConv.PBValueOf(iter.Key()).MapKey()
- keySize := mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts)
- var valSize int
- value := mapi.conv.valConv.PBValueOf(iter.Value())
- if f.mi == nil {
- valSize = mapi.valFuncs.size(value, mapValTagSize, opts)
- } else {
- p := pointerOfValue(iter.Value())
- valSize += mapValTagSize
- valSize += protowire.SizeBytes(f.mi.sizePointer(p, opts))
- }
- n += f.tagsize + protowire.SizeBytes(keySize+valSize)
- }
- return n
-}
-
-func consumeMap(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- var (
- key = mapi.keyZero
- val = mapi.conv.valConv.New()
- )
- for len(b) > 0 {
- num, wtyp, n := protowire.ConsumeTag(b)
- if n < 0 {
- return out, errDecode
- }
- if num > protowire.MaxValidNumber {
- return out, errDecode
- }
- b = b[n:]
- err := errUnknown
- switch num {
- case genid.MapEntry_Key_field_number:
- var v protoreflect.Value
- var o unmarshalOutput
- v, o, err = mapi.keyFuncs.unmarshal(b, key, num, wtyp, opts)
- if err != nil {
- break
- }
- key = v
- n = o.n
- case genid.MapEntry_Value_field_number:
- var v protoreflect.Value
- var o unmarshalOutput
- v, o, err = mapi.valFuncs.unmarshal(b, val, num, wtyp, opts)
- if err != nil {
- break
- }
- val = v
- n = o.n
- }
- if err == errUnknown {
- n = protowire.ConsumeFieldValue(num, wtyp, b)
- if n < 0 {
- return out, errDecode
- }
- } else if err != nil {
- return out, err
- }
- b = b[n:]
- }
- mapv.SetMapIndex(mapi.conv.keyConv.GoValueOf(key), mapi.conv.valConv.GoValueOf(val))
- out.n = n
- return out, nil
-}
-
-func consumeMapOfMessage(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.BytesType {
- return out, errUnknown
- }
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- var (
- key = mapi.keyZero
- val = reflect.New(f.mi.GoReflectType.Elem())
- )
- for len(b) > 0 {
- num, wtyp, n := protowire.ConsumeTag(b)
- if n < 0 {
- return out, errDecode
- }
- if num > protowire.MaxValidNumber {
- return out, errDecode
- }
- b = b[n:]
- err := errUnknown
- switch num {
- case 1:
- var v protoreflect.Value
- var o unmarshalOutput
- v, o, err = mapi.keyFuncs.unmarshal(b, key, num, wtyp, opts)
- if err != nil {
- break
- }
- key = v
- n = o.n
- case 2:
- if wtyp != protowire.BytesType {
- break
- }
- var v []byte
- v, n = protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- var o unmarshalOutput
- o, err = f.mi.unmarshalPointer(v, pointerOfValue(val), 0, opts)
- if o.initialized {
- // Consider this map item initialized so long as we see
- // an initialized value.
- out.initialized = true
- }
- }
- if err == errUnknown {
- n = protowire.ConsumeFieldValue(num, wtyp, b)
- if n < 0 {
- return out, errDecode
- }
- } else if err != nil {
- return out, err
- }
- b = b[n:]
- }
- mapv.SetMapIndex(mapi.conv.keyConv.GoValueOf(key), val)
- out.n = n
- return out, nil
-}
-
-func appendMapItem(b []byte, keyrv, valrv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- if f.mi == nil {
- key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey()
- val := mapi.conv.valConv.PBValueOf(valrv)
- size := 0
- size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts)
- size += mapi.valFuncs.size(val, mapValTagSize, opts)
- b = protowire.AppendVarint(b, uint64(size))
- b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts)
- if err != nil {
- return nil, err
- }
- return mapi.valFuncs.marshal(b, val, mapi.valWiretag, opts)
- } else {
- key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey()
- val := pointerOfValue(valrv)
- valSize := f.mi.sizePointer(val, opts)
- size := 0
- size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts)
- size += mapValTagSize + protowire.SizeBytes(valSize)
- b = protowire.AppendVarint(b, uint64(size))
- b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts)
- if err != nil {
- return nil, err
- }
- b = protowire.AppendVarint(b, mapi.valWiretag)
- b = protowire.AppendVarint(b, uint64(valSize))
- return f.mi.marshalAppendPointer(b, val, opts)
- }
-}
-
-func appendMap(b []byte, mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- if mapv.Len() == 0 {
- return b, nil
- }
- if opts.Deterministic() {
- return appendMapDeterministic(b, mapv, mapi, f, opts)
- }
- iter := mapRange(mapv)
- for iter.Next() {
- var err error
- b = protowire.AppendVarint(b, f.wiretag)
- b, err = appendMapItem(b, iter.Key(), iter.Value(), mapi, f, opts)
- if err != nil {
- return b, err
- }
- }
- return b, nil
-}
-
-func appendMapDeterministic(b []byte, mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- keys := mapv.MapKeys()
- sort.Slice(keys, func(i, j int) bool {
- switch keys[i].Kind() {
- case reflect.Bool:
- return !keys[i].Bool() && keys[j].Bool()
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
- return keys[i].Int() < keys[j].Int()
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
- return keys[i].Uint() < keys[j].Uint()
- case reflect.Float32, reflect.Float64:
- return keys[i].Float() < keys[j].Float()
- case reflect.String:
- return keys[i].String() < keys[j].String()
- default:
- panic("invalid kind: " + keys[i].Kind().String())
- }
- })
- for _, key := range keys {
- var err error
- b = protowire.AppendVarint(b, f.wiretag)
- b, err = appendMapItem(b, key, mapv.MapIndex(key), mapi, f, opts)
- if err != nil {
- return b, err
- }
- }
- return b, nil
-}
-
-func isInitMap(mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo) error {
- if mi := f.mi; mi != nil {
- mi.init()
- if !mi.needsInitCheck {
- return nil
- }
- iter := mapRange(mapv)
- for iter.Next() {
- val := pointerOfValue(iter.Value())
- if err := mi.checkInitializedPointer(val); err != nil {
- return err
- }
- }
- } else {
- iter := mapRange(mapv)
- for iter.Next() {
- val := mapi.conv.valConv.PBValueOf(iter.Value())
- if err := mapi.valFuncs.isInit(val); err != nil {
- return err
- }
- }
- }
- return nil
-}
-
-func mergeMap(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
- dstm := dst.AsValueOf(f.ft).Elem()
- srcm := src.AsValueOf(f.ft).Elem()
- if srcm.Len() == 0 {
- return
- }
- if dstm.IsNil() {
- dstm.Set(reflect.MakeMap(f.ft))
- }
- iter := mapRange(srcm)
- for iter.Next() {
- dstm.SetMapIndex(iter.Key(), iter.Value())
- }
-}
-
-func mergeMapOfBytes(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
- dstm := dst.AsValueOf(f.ft).Elem()
- srcm := src.AsValueOf(f.ft).Elem()
- if srcm.Len() == 0 {
- return
- }
- if dstm.IsNil() {
- dstm.Set(reflect.MakeMap(f.ft))
- }
- iter := mapRange(srcm)
- for iter.Next() {
- dstm.SetMapIndex(iter.Key(), reflect.ValueOf(append(emptyBuf[:], iter.Value().Bytes()...)))
- }
-}
-
-func mergeMapOfMessage(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
- dstm := dst.AsValueOf(f.ft).Elem()
- srcm := src.AsValueOf(f.ft).Elem()
- if srcm.Len() == 0 {
- return
- }
- if dstm.IsNil() {
- dstm.Set(reflect.MakeMap(f.ft))
- }
- iter := mapRange(srcm)
- for iter.Next() {
- val := reflect.New(f.ft.Elem().Elem())
- if f.mi != nil {
- f.mi.mergePointer(pointerOfValue(val), pointerOfValue(iter.Value()), opts)
- } else {
- opts.Merge(asMessage(val), asMessage(iter.Value()))
- }
- dstm.SetMapIndex(iter.Key(), val)
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go
deleted file mode 100644
index 4b15493f..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !go1.12
-// +build !go1.12
-
-package impl
-
-import "reflect"
-
-type mapIter struct {
- v reflect.Value
- keys []reflect.Value
-}
-
-// mapRange provides a less-efficient equivalent to
-// the Go 1.12 reflect.Value.MapRange method.
-func mapRange(v reflect.Value) *mapIter {
- return &mapIter{v: v}
-}
-
-func (i *mapIter) Next() bool {
- if i.keys == nil {
- i.keys = i.v.MapKeys()
- } else {
- i.keys = i.keys[1:]
- }
- return len(i.keys) > 0
-}
-
-func (i *mapIter) Key() reflect.Value {
- return i.keys[0]
-}
-
-func (i *mapIter) Value() reflect.Value {
- return i.v.MapIndex(i.keys[0])
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go
deleted file mode 100644
index 0b31b66e..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build go1.12
-// +build go1.12
-
-package impl
-
-import "reflect"
-
-func mapRange(v reflect.Value) *reflect.MapIter { return v.MapRange() }
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_message.go b/vendor/google.golang.org/protobuf/internal/impl/codec_message.go
deleted file mode 100644
index 6b2fdbb7..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_message.go
+++ /dev/null
@@ -1,217 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
- "sort"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/order"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// coderMessageInfo contains per-message information used by the fast-path functions.
-// This is a different type from MessageInfo to keep MessageInfo as general-purpose as
-// possible.
-type coderMessageInfo struct {
- methods protoiface.Methods
-
- orderedCoderFields []*coderFieldInfo
- denseCoderFields []*coderFieldInfo
- coderFields map[protowire.Number]*coderFieldInfo
- sizecacheOffset offset
- unknownOffset offset
- unknownPtrKind bool
- extensionOffset offset
- needsInitCheck bool
- isMessageSet bool
- numRequiredFields uint8
-}
-
-type coderFieldInfo struct {
- funcs pointerCoderFuncs // fast-path per-field functions
- mi *MessageInfo // field's message
- ft reflect.Type
- validation validationInfo // information used by message validation
- num protoreflect.FieldNumber // field number
- offset offset // struct field offset
- wiretag uint64 // field tag (number + wire type)
- tagsize int // size of the varint-encoded tag
- isPointer bool // true if IsNil may be called on the struct field
- isRequired bool // true if field is required
-}
-
-func (mi *MessageInfo) makeCoderMethods(t reflect.Type, si structInfo) {
- mi.sizecacheOffset = invalidOffset
- mi.unknownOffset = invalidOffset
- mi.extensionOffset = invalidOffset
-
- if si.sizecacheOffset.IsValid() && si.sizecacheType == sizecacheType {
- mi.sizecacheOffset = si.sizecacheOffset
- }
- if si.unknownOffset.IsValid() && (si.unknownType == unknownFieldsAType || si.unknownType == unknownFieldsBType) {
- mi.unknownOffset = si.unknownOffset
- mi.unknownPtrKind = si.unknownType.Kind() == reflect.Ptr
- }
- if si.extensionOffset.IsValid() && si.extensionType == extensionFieldsType {
- mi.extensionOffset = si.extensionOffset
- }
-
- mi.coderFields = make(map[protowire.Number]*coderFieldInfo)
- fields := mi.Desc.Fields()
- preallocFields := make([]coderFieldInfo, fields.Len())
- for i := 0; i < fields.Len(); i++ {
- fd := fields.Get(i)
-
- fs := si.fieldsByNumber[fd.Number()]
- isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic()
- if isOneof {
- fs = si.oneofsByName[fd.ContainingOneof().Name()]
- }
- ft := fs.Type
- var wiretag uint64
- if !fd.IsPacked() {
- wiretag = protowire.EncodeTag(fd.Number(), wireTypes[fd.Kind()])
- } else {
- wiretag = protowire.EncodeTag(fd.Number(), protowire.BytesType)
- }
- var fieldOffset offset
- var funcs pointerCoderFuncs
- var childMessage *MessageInfo
- switch {
- case ft == nil:
- // This never occurs for generated message types.
- // It implies that a hand-crafted type has missing Go fields
- // for specific protobuf message fields.
- funcs = pointerCoderFuncs{
- size: func(p pointer, f *coderFieldInfo, opts marshalOptions) int {
- return 0
- },
- marshal: func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- return nil, nil
- },
- unmarshal: func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error) {
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- isInit: func(p pointer, f *coderFieldInfo) error {
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- merge: func(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- }
- case isOneof:
- fieldOffset = offsetOf(fs, mi.Exporter)
- case fd.IsWeak():
- fieldOffset = si.weakOffset
- funcs = makeWeakMessageFieldCoder(fd)
- default:
- fieldOffset = offsetOf(fs, mi.Exporter)
- childMessage, funcs = fieldCoder(fd, ft)
- }
- cf := &preallocFields[i]
- *cf = coderFieldInfo{
- num: fd.Number(),
- offset: fieldOffset,
- wiretag: wiretag,
- ft: ft,
- tagsize: protowire.SizeVarint(wiretag),
- funcs: funcs,
- mi: childMessage,
- validation: newFieldValidationInfo(mi, si, fd, ft),
- isPointer: fd.Cardinality() == protoreflect.Repeated || fd.HasPresence(),
- isRequired: fd.Cardinality() == protoreflect.Required,
- }
- mi.orderedCoderFields = append(mi.orderedCoderFields, cf)
- mi.coderFields[cf.num] = cf
- }
- for i, oneofs := 0, mi.Desc.Oneofs(); i < oneofs.Len(); i++ {
- if od := oneofs.Get(i); !od.IsSynthetic() {
- mi.initOneofFieldCoders(od, si)
- }
- }
- if messageset.IsMessageSet(mi.Desc) {
- if !mi.extensionOffset.IsValid() {
- panic(fmt.Sprintf("%v: MessageSet with no extensions field", mi.Desc.FullName()))
- }
- if !mi.unknownOffset.IsValid() {
- panic(fmt.Sprintf("%v: MessageSet with no unknown field", mi.Desc.FullName()))
- }
- mi.isMessageSet = true
- }
- sort.Slice(mi.orderedCoderFields, func(i, j int) bool {
- return mi.orderedCoderFields[i].num < mi.orderedCoderFields[j].num
- })
-
- var maxDense protoreflect.FieldNumber
- for _, cf := range mi.orderedCoderFields {
- if cf.num >= 16 && cf.num >= 2*maxDense {
- break
- }
- maxDense = cf.num
- }
- mi.denseCoderFields = make([]*coderFieldInfo, maxDense+1)
- for _, cf := range mi.orderedCoderFields {
- if int(cf.num) >= len(mi.denseCoderFields) {
- break
- }
- mi.denseCoderFields[cf.num] = cf
- }
-
- // To preserve compatibility with historic wire output, marshal oneofs last.
- if mi.Desc.Oneofs().Len() > 0 {
- sort.Slice(mi.orderedCoderFields, func(i, j int) bool {
- fi := fields.ByNumber(mi.orderedCoderFields[i].num)
- fj := fields.ByNumber(mi.orderedCoderFields[j].num)
- return order.LegacyFieldOrder(fi, fj)
- })
- }
-
- mi.needsInitCheck = needsInitCheck(mi.Desc)
- if mi.methods.Marshal == nil && mi.methods.Size == nil {
- mi.methods.Flags |= protoiface.SupportMarshalDeterministic
- mi.methods.Marshal = mi.marshal
- mi.methods.Size = mi.size
- }
- if mi.methods.Unmarshal == nil {
- mi.methods.Flags |= protoiface.SupportUnmarshalDiscardUnknown
- mi.methods.Unmarshal = mi.unmarshal
- }
- if mi.methods.CheckInitialized == nil {
- mi.methods.CheckInitialized = mi.checkInitialized
- }
- if mi.methods.Merge == nil {
- mi.methods.Merge = mi.merge
- }
-}
-
-// getUnknownBytes returns a *[]byte for the unknown fields.
-// It is the caller's responsibility to check whether the pointer is nil.
-// This function is specially designed to be inlineable.
-func (mi *MessageInfo) getUnknownBytes(p pointer) *[]byte {
- if mi.unknownPtrKind {
- return *p.Apply(mi.unknownOffset).BytesPtr()
- } else {
- return p.Apply(mi.unknownOffset).Bytes()
- }
-}
-
-// mutableUnknownBytes returns a *[]byte for the unknown fields.
-// The returned pointer is guaranteed to not be nil.
-func (mi *MessageInfo) mutableUnknownBytes(p pointer) *[]byte {
- if mi.unknownPtrKind {
- bp := p.Apply(mi.unknownOffset).BytesPtr()
- if *bp == nil {
- *bp = new([]byte)
- }
- return *bp
- } else {
- return p.Apply(mi.unknownOffset).Bytes()
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go b/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go
deleted file mode 100644
index b7a23faf..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "sort"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/flags"
-)
-
-func sizeMessageSet(mi *MessageInfo, p pointer, opts marshalOptions) (size int) {
- if !flags.ProtoLegacy {
- return 0
- }
-
- ext := *p.Apply(mi.extensionOffset).Extensions()
- for _, x := range ext {
- xi := getExtensionFieldInfo(x.Type())
- if xi.funcs.size == nil {
- continue
- }
- num, _ := protowire.DecodeTag(xi.wiretag)
- size += messageset.SizeField(num)
- size += xi.funcs.size(x.Value(), protowire.SizeTag(messageset.FieldMessage), opts)
- }
-
- if u := mi.getUnknownBytes(p); u != nil {
- size += messageset.SizeUnknown(*u)
- }
-
- return size
-}
-
-func marshalMessageSet(mi *MessageInfo, b []byte, p pointer, opts marshalOptions) ([]byte, error) {
- if !flags.ProtoLegacy {
- return b, errors.New("no support for message_set_wire_format")
- }
-
- ext := *p.Apply(mi.extensionOffset).Extensions()
- switch len(ext) {
- case 0:
- case 1:
- // Fast-path for one extension: Don't bother sorting the keys.
- for _, x := range ext {
- var err error
- b, err = marshalMessageSetField(mi, b, x, opts)
- if err != nil {
- return b, err
- }
- }
- default:
- // Sort the keys to provide a deterministic encoding.
- // Not sure this is required, but the old code does it.
- keys := make([]int, 0, len(ext))
- for k := range ext {
- keys = append(keys, int(k))
- }
- sort.Ints(keys)
- for _, k := range keys {
- var err error
- b, err = marshalMessageSetField(mi, b, ext[int32(k)], opts)
- if err != nil {
- return b, err
- }
- }
- }
-
- if u := mi.getUnknownBytes(p); u != nil {
- var err error
- b, err = messageset.AppendUnknown(b, *u)
- if err != nil {
- return b, err
- }
- }
-
- return b, nil
-}
-
-func marshalMessageSetField(mi *MessageInfo, b []byte, x ExtensionField, opts marshalOptions) ([]byte, error) {
- xi := getExtensionFieldInfo(x.Type())
- num, _ := protowire.DecodeTag(xi.wiretag)
- b = messageset.AppendFieldStart(b, num)
- b, err := xi.funcs.marshal(b, x.Value(), protowire.EncodeTag(messageset.FieldMessage, protowire.BytesType), opts)
- if err != nil {
- return b, err
- }
- b = messageset.AppendFieldEnd(b)
- return b, nil
-}
-
-func unmarshalMessageSet(mi *MessageInfo, b []byte, p pointer, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if !flags.ProtoLegacy {
- return out, errors.New("no support for message_set_wire_format")
- }
-
- ep := p.Apply(mi.extensionOffset).Extensions()
- if *ep == nil {
- *ep = make(map[int32]ExtensionField)
- }
- ext := *ep
- initialized := true
- err = messageset.Unmarshal(b, true, func(num protowire.Number, v []byte) error {
- o, err := mi.unmarshalExtension(v, num, protowire.BytesType, ext, opts)
- if err == errUnknown {
- u := mi.mutableUnknownBytes(p)
- *u = protowire.AppendTag(*u, num, protowire.BytesType)
- *u = append(*u, v...)
- return nil
- }
- if !o.initialized {
- initialized = false
- }
- return err
- })
- out.n = len(b)
- out.initialized = initialized
- return out, err
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go b/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go
deleted file mode 100644
index 145c577b..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go
+++ /dev/null
@@ -1,210 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build purego || appengine
-// +build purego appengine
-
-package impl
-
-import (
- "reflect"
-
- "google.golang.org/protobuf/encoding/protowire"
-)
-
-func sizeEnum(p pointer, f *coderFieldInfo, _ marshalOptions) (size int) {
- v := p.v.Elem().Int()
- return f.tagsize + protowire.SizeVarint(uint64(v))
-}
-
-func appendEnum(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- v := p.v.Elem().Int()
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(v))
- return b, nil
-}
-
-func consumeEnum(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, _ unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return out, errDecode
- }
- p.v.Elem().SetInt(int64(v))
- out.n = n
- return out, nil
-}
-
-func mergeEnum(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- dst.v.Elem().Set(src.v.Elem())
-}
-
-var coderEnum = pointerCoderFuncs{
- size: sizeEnum,
- marshal: appendEnum,
- unmarshal: consumeEnum,
- merge: mergeEnum,
-}
-
-func sizeEnumNoZero(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- if p.v.Elem().Int() == 0 {
- return 0
- }
- return sizeEnum(p, f, opts)
-}
-
-func appendEnumNoZero(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- if p.v.Elem().Int() == 0 {
- return b, nil
- }
- return appendEnum(b, p, f, opts)
-}
-
-func mergeEnumNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- if src.v.Elem().Int() != 0 {
- dst.v.Elem().Set(src.v.Elem())
- }
-}
-
-var coderEnumNoZero = pointerCoderFuncs{
- size: sizeEnumNoZero,
- marshal: appendEnumNoZero,
- unmarshal: consumeEnum,
- merge: mergeEnumNoZero,
-}
-
-func sizeEnumPtr(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- return sizeEnum(pointer{p.v.Elem()}, f, opts)
-}
-
-func appendEnumPtr(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- return appendEnum(b, pointer{p.v.Elem()}, f, opts)
-}
-
-func consumeEnumPtr(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- if p.v.Elem().IsNil() {
- p.v.Elem().Set(reflect.New(p.v.Elem().Type().Elem()))
- }
- return consumeEnum(b, pointer{p.v.Elem()}, wtyp, f, opts)
-}
-
-func mergeEnumPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- if !src.v.Elem().IsNil() {
- v := reflect.New(dst.v.Type().Elem().Elem())
- v.Elem().Set(src.v.Elem().Elem())
- dst.v.Elem().Set(v)
- }
-}
-
-var coderEnumPtr = pointerCoderFuncs{
- size: sizeEnumPtr,
- marshal: appendEnumPtr,
- unmarshal: consumeEnumPtr,
- merge: mergeEnumPtr,
-}
-
-func sizeEnumSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := p.v.Elem()
- for i, llen := 0, s.Len(); i < llen; i++ {
- size += protowire.SizeVarint(uint64(s.Index(i).Int())) + f.tagsize
- }
- return size
-}
-
-func appendEnumSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := p.v.Elem()
- for i, llen := 0, s.Len(); i < llen; i++ {
- b = protowire.AppendVarint(b, f.wiretag)
- b = protowire.AppendVarint(b, uint64(s.Index(i).Int()))
- }
- return b, nil
-}
-
-func consumeEnumSlice(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
- s := p.v.Elem()
- if wtyp == protowire.BytesType {
- b, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, errDecode
- }
- for len(b) > 0 {
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return out, errDecode
- }
- rv := reflect.New(s.Type().Elem()).Elem()
- rv.SetInt(int64(v))
- s.Set(reflect.Append(s, rv))
- b = b[n:]
- }
- out.n = n
- return out, nil
- }
- if wtyp != protowire.VarintType {
- return out, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return out, errDecode
- }
- rv := reflect.New(s.Type().Elem()).Elem()
- rv.SetInt(int64(v))
- s.Set(reflect.Append(s, rv))
- out.n = n
- return out, nil
-}
-
-func mergeEnumSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- dst.v.Elem().Set(reflect.AppendSlice(dst.v.Elem(), src.v.Elem()))
-}
-
-var coderEnumSlice = pointerCoderFuncs{
- size: sizeEnumSlice,
- marshal: appendEnumSlice,
- unmarshal: consumeEnumSlice,
- merge: mergeEnumSlice,
-}
-
-func sizeEnumPackedSlice(p pointer, f *coderFieldInfo, opts marshalOptions) (size int) {
- s := p.v.Elem()
- llen := s.Len()
- if llen == 0 {
- return 0
- }
- n := 0
- for i := 0; i < llen; i++ {
- n += protowire.SizeVarint(uint64(s.Index(i).Int()))
- }
- return f.tagsize + protowire.SizeBytes(n)
-}
-
-func appendEnumPackedSlice(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
- s := p.v.Elem()
- llen := s.Len()
- if llen == 0 {
- return b, nil
- }
- b = protowire.AppendVarint(b, f.wiretag)
- n := 0
- for i := 0; i < llen; i++ {
- n += protowire.SizeVarint(uint64(s.Index(i).Int()))
- }
- b = protowire.AppendVarint(b, uint64(n))
- for i := 0; i < llen; i++ {
- b = protowire.AppendVarint(b, uint64(s.Index(i).Int()))
- }
- return b, nil
-}
-
-var coderEnumPackedSlice = pointerCoderFuncs{
- size: sizeEnumPackedSlice,
- marshal: appendEnumPackedSlice,
- unmarshal: consumeEnumSlice,
- merge: mergeEnumSlice,
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go b/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go
deleted file mode 100644
index 13077751..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go
+++ /dev/null
@@ -1,557 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// pointerCoderFuncs is a set of pointer encoding functions.
-type pointerCoderFuncs struct {
- mi *MessageInfo
- size func(p pointer, f *coderFieldInfo, opts marshalOptions) int
- marshal func(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error)
- unmarshal func(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (unmarshalOutput, error)
- isInit func(p pointer, f *coderFieldInfo) error
- merge func(dst, src pointer, f *coderFieldInfo, opts mergeOptions)
-}
-
-// valueCoderFuncs is a set of protoreflect.Value encoding functions.
-type valueCoderFuncs struct {
- size func(v protoreflect.Value, tagsize int, opts marshalOptions) int
- marshal func(b []byte, v protoreflect.Value, wiretag uint64, opts marshalOptions) ([]byte, error)
- unmarshal func(b []byte, v protoreflect.Value, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (protoreflect.Value, unmarshalOutput, error)
- isInit func(v protoreflect.Value) error
- merge func(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value
-}
-
-// fieldCoder returns pointer functions for a field, used for operating on
-// struct fields.
-func fieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) (*MessageInfo, pointerCoderFuncs) {
- switch {
- case fd.IsMap():
- return encoderFuncsForMap(fd, ft)
- case fd.Cardinality() == protoreflect.Repeated && !fd.IsPacked():
- // Repeated fields (not packed).
- if ft.Kind() != reflect.Slice {
- break
- }
- ft := ft.Elem()
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if ft.Kind() == reflect.Bool {
- return nil, coderBoolSlice
- }
- case protoreflect.EnumKind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderEnumSlice
- }
- case protoreflect.Int32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderInt32Slice
- }
- case protoreflect.Sint32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSint32Slice
- }
- case protoreflect.Uint32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderUint32Slice
- }
- case protoreflect.Int64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderInt64Slice
- }
- case protoreflect.Sint64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSint64Slice
- }
- case protoreflect.Uint64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderUint64Slice
- }
- case protoreflect.Sfixed32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSfixed32Slice
- }
- case protoreflect.Fixed32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderFixed32Slice
- }
- case protoreflect.FloatKind:
- if ft.Kind() == reflect.Float32 {
- return nil, coderFloatSlice
- }
- case protoreflect.Sfixed64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSfixed64Slice
- }
- case protoreflect.Fixed64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderFixed64Slice
- }
- case protoreflect.DoubleKind:
- if ft.Kind() == reflect.Float64 {
- return nil, coderDoubleSlice
- }
- case protoreflect.StringKind:
- if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) {
- return nil, coderStringSliceValidateUTF8
- }
- if ft.Kind() == reflect.String {
- return nil, coderStringSlice
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) {
- return nil, coderBytesSliceValidateUTF8
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 {
- return nil, coderBytesSlice
- }
- case protoreflect.BytesKind:
- if ft.Kind() == reflect.String {
- return nil, coderStringSlice
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 {
- return nil, coderBytesSlice
- }
- case protoreflect.MessageKind:
- return getMessageInfo(ft), makeMessageSliceFieldCoder(fd, ft)
- case protoreflect.GroupKind:
- return getMessageInfo(ft), makeGroupSliceFieldCoder(fd, ft)
- }
- case fd.Cardinality() == protoreflect.Repeated && fd.IsPacked():
- // Packed repeated fields.
- //
- // Only repeated fields of primitive numeric types
- // (Varint, Fixed32, or Fixed64 wire type) can be packed.
- if ft.Kind() != reflect.Slice {
- break
- }
- ft := ft.Elem()
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if ft.Kind() == reflect.Bool {
- return nil, coderBoolPackedSlice
- }
- case protoreflect.EnumKind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderEnumPackedSlice
- }
- case protoreflect.Int32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderInt32PackedSlice
- }
- case protoreflect.Sint32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSint32PackedSlice
- }
- case protoreflect.Uint32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderUint32PackedSlice
- }
- case protoreflect.Int64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderInt64PackedSlice
- }
- case protoreflect.Sint64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSint64PackedSlice
- }
- case protoreflect.Uint64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderUint64PackedSlice
- }
- case protoreflect.Sfixed32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSfixed32PackedSlice
- }
- case protoreflect.Fixed32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderFixed32PackedSlice
- }
- case protoreflect.FloatKind:
- if ft.Kind() == reflect.Float32 {
- return nil, coderFloatPackedSlice
- }
- case protoreflect.Sfixed64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSfixed64PackedSlice
- }
- case protoreflect.Fixed64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderFixed64PackedSlice
- }
- case protoreflect.DoubleKind:
- if ft.Kind() == reflect.Float64 {
- return nil, coderDoublePackedSlice
- }
- }
- case fd.Kind() == protoreflect.MessageKind:
- return getMessageInfo(ft), makeMessageFieldCoder(fd, ft)
- case fd.Kind() == protoreflect.GroupKind:
- return getMessageInfo(ft), makeGroupFieldCoder(fd, ft)
- case !fd.HasPresence() && fd.ContainingOneof() == nil:
- // Populated oneof fields always encode even if set to the zero value,
- // which normally are not encoded in proto3.
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if ft.Kind() == reflect.Bool {
- return nil, coderBoolNoZero
- }
- case protoreflect.EnumKind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderEnumNoZero
- }
- case protoreflect.Int32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderInt32NoZero
- }
- case protoreflect.Sint32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSint32NoZero
- }
- case protoreflect.Uint32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderUint32NoZero
- }
- case protoreflect.Int64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderInt64NoZero
- }
- case protoreflect.Sint64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSint64NoZero
- }
- case protoreflect.Uint64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderUint64NoZero
- }
- case protoreflect.Sfixed32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSfixed32NoZero
- }
- case protoreflect.Fixed32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderFixed32NoZero
- }
- case protoreflect.FloatKind:
- if ft.Kind() == reflect.Float32 {
- return nil, coderFloatNoZero
- }
- case protoreflect.Sfixed64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSfixed64NoZero
- }
- case protoreflect.Fixed64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderFixed64NoZero
- }
- case protoreflect.DoubleKind:
- if ft.Kind() == reflect.Float64 {
- return nil, coderDoubleNoZero
- }
- case protoreflect.StringKind:
- if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) {
- return nil, coderStringNoZeroValidateUTF8
- }
- if ft.Kind() == reflect.String {
- return nil, coderStringNoZero
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) {
- return nil, coderBytesNoZeroValidateUTF8
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 {
- return nil, coderBytesNoZero
- }
- case protoreflect.BytesKind:
- if ft.Kind() == reflect.String {
- return nil, coderStringNoZero
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 {
- return nil, coderBytesNoZero
- }
- }
- case ft.Kind() == reflect.Ptr:
- ft := ft.Elem()
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if ft.Kind() == reflect.Bool {
- return nil, coderBoolPtr
- }
- case protoreflect.EnumKind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderEnumPtr
- }
- case protoreflect.Int32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderInt32Ptr
- }
- case protoreflect.Sint32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSint32Ptr
- }
- case protoreflect.Uint32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderUint32Ptr
- }
- case protoreflect.Int64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderInt64Ptr
- }
- case protoreflect.Sint64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSint64Ptr
- }
- case protoreflect.Uint64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderUint64Ptr
- }
- case protoreflect.Sfixed32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSfixed32Ptr
- }
- case protoreflect.Fixed32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderFixed32Ptr
- }
- case protoreflect.FloatKind:
- if ft.Kind() == reflect.Float32 {
- return nil, coderFloatPtr
- }
- case protoreflect.Sfixed64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSfixed64Ptr
- }
- case protoreflect.Fixed64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderFixed64Ptr
- }
- case protoreflect.DoubleKind:
- if ft.Kind() == reflect.Float64 {
- return nil, coderDoublePtr
- }
- case protoreflect.StringKind:
- if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) {
- return nil, coderStringPtrValidateUTF8
- }
- if ft.Kind() == reflect.String {
- return nil, coderStringPtr
- }
- case protoreflect.BytesKind:
- if ft.Kind() == reflect.String {
- return nil, coderStringPtr
- }
- }
- default:
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if ft.Kind() == reflect.Bool {
- return nil, coderBool
- }
- case protoreflect.EnumKind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderEnum
- }
- case protoreflect.Int32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderInt32
- }
- case protoreflect.Sint32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSint32
- }
- case protoreflect.Uint32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderUint32
- }
- case protoreflect.Int64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderInt64
- }
- case protoreflect.Sint64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSint64
- }
- case protoreflect.Uint64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderUint64
- }
- case protoreflect.Sfixed32Kind:
- if ft.Kind() == reflect.Int32 {
- return nil, coderSfixed32
- }
- case protoreflect.Fixed32Kind:
- if ft.Kind() == reflect.Uint32 {
- return nil, coderFixed32
- }
- case protoreflect.FloatKind:
- if ft.Kind() == reflect.Float32 {
- return nil, coderFloat
- }
- case protoreflect.Sfixed64Kind:
- if ft.Kind() == reflect.Int64 {
- return nil, coderSfixed64
- }
- case protoreflect.Fixed64Kind:
- if ft.Kind() == reflect.Uint64 {
- return nil, coderFixed64
- }
- case protoreflect.DoubleKind:
- if ft.Kind() == reflect.Float64 {
- return nil, coderDouble
- }
- case protoreflect.StringKind:
- if ft.Kind() == reflect.String && strs.EnforceUTF8(fd) {
- return nil, coderStringValidateUTF8
- }
- if ft.Kind() == reflect.String {
- return nil, coderString
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 && strs.EnforceUTF8(fd) {
- return nil, coderBytesValidateUTF8
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 {
- return nil, coderBytes
- }
- case protoreflect.BytesKind:
- if ft.Kind() == reflect.String {
- return nil, coderString
- }
- if ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8 {
- return nil, coderBytes
- }
- }
- }
- panic(fmt.Sprintf("invalid type: no encoder for %v %v %v/%v", fd.FullName(), fd.Cardinality(), fd.Kind(), ft))
-}
-
-// encoderFuncsForValue returns value functions for a field, used for
-// extension values and map encoding.
-func encoderFuncsForValue(fd protoreflect.FieldDescriptor) valueCoderFuncs {
- switch {
- case fd.Cardinality() == protoreflect.Repeated && !fd.IsPacked():
- switch fd.Kind() {
- case protoreflect.BoolKind:
- return coderBoolSliceValue
- case protoreflect.EnumKind:
- return coderEnumSliceValue
- case protoreflect.Int32Kind:
- return coderInt32SliceValue
- case protoreflect.Sint32Kind:
- return coderSint32SliceValue
- case protoreflect.Uint32Kind:
- return coderUint32SliceValue
- case protoreflect.Int64Kind:
- return coderInt64SliceValue
- case protoreflect.Sint64Kind:
- return coderSint64SliceValue
- case protoreflect.Uint64Kind:
- return coderUint64SliceValue
- case protoreflect.Sfixed32Kind:
- return coderSfixed32SliceValue
- case protoreflect.Fixed32Kind:
- return coderFixed32SliceValue
- case protoreflect.FloatKind:
- return coderFloatSliceValue
- case protoreflect.Sfixed64Kind:
- return coderSfixed64SliceValue
- case protoreflect.Fixed64Kind:
- return coderFixed64SliceValue
- case protoreflect.DoubleKind:
- return coderDoubleSliceValue
- case protoreflect.StringKind:
- // We don't have a UTF-8 validating coder for repeated string fields.
- // Value coders are used for extensions and maps.
- // Extensions are never proto3, and maps never contain lists.
- return coderStringSliceValue
- case protoreflect.BytesKind:
- return coderBytesSliceValue
- case protoreflect.MessageKind:
- return coderMessageSliceValue
- case protoreflect.GroupKind:
- return coderGroupSliceValue
- }
- case fd.Cardinality() == protoreflect.Repeated && fd.IsPacked():
- switch fd.Kind() {
- case protoreflect.BoolKind:
- return coderBoolPackedSliceValue
- case protoreflect.EnumKind:
- return coderEnumPackedSliceValue
- case protoreflect.Int32Kind:
- return coderInt32PackedSliceValue
- case protoreflect.Sint32Kind:
- return coderSint32PackedSliceValue
- case protoreflect.Uint32Kind:
- return coderUint32PackedSliceValue
- case protoreflect.Int64Kind:
- return coderInt64PackedSliceValue
- case protoreflect.Sint64Kind:
- return coderSint64PackedSliceValue
- case protoreflect.Uint64Kind:
- return coderUint64PackedSliceValue
- case protoreflect.Sfixed32Kind:
- return coderSfixed32PackedSliceValue
- case protoreflect.Fixed32Kind:
- return coderFixed32PackedSliceValue
- case protoreflect.FloatKind:
- return coderFloatPackedSliceValue
- case protoreflect.Sfixed64Kind:
- return coderSfixed64PackedSliceValue
- case protoreflect.Fixed64Kind:
- return coderFixed64PackedSliceValue
- case protoreflect.DoubleKind:
- return coderDoublePackedSliceValue
- }
- default:
- switch fd.Kind() {
- default:
- case protoreflect.BoolKind:
- return coderBoolValue
- case protoreflect.EnumKind:
- return coderEnumValue
- case protoreflect.Int32Kind:
- return coderInt32Value
- case protoreflect.Sint32Kind:
- return coderSint32Value
- case protoreflect.Uint32Kind:
- return coderUint32Value
- case protoreflect.Int64Kind:
- return coderInt64Value
- case protoreflect.Sint64Kind:
- return coderSint64Value
- case protoreflect.Uint64Kind:
- return coderUint64Value
- case protoreflect.Sfixed32Kind:
- return coderSfixed32Value
- case protoreflect.Fixed32Kind:
- return coderFixed32Value
- case protoreflect.FloatKind:
- return coderFloatValue
- case protoreflect.Sfixed64Kind:
- return coderSfixed64Value
- case protoreflect.Fixed64Kind:
- return coderFixed64Value
- case protoreflect.DoubleKind:
- return coderDoubleValue
- case protoreflect.StringKind:
- if strs.EnforceUTF8(fd) {
- return coderStringValueValidateUTF8
- }
- return coderStringValue
- case protoreflect.BytesKind:
- return coderBytesValue
- case protoreflect.MessageKind:
- return coderMessageValue
- case protoreflect.GroupKind:
- return coderGroupValue
- }
- }
- panic(fmt.Sprintf("invalid field: no encoder for %v %v %v", fd.FullName(), fd.Cardinality(), fd.Kind()))
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go b/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go
deleted file mode 100644
index 757642e2..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !purego && !appengine
-// +build !purego,!appengine
-
-package impl
-
-// When using unsafe pointers, we can just treat enum values as int32s.
-
-var (
- coderEnumNoZero = coderInt32NoZero
- coderEnum = coderInt32
- coderEnumPtr = coderInt32Ptr
- coderEnumSlice = coderInt32Slice
- coderEnumPackedSlice = coderInt32PackedSlice
-)
diff --git a/vendor/google.golang.org/protobuf/internal/impl/convert.go b/vendor/google.golang.org/protobuf/internal/impl/convert.go
deleted file mode 100644
index 185ef2ef..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/convert.go
+++ /dev/null
@@ -1,495 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// unwrapper unwraps the value to the underlying value.
-// This is implemented by List and Map.
-type unwrapper interface {
- protoUnwrap() interface{}
-}
-
-// A Converter coverts to/from Go reflect.Value types and protobuf protoreflect.Value types.
-type Converter interface {
- // PBValueOf converts a reflect.Value to a protoreflect.Value.
- PBValueOf(reflect.Value) protoreflect.Value
-
- // GoValueOf converts a protoreflect.Value to a reflect.Value.
- GoValueOf(protoreflect.Value) reflect.Value
-
- // IsValidPB returns whether a protoreflect.Value is compatible with this type.
- IsValidPB(protoreflect.Value) bool
-
- // IsValidGo returns whether a reflect.Value is compatible with this type.
- IsValidGo(reflect.Value) bool
-
- // New returns a new field value.
- // For scalars, it returns the default value of the field.
- // For composite types, it returns a new mutable value.
- New() protoreflect.Value
-
- // Zero returns a new field value.
- // For scalars, it returns the default value of the field.
- // For composite types, it returns an immutable, empty value.
- Zero() protoreflect.Value
-}
-
-// NewConverter matches a Go type with a protobuf field and returns a Converter
-// that converts between the two. Enums must be a named int32 kind that
-// implements protoreflect.Enum, and messages must be pointer to a named
-// struct type that implements protoreflect.ProtoMessage.
-//
-// This matcher deliberately supports a wider range of Go types than what
-// protoc-gen-go historically generated to be able to automatically wrap some
-// v1 messages generated by other forks of protoc-gen-go.
-func NewConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter {
- switch {
- case fd.IsList():
- return newListConverter(t, fd)
- case fd.IsMap():
- return newMapConverter(t, fd)
- default:
- return newSingularConverter(t, fd)
- }
-}
-
-var (
- boolType = reflect.TypeOf(bool(false))
- int32Type = reflect.TypeOf(int32(0))
- int64Type = reflect.TypeOf(int64(0))
- uint32Type = reflect.TypeOf(uint32(0))
- uint64Type = reflect.TypeOf(uint64(0))
- float32Type = reflect.TypeOf(float32(0))
- float64Type = reflect.TypeOf(float64(0))
- stringType = reflect.TypeOf(string(""))
- bytesType = reflect.TypeOf([]byte(nil))
- byteType = reflect.TypeOf(byte(0))
-)
-
-var (
- boolZero = protoreflect.ValueOfBool(false)
- int32Zero = protoreflect.ValueOfInt32(0)
- int64Zero = protoreflect.ValueOfInt64(0)
- uint32Zero = protoreflect.ValueOfUint32(0)
- uint64Zero = protoreflect.ValueOfUint64(0)
- float32Zero = protoreflect.ValueOfFloat32(0)
- float64Zero = protoreflect.ValueOfFloat64(0)
- stringZero = protoreflect.ValueOfString("")
- bytesZero = protoreflect.ValueOfBytes(nil)
-)
-
-func newSingularConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter {
- defVal := func(fd protoreflect.FieldDescriptor, zero protoreflect.Value) protoreflect.Value {
- if fd.Cardinality() == protoreflect.Repeated {
- // Default isn't defined for repeated fields.
- return zero
- }
- return fd.Default()
- }
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if t.Kind() == reflect.Bool {
- return &boolConverter{t, defVal(fd, boolZero)}
- }
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind:
- if t.Kind() == reflect.Int32 {
- return &int32Converter{t, defVal(fd, int32Zero)}
- }
- case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind:
- if t.Kind() == reflect.Int64 {
- return &int64Converter{t, defVal(fd, int64Zero)}
- }
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind:
- if t.Kind() == reflect.Uint32 {
- return &uint32Converter{t, defVal(fd, uint32Zero)}
- }
- case protoreflect.Uint64Kind, protoreflect.Fixed64Kind:
- if t.Kind() == reflect.Uint64 {
- return &uint64Converter{t, defVal(fd, uint64Zero)}
- }
- case protoreflect.FloatKind:
- if t.Kind() == reflect.Float32 {
- return &float32Converter{t, defVal(fd, float32Zero)}
- }
- case protoreflect.DoubleKind:
- if t.Kind() == reflect.Float64 {
- return &float64Converter{t, defVal(fd, float64Zero)}
- }
- case protoreflect.StringKind:
- if t.Kind() == reflect.String || (t.Kind() == reflect.Slice && t.Elem() == byteType) {
- return &stringConverter{t, defVal(fd, stringZero)}
- }
- case protoreflect.BytesKind:
- if t.Kind() == reflect.String || (t.Kind() == reflect.Slice && t.Elem() == byteType) {
- return &bytesConverter{t, defVal(fd, bytesZero)}
- }
- case protoreflect.EnumKind:
- // Handle enums, which must be a named int32 type.
- if t.Kind() == reflect.Int32 {
- return newEnumConverter(t, fd)
- }
- case protoreflect.MessageKind, protoreflect.GroupKind:
- return newMessageConverter(t)
- }
- panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName()))
-}
-
-type boolConverter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *boolConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfBool(v.Bool())
-}
-func (c *boolConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(v.Bool()).Convert(c.goType)
-}
-func (c *boolConverter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(bool)
- return ok
-}
-func (c *boolConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *boolConverter) New() protoreflect.Value { return c.def }
-func (c *boolConverter) Zero() protoreflect.Value { return c.def }
-
-type int32Converter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *int32Converter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfInt32(int32(v.Int()))
-}
-func (c *int32Converter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(int32(v.Int())).Convert(c.goType)
-}
-func (c *int32Converter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(int32)
- return ok
-}
-func (c *int32Converter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *int32Converter) New() protoreflect.Value { return c.def }
-func (c *int32Converter) Zero() protoreflect.Value { return c.def }
-
-type int64Converter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *int64Converter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfInt64(int64(v.Int()))
-}
-func (c *int64Converter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(int64(v.Int())).Convert(c.goType)
-}
-func (c *int64Converter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(int64)
- return ok
-}
-func (c *int64Converter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *int64Converter) New() protoreflect.Value { return c.def }
-func (c *int64Converter) Zero() protoreflect.Value { return c.def }
-
-type uint32Converter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *uint32Converter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfUint32(uint32(v.Uint()))
-}
-func (c *uint32Converter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(uint32(v.Uint())).Convert(c.goType)
-}
-func (c *uint32Converter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(uint32)
- return ok
-}
-func (c *uint32Converter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *uint32Converter) New() protoreflect.Value { return c.def }
-func (c *uint32Converter) Zero() protoreflect.Value { return c.def }
-
-type uint64Converter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *uint64Converter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfUint64(uint64(v.Uint()))
-}
-func (c *uint64Converter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(uint64(v.Uint())).Convert(c.goType)
-}
-func (c *uint64Converter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(uint64)
- return ok
-}
-func (c *uint64Converter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *uint64Converter) New() protoreflect.Value { return c.def }
-func (c *uint64Converter) Zero() protoreflect.Value { return c.def }
-
-type float32Converter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *float32Converter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfFloat32(float32(v.Float()))
-}
-func (c *float32Converter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(float32(v.Float())).Convert(c.goType)
-}
-func (c *float32Converter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(float32)
- return ok
-}
-func (c *float32Converter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *float32Converter) New() protoreflect.Value { return c.def }
-func (c *float32Converter) Zero() protoreflect.Value { return c.def }
-
-type float64Converter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *float64Converter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfFloat64(float64(v.Float()))
-}
-func (c *float64Converter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(float64(v.Float())).Convert(c.goType)
-}
-func (c *float64Converter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(float64)
- return ok
-}
-func (c *float64Converter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *float64Converter) New() protoreflect.Value { return c.def }
-func (c *float64Converter) Zero() protoreflect.Value { return c.def }
-
-type stringConverter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *stringConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfString(v.Convert(stringType).String())
-}
-func (c *stringConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- // pref.Value.String never panics, so we go through an interface
- // conversion here to check the type.
- s := v.Interface().(string)
- if c.goType.Kind() == reflect.Slice && s == "" {
- return reflect.Zero(c.goType) // ensure empty string is []byte(nil)
- }
- return reflect.ValueOf(s).Convert(c.goType)
-}
-func (c *stringConverter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(string)
- return ok
-}
-func (c *stringConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *stringConverter) New() protoreflect.Value { return c.def }
-func (c *stringConverter) Zero() protoreflect.Value { return c.def }
-
-type bytesConverter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func (c *bytesConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- if c.goType.Kind() == reflect.String && v.Len() == 0 {
- return protoreflect.ValueOfBytes(nil) // ensure empty string is []byte(nil)
- }
- return protoreflect.ValueOfBytes(v.Convert(bytesType).Bytes())
-}
-func (c *bytesConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(v.Bytes()).Convert(c.goType)
-}
-func (c *bytesConverter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().([]byte)
- return ok
-}
-func (c *bytesConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-func (c *bytesConverter) New() protoreflect.Value { return c.def }
-func (c *bytesConverter) Zero() protoreflect.Value { return c.def }
-
-type enumConverter struct {
- goType reflect.Type
- def protoreflect.Value
-}
-
-func newEnumConverter(goType reflect.Type, fd protoreflect.FieldDescriptor) Converter {
- var def protoreflect.Value
- if fd.Cardinality() == protoreflect.Repeated {
- def = protoreflect.ValueOfEnum(fd.Enum().Values().Get(0).Number())
- } else {
- def = fd.Default()
- }
- return &enumConverter{goType, def}
-}
-
-func (c *enumConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v.Int()))
-}
-
-func (c *enumConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- return reflect.ValueOf(v.Enum()).Convert(c.goType)
-}
-
-func (c *enumConverter) IsValidPB(v protoreflect.Value) bool {
- _, ok := v.Interface().(protoreflect.EnumNumber)
- return ok
-}
-
-func (c *enumConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-
-func (c *enumConverter) New() protoreflect.Value {
- return c.def
-}
-
-func (c *enumConverter) Zero() protoreflect.Value {
- return c.def
-}
-
-type messageConverter struct {
- goType reflect.Type
-}
-
-func newMessageConverter(goType reflect.Type) Converter {
- return &messageConverter{goType}
-}
-
-func (c *messageConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- if c.isNonPointer() {
- if v.CanAddr() {
- v = v.Addr() // T => *T
- } else {
- v = reflect.Zero(reflect.PtrTo(v.Type()))
- }
- }
- if m, ok := v.Interface().(protoreflect.ProtoMessage); ok {
- return protoreflect.ValueOfMessage(m.ProtoReflect())
- }
- return protoreflect.ValueOfMessage(legacyWrapMessage(v))
-}
-
-func (c *messageConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- m := v.Message()
- var rv reflect.Value
- if u, ok := m.(unwrapper); ok {
- rv = reflect.ValueOf(u.protoUnwrap())
- } else {
- rv = reflect.ValueOf(m.Interface())
- }
- if c.isNonPointer() {
- if rv.Type() != reflect.PtrTo(c.goType) {
- panic(fmt.Sprintf("invalid type: got %v, want %v", rv.Type(), reflect.PtrTo(c.goType)))
- }
- if !rv.IsNil() {
- rv = rv.Elem() // *T => T
- } else {
- rv = reflect.Zero(rv.Type().Elem())
- }
- }
- if rv.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", rv.Type(), c.goType))
- }
- return rv
-}
-
-func (c *messageConverter) IsValidPB(v protoreflect.Value) bool {
- m := v.Message()
- var rv reflect.Value
- if u, ok := m.(unwrapper); ok {
- rv = reflect.ValueOf(u.protoUnwrap())
- } else {
- rv = reflect.ValueOf(m.Interface())
- }
- if c.isNonPointer() {
- return rv.Type() == reflect.PtrTo(c.goType)
- }
- return rv.Type() == c.goType
-}
-
-func (c *messageConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-
-func (c *messageConverter) New() protoreflect.Value {
- if c.isNonPointer() {
- return c.PBValueOf(reflect.New(c.goType).Elem())
- }
- return c.PBValueOf(reflect.New(c.goType.Elem()))
-}
-
-func (c *messageConverter) Zero() protoreflect.Value {
- return c.PBValueOf(reflect.Zero(c.goType))
-}
-
-// isNonPointer reports whether the type is a non-pointer type.
-// This never occurs for generated message types.
-func (c *messageConverter) isNonPointer() bool {
- return c.goType.Kind() != reflect.Ptr
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/convert_list.go b/vendor/google.golang.org/protobuf/internal/impl/convert_list.go
deleted file mode 100644
index f8913651..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/convert_list.go
+++ /dev/null
@@ -1,141 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-func newListConverter(t reflect.Type, fd protoreflect.FieldDescriptor) Converter {
- switch {
- case t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Slice:
- return &listPtrConverter{t, newSingularConverter(t.Elem().Elem(), fd)}
- case t.Kind() == reflect.Slice:
- return &listConverter{t, newSingularConverter(t.Elem(), fd)}
- }
- panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName()))
-}
-
-type listConverter struct {
- goType reflect.Type // []T
- c Converter
-}
-
-func (c *listConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- pv := reflect.New(c.goType)
- pv.Elem().Set(v)
- return protoreflect.ValueOfList(&listReflect{pv, c.c})
-}
-
-func (c *listConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- rv := v.List().(*listReflect).v
- if rv.IsNil() {
- return reflect.Zero(c.goType)
- }
- return rv.Elem()
-}
-
-func (c *listConverter) IsValidPB(v protoreflect.Value) bool {
- list, ok := v.Interface().(*listReflect)
- if !ok {
- return false
- }
- return list.v.Type().Elem() == c.goType
-}
-
-func (c *listConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-
-func (c *listConverter) New() protoreflect.Value {
- return protoreflect.ValueOfList(&listReflect{reflect.New(c.goType), c.c})
-}
-
-func (c *listConverter) Zero() protoreflect.Value {
- return protoreflect.ValueOfList(&listReflect{reflect.Zero(reflect.PtrTo(c.goType)), c.c})
-}
-
-type listPtrConverter struct {
- goType reflect.Type // *[]T
- c Converter
-}
-
-func (c *listPtrConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfList(&listReflect{v, c.c})
-}
-
-func (c *listPtrConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- return v.List().(*listReflect).v
-}
-
-func (c *listPtrConverter) IsValidPB(v protoreflect.Value) bool {
- list, ok := v.Interface().(*listReflect)
- if !ok {
- return false
- }
- return list.v.Type() == c.goType
-}
-
-func (c *listPtrConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-
-func (c *listPtrConverter) New() protoreflect.Value {
- return c.PBValueOf(reflect.New(c.goType.Elem()))
-}
-
-func (c *listPtrConverter) Zero() protoreflect.Value {
- return c.PBValueOf(reflect.Zero(c.goType))
-}
-
-type listReflect struct {
- v reflect.Value // *[]T
- conv Converter
-}
-
-func (ls *listReflect) Len() int {
- if ls.v.IsNil() {
- return 0
- }
- return ls.v.Elem().Len()
-}
-func (ls *listReflect) Get(i int) protoreflect.Value {
- return ls.conv.PBValueOf(ls.v.Elem().Index(i))
-}
-func (ls *listReflect) Set(i int, v protoreflect.Value) {
- ls.v.Elem().Index(i).Set(ls.conv.GoValueOf(v))
-}
-func (ls *listReflect) Append(v protoreflect.Value) {
- ls.v.Elem().Set(reflect.Append(ls.v.Elem(), ls.conv.GoValueOf(v)))
-}
-func (ls *listReflect) AppendMutable() protoreflect.Value {
- if _, ok := ls.conv.(*messageConverter); !ok {
- panic("invalid AppendMutable on list with non-message type")
- }
- v := ls.NewElement()
- ls.Append(v)
- return v
-}
-func (ls *listReflect) Truncate(i int) {
- ls.v.Elem().Set(ls.v.Elem().Slice(0, i))
-}
-func (ls *listReflect) NewElement() protoreflect.Value {
- return ls.conv.New()
-}
-func (ls *listReflect) IsValid() bool {
- return !ls.v.IsNil()
-}
-func (ls *listReflect) protoUnwrap() interface{} {
- return ls.v.Interface()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/convert_map.go b/vendor/google.golang.org/protobuf/internal/impl/convert_map.go
deleted file mode 100644
index f30b0a05..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/convert_map.go
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type mapConverter struct {
- goType reflect.Type // map[K]V
- keyConv, valConv Converter
-}
-
-func newMapConverter(t reflect.Type, fd protoreflect.FieldDescriptor) *mapConverter {
- if t.Kind() != reflect.Map {
- panic(fmt.Sprintf("invalid Go type %v for field %v", t, fd.FullName()))
- }
- return &mapConverter{
- goType: t,
- keyConv: newSingularConverter(t.Key(), fd.MapKey()),
- valConv: newSingularConverter(t.Elem(), fd.MapValue()),
- }
-}
-
-func (c *mapConverter) PBValueOf(v reflect.Value) protoreflect.Value {
- if v.Type() != c.goType {
- panic(fmt.Sprintf("invalid type: got %v, want %v", v.Type(), c.goType))
- }
- return protoreflect.ValueOfMap(&mapReflect{v, c.keyConv, c.valConv})
-}
-
-func (c *mapConverter) GoValueOf(v protoreflect.Value) reflect.Value {
- return v.Map().(*mapReflect).v
-}
-
-func (c *mapConverter) IsValidPB(v protoreflect.Value) bool {
- mapv, ok := v.Interface().(*mapReflect)
- if !ok {
- return false
- }
- return mapv.v.Type() == c.goType
-}
-
-func (c *mapConverter) IsValidGo(v reflect.Value) bool {
- return v.IsValid() && v.Type() == c.goType
-}
-
-func (c *mapConverter) New() protoreflect.Value {
- return c.PBValueOf(reflect.MakeMap(c.goType))
-}
-
-func (c *mapConverter) Zero() protoreflect.Value {
- return c.PBValueOf(reflect.Zero(c.goType))
-}
-
-type mapReflect struct {
- v reflect.Value // map[K]V
- keyConv Converter
- valConv Converter
-}
-
-func (ms *mapReflect) Len() int {
- return ms.v.Len()
-}
-func (ms *mapReflect) Has(k protoreflect.MapKey) bool {
- rk := ms.keyConv.GoValueOf(k.Value())
- rv := ms.v.MapIndex(rk)
- return rv.IsValid()
-}
-func (ms *mapReflect) Get(k protoreflect.MapKey) protoreflect.Value {
- rk := ms.keyConv.GoValueOf(k.Value())
- rv := ms.v.MapIndex(rk)
- if !rv.IsValid() {
- return protoreflect.Value{}
- }
- return ms.valConv.PBValueOf(rv)
-}
-func (ms *mapReflect) Set(k protoreflect.MapKey, v protoreflect.Value) {
- rk := ms.keyConv.GoValueOf(k.Value())
- rv := ms.valConv.GoValueOf(v)
- ms.v.SetMapIndex(rk, rv)
-}
-func (ms *mapReflect) Clear(k protoreflect.MapKey) {
- rk := ms.keyConv.GoValueOf(k.Value())
- ms.v.SetMapIndex(rk, reflect.Value{})
-}
-func (ms *mapReflect) Mutable(k protoreflect.MapKey) protoreflect.Value {
- if _, ok := ms.valConv.(*messageConverter); !ok {
- panic("invalid Mutable on map with non-message value type")
- }
- v := ms.Get(k)
- if !v.IsValid() {
- v = ms.NewValue()
- ms.Set(k, v)
- }
- return v
-}
-func (ms *mapReflect) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
- iter := mapRange(ms.v)
- for iter.Next() {
- k := ms.keyConv.PBValueOf(iter.Key()).MapKey()
- v := ms.valConv.PBValueOf(iter.Value())
- if !f(k, v) {
- return
- }
- }
-}
-func (ms *mapReflect) NewValue() protoreflect.Value {
- return ms.valConv.New()
-}
-func (ms *mapReflect) IsValid() bool {
- return !ms.v.IsNil()
-}
-func (ms *mapReflect) protoUnwrap() interface{} {
- return ms.v.Interface()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/decode.go b/vendor/google.golang.org/protobuf/internal/impl/decode.go
deleted file mode 100644
index cda0520c..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/decode.go
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "math/bits"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-var errDecode = errors.New("cannot parse invalid wire-format data")
-var errRecursionDepth = errors.New("exceeded maximum recursion depth")
-
-type unmarshalOptions struct {
- flags protoiface.UnmarshalInputFlags
- resolver interface {
- FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error)
- FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error)
- }
- depth int
-}
-
-func (o unmarshalOptions) Options() proto.UnmarshalOptions {
- return proto.UnmarshalOptions{
- Merge: true,
- AllowPartial: true,
- DiscardUnknown: o.DiscardUnknown(),
- Resolver: o.resolver,
- }
-}
-
-func (o unmarshalOptions) DiscardUnknown() bool {
- return o.flags&protoiface.UnmarshalDiscardUnknown != 0
-}
-
-func (o unmarshalOptions) IsDefault() bool {
- return o.flags == 0 && o.resolver == protoregistry.GlobalTypes
-}
-
-var lazyUnmarshalOptions = unmarshalOptions{
- resolver: protoregistry.GlobalTypes,
- depth: protowire.DefaultRecursionLimit,
-}
-
-type unmarshalOutput struct {
- n int // number of bytes consumed
- initialized bool
-}
-
-// unmarshal is protoreflect.Methods.Unmarshal.
-func (mi *MessageInfo) unmarshal(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
- var p pointer
- if ms, ok := in.Message.(*messageState); ok {
- p = ms.pointer()
- } else {
- p = in.Message.(*messageReflectWrapper).pointer()
- }
- out, err := mi.unmarshalPointer(in.Buf, p, 0, unmarshalOptions{
- flags: in.Flags,
- resolver: in.Resolver,
- depth: in.Depth,
- })
- var flags protoiface.UnmarshalOutputFlags
- if out.initialized {
- flags |= protoiface.UnmarshalInitialized
- }
- return protoiface.UnmarshalOutput{
- Flags: flags,
- }, err
-}
-
-// errUnknown is returned during unmarshaling to indicate a parse error that
-// should result in a field being placed in the unknown fields section (for example,
-// when the wire type doesn't match) as opposed to the entire unmarshal operation
-// failing (for example, when a field extends past the available input).
-//
-// This is a sentinel error which should never be visible to the user.
-var errUnknown = errors.New("unknown")
-
-func (mi *MessageInfo) unmarshalPointer(b []byte, p pointer, groupTag protowire.Number, opts unmarshalOptions) (out unmarshalOutput, err error) {
- mi.init()
- opts.depth--
- if opts.depth < 0 {
- return out, errRecursionDepth
- }
- if flags.ProtoLegacy && mi.isMessageSet {
- return unmarshalMessageSet(mi, b, p, opts)
- }
- initialized := true
- var requiredMask uint64
- var exts *map[int32]ExtensionField
- start := len(b)
- for len(b) > 0 {
- // Parse the tag (field number and wire type).
- var tag uint64
- if b[0] < 0x80 {
- tag = uint64(b[0])
- b = b[1:]
- } else if len(b) >= 2 && b[1] < 128 {
- tag = uint64(b[0]&0x7f) + uint64(b[1])<<7
- b = b[2:]
- } else {
- var n int
- tag, n = protowire.ConsumeVarint(b)
- if n < 0 {
- return out, errDecode
- }
- b = b[n:]
- }
- var num protowire.Number
- if n := tag >> 3; n < uint64(protowire.MinValidNumber) || n > uint64(protowire.MaxValidNumber) {
- return out, errDecode
- } else {
- num = protowire.Number(n)
- }
- wtyp := protowire.Type(tag & 7)
-
- if wtyp == protowire.EndGroupType {
- if num != groupTag {
- return out, errDecode
- }
- groupTag = 0
- break
- }
-
- var f *coderFieldInfo
- if int(num) < len(mi.denseCoderFields) {
- f = mi.denseCoderFields[num]
- } else {
- f = mi.coderFields[num]
- }
- var n int
- err := errUnknown
- switch {
- case f != nil:
- if f.funcs.unmarshal == nil {
- break
- }
- var o unmarshalOutput
- o, err = f.funcs.unmarshal(b, p.Apply(f.offset), wtyp, f, opts)
- n = o.n
- if err != nil {
- break
- }
- requiredMask |= f.validation.requiredBit
- if f.funcs.isInit != nil && !o.initialized {
- initialized = false
- }
- default:
- // Possible extension.
- if exts == nil && mi.extensionOffset.IsValid() {
- exts = p.Apply(mi.extensionOffset).Extensions()
- if *exts == nil {
- *exts = make(map[int32]ExtensionField)
- }
- }
- if exts == nil {
- break
- }
- var o unmarshalOutput
- o, err = mi.unmarshalExtension(b, num, wtyp, *exts, opts)
- if err != nil {
- break
- }
- n = o.n
- if !o.initialized {
- initialized = false
- }
- }
- if err != nil {
- if err != errUnknown {
- return out, err
- }
- n = protowire.ConsumeFieldValue(num, wtyp, b)
- if n < 0 {
- return out, errDecode
- }
- if !opts.DiscardUnknown() && mi.unknownOffset.IsValid() {
- u := mi.mutableUnknownBytes(p)
- *u = protowire.AppendTag(*u, num, wtyp)
- *u = append(*u, b[:n]...)
- }
- }
- b = b[n:]
- }
- if groupTag != 0 {
- return out, errDecode
- }
- if mi.numRequiredFields > 0 && bits.OnesCount64(requiredMask) != int(mi.numRequiredFields) {
- initialized = false
- }
- if initialized {
- out.initialized = true
- }
- out.n = start - len(b)
- return out, nil
-}
-
-func (mi *MessageInfo) unmarshalExtension(b []byte, num protowire.Number, wtyp protowire.Type, exts map[int32]ExtensionField, opts unmarshalOptions) (out unmarshalOutput, err error) {
- x := exts[int32(num)]
- xt := x.Type()
- if xt == nil {
- var err error
- xt, err = opts.resolver.FindExtensionByNumber(mi.Desc.FullName(), num)
- if err != nil {
- if err == protoregistry.NotFound {
- return out, errUnknown
- }
- return out, errors.New("%v: unable to resolve extension %v: %v", mi.Desc.FullName(), num, err)
- }
- }
- xi := getExtensionFieldInfo(xt)
- if xi.funcs.unmarshal == nil {
- return out, errUnknown
- }
- if flags.LazyUnmarshalExtensions {
- if opts.IsDefault() && x.canLazy(xt) {
- out, valid := skipExtension(b, xi, num, wtyp, opts)
- switch valid {
- case ValidationValid:
- if out.initialized {
- x.appendLazyBytes(xt, xi, num, wtyp, b[:out.n])
- exts[int32(num)] = x
- return out, nil
- }
- case ValidationInvalid:
- return out, errDecode
- case ValidationUnknown:
- }
- }
- }
- ival := x.Value()
- if !ival.IsValid() && xi.unmarshalNeedsValue {
- // Create a new message, list, or map value to fill in.
- // For enums, create a prototype value to let the unmarshal func know the
- // concrete type.
- ival = xt.New()
- }
- v, out, err := xi.funcs.unmarshal(b, ival, num, wtyp, opts)
- if err != nil {
- return out, err
- }
- if xi.funcs.isInit == nil {
- out.initialized = true
- }
- x.Set(xt, v)
- exts[int32(num)] = x
- return out, nil
-}
-
-func skipExtension(b []byte, xi *extensionFieldInfo, num protowire.Number, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, _ ValidationStatus) {
- if xi.validation.mi == nil {
- return out, ValidationUnknown
- }
- xi.validation.mi.init()
- switch xi.validation.typ {
- case validationTypeMessage:
- if wtyp != protowire.BytesType {
- return out, ValidationUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return out, ValidationUnknown
- }
- out, st := xi.validation.mi.validate(v, 0, opts)
- out.n = n
- return out, st
- case validationTypeGroup:
- if wtyp != protowire.StartGroupType {
- return out, ValidationUnknown
- }
- out, st := xi.validation.mi.validate(b, num, opts)
- return out, st
- default:
- return out, ValidationUnknown
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/encode.go b/vendor/google.golang.org/protobuf/internal/impl/encode.go
deleted file mode 100644
index 845c67d6..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/encode.go
+++ /dev/null
@@ -1,201 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "math"
- "sort"
- "sync/atomic"
-
- "google.golang.org/protobuf/internal/flags"
- proto "google.golang.org/protobuf/proto"
- piface "google.golang.org/protobuf/runtime/protoiface"
-)
-
-type marshalOptions struct {
- flags piface.MarshalInputFlags
-}
-
-func (o marshalOptions) Options() proto.MarshalOptions {
- return proto.MarshalOptions{
- AllowPartial: true,
- Deterministic: o.Deterministic(),
- UseCachedSize: o.UseCachedSize(),
- }
-}
-
-func (o marshalOptions) Deterministic() bool { return o.flags&piface.MarshalDeterministic != 0 }
-func (o marshalOptions) UseCachedSize() bool { return o.flags&piface.MarshalUseCachedSize != 0 }
-
-// size is protoreflect.Methods.Size.
-func (mi *MessageInfo) size(in piface.SizeInput) piface.SizeOutput {
- var p pointer
- if ms, ok := in.Message.(*messageState); ok {
- p = ms.pointer()
- } else {
- p = in.Message.(*messageReflectWrapper).pointer()
- }
- size := mi.sizePointer(p, marshalOptions{
- flags: in.Flags,
- })
- return piface.SizeOutput{Size: size}
-}
-
-func (mi *MessageInfo) sizePointer(p pointer, opts marshalOptions) (size int) {
- mi.init()
- if p.IsNil() {
- return 0
- }
- if opts.UseCachedSize() && mi.sizecacheOffset.IsValid() {
- if size := atomic.LoadInt32(p.Apply(mi.sizecacheOffset).Int32()); size >= 0 {
- return int(size)
- }
- }
- return mi.sizePointerSlow(p, opts)
-}
-
-func (mi *MessageInfo) sizePointerSlow(p pointer, opts marshalOptions) (size int) {
- if flags.ProtoLegacy && mi.isMessageSet {
- size = sizeMessageSet(mi, p, opts)
- if mi.sizecacheOffset.IsValid() {
- atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), int32(size))
- }
- return size
- }
- if mi.extensionOffset.IsValid() {
- e := p.Apply(mi.extensionOffset).Extensions()
- size += mi.sizeExtensions(e, opts)
- }
- for _, f := range mi.orderedCoderFields {
- if f.funcs.size == nil {
- continue
- }
- fptr := p.Apply(f.offset)
- if f.isPointer && fptr.Elem().IsNil() {
- continue
- }
- size += f.funcs.size(fptr, f, opts)
- }
- if mi.unknownOffset.IsValid() {
- if u := mi.getUnknownBytes(p); u != nil {
- size += len(*u)
- }
- }
- if mi.sizecacheOffset.IsValid() {
- if size > math.MaxInt32 {
- // The size is too large for the int32 sizecache field.
- // We will need to recompute the size when encoding;
- // unfortunately expensive, but better than invalid output.
- atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), -1)
- } else {
- atomic.StoreInt32(p.Apply(mi.sizecacheOffset).Int32(), int32(size))
- }
- }
- return size
-}
-
-// marshal is protoreflect.Methods.Marshal.
-func (mi *MessageInfo) marshal(in piface.MarshalInput) (out piface.MarshalOutput, err error) {
- var p pointer
- if ms, ok := in.Message.(*messageState); ok {
- p = ms.pointer()
- } else {
- p = in.Message.(*messageReflectWrapper).pointer()
- }
- b, err := mi.marshalAppendPointer(in.Buf, p, marshalOptions{
- flags: in.Flags,
- })
- return piface.MarshalOutput{Buf: b}, err
-}
-
-func (mi *MessageInfo) marshalAppendPointer(b []byte, p pointer, opts marshalOptions) ([]byte, error) {
- mi.init()
- if p.IsNil() {
- return b, nil
- }
- if flags.ProtoLegacy && mi.isMessageSet {
- return marshalMessageSet(mi, b, p, opts)
- }
- var err error
- // The old marshaler encodes extensions at beginning.
- if mi.extensionOffset.IsValid() {
- e := p.Apply(mi.extensionOffset).Extensions()
- // TODO: Special handling for MessageSet?
- b, err = mi.appendExtensions(b, e, opts)
- if err != nil {
- return b, err
- }
- }
- for _, f := range mi.orderedCoderFields {
- if f.funcs.marshal == nil {
- continue
- }
- fptr := p.Apply(f.offset)
- if f.isPointer && fptr.Elem().IsNil() {
- continue
- }
- b, err = f.funcs.marshal(b, fptr, f, opts)
- if err != nil {
- return b, err
- }
- }
- if mi.unknownOffset.IsValid() && !mi.isMessageSet {
- if u := mi.getUnknownBytes(p); u != nil {
- b = append(b, (*u)...)
- }
- }
- return b, nil
-}
-
-func (mi *MessageInfo) sizeExtensions(ext *map[int32]ExtensionField, opts marshalOptions) (n int) {
- if ext == nil {
- return 0
- }
- for _, x := range *ext {
- xi := getExtensionFieldInfo(x.Type())
- if xi.funcs.size == nil {
- continue
- }
- n += xi.funcs.size(x.Value(), xi.tagsize, opts)
- }
- return n
-}
-
-func (mi *MessageInfo) appendExtensions(b []byte, ext *map[int32]ExtensionField, opts marshalOptions) ([]byte, error) {
- if ext == nil {
- return b, nil
- }
-
- switch len(*ext) {
- case 0:
- return b, nil
- case 1:
- // Fast-path for one extension: Don't bother sorting the keys.
- var err error
- for _, x := range *ext {
- xi := getExtensionFieldInfo(x.Type())
- b, err = xi.funcs.marshal(b, x.Value(), xi.wiretag, opts)
- }
- return b, err
- default:
- // Sort the keys to provide a deterministic encoding.
- // Not sure this is required, but the old code does it.
- keys := make([]int, 0, len(*ext))
- for k := range *ext {
- keys = append(keys, int(k))
- }
- sort.Ints(keys)
- var err error
- for _, k := range keys {
- x := (*ext)[int32(k)]
- xi := getExtensionFieldInfo(x.Type())
- b, err = xi.funcs.marshal(b, x.Value(), xi.wiretag, opts)
- if err != nil {
- return b, err
- }
- }
- return b, nil
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/enum.go b/vendor/google.golang.org/protobuf/internal/impl/enum.go
deleted file mode 100644
index 5f3ef5ad..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/enum.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "reflect"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type EnumInfo struct {
- GoReflectType reflect.Type // int32 kind
- Desc protoreflect.EnumDescriptor
-}
-
-func (t *EnumInfo) New(n protoreflect.EnumNumber) protoreflect.Enum {
- return reflect.ValueOf(n).Convert(t.GoReflectType).Interface().(protoreflect.Enum)
-}
-func (t *EnumInfo) Descriptor() protoreflect.EnumDescriptor { return t.Desc }
diff --git a/vendor/google.golang.org/protobuf/internal/impl/extension.go b/vendor/google.golang.org/protobuf/internal/impl/extension.go
deleted file mode 100644
index cb25b0ba..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/extension.go
+++ /dev/null
@@ -1,156 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "reflect"
- "sync"
- "sync/atomic"
-
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// ExtensionInfo implements ExtensionType.
-//
-// This type contains a number of exported fields for legacy compatibility.
-// The only non-deprecated use of this type is through the methods of the
-// ExtensionType interface.
-type ExtensionInfo struct {
- // An ExtensionInfo may exist in several stages of initialization.
- //
- // extensionInfoUninitialized: Some or all of the legacy exported
- // fields may be set, but none of the unexported fields have been
- // initialized. This is the starting state for an ExtensionInfo
- // in legacy generated code.
- //
- // extensionInfoDescInit: The desc field is set, but other unexported fields
- // may not be initialized. Legacy exported fields may or may not be set.
- // This is the starting state for an ExtensionInfo in newly generated code.
- //
- // extensionInfoFullInit: The ExtensionInfo is fully initialized.
- // This state is only entered after lazy initialization is complete.
- init uint32
- mu sync.Mutex
-
- goType reflect.Type
- desc extensionTypeDescriptor
- conv Converter
- info *extensionFieldInfo // for fast-path method implementations
-
- // ExtendedType is a typed nil-pointer to the parent message type that
- // is being extended. It is possible for this to be unpopulated in v2
- // since the message may no longer implement the MessageV1 interface.
- //
- // Deprecated: Use the ExtendedType method instead.
- ExtendedType protoiface.MessageV1
-
- // ExtensionType is the zero value of the extension type.
- //
- // For historical reasons, reflect.TypeOf(ExtensionType) and the
- // type returned by InterfaceOf may not be identical.
- //
- // Deprecated: Use InterfaceOf(xt.Zero()) instead.
- ExtensionType interface{}
-
- // Field is the field number of the extension.
- //
- // Deprecated: Use the Descriptor().Number method instead.
- Field int32
-
- // Name is the fully qualified name of extension.
- //
- // Deprecated: Use the Descriptor().FullName method instead.
- Name string
-
- // Tag is the protobuf struct tag used in the v1 API.
- //
- // Deprecated: Do not use.
- Tag string
-
- // Filename is the proto filename in which the extension is defined.
- //
- // Deprecated: Use Descriptor().ParentFile().Path() instead.
- Filename string
-}
-
-// Stages of initialization: See the ExtensionInfo.init field.
-const (
- extensionInfoUninitialized = 0
- extensionInfoDescInit = 1
- extensionInfoFullInit = 2
-)
-
-func InitExtensionInfo(xi *ExtensionInfo, xd protoreflect.ExtensionDescriptor, goType reflect.Type) {
- xi.goType = goType
- xi.desc = extensionTypeDescriptor{xd, xi}
- xi.init = extensionInfoDescInit
-}
-
-func (xi *ExtensionInfo) New() protoreflect.Value {
- return xi.lazyInit().New()
-}
-func (xi *ExtensionInfo) Zero() protoreflect.Value {
- return xi.lazyInit().Zero()
-}
-func (xi *ExtensionInfo) ValueOf(v interface{}) protoreflect.Value {
- return xi.lazyInit().PBValueOf(reflect.ValueOf(v))
-}
-func (xi *ExtensionInfo) InterfaceOf(v protoreflect.Value) interface{} {
- return xi.lazyInit().GoValueOf(v).Interface()
-}
-func (xi *ExtensionInfo) IsValidValue(v protoreflect.Value) bool {
- return xi.lazyInit().IsValidPB(v)
-}
-func (xi *ExtensionInfo) IsValidInterface(v interface{}) bool {
- return xi.lazyInit().IsValidGo(reflect.ValueOf(v))
-}
-func (xi *ExtensionInfo) TypeDescriptor() protoreflect.ExtensionTypeDescriptor {
- if atomic.LoadUint32(&xi.init) < extensionInfoDescInit {
- xi.lazyInitSlow()
- }
- return &xi.desc
-}
-
-func (xi *ExtensionInfo) lazyInit() Converter {
- if atomic.LoadUint32(&xi.init) < extensionInfoFullInit {
- xi.lazyInitSlow()
- }
- return xi.conv
-}
-
-func (xi *ExtensionInfo) lazyInitSlow() {
- xi.mu.Lock()
- defer xi.mu.Unlock()
-
- if xi.init == extensionInfoFullInit {
- return
- }
- defer atomic.StoreUint32(&xi.init, extensionInfoFullInit)
-
- if xi.desc.ExtensionDescriptor == nil {
- xi.initFromLegacy()
- }
- if !xi.desc.ExtensionDescriptor.IsPlaceholder() {
- if xi.ExtensionType == nil {
- xi.initToLegacy()
- }
- xi.conv = NewConverter(xi.goType, xi.desc.ExtensionDescriptor)
- xi.info = makeExtensionFieldInfo(xi.desc.ExtensionDescriptor)
- xi.info.validation = newValidationInfo(xi.desc.ExtensionDescriptor, xi.goType)
- }
-}
-
-type extensionTypeDescriptor struct {
- protoreflect.ExtensionDescriptor
- xi *ExtensionInfo
-}
-
-func (xtd *extensionTypeDescriptor) Type() protoreflect.ExtensionType {
- return xtd.xi
-}
-func (xtd *extensionTypeDescriptor) Descriptor() protoreflect.ExtensionDescriptor {
- return xtd.ExtensionDescriptor
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go
deleted file mode 100644
index c2a803bb..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
- "strings"
- "sync"
-
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// legacyEnumName returns the name of enums used in legacy code.
-// It is neither the protobuf full name nor the qualified Go name,
-// but rather an odd hybrid of both.
-func legacyEnumName(ed protoreflect.EnumDescriptor) string {
- var protoPkg string
- enumName := string(ed.FullName())
- if fd := ed.ParentFile(); fd != nil {
- protoPkg = string(fd.Package())
- enumName = strings.TrimPrefix(enumName, protoPkg+".")
- }
- if protoPkg == "" {
- return strs.GoCamelCase(enumName)
- }
- return protoPkg + "." + strs.GoCamelCase(enumName)
-}
-
-// legacyWrapEnum wraps v as a protoreflect.Enum,
-// where v must be a int32 kind and not implement the v2 API already.
-func legacyWrapEnum(v reflect.Value) protoreflect.Enum {
- et := legacyLoadEnumType(v.Type())
- return et.New(protoreflect.EnumNumber(v.Int()))
-}
-
-var legacyEnumTypeCache sync.Map // map[reflect.Type]protoreflect.EnumType
-
-// legacyLoadEnumType dynamically loads a protoreflect.EnumType for t,
-// where t must be an int32 kind and not implement the v2 API already.
-func legacyLoadEnumType(t reflect.Type) protoreflect.EnumType {
- // Fast-path: check if a EnumType is cached for this concrete type.
- if et, ok := legacyEnumTypeCache.Load(t); ok {
- return et.(protoreflect.EnumType)
- }
-
- // Slow-path: derive enum descriptor and initialize EnumType.
- var et protoreflect.EnumType
- ed := LegacyLoadEnumDesc(t)
- et = &legacyEnumType{
- desc: ed,
- goType: t,
- }
- if et, ok := legacyEnumTypeCache.LoadOrStore(t, et); ok {
- return et.(protoreflect.EnumType)
- }
- return et
-}
-
-type legacyEnumType struct {
- desc protoreflect.EnumDescriptor
- goType reflect.Type
- m sync.Map // map[protoreflect.EnumNumber]proto.Enum
-}
-
-func (t *legacyEnumType) New(n protoreflect.EnumNumber) protoreflect.Enum {
- if e, ok := t.m.Load(n); ok {
- return e.(protoreflect.Enum)
- }
- e := &legacyEnumWrapper{num: n, pbTyp: t, goTyp: t.goType}
- t.m.Store(n, e)
- return e
-}
-func (t *legacyEnumType) Descriptor() protoreflect.EnumDescriptor {
- return t.desc
-}
-
-type legacyEnumWrapper struct {
- num protoreflect.EnumNumber
- pbTyp protoreflect.EnumType
- goTyp reflect.Type
-}
-
-func (e *legacyEnumWrapper) Descriptor() protoreflect.EnumDescriptor {
- return e.pbTyp.Descriptor()
-}
-func (e *legacyEnumWrapper) Type() protoreflect.EnumType {
- return e.pbTyp
-}
-func (e *legacyEnumWrapper) Number() protoreflect.EnumNumber {
- return e.num
-}
-func (e *legacyEnumWrapper) ProtoReflect() protoreflect.Enum {
- return e
-}
-func (e *legacyEnumWrapper) protoUnwrap() interface{} {
- v := reflect.New(e.goTyp).Elem()
- v.SetInt(int64(e.num))
- return v.Interface()
-}
-
-var (
- _ protoreflect.Enum = (*legacyEnumWrapper)(nil)
- _ unwrapper = (*legacyEnumWrapper)(nil)
-)
-
-var legacyEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor
-
-// LegacyLoadEnumDesc returns an EnumDescriptor derived from the Go type,
-// which must be an int32 kind and not implement the v2 API already.
-//
-// This is exported for testing purposes.
-func LegacyLoadEnumDesc(t reflect.Type) protoreflect.EnumDescriptor {
- // Fast-path: check if an EnumDescriptor is cached for this concrete type.
- if ed, ok := legacyEnumDescCache.Load(t); ok {
- return ed.(protoreflect.EnumDescriptor)
- }
-
- // Slow-path: initialize EnumDescriptor from the raw descriptor.
- ev := reflect.Zero(t).Interface()
- if _, ok := ev.(protoreflect.Enum); ok {
- panic(fmt.Sprintf("%v already implements proto.Enum", t))
- }
- edV1, ok := ev.(enumV1)
- if !ok {
- return aberrantLoadEnumDesc(t)
- }
- b, idxs := edV1.EnumDescriptor()
-
- var ed protoreflect.EnumDescriptor
- if len(idxs) == 1 {
- ed = legacyLoadFileDesc(b).Enums().Get(idxs[0])
- } else {
- md := legacyLoadFileDesc(b).Messages().Get(idxs[0])
- for _, i := range idxs[1 : len(idxs)-1] {
- md = md.Messages().Get(i)
- }
- ed = md.Enums().Get(idxs[len(idxs)-1])
- }
- if ed, ok := legacyEnumDescCache.LoadOrStore(t, ed); ok {
- return ed.(protoreflect.EnumDescriptor)
- }
- return ed
-}
-
-var aberrantEnumDescCache sync.Map // map[reflect.Type]protoreflect.EnumDescriptor
-
-// aberrantLoadEnumDesc returns an EnumDescriptor derived from the Go type,
-// which must not implement protoreflect.Enum or enumV1.
-//
-// If the type does not implement enumV1, then there is no reliable
-// way to derive the original protobuf type information.
-// We are unable to use the global enum registry since it is
-// unfortunately keyed by the protobuf full name, which we also do not know.
-// Thus, this produces some bogus enum descriptor based on the Go type name.
-func aberrantLoadEnumDesc(t reflect.Type) protoreflect.EnumDescriptor {
- // Fast-path: check if an EnumDescriptor is cached for this concrete type.
- if ed, ok := aberrantEnumDescCache.Load(t); ok {
- return ed.(protoreflect.EnumDescriptor)
- }
-
- // Slow-path: construct a bogus, but unique EnumDescriptor.
- ed := &filedesc.Enum{L2: new(filedesc.EnumL2)}
- ed.L0.FullName = AberrantDeriveFullName(t) // e.g., github_com.user.repo.MyEnum
- ed.L0.ParentFile = filedesc.SurrogateProto3
- ed.L2.Values.List = append(ed.L2.Values.List, filedesc.EnumValue{})
-
- // TODO: Use the presence of a UnmarshalJSON method to determine proto2?
-
- vd := &ed.L2.Values.List[0]
- vd.L0.FullName = ed.L0.FullName + "_UNKNOWN" // e.g., github_com.user.repo.MyEnum_UNKNOWN
- vd.L0.ParentFile = ed.L0.ParentFile
- vd.L0.Parent = ed
-
- // TODO: We could use the String method to obtain some enum value names by
- // starting at 0 and print the enum until it produces invalid identifiers.
- // An exhaustive query is clearly impractical, but can be best-effort.
-
- if ed, ok := aberrantEnumDescCache.LoadOrStore(t, ed); ok {
- return ed.(protoreflect.EnumDescriptor)
- }
- return ed
-}
-
-// AberrantDeriveFullName derives a fully qualified protobuf name for the given Go type
-// The provided name is not guaranteed to be stable nor universally unique.
-// It should be sufficiently unique within a program.
-//
-// This is exported for testing purposes.
-func AberrantDeriveFullName(t reflect.Type) protoreflect.FullName {
- sanitize := func(r rune) rune {
- switch {
- case r == '/':
- return '.'
- case 'a' <= r && r <= 'z', 'A' <= r && r <= 'Z', '0' <= r && r <= '9':
- return r
- default:
- return '_'
- }
- }
- prefix := strings.Map(sanitize, t.PkgPath())
- suffix := strings.Map(sanitize, t.Name())
- if suffix == "" {
- suffix = fmt.Sprintf("UnknownX%X", reflect.ValueOf(t).Pointer())
- }
-
- ss := append(strings.Split(prefix, "."), suffix)
- for i, s := range ss {
- if s == "" || ('0' <= s[0] && s[0] <= '9') {
- ss[i] = "x" + s
- }
- }
- return protoreflect.FullName(strings.Join(ss, "."))
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go
deleted file mode 100644
index 9b64ad5b..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "encoding/binary"
- "encoding/json"
- "hash/crc32"
- "math"
- "reflect"
-
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// These functions exist to support exported APIs in generated protobufs.
-// While these are deprecated, they cannot be removed for compatibility reasons.
-
-// LegacyEnumName returns the name of enums used in legacy code.
-func (Export) LegacyEnumName(ed protoreflect.EnumDescriptor) string {
- return legacyEnumName(ed)
-}
-
-// LegacyMessageTypeOf returns the protoreflect.MessageType for m,
-// with name used as the message name if necessary.
-func (Export) LegacyMessageTypeOf(m protoiface.MessageV1, name protoreflect.FullName) protoreflect.MessageType {
- if mv := (Export{}).protoMessageV2Of(m); mv != nil {
- return mv.ProtoReflect().Type()
- }
- return legacyLoadMessageType(reflect.TypeOf(m), name)
-}
-
-// UnmarshalJSONEnum unmarshals an enum from a JSON-encoded input.
-// The input can either be a string representing the enum value by name,
-// or a number representing the enum number itself.
-func (Export) UnmarshalJSONEnum(ed protoreflect.EnumDescriptor, b []byte) (protoreflect.EnumNumber, error) {
- if b[0] == '"' {
- var name protoreflect.Name
- if err := json.Unmarshal(b, &name); err != nil {
- return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b)
- }
- ev := ed.Values().ByName(name)
- if ev == nil {
- return 0, errors.New("invalid value for enum %v: %s", ed.FullName(), name)
- }
- return ev.Number(), nil
- } else {
- var num protoreflect.EnumNumber
- if err := json.Unmarshal(b, &num); err != nil {
- return 0, errors.New("invalid input for enum %v: %s", ed.FullName(), b)
- }
- return num, nil
- }
-}
-
-// CompressGZIP compresses the input as a GZIP-encoded file.
-// The current implementation does no compression.
-func (Export) CompressGZIP(in []byte) (out []byte) {
- // RFC 1952, section 2.3.1.
- var gzipHeader = [10]byte{0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff}
-
- // RFC 1951, section 3.2.4.
- var blockHeader [5]byte
- const maxBlockSize = math.MaxUint16
- numBlocks := 1 + len(in)/maxBlockSize
-
- // RFC 1952, section 2.3.1.
- var gzipFooter [8]byte
- binary.LittleEndian.PutUint32(gzipFooter[0:4], crc32.ChecksumIEEE(in))
- binary.LittleEndian.PutUint32(gzipFooter[4:8], uint32(len(in)))
-
- // Encode the input without compression using raw DEFLATE blocks.
- out = make([]byte, 0, len(gzipHeader)+len(blockHeader)*numBlocks+len(in)+len(gzipFooter))
- out = append(out, gzipHeader[:]...)
- for blockHeader[0] == 0 {
- blockSize := maxBlockSize
- if blockSize > len(in) {
- blockHeader[0] = 0x01 // final bit per RFC 1951, section 3.2.3.
- blockSize = len(in)
- }
- binary.LittleEndian.PutUint16(blockHeader[1:3], uint16(blockSize))
- binary.LittleEndian.PutUint16(blockHeader[3:5], ^uint16(blockSize))
- out = append(out, blockHeader[:]...)
- out = append(out, in[:blockSize]...)
- in = in[blockSize:]
- }
- out = append(out, gzipFooter[:]...)
- return out
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go
deleted file mode 100644
index 87b30d05..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "reflect"
-
- "google.golang.org/protobuf/internal/descopts"
- "google.golang.org/protobuf/internal/encoding/messageset"
- ptag "google.golang.org/protobuf/internal/encoding/tag"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-func (xi *ExtensionInfo) initToLegacy() {
- xd := xi.desc
- var parent protoiface.MessageV1
- messageName := xd.ContainingMessage().FullName()
- if mt, _ := protoregistry.GlobalTypes.FindMessageByName(messageName); mt != nil {
- // Create a new parent message and unwrap it if possible.
- mv := mt.New().Interface()
- t := reflect.TypeOf(mv)
- if mv, ok := mv.(unwrapper); ok {
- t = reflect.TypeOf(mv.protoUnwrap())
- }
-
- // Check whether the message implements the legacy v1 Message interface.
- mz := reflect.Zero(t).Interface()
- if mz, ok := mz.(protoiface.MessageV1); ok {
- parent = mz
- }
- }
-
- // Determine the v1 extension type, which is unfortunately not the same as
- // the v2 ExtensionType.GoType.
- extType := xi.goType
- switch extType.Kind() {
- case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String:
- extType = reflect.PtrTo(extType) // T -> *T for singular scalar fields
- }
-
- // Reconstruct the legacy enum full name.
- var enumName string
- if xd.Kind() == protoreflect.EnumKind {
- enumName = legacyEnumName(xd.Enum())
- }
-
- // Derive the proto file that the extension was declared within.
- var filename string
- if fd := xd.ParentFile(); fd != nil {
- filename = fd.Path()
- }
-
- // For MessageSet extensions, the name used is the parent message.
- name := xd.FullName()
- if messageset.IsMessageSetExtension(xd) {
- name = name.Parent()
- }
-
- xi.ExtendedType = parent
- xi.ExtensionType = reflect.Zero(extType).Interface()
- xi.Field = int32(xd.Number())
- xi.Name = string(name)
- xi.Tag = ptag.Marshal(xd, enumName)
- xi.Filename = filename
-}
-
-// initFromLegacy initializes an ExtensionInfo from
-// the contents of the deprecated exported fields of the type.
-func (xi *ExtensionInfo) initFromLegacy() {
- // The v1 API returns "type incomplete" descriptors where only the
- // field number is specified. In such a case, use a placeholder.
- if xi.ExtendedType == nil || xi.ExtensionType == nil {
- xd := placeholderExtension{
- name: protoreflect.FullName(xi.Name),
- number: protoreflect.FieldNumber(xi.Field),
- }
- xi.desc = extensionTypeDescriptor{xd, xi}
- return
- }
-
- // Resolve enum or message dependencies.
- var ed protoreflect.EnumDescriptor
- var md protoreflect.MessageDescriptor
- t := reflect.TypeOf(xi.ExtensionType)
- isOptional := t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct
- isRepeated := t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8
- if isOptional || isRepeated {
- t = t.Elem()
- }
- switch v := reflect.Zero(t).Interface().(type) {
- case protoreflect.Enum:
- ed = v.Descriptor()
- case enumV1:
- ed = LegacyLoadEnumDesc(t)
- case protoreflect.ProtoMessage:
- md = v.ProtoReflect().Descriptor()
- case messageV1:
- md = LegacyLoadMessageDesc(t)
- }
-
- // Derive basic field information from the struct tag.
- var evs protoreflect.EnumValueDescriptors
- if ed != nil {
- evs = ed.Values()
- }
- fd := ptag.Unmarshal(xi.Tag, t, evs).(*filedesc.Field)
-
- // Construct a v2 ExtensionType.
- xd := &filedesc.Extension{L2: new(filedesc.ExtensionL2)}
- xd.L0.ParentFile = filedesc.SurrogateProto2
- xd.L0.FullName = protoreflect.FullName(xi.Name)
- xd.L1.Number = protoreflect.FieldNumber(xi.Field)
- xd.L1.Cardinality = fd.L1.Cardinality
- xd.L1.Kind = fd.L1.Kind
- xd.L2.IsPacked = fd.L1.IsPacked
- xd.L2.Default = fd.L1.Default
- xd.L1.Extendee = Export{}.MessageDescriptorOf(xi.ExtendedType)
- xd.L2.Enum = ed
- xd.L2.Message = md
-
- // Derive real extension field name for MessageSets.
- if messageset.IsMessageSet(xd.L1.Extendee) && md.FullName() == xd.L0.FullName {
- xd.L0.FullName = xd.L0.FullName.Append(messageset.ExtensionName)
- }
-
- tt := reflect.TypeOf(xi.ExtensionType)
- if isOptional {
- tt = tt.Elem()
- }
- xi.goType = tt
- xi.desc = extensionTypeDescriptor{xd, xi}
-}
-
-type placeholderExtension struct {
- name protoreflect.FullName
- number protoreflect.FieldNumber
-}
-
-func (x placeholderExtension) ParentFile() protoreflect.FileDescriptor { return nil }
-func (x placeholderExtension) Parent() protoreflect.Descriptor { return nil }
-func (x placeholderExtension) Index() int { return 0 }
-func (x placeholderExtension) Syntax() protoreflect.Syntax { return 0 }
-func (x placeholderExtension) Name() protoreflect.Name { return x.name.Name() }
-func (x placeholderExtension) FullName() protoreflect.FullName { return x.name }
-func (x placeholderExtension) IsPlaceholder() bool { return true }
-func (x placeholderExtension) Options() protoreflect.ProtoMessage { return descopts.Field }
-func (x placeholderExtension) Number() protoreflect.FieldNumber { return x.number }
-func (x placeholderExtension) Cardinality() protoreflect.Cardinality { return 0 }
-func (x placeholderExtension) Kind() protoreflect.Kind { return 0 }
-func (x placeholderExtension) HasJSONName() bool { return false }
-func (x placeholderExtension) JSONName() string { return "[" + string(x.name) + "]" }
-func (x placeholderExtension) TextName() string { return "[" + string(x.name) + "]" }
-func (x placeholderExtension) HasPresence() bool { return false }
-func (x placeholderExtension) HasOptionalKeyword() bool { return false }
-func (x placeholderExtension) IsExtension() bool { return true }
-func (x placeholderExtension) IsWeak() bool { return false }
-func (x placeholderExtension) IsPacked() bool { return false }
-func (x placeholderExtension) IsList() bool { return false }
-func (x placeholderExtension) IsMap() bool { return false }
-func (x placeholderExtension) MapKey() protoreflect.FieldDescriptor { return nil }
-func (x placeholderExtension) MapValue() protoreflect.FieldDescriptor { return nil }
-func (x placeholderExtension) HasDefault() bool { return false }
-func (x placeholderExtension) Default() protoreflect.Value { return protoreflect.Value{} }
-func (x placeholderExtension) DefaultEnumValue() protoreflect.EnumValueDescriptor { return nil }
-func (x placeholderExtension) ContainingOneof() protoreflect.OneofDescriptor { return nil }
-func (x placeholderExtension) ContainingMessage() protoreflect.MessageDescriptor { return nil }
-func (x placeholderExtension) Enum() protoreflect.EnumDescriptor { return nil }
-func (x placeholderExtension) Message() protoreflect.MessageDescriptor { return nil }
-func (x placeholderExtension) ProtoType(protoreflect.FieldDescriptor) { return }
-func (x placeholderExtension) ProtoInternal(pragma.DoNotImplement) { return }
diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go
deleted file mode 100644
index 9ab09108..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "bytes"
- "compress/gzip"
- "io/ioutil"
- "sync"
-
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-// Every enum and message type generated by protoc-gen-go since commit 2fc053c5
-// on February 25th, 2016 has had a method to get the raw descriptor.
-// Types that were not generated by protoc-gen-go or were generated prior
-// to that version are not supported.
-//
-// The []byte returned is the encoded form of a FileDescriptorProto message
-// compressed using GZIP. The []int is the path from the top-level file
-// to the specific message or enum declaration.
-type (
- enumV1 interface {
- EnumDescriptor() ([]byte, []int)
- }
- messageV1 interface {
- Descriptor() ([]byte, []int)
- }
-)
-
-var legacyFileDescCache sync.Map // map[*byte]protoreflect.FileDescriptor
-
-// legacyLoadFileDesc unmarshals b as a compressed FileDescriptorProto message.
-//
-// This assumes that b is immutable and that b does not refer to part of a
-// concatenated series of GZIP files (which would require shenanigans that
-// rely on the concatenation properties of both protobufs and GZIP).
-// File descriptors generated by protoc-gen-go do not rely on that property.
-func legacyLoadFileDesc(b []byte) protoreflect.FileDescriptor {
- // Fast-path: check whether we already have a cached file descriptor.
- if fd, ok := legacyFileDescCache.Load(&b[0]); ok {
- return fd.(protoreflect.FileDescriptor)
- }
-
- // Slow-path: decompress and unmarshal the file descriptor proto.
- zr, err := gzip.NewReader(bytes.NewReader(b))
- if err != nil {
- panic(err)
- }
- b2, err := ioutil.ReadAll(zr)
- if err != nil {
- panic(err)
- }
-
- fd := filedesc.Builder{
- RawDescriptor: b2,
- FileRegistry: resolverOnly{protoregistry.GlobalFiles}, // do not register back to global registry
- }.Build().File
- if fd, ok := legacyFileDescCache.LoadOrStore(&b[0], fd); ok {
- return fd.(protoreflect.FileDescriptor)
- }
- return fd
-}
-
-type resolverOnly struct {
- reg *protoregistry.Files
-}
-
-func (r resolverOnly) FindFileByPath(path string) (protoreflect.FileDescriptor, error) {
- return r.reg.FindFileByPath(path)
-}
-func (r resolverOnly) FindDescriptorByName(name protoreflect.FullName) (protoreflect.Descriptor, error) {
- return r.reg.FindDescriptorByName(name)
-}
-func (resolverOnly) RegisterFile(protoreflect.FileDescriptor) error {
- return nil
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go b/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go
deleted file mode 100644
index 2ab2c629..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go
+++ /dev/null
@@ -1,568 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
- "strings"
- "sync"
-
- "google.golang.org/protobuf/internal/descopts"
- ptag "google.golang.org/protobuf/internal/encoding/tag"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// legacyWrapMessage wraps v as a protoreflect.Message,
-// where v must be a *struct kind and not implement the v2 API already.
-func legacyWrapMessage(v reflect.Value) protoreflect.Message {
- t := v.Type()
- if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct {
- return aberrantMessage{v: v}
- }
- mt := legacyLoadMessageInfo(t, "")
- return mt.MessageOf(v.Interface())
-}
-
-// legacyLoadMessageType dynamically loads a protoreflect.Type for t,
-// where t must be not implement the v2 API already.
-// The provided name is used if it cannot be determined from the message.
-func legacyLoadMessageType(t reflect.Type, name protoreflect.FullName) protoreflect.MessageType {
- if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct {
- return aberrantMessageType{t}
- }
- return legacyLoadMessageInfo(t, name)
-}
-
-var legacyMessageTypeCache sync.Map // map[reflect.Type]*MessageInfo
-
-// legacyLoadMessageInfo dynamically loads a *MessageInfo for t,
-// where t must be a *struct kind and not implement the v2 API already.
-// The provided name is used if it cannot be determined from the message.
-func legacyLoadMessageInfo(t reflect.Type, name protoreflect.FullName) *MessageInfo {
- // Fast-path: check if a MessageInfo is cached for this concrete type.
- if mt, ok := legacyMessageTypeCache.Load(t); ok {
- return mt.(*MessageInfo)
- }
-
- // Slow-path: derive message descriptor and initialize MessageInfo.
- mi := &MessageInfo{
- Desc: legacyLoadMessageDesc(t, name),
- GoReflectType: t,
- }
-
- var hasMarshal, hasUnmarshal bool
- v := reflect.Zero(t).Interface()
- if _, hasMarshal = v.(legacyMarshaler); hasMarshal {
- mi.methods.Marshal = legacyMarshal
-
- // We have no way to tell whether the type's Marshal method
- // supports deterministic serialization or not, but this
- // preserves the v1 implementation's behavior of always
- // calling Marshal methods when present.
- mi.methods.Flags |= protoiface.SupportMarshalDeterministic
- }
- if _, hasUnmarshal = v.(legacyUnmarshaler); hasUnmarshal {
- mi.methods.Unmarshal = legacyUnmarshal
- }
- if _, hasMerge := v.(legacyMerger); hasMerge || (hasMarshal && hasUnmarshal) {
- mi.methods.Merge = legacyMerge
- }
-
- if mi, ok := legacyMessageTypeCache.LoadOrStore(t, mi); ok {
- return mi.(*MessageInfo)
- }
- return mi
-}
-
-var legacyMessageDescCache sync.Map // map[reflect.Type]protoreflect.MessageDescriptor
-
-// LegacyLoadMessageDesc returns an MessageDescriptor derived from the Go type,
-// which should be a *struct kind and must not implement the v2 API already.
-//
-// This is exported for testing purposes.
-func LegacyLoadMessageDesc(t reflect.Type) protoreflect.MessageDescriptor {
- return legacyLoadMessageDesc(t, "")
-}
-func legacyLoadMessageDesc(t reflect.Type, name protoreflect.FullName) protoreflect.MessageDescriptor {
- // Fast-path: check if a MessageDescriptor is cached for this concrete type.
- if mi, ok := legacyMessageDescCache.Load(t); ok {
- return mi.(protoreflect.MessageDescriptor)
- }
-
- // Slow-path: initialize MessageDescriptor from the raw descriptor.
- mv := reflect.Zero(t).Interface()
- if _, ok := mv.(protoreflect.ProtoMessage); ok {
- panic(fmt.Sprintf("%v already implements proto.Message", t))
- }
- mdV1, ok := mv.(messageV1)
- if !ok {
- return aberrantLoadMessageDesc(t, name)
- }
-
- // If this is a dynamic message type where there isn't a 1-1 mapping between
- // Go and protobuf types, calling the Descriptor method on the zero value of
- // the message type isn't likely to work. If it panics, swallow the panic and
- // continue as if the Descriptor method wasn't present.
- b, idxs := func() ([]byte, []int) {
- defer func() {
- recover()
- }()
- return mdV1.Descriptor()
- }()
- if b == nil {
- return aberrantLoadMessageDesc(t, name)
- }
-
- // If the Go type has no fields, then this might be a proto3 empty message
- // from before the size cache was added. If there are any fields, check to
- // see that at least one of them looks like something we generated.
- if t.Elem().Kind() == reflect.Struct {
- if nfield := t.Elem().NumField(); nfield > 0 {
- hasProtoField := false
- for i := 0; i < nfield; i++ {
- f := t.Elem().Field(i)
- if f.Tag.Get("protobuf") != "" || f.Tag.Get("protobuf_oneof") != "" || strings.HasPrefix(f.Name, "XXX_") {
- hasProtoField = true
- break
- }
- }
- if !hasProtoField {
- return aberrantLoadMessageDesc(t, name)
- }
- }
- }
-
- md := legacyLoadFileDesc(b).Messages().Get(idxs[0])
- for _, i := range idxs[1:] {
- md = md.Messages().Get(i)
- }
- if name != "" && md.FullName() != name {
- panic(fmt.Sprintf("mismatching message name: got %v, want %v", md.FullName(), name))
- }
- if md, ok := legacyMessageDescCache.LoadOrStore(t, md); ok {
- return md.(protoreflect.MessageDescriptor)
- }
- return md
-}
-
-var (
- aberrantMessageDescLock sync.Mutex
- aberrantMessageDescCache map[reflect.Type]protoreflect.MessageDescriptor
-)
-
-// aberrantLoadMessageDesc returns an MessageDescriptor derived from the Go type,
-// which must not implement protoreflect.ProtoMessage or messageV1.
-//
-// This is a best-effort derivation of the message descriptor using the protobuf
-// tags on the struct fields.
-func aberrantLoadMessageDesc(t reflect.Type, name protoreflect.FullName) protoreflect.MessageDescriptor {
- aberrantMessageDescLock.Lock()
- defer aberrantMessageDescLock.Unlock()
- if aberrantMessageDescCache == nil {
- aberrantMessageDescCache = make(map[reflect.Type]protoreflect.MessageDescriptor)
- }
- return aberrantLoadMessageDescReentrant(t, name)
-}
-func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName) protoreflect.MessageDescriptor {
- // Fast-path: check if an MessageDescriptor is cached for this concrete type.
- if md, ok := aberrantMessageDescCache[t]; ok {
- return md
- }
-
- // Slow-path: construct a descriptor from the Go struct type (best-effort).
- // Cache the MessageDescriptor early on so that we can resolve internal
- // cyclic references.
- md := &filedesc.Message{L2: new(filedesc.MessageL2)}
- md.L0.FullName = aberrantDeriveMessageName(t, name)
- md.L0.ParentFile = filedesc.SurrogateProto2
- aberrantMessageDescCache[t] = md
-
- if t.Kind() != reflect.Ptr || t.Elem().Kind() != reflect.Struct {
- return md
- }
-
- // Try to determine if the message is using proto3 by checking scalars.
- for i := 0; i < t.Elem().NumField(); i++ {
- f := t.Elem().Field(i)
- if tag := f.Tag.Get("protobuf"); tag != "" {
- switch f.Type.Kind() {
- case reflect.Bool, reflect.Int32, reflect.Int64, reflect.Uint32, reflect.Uint64, reflect.Float32, reflect.Float64, reflect.String:
- md.L0.ParentFile = filedesc.SurrogateProto3
- }
- for _, s := range strings.Split(tag, ",") {
- if s == "proto3" {
- md.L0.ParentFile = filedesc.SurrogateProto3
- }
- }
- }
- }
-
- // Obtain a list of oneof wrapper types.
- var oneofWrappers []reflect.Type
- methods := make([]reflect.Method, 0, 2)
- if m, ok := t.MethodByName("XXX_OneofFuncs"); ok {
- methods = append(methods, m)
- }
- if m, ok := t.MethodByName("XXX_OneofWrappers"); ok {
- methods = append(methods, m)
- }
- for _, fn := range methods {
- for _, v := range fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))}) {
- if vs, ok := v.Interface().([]interface{}); ok {
- for _, v := range vs {
- oneofWrappers = append(oneofWrappers, reflect.TypeOf(v))
- }
- }
- }
- }
-
- // Obtain a list of the extension ranges.
- if fn, ok := t.MethodByName("ExtensionRangeArray"); ok {
- vs := fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))})[0]
- for i := 0; i < vs.Len(); i++ {
- v := vs.Index(i)
- md.L2.ExtensionRanges.List = append(md.L2.ExtensionRanges.List, [2]protoreflect.FieldNumber{
- protoreflect.FieldNumber(v.FieldByName("Start").Int()),
- protoreflect.FieldNumber(v.FieldByName("End").Int() + 1),
- })
- md.L2.ExtensionRangeOptions = append(md.L2.ExtensionRangeOptions, nil)
- }
- }
-
- // Derive the message fields by inspecting the struct fields.
- for i := 0; i < t.Elem().NumField(); i++ {
- f := t.Elem().Field(i)
- if tag := f.Tag.Get("protobuf"); tag != "" {
- tagKey := f.Tag.Get("protobuf_key")
- tagVal := f.Tag.Get("protobuf_val")
- aberrantAppendField(md, f.Type, tag, tagKey, tagVal)
- }
- if tag := f.Tag.Get("protobuf_oneof"); tag != "" {
- n := len(md.L2.Oneofs.List)
- md.L2.Oneofs.List = append(md.L2.Oneofs.List, filedesc.Oneof{})
- od := &md.L2.Oneofs.List[n]
- od.L0.FullName = md.FullName().Append(protoreflect.Name(tag))
- od.L0.ParentFile = md.L0.ParentFile
- od.L0.Parent = md
- od.L0.Index = n
-
- for _, t := range oneofWrappers {
- if t.Implements(f.Type) {
- f := t.Elem().Field(0)
- if tag := f.Tag.Get("protobuf"); tag != "" {
- aberrantAppendField(md, f.Type, tag, "", "")
- fd := &md.L2.Fields.List[len(md.L2.Fields.List)-1]
- fd.L1.ContainingOneof = od
- od.L1.Fields.List = append(od.L1.Fields.List, fd)
- }
- }
- }
- }
- }
-
- return md
-}
-
-func aberrantDeriveMessageName(t reflect.Type, name protoreflect.FullName) protoreflect.FullName {
- if name.IsValid() {
- return name
- }
- func() {
- defer func() { recover() }() // swallow possible nil panics
- if m, ok := reflect.Zero(t).Interface().(interface{ XXX_MessageName() string }); ok {
- name = protoreflect.FullName(m.XXX_MessageName())
- }
- }()
- if name.IsValid() {
- return name
- }
- if t.Kind() == reflect.Ptr {
- t = t.Elem()
- }
- return AberrantDeriveFullName(t)
-}
-
-func aberrantAppendField(md *filedesc.Message, goType reflect.Type, tag, tagKey, tagVal string) {
- t := goType
- isOptional := t.Kind() == reflect.Ptr && t.Elem().Kind() != reflect.Struct
- isRepeated := t.Kind() == reflect.Slice && t.Elem().Kind() != reflect.Uint8
- if isOptional || isRepeated {
- t = t.Elem()
- }
- fd := ptag.Unmarshal(tag, t, placeholderEnumValues{}).(*filedesc.Field)
-
- // Append field descriptor to the message.
- n := len(md.L2.Fields.List)
- md.L2.Fields.List = append(md.L2.Fields.List, *fd)
- fd = &md.L2.Fields.List[n]
- fd.L0.FullName = md.FullName().Append(fd.Name())
- fd.L0.ParentFile = md.L0.ParentFile
- fd.L0.Parent = md
- fd.L0.Index = n
-
- if fd.L1.IsWeak || fd.L1.HasPacked {
- fd.L1.Options = func() protoreflect.ProtoMessage {
- opts := descopts.Field.ProtoReflect().New()
- if fd.L1.IsWeak {
- opts.Set(opts.Descriptor().Fields().ByName("weak"), protoreflect.ValueOfBool(true))
- }
- if fd.L1.HasPacked {
- opts.Set(opts.Descriptor().Fields().ByName("packed"), protoreflect.ValueOfBool(fd.L1.IsPacked))
- }
- return opts.Interface()
- }
- }
-
- // Populate Enum and Message.
- if fd.Enum() == nil && fd.Kind() == protoreflect.EnumKind {
- switch v := reflect.Zero(t).Interface().(type) {
- case protoreflect.Enum:
- fd.L1.Enum = v.Descriptor()
- default:
- fd.L1.Enum = LegacyLoadEnumDesc(t)
- }
- }
- if fd.Message() == nil && (fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind) {
- switch v := reflect.Zero(t).Interface().(type) {
- case protoreflect.ProtoMessage:
- fd.L1.Message = v.ProtoReflect().Descriptor()
- case messageV1:
- fd.L1.Message = LegacyLoadMessageDesc(t)
- default:
- if t.Kind() == reflect.Map {
- n := len(md.L1.Messages.List)
- md.L1.Messages.List = append(md.L1.Messages.List, filedesc.Message{L2: new(filedesc.MessageL2)})
- md2 := &md.L1.Messages.List[n]
- md2.L0.FullName = md.FullName().Append(protoreflect.Name(strs.MapEntryName(string(fd.Name()))))
- md2.L0.ParentFile = md.L0.ParentFile
- md2.L0.Parent = md
- md2.L0.Index = n
-
- md2.L1.IsMapEntry = true
- md2.L2.Options = func() protoreflect.ProtoMessage {
- opts := descopts.Message.ProtoReflect().New()
- opts.Set(opts.Descriptor().Fields().ByName("map_entry"), protoreflect.ValueOfBool(true))
- return opts.Interface()
- }
-
- aberrantAppendField(md2, t.Key(), tagKey, "", "")
- aberrantAppendField(md2, t.Elem(), tagVal, "", "")
-
- fd.L1.Message = md2
- break
- }
- fd.L1.Message = aberrantLoadMessageDescReentrant(t, "")
- }
- }
-}
-
-type placeholderEnumValues struct {
- protoreflect.EnumValueDescriptors
-}
-
-func (placeholderEnumValues) ByNumber(n protoreflect.EnumNumber) protoreflect.EnumValueDescriptor {
- return filedesc.PlaceholderEnumValue(protoreflect.FullName(fmt.Sprintf("UNKNOWN_%d", n)))
-}
-
-// legacyMarshaler is the proto.Marshaler interface superseded by protoiface.Methoder.
-type legacyMarshaler interface {
- Marshal() ([]byte, error)
-}
-
-// legacyUnmarshaler is the proto.Unmarshaler interface superseded by protoiface.Methoder.
-type legacyUnmarshaler interface {
- Unmarshal([]byte) error
-}
-
-// legacyMerger is the proto.Merger interface superseded by protoiface.Methoder.
-type legacyMerger interface {
- Merge(protoiface.MessageV1)
-}
-
-var aberrantProtoMethods = &protoiface.Methods{
- Marshal: legacyMarshal,
- Unmarshal: legacyUnmarshal,
- Merge: legacyMerge,
-
- // We have no way to tell whether the type's Marshal method
- // supports deterministic serialization or not, but this
- // preserves the v1 implementation's behavior of always
- // calling Marshal methods when present.
- Flags: protoiface.SupportMarshalDeterministic,
-}
-
-func legacyMarshal(in protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
- v := in.Message.(unwrapper).protoUnwrap()
- marshaler, ok := v.(legacyMarshaler)
- if !ok {
- return protoiface.MarshalOutput{}, errors.New("%T does not implement Marshal", v)
- }
- out, err := marshaler.Marshal()
- if in.Buf != nil {
- out = append(in.Buf, out...)
- }
- return protoiface.MarshalOutput{
- Buf: out,
- }, err
-}
-
-func legacyUnmarshal(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
- v := in.Message.(unwrapper).protoUnwrap()
- unmarshaler, ok := v.(legacyUnmarshaler)
- if !ok {
- return protoiface.UnmarshalOutput{}, errors.New("%T does not implement Unmarshal", v)
- }
- return protoiface.UnmarshalOutput{}, unmarshaler.Unmarshal(in.Buf)
-}
-
-func legacyMerge(in protoiface.MergeInput) protoiface.MergeOutput {
- // Check whether this supports the legacy merger.
- dstv := in.Destination.(unwrapper).protoUnwrap()
- merger, ok := dstv.(legacyMerger)
- if ok {
- merger.Merge(Export{}.ProtoMessageV1Of(in.Source))
- return protoiface.MergeOutput{Flags: protoiface.MergeComplete}
- }
-
- // If legacy merger is unavailable, implement merge in terms of
- // a marshal and unmarshal operation.
- srcv := in.Source.(unwrapper).protoUnwrap()
- marshaler, ok := srcv.(legacyMarshaler)
- if !ok {
- return protoiface.MergeOutput{}
- }
- dstv = in.Destination.(unwrapper).protoUnwrap()
- unmarshaler, ok := dstv.(legacyUnmarshaler)
- if !ok {
- return protoiface.MergeOutput{}
- }
- if !in.Source.IsValid() {
- // Legacy Marshal methods may not function on nil messages.
- // Check for a typed nil source only after we confirm that
- // legacy Marshal/Unmarshal methods are present, for
- // consistency.
- return protoiface.MergeOutput{Flags: protoiface.MergeComplete}
- }
- b, err := marshaler.Marshal()
- if err != nil {
- return protoiface.MergeOutput{}
- }
- err = unmarshaler.Unmarshal(b)
- if err != nil {
- return protoiface.MergeOutput{}
- }
- return protoiface.MergeOutput{Flags: protoiface.MergeComplete}
-}
-
-// aberrantMessageType implements MessageType for all types other than pointer-to-struct.
-type aberrantMessageType struct {
- t reflect.Type
-}
-
-func (mt aberrantMessageType) New() protoreflect.Message {
- if mt.t.Kind() == reflect.Ptr {
- return aberrantMessage{reflect.New(mt.t.Elem())}
- }
- return aberrantMessage{reflect.Zero(mt.t)}
-}
-func (mt aberrantMessageType) Zero() protoreflect.Message {
- return aberrantMessage{reflect.Zero(mt.t)}
-}
-func (mt aberrantMessageType) GoType() reflect.Type {
- return mt.t
-}
-func (mt aberrantMessageType) Descriptor() protoreflect.MessageDescriptor {
- return LegacyLoadMessageDesc(mt.t)
-}
-
-// aberrantMessage implements Message for all types other than pointer-to-struct.
-//
-// When the underlying type implements legacyMarshaler or legacyUnmarshaler,
-// the aberrant Message can be marshaled or unmarshaled. Otherwise, there is
-// not much that can be done with values of this type.
-type aberrantMessage struct {
- v reflect.Value
-}
-
-// Reset implements the v1 proto.Message.Reset method.
-func (m aberrantMessage) Reset() {
- if mr, ok := m.v.Interface().(interface{ Reset() }); ok {
- mr.Reset()
- return
- }
- if m.v.Kind() == reflect.Ptr && !m.v.IsNil() {
- m.v.Elem().Set(reflect.Zero(m.v.Type().Elem()))
- }
-}
-
-func (m aberrantMessage) ProtoReflect() protoreflect.Message {
- return m
-}
-
-func (m aberrantMessage) Descriptor() protoreflect.MessageDescriptor {
- return LegacyLoadMessageDesc(m.v.Type())
-}
-func (m aberrantMessage) Type() protoreflect.MessageType {
- return aberrantMessageType{m.v.Type()}
-}
-func (m aberrantMessage) New() protoreflect.Message {
- if m.v.Type().Kind() == reflect.Ptr {
- return aberrantMessage{reflect.New(m.v.Type().Elem())}
- }
- return aberrantMessage{reflect.Zero(m.v.Type())}
-}
-func (m aberrantMessage) Interface() protoreflect.ProtoMessage {
- return m
-}
-func (m aberrantMessage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
- return
-}
-func (m aberrantMessage) Has(protoreflect.FieldDescriptor) bool {
- return false
-}
-func (m aberrantMessage) Clear(protoreflect.FieldDescriptor) {
- panic("invalid Message.Clear on " + string(m.Descriptor().FullName()))
-}
-func (m aberrantMessage) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
- if fd.Default().IsValid() {
- return fd.Default()
- }
- panic("invalid Message.Get on " + string(m.Descriptor().FullName()))
-}
-func (m aberrantMessage) Set(protoreflect.FieldDescriptor, protoreflect.Value) {
- panic("invalid Message.Set on " + string(m.Descriptor().FullName()))
-}
-func (m aberrantMessage) Mutable(protoreflect.FieldDescriptor) protoreflect.Value {
- panic("invalid Message.Mutable on " + string(m.Descriptor().FullName()))
-}
-func (m aberrantMessage) NewField(protoreflect.FieldDescriptor) protoreflect.Value {
- panic("invalid Message.NewField on " + string(m.Descriptor().FullName()))
-}
-func (m aberrantMessage) WhichOneof(protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
- panic("invalid Message.WhichOneof descriptor on " + string(m.Descriptor().FullName()))
-}
-func (m aberrantMessage) GetUnknown() protoreflect.RawFields {
- return nil
-}
-func (m aberrantMessage) SetUnknown(protoreflect.RawFields) {
- // SetUnknown discards its input on messages which don't support unknown field storage.
-}
-func (m aberrantMessage) IsValid() bool {
- if m.v.Kind() == reflect.Ptr {
- return !m.v.IsNil()
- }
- return false
-}
-func (m aberrantMessage) ProtoMethods() *protoiface.Methods {
- return aberrantProtoMethods
-}
-func (m aberrantMessage) protoUnwrap() interface{} {
- return m.v.Interface()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/merge.go b/vendor/google.golang.org/protobuf/internal/impl/merge.go
deleted file mode 100644
index 7e65f64f..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/merge.go
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
-
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-type mergeOptions struct{}
-
-func (o mergeOptions) Merge(dst, src proto.Message) {
- proto.Merge(dst, src)
-}
-
-// merge is protoreflect.Methods.Merge.
-func (mi *MessageInfo) merge(in protoiface.MergeInput) protoiface.MergeOutput {
- dp, ok := mi.getPointer(in.Destination)
- if !ok {
- return protoiface.MergeOutput{}
- }
- sp, ok := mi.getPointer(in.Source)
- if !ok {
- return protoiface.MergeOutput{}
- }
- mi.mergePointer(dp, sp, mergeOptions{})
- return protoiface.MergeOutput{Flags: protoiface.MergeComplete}
-}
-
-func (mi *MessageInfo) mergePointer(dst, src pointer, opts mergeOptions) {
- mi.init()
- if dst.IsNil() {
- panic(fmt.Sprintf("invalid value: merging into nil message"))
- }
- if src.IsNil() {
- return
- }
- for _, f := range mi.orderedCoderFields {
- if f.funcs.merge == nil {
- continue
- }
- sfptr := src.Apply(f.offset)
- if f.isPointer && sfptr.Elem().IsNil() {
- continue
- }
- f.funcs.merge(dst.Apply(f.offset), sfptr, f, opts)
- }
- if mi.extensionOffset.IsValid() {
- sext := src.Apply(mi.extensionOffset).Extensions()
- dext := dst.Apply(mi.extensionOffset).Extensions()
- if *dext == nil {
- *dext = make(map[int32]ExtensionField)
- }
- for num, sx := range *sext {
- xt := sx.Type()
- xi := getExtensionFieldInfo(xt)
- if xi.funcs.merge == nil {
- continue
- }
- dx := (*dext)[num]
- var dv protoreflect.Value
- if dx.Type() == sx.Type() {
- dv = dx.Value()
- }
- if !dv.IsValid() && xi.unmarshalNeedsValue {
- dv = xt.New()
- }
- dv = xi.funcs.merge(dv, sx.Value(), opts)
- dx.Set(sx.Type(), dv)
- (*dext)[num] = dx
- }
- }
- if mi.unknownOffset.IsValid() {
- su := mi.getUnknownBytes(src)
- if su != nil && len(*su) > 0 {
- du := mi.mutableUnknownBytes(dst)
- *du = append(*du, *su...)
- }
- }
-}
-
-func mergeScalarValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value {
- return src
-}
-
-func mergeBytesValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value {
- return protoreflect.ValueOfBytes(append(emptyBuf[:], src.Bytes()...))
-}
-
-func mergeListValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value {
- dstl := dst.List()
- srcl := src.List()
- for i, llen := 0, srcl.Len(); i < llen; i++ {
- dstl.Append(srcl.Get(i))
- }
- return dst
-}
-
-func mergeBytesListValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value {
- dstl := dst.List()
- srcl := src.List()
- for i, llen := 0, srcl.Len(); i < llen; i++ {
- sb := srcl.Get(i).Bytes()
- db := append(emptyBuf[:], sb...)
- dstl.Append(protoreflect.ValueOfBytes(db))
- }
- return dst
-}
-
-func mergeMessageListValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value {
- dstl := dst.List()
- srcl := src.List()
- for i, llen := 0, srcl.Len(); i < llen; i++ {
- sm := srcl.Get(i).Message()
- dm := proto.Clone(sm.Interface()).ProtoReflect()
- dstl.Append(protoreflect.ValueOfMessage(dm))
- }
- return dst
-}
-
-func mergeMessageValue(dst, src protoreflect.Value, opts mergeOptions) protoreflect.Value {
- opts.Merge(dst.Message().Interface(), src.Message().Interface())
- return dst
-}
-
-func mergeMessage(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
- if f.mi != nil {
- if dst.Elem().IsNil() {
- dst.SetPointer(pointerOfValue(reflect.New(f.mi.GoReflectType.Elem())))
- }
- f.mi.mergePointer(dst.Elem(), src.Elem(), opts)
- } else {
- dm := dst.AsValueOf(f.ft).Elem()
- sm := src.AsValueOf(f.ft).Elem()
- if dm.IsNil() {
- dm.Set(reflect.New(f.ft.Elem()))
- }
- opts.Merge(asMessage(dm), asMessage(sm))
- }
-}
-
-func mergeMessageSlice(dst, src pointer, f *coderFieldInfo, opts mergeOptions) {
- for _, sp := range src.PointerSlice() {
- dm := reflect.New(f.ft.Elem().Elem())
- if f.mi != nil {
- f.mi.mergePointer(pointerOfValue(dm), sp, opts)
- } else {
- opts.Merge(asMessage(dm), asMessage(sp.AsValueOf(f.ft.Elem().Elem())))
- }
- dst.AppendPointerSlice(pointerOfValue(dm))
- }
-}
-
-func mergeBytes(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Bytes() = append(emptyBuf[:], *src.Bytes()...)
-}
-
-func mergeBytesNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Bytes()
- if len(v) > 0 {
- *dst.Bytes() = append(emptyBuf[:], v...)
- }
-}
-
-func mergeBytesSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.BytesSlice()
- for _, v := range *src.BytesSlice() {
- *ds = append(*ds, append(emptyBuf[:], v...))
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go b/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go
deleted file mode 100644
index 8816c274..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go
+++ /dev/null
@@ -1,209 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-types. DO NOT EDIT.
-
-package impl
-
-import ()
-
-func mergeBool(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Bool() = *src.Bool()
-}
-
-func mergeBoolNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Bool()
- if v != false {
- *dst.Bool() = v
- }
-}
-
-func mergeBoolPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.BoolPtr()
- if p != nil {
- v := *p
- *dst.BoolPtr() = &v
- }
-}
-
-func mergeBoolSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.BoolSlice()
- ss := src.BoolSlice()
- *ds = append(*ds, *ss...)
-}
-
-func mergeInt32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Int32() = *src.Int32()
-}
-
-func mergeInt32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Int32()
- if v != 0 {
- *dst.Int32() = v
- }
-}
-
-func mergeInt32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.Int32Ptr()
- if p != nil {
- v := *p
- *dst.Int32Ptr() = &v
- }
-}
-
-func mergeInt32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.Int32Slice()
- ss := src.Int32Slice()
- *ds = append(*ds, *ss...)
-}
-
-func mergeUint32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Uint32() = *src.Uint32()
-}
-
-func mergeUint32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Uint32()
- if v != 0 {
- *dst.Uint32() = v
- }
-}
-
-func mergeUint32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.Uint32Ptr()
- if p != nil {
- v := *p
- *dst.Uint32Ptr() = &v
- }
-}
-
-func mergeUint32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.Uint32Slice()
- ss := src.Uint32Slice()
- *ds = append(*ds, *ss...)
-}
-
-func mergeInt64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Int64() = *src.Int64()
-}
-
-func mergeInt64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Int64()
- if v != 0 {
- *dst.Int64() = v
- }
-}
-
-func mergeInt64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.Int64Ptr()
- if p != nil {
- v := *p
- *dst.Int64Ptr() = &v
- }
-}
-
-func mergeInt64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.Int64Slice()
- ss := src.Int64Slice()
- *ds = append(*ds, *ss...)
-}
-
-func mergeUint64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Uint64() = *src.Uint64()
-}
-
-func mergeUint64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Uint64()
- if v != 0 {
- *dst.Uint64() = v
- }
-}
-
-func mergeUint64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.Uint64Ptr()
- if p != nil {
- v := *p
- *dst.Uint64Ptr() = &v
- }
-}
-
-func mergeUint64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.Uint64Slice()
- ss := src.Uint64Slice()
- *ds = append(*ds, *ss...)
-}
-
-func mergeFloat32(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Float32() = *src.Float32()
-}
-
-func mergeFloat32NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Float32()
- if v != 0 {
- *dst.Float32() = v
- }
-}
-
-func mergeFloat32Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.Float32Ptr()
- if p != nil {
- v := *p
- *dst.Float32Ptr() = &v
- }
-}
-
-func mergeFloat32Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.Float32Slice()
- ss := src.Float32Slice()
- *ds = append(*ds, *ss...)
-}
-
-func mergeFloat64(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.Float64() = *src.Float64()
-}
-
-func mergeFloat64NoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.Float64()
- if v != 0 {
- *dst.Float64() = v
- }
-}
-
-func mergeFloat64Ptr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.Float64Ptr()
- if p != nil {
- v := *p
- *dst.Float64Ptr() = &v
- }
-}
-
-func mergeFloat64Slice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.Float64Slice()
- ss := src.Float64Slice()
- *ds = append(*ds, *ss...)
-}
-
-func mergeString(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- *dst.String() = *src.String()
-}
-
-func mergeStringNoZero(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- v := *src.String()
- if v != "" {
- *dst.String() = v
- }
-}
-
-func mergeStringPtr(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- p := *src.StringPtr()
- if p != nil {
- v := *p
- *dst.StringPtr() = &v
- }
-}
-
-func mergeStringSlice(dst, src pointer, _ *coderFieldInfo, _ mergeOptions) {
- ds := dst.StringSlice()
- ss := src.StringSlice()
- *ds = append(*ds, *ss...)
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/message.go b/vendor/google.golang.org/protobuf/internal/impl/message.go
deleted file mode 100644
index 629bacdc..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/message.go
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
- "strconv"
- "strings"
- "sync"
- "sync/atomic"
-
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-// MessageInfo provides protobuf related functionality for a given Go type
-// that represents a message. A given instance of MessageInfo is tied to
-// exactly one Go type, which must be a pointer to a struct type.
-//
-// The exported fields must be populated before any methods are called
-// and cannot be mutated after set.
-type MessageInfo struct {
- // GoReflectType is the underlying message Go type and must be populated.
- GoReflectType reflect.Type // pointer to struct
-
- // Desc is the underlying message descriptor type and must be populated.
- Desc protoreflect.MessageDescriptor
-
- // Exporter must be provided in a purego environment in order to provide
- // access to unexported fields.
- Exporter exporter
-
- // OneofWrappers is list of pointers to oneof wrapper struct types.
- OneofWrappers []interface{}
-
- initMu sync.Mutex // protects all unexported fields
- initDone uint32
-
- reflectMessageInfo // for reflection implementation
- coderMessageInfo // for fast-path method implementations
-}
-
-// exporter is a function that returns a reference to the ith field of v,
-// where v is a pointer to a struct. It returns nil if it does not support
-// exporting the requested field (e.g., already exported).
-type exporter func(v interface{}, i int) interface{}
-
-// getMessageInfo returns the MessageInfo for any message type that
-// is generated by our implementation of protoc-gen-go (for v2 and on).
-// If it is unable to obtain a MessageInfo, it returns nil.
-func getMessageInfo(mt reflect.Type) *MessageInfo {
- m, ok := reflect.Zero(mt).Interface().(protoreflect.ProtoMessage)
- if !ok {
- return nil
- }
- mr, ok := m.ProtoReflect().(interface{ ProtoMessageInfo() *MessageInfo })
- if !ok {
- return nil
- }
- return mr.ProtoMessageInfo()
-}
-
-func (mi *MessageInfo) init() {
- // This function is called in the hot path. Inline the sync.Once logic,
- // since allocating a closure for Once.Do is expensive.
- // Keep init small to ensure that it can be inlined.
- if atomic.LoadUint32(&mi.initDone) == 0 {
- mi.initOnce()
- }
-}
-
-func (mi *MessageInfo) initOnce() {
- mi.initMu.Lock()
- defer mi.initMu.Unlock()
- if mi.initDone == 1 {
- return
- }
-
- t := mi.GoReflectType
- if t.Kind() != reflect.Ptr && t.Elem().Kind() != reflect.Struct {
- panic(fmt.Sprintf("got %v, want *struct kind", t))
- }
- t = t.Elem()
-
- si := mi.makeStructInfo(t)
- mi.makeReflectFuncs(t, si)
- mi.makeCoderMethods(t, si)
-
- atomic.StoreUint32(&mi.initDone, 1)
-}
-
-// getPointer returns the pointer for a message, which should be of
-// the type of the MessageInfo. If the message is of a different type,
-// it returns ok==false.
-func (mi *MessageInfo) getPointer(m protoreflect.Message) (p pointer, ok bool) {
- switch m := m.(type) {
- case *messageState:
- return m.pointer(), m.messageInfo() == mi
- case *messageReflectWrapper:
- return m.pointer(), m.messageInfo() == mi
- }
- return pointer{}, false
-}
-
-type (
- SizeCache = int32
- WeakFields = map[int32]protoreflect.ProtoMessage
- UnknownFields = unknownFieldsA // TODO: switch to unknownFieldsB
- unknownFieldsA = []byte
- unknownFieldsB = *[]byte
- ExtensionFields = map[int32]ExtensionField
-)
-
-var (
- sizecacheType = reflect.TypeOf(SizeCache(0))
- weakFieldsType = reflect.TypeOf(WeakFields(nil))
- unknownFieldsAType = reflect.TypeOf(unknownFieldsA(nil))
- unknownFieldsBType = reflect.TypeOf(unknownFieldsB(nil))
- extensionFieldsType = reflect.TypeOf(ExtensionFields(nil))
-)
-
-type structInfo struct {
- sizecacheOffset offset
- sizecacheType reflect.Type
- weakOffset offset
- weakType reflect.Type
- unknownOffset offset
- unknownType reflect.Type
- extensionOffset offset
- extensionType reflect.Type
-
- fieldsByNumber map[protoreflect.FieldNumber]reflect.StructField
- oneofsByName map[protoreflect.Name]reflect.StructField
- oneofWrappersByType map[reflect.Type]protoreflect.FieldNumber
- oneofWrappersByNumber map[protoreflect.FieldNumber]reflect.Type
-}
-
-func (mi *MessageInfo) makeStructInfo(t reflect.Type) structInfo {
- si := structInfo{
- sizecacheOffset: invalidOffset,
- weakOffset: invalidOffset,
- unknownOffset: invalidOffset,
- extensionOffset: invalidOffset,
-
- fieldsByNumber: map[protoreflect.FieldNumber]reflect.StructField{},
- oneofsByName: map[protoreflect.Name]reflect.StructField{},
- oneofWrappersByType: map[reflect.Type]protoreflect.FieldNumber{},
- oneofWrappersByNumber: map[protoreflect.FieldNumber]reflect.Type{},
- }
-
-fieldLoop:
- for i := 0; i < t.NumField(); i++ {
- switch f := t.Field(i); f.Name {
- case genid.SizeCache_goname, genid.SizeCacheA_goname:
- if f.Type == sizecacheType {
- si.sizecacheOffset = offsetOf(f, mi.Exporter)
- si.sizecacheType = f.Type
- }
- case genid.WeakFields_goname, genid.WeakFieldsA_goname:
- if f.Type == weakFieldsType {
- si.weakOffset = offsetOf(f, mi.Exporter)
- si.weakType = f.Type
- }
- case genid.UnknownFields_goname, genid.UnknownFieldsA_goname:
- if f.Type == unknownFieldsAType || f.Type == unknownFieldsBType {
- si.unknownOffset = offsetOf(f, mi.Exporter)
- si.unknownType = f.Type
- }
- case genid.ExtensionFields_goname, genid.ExtensionFieldsA_goname, genid.ExtensionFieldsB_goname:
- if f.Type == extensionFieldsType {
- si.extensionOffset = offsetOf(f, mi.Exporter)
- si.extensionType = f.Type
- }
- default:
- for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") {
- if len(s) > 0 && strings.Trim(s, "0123456789") == "" {
- n, _ := strconv.ParseUint(s, 10, 64)
- si.fieldsByNumber[protoreflect.FieldNumber(n)] = f
- continue fieldLoop
- }
- }
- if s := f.Tag.Get("protobuf_oneof"); len(s) > 0 {
- si.oneofsByName[protoreflect.Name(s)] = f
- continue fieldLoop
- }
- }
- }
-
- // Derive a mapping of oneof wrappers to fields.
- oneofWrappers := mi.OneofWrappers
- methods := make([]reflect.Method, 0, 2)
- if m, ok := reflect.PtrTo(t).MethodByName("XXX_OneofFuncs"); ok {
- methods = append(methods, m)
- }
- if m, ok := reflect.PtrTo(t).MethodByName("XXX_OneofWrappers"); ok {
- methods = append(methods, m)
- }
- for _, fn := range methods {
- for _, v := range fn.Func.Call([]reflect.Value{reflect.Zero(fn.Type.In(0))}) {
- if vs, ok := v.Interface().([]interface{}); ok {
- oneofWrappers = vs
- }
- }
- }
- for _, v := range oneofWrappers {
- tf := reflect.TypeOf(v).Elem()
- f := tf.Field(0)
- for _, s := range strings.Split(f.Tag.Get("protobuf"), ",") {
- if len(s) > 0 && strings.Trim(s, "0123456789") == "" {
- n, _ := strconv.ParseUint(s, 10, 64)
- si.oneofWrappersByType[tf] = protoreflect.FieldNumber(n)
- si.oneofWrappersByNumber[protoreflect.FieldNumber(n)] = tf
- break
- }
- }
- }
-
- return si
-}
-
-func (mi *MessageInfo) New() protoreflect.Message {
- m := reflect.New(mi.GoReflectType.Elem()).Interface()
- if r, ok := m.(protoreflect.ProtoMessage); ok {
- return r.ProtoReflect()
- }
- return mi.MessageOf(m)
-}
-func (mi *MessageInfo) Zero() protoreflect.Message {
- return mi.MessageOf(reflect.Zero(mi.GoReflectType).Interface())
-}
-func (mi *MessageInfo) Descriptor() protoreflect.MessageDescriptor {
- return mi.Desc
-}
-func (mi *MessageInfo) Enum(i int) protoreflect.EnumType {
- mi.init()
- fd := mi.Desc.Fields().Get(i)
- return Export{}.EnumTypeOf(mi.fieldTypes[fd.Number()])
-}
-func (mi *MessageInfo) Message(i int) protoreflect.MessageType {
- mi.init()
- fd := mi.Desc.Fields().Get(i)
- switch {
- case fd.IsWeak():
- mt, _ := protoregistry.GlobalTypes.FindMessageByName(fd.Message().FullName())
- return mt
- case fd.IsMap():
- return mapEntryType{fd.Message(), mi.fieldTypes[fd.Number()]}
- default:
- return Export{}.MessageTypeOf(mi.fieldTypes[fd.Number()])
- }
-}
-
-type mapEntryType struct {
- desc protoreflect.MessageDescriptor
- valType interface{} // zero value of enum or message type
-}
-
-func (mt mapEntryType) New() protoreflect.Message {
- return nil
-}
-func (mt mapEntryType) Zero() protoreflect.Message {
- return nil
-}
-func (mt mapEntryType) Descriptor() protoreflect.MessageDescriptor {
- return mt.desc
-}
-func (mt mapEntryType) Enum(i int) protoreflect.EnumType {
- fd := mt.desc.Fields().Get(i)
- if fd.Enum() == nil {
- return nil
- }
- return Export{}.EnumTypeOf(mt.valType)
-}
-func (mt mapEntryType) Message(i int) protoreflect.MessageType {
- fd := mt.desc.Fields().Get(i)
- if fd.Message() == nil {
- return nil
- }
- return Export{}.MessageTypeOf(mt.valType)
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go
deleted file mode 100644
index d9ea010b..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go
+++ /dev/null
@@ -1,463 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "reflect"
-
- "google.golang.org/protobuf/internal/detrand"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type reflectMessageInfo struct {
- fields map[protoreflect.FieldNumber]*fieldInfo
- oneofs map[protoreflect.Name]*oneofInfo
-
- // fieldTypes contains the zero value of an enum or message field.
- // For lists, it contains the element type.
- // For maps, it contains the entry value type.
- fieldTypes map[protoreflect.FieldNumber]interface{}
-
- // denseFields is a subset of fields where:
- // 0 < fieldDesc.Number() < len(denseFields)
- // It provides faster access to the fieldInfo, but may be incomplete.
- denseFields []*fieldInfo
-
- // rangeInfos is a list of all fields (not belonging to a oneof) and oneofs.
- rangeInfos []interface{} // either *fieldInfo or *oneofInfo
-
- getUnknown func(pointer) protoreflect.RawFields
- setUnknown func(pointer, protoreflect.RawFields)
- extensionMap func(pointer) *extensionMap
-
- nilMessage atomicNilMessage
-}
-
-// makeReflectFuncs generates the set of functions to support reflection.
-func (mi *MessageInfo) makeReflectFuncs(t reflect.Type, si structInfo) {
- mi.makeKnownFieldsFunc(si)
- mi.makeUnknownFieldsFunc(t, si)
- mi.makeExtensionFieldsFunc(t, si)
- mi.makeFieldTypes(si)
-}
-
-// makeKnownFieldsFunc generates functions for operations that can be performed
-// on each protobuf message field. It takes in a reflect.Type representing the
-// Go struct and matches message fields with struct fields.
-//
-// This code assumes that the struct is well-formed and panics if there are
-// any discrepancies.
-func (mi *MessageInfo) makeKnownFieldsFunc(si structInfo) {
- mi.fields = map[protoreflect.FieldNumber]*fieldInfo{}
- md := mi.Desc
- fds := md.Fields()
- for i := 0; i < fds.Len(); i++ {
- fd := fds.Get(i)
- fs := si.fieldsByNumber[fd.Number()]
- isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic()
- if isOneof {
- fs = si.oneofsByName[fd.ContainingOneof().Name()]
- }
- var fi fieldInfo
- switch {
- case fs.Type == nil:
- fi = fieldInfoForMissing(fd) // never occurs for officially generated message types
- case isOneof:
- fi = fieldInfoForOneof(fd, fs, mi.Exporter, si.oneofWrappersByNumber[fd.Number()])
- case fd.IsMap():
- fi = fieldInfoForMap(fd, fs, mi.Exporter)
- case fd.IsList():
- fi = fieldInfoForList(fd, fs, mi.Exporter)
- case fd.IsWeak():
- fi = fieldInfoForWeakMessage(fd, si.weakOffset)
- case fd.Message() != nil:
- fi = fieldInfoForMessage(fd, fs, mi.Exporter)
- default:
- fi = fieldInfoForScalar(fd, fs, mi.Exporter)
- }
- mi.fields[fd.Number()] = &fi
- }
-
- mi.oneofs = map[protoreflect.Name]*oneofInfo{}
- for i := 0; i < md.Oneofs().Len(); i++ {
- od := md.Oneofs().Get(i)
- mi.oneofs[od.Name()] = makeOneofInfo(od, si, mi.Exporter)
- }
-
- mi.denseFields = make([]*fieldInfo, fds.Len()*2)
- for i := 0; i < fds.Len(); i++ {
- if fd := fds.Get(i); int(fd.Number()) < len(mi.denseFields) {
- mi.denseFields[fd.Number()] = mi.fields[fd.Number()]
- }
- }
-
- for i := 0; i < fds.Len(); {
- fd := fds.Get(i)
- if od := fd.ContainingOneof(); od != nil && !od.IsSynthetic() {
- mi.rangeInfos = append(mi.rangeInfos, mi.oneofs[od.Name()])
- i += od.Fields().Len()
- } else {
- mi.rangeInfos = append(mi.rangeInfos, mi.fields[fd.Number()])
- i++
- }
- }
-
- // Introduce instability to iteration order, but keep it deterministic.
- if len(mi.rangeInfos) > 1 && detrand.Bool() {
- i := detrand.Intn(len(mi.rangeInfos) - 1)
- mi.rangeInfos[i], mi.rangeInfos[i+1] = mi.rangeInfos[i+1], mi.rangeInfos[i]
- }
-}
-
-func (mi *MessageInfo) makeUnknownFieldsFunc(t reflect.Type, si structInfo) {
- switch {
- case si.unknownOffset.IsValid() && si.unknownType == unknownFieldsAType:
- // Handle as []byte.
- mi.getUnknown = func(p pointer) protoreflect.RawFields {
- if p.IsNil() {
- return nil
- }
- return *p.Apply(mi.unknownOffset).Bytes()
- }
- mi.setUnknown = func(p pointer, b protoreflect.RawFields) {
- if p.IsNil() {
- panic("invalid SetUnknown on nil Message")
- }
- *p.Apply(mi.unknownOffset).Bytes() = b
- }
- case si.unknownOffset.IsValid() && si.unknownType == unknownFieldsBType:
- // Handle as *[]byte.
- mi.getUnknown = func(p pointer) protoreflect.RawFields {
- if p.IsNil() {
- return nil
- }
- bp := p.Apply(mi.unknownOffset).BytesPtr()
- if *bp == nil {
- return nil
- }
- return **bp
- }
- mi.setUnknown = func(p pointer, b protoreflect.RawFields) {
- if p.IsNil() {
- panic("invalid SetUnknown on nil Message")
- }
- bp := p.Apply(mi.unknownOffset).BytesPtr()
- if *bp == nil {
- *bp = new([]byte)
- }
- **bp = b
- }
- default:
- mi.getUnknown = func(pointer) protoreflect.RawFields {
- return nil
- }
- mi.setUnknown = func(p pointer, _ protoreflect.RawFields) {
- if p.IsNil() {
- panic("invalid SetUnknown on nil Message")
- }
- }
- }
-}
-
-func (mi *MessageInfo) makeExtensionFieldsFunc(t reflect.Type, si structInfo) {
- if si.extensionOffset.IsValid() {
- mi.extensionMap = func(p pointer) *extensionMap {
- if p.IsNil() {
- return (*extensionMap)(nil)
- }
- v := p.Apply(si.extensionOffset).AsValueOf(extensionFieldsType)
- return (*extensionMap)(v.Interface().(*map[int32]ExtensionField))
- }
- } else {
- mi.extensionMap = func(pointer) *extensionMap {
- return (*extensionMap)(nil)
- }
- }
-}
-func (mi *MessageInfo) makeFieldTypes(si structInfo) {
- md := mi.Desc
- fds := md.Fields()
- for i := 0; i < fds.Len(); i++ {
- var ft reflect.Type
- fd := fds.Get(i)
- fs := si.fieldsByNumber[fd.Number()]
- isOneof := fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic()
- if isOneof {
- fs = si.oneofsByName[fd.ContainingOneof().Name()]
- }
- var isMessage bool
- switch {
- case fs.Type == nil:
- continue // never occurs for officially generated message types
- case isOneof:
- if fd.Enum() != nil || fd.Message() != nil {
- ft = si.oneofWrappersByNumber[fd.Number()].Field(0).Type
- }
- case fd.IsMap():
- if fd.MapValue().Enum() != nil || fd.MapValue().Message() != nil {
- ft = fs.Type.Elem()
- }
- isMessage = fd.MapValue().Message() != nil
- case fd.IsList():
- if fd.Enum() != nil || fd.Message() != nil {
- ft = fs.Type.Elem()
- }
- isMessage = fd.Message() != nil
- case fd.Enum() != nil:
- ft = fs.Type
- if fd.HasPresence() && ft.Kind() == reflect.Ptr {
- ft = ft.Elem()
- }
- case fd.Message() != nil:
- ft = fs.Type
- if fd.IsWeak() {
- ft = nil
- }
- isMessage = true
- }
- if isMessage && ft != nil && ft.Kind() != reflect.Ptr {
- ft = reflect.PtrTo(ft) // never occurs for officially generated message types
- }
- if ft != nil {
- if mi.fieldTypes == nil {
- mi.fieldTypes = make(map[protoreflect.FieldNumber]interface{})
- }
- mi.fieldTypes[fd.Number()] = reflect.Zero(ft).Interface()
- }
- }
-}
-
-type extensionMap map[int32]ExtensionField
-
-func (m *extensionMap) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
- if m != nil {
- for _, x := range *m {
- xd := x.Type().TypeDescriptor()
- v := x.Value()
- if xd.IsList() && v.List().Len() == 0 {
- continue
- }
- if !f(xd, v) {
- return
- }
- }
- }
-}
-func (m *extensionMap) Has(xt protoreflect.ExtensionType) (ok bool) {
- if m == nil {
- return false
- }
- xd := xt.TypeDescriptor()
- x, ok := (*m)[int32(xd.Number())]
- if !ok {
- return false
- }
- switch {
- case xd.IsList():
- return x.Value().List().Len() > 0
- case xd.IsMap():
- return x.Value().Map().Len() > 0
- case xd.Message() != nil:
- return x.Value().Message().IsValid()
- }
- return true
-}
-func (m *extensionMap) Clear(xt protoreflect.ExtensionType) {
- delete(*m, int32(xt.TypeDescriptor().Number()))
-}
-func (m *extensionMap) Get(xt protoreflect.ExtensionType) protoreflect.Value {
- xd := xt.TypeDescriptor()
- if m != nil {
- if x, ok := (*m)[int32(xd.Number())]; ok {
- return x.Value()
- }
- }
- return xt.Zero()
-}
-func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value) {
- xd := xt.TypeDescriptor()
- isValid := true
- switch {
- case !xt.IsValidValue(v):
- isValid = false
- case xd.IsList():
- isValid = v.List().IsValid()
- case xd.IsMap():
- isValid = v.Map().IsValid()
- case xd.Message() != nil:
- isValid = v.Message().IsValid()
- }
- if !isValid {
- panic(fmt.Sprintf("%v: assigning invalid value", xt.TypeDescriptor().FullName()))
- }
-
- if *m == nil {
- *m = make(map[int32]ExtensionField)
- }
- var x ExtensionField
- x.Set(xt, v)
- (*m)[int32(xd.Number())] = x
-}
-func (m *extensionMap) Mutable(xt protoreflect.ExtensionType) protoreflect.Value {
- xd := xt.TypeDescriptor()
- if xd.Kind() != protoreflect.MessageKind && xd.Kind() != protoreflect.GroupKind && !xd.IsList() && !xd.IsMap() {
- panic("invalid Mutable on field with non-composite type")
- }
- if x, ok := (*m)[int32(xd.Number())]; ok {
- return x.Value()
- }
- v := xt.New()
- m.Set(xt, v)
- return v
-}
-
-// MessageState is a data structure that is nested as the first field in a
-// concrete message. It provides a way to implement the ProtoReflect method
-// in an allocation-free way without needing to have a shadow Go type generated
-// for every message type. This technique only works using unsafe.
-//
-// Example generated code:
-//
-// type M struct {
-// state protoimpl.MessageState
-//
-// Field1 int32
-// Field2 string
-// Field3 *BarMessage
-// ...
-// }
-//
-// func (m *M) ProtoReflect() protoreflect.Message {
-// mi := &file_fizz_buzz_proto_msgInfos[5]
-// if protoimpl.UnsafeEnabled && m != nil {
-// ms := protoimpl.X.MessageStateOf(Pointer(m))
-// if ms.LoadMessageInfo() == nil {
-// ms.StoreMessageInfo(mi)
-// }
-// return ms
-// }
-// return mi.MessageOf(m)
-// }
-//
-// The MessageState type holds a *MessageInfo, which must be atomically set to
-// the message info associated with a given message instance.
-// By unsafely converting a *M into a *MessageState, the MessageState object
-// has access to all the information needed to implement protobuf reflection.
-// It has access to the message info as its first field, and a pointer to the
-// MessageState is identical to a pointer to the concrete message value.
-//
-// Requirements:
-// - The type M must implement protoreflect.ProtoMessage.
-// - The address of m must not be nil.
-// - The address of m and the address of m.state must be equal,
-// even though they are different Go types.
-type MessageState struct {
- pragma.NoUnkeyedLiterals
- pragma.DoNotCompare
- pragma.DoNotCopy
-
- atomicMessageInfo *MessageInfo
-}
-
-type messageState MessageState
-
-var (
- _ protoreflect.Message = (*messageState)(nil)
- _ unwrapper = (*messageState)(nil)
-)
-
-// messageDataType is a tuple of a pointer to the message data and
-// a pointer to the message type. It is a generalized way of providing a
-// reflective view over a message instance. The disadvantage of this approach
-// is the need to allocate this tuple of 16B.
-type messageDataType struct {
- p pointer
- mi *MessageInfo
-}
-
-type (
- messageReflectWrapper messageDataType
- messageIfaceWrapper messageDataType
-)
-
-var (
- _ protoreflect.Message = (*messageReflectWrapper)(nil)
- _ unwrapper = (*messageReflectWrapper)(nil)
- _ protoreflect.ProtoMessage = (*messageIfaceWrapper)(nil)
- _ unwrapper = (*messageIfaceWrapper)(nil)
-)
-
-// MessageOf returns a reflective view over a message. The input must be a
-// pointer to a named Go struct. If the provided type has a ProtoReflect method,
-// it must be implemented by calling this method.
-func (mi *MessageInfo) MessageOf(m interface{}) protoreflect.Message {
- if reflect.TypeOf(m) != mi.GoReflectType {
- panic(fmt.Sprintf("type mismatch: got %T, want %v", m, mi.GoReflectType))
- }
- p := pointerOfIface(m)
- if p.IsNil() {
- return mi.nilMessage.Init(mi)
- }
- return &messageReflectWrapper{p, mi}
-}
-
-func (m *messageReflectWrapper) pointer() pointer { return m.p }
-func (m *messageReflectWrapper) messageInfo() *MessageInfo { return m.mi }
-
-// Reset implements the v1 proto.Message.Reset method.
-func (m *messageIfaceWrapper) Reset() {
- if mr, ok := m.protoUnwrap().(interface{ Reset() }); ok {
- mr.Reset()
- return
- }
- rv := reflect.ValueOf(m.protoUnwrap())
- if rv.Kind() == reflect.Ptr && !rv.IsNil() {
- rv.Elem().Set(reflect.Zero(rv.Type().Elem()))
- }
-}
-func (m *messageIfaceWrapper) ProtoReflect() protoreflect.Message {
- return (*messageReflectWrapper)(m)
-}
-func (m *messageIfaceWrapper) protoUnwrap() interface{} {
- return m.p.AsIfaceOf(m.mi.GoReflectType.Elem())
-}
-
-// checkField verifies that the provided field descriptor is valid.
-// Exactly one of the returned values is populated.
-func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo, protoreflect.ExtensionType) {
- var fi *fieldInfo
- if n := fd.Number(); 0 < n && int(n) < len(mi.denseFields) {
- fi = mi.denseFields[n]
- } else {
- fi = mi.fields[n]
- }
- if fi != nil {
- if fi.fieldDesc != fd {
- if got, want := fd.FullName(), fi.fieldDesc.FullName(); got != want {
- panic(fmt.Sprintf("mismatching field: got %v, want %v", got, want))
- }
- panic(fmt.Sprintf("mismatching field: %v", fd.FullName()))
- }
- return fi, nil
- }
-
- if fd.IsExtension() {
- if got, want := fd.ContainingMessage().FullName(), mi.Desc.FullName(); got != want {
- // TODO: Should this be exact containing message descriptor match?
- panic(fmt.Sprintf("extension %v has mismatching containing message: got %v, want %v", fd.FullName(), got, want))
- }
- if !mi.Desc.ExtensionRanges().Has(fd.Number()) {
- panic(fmt.Sprintf("extension %v extends %v outside the extension range", fd.FullName(), mi.Desc.FullName()))
- }
- xtd, ok := fd.(protoreflect.ExtensionTypeDescriptor)
- if !ok {
- panic(fmt.Sprintf("extension %v does not implement protoreflect.ExtensionTypeDescriptor", fd.FullName()))
- }
- return nil, xtd.Type()
- }
- panic(fmt.Sprintf("field %v is invalid", fd.FullName()))
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go
deleted file mode 100644
index 986322b1..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go
+++ /dev/null
@@ -1,543 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "math"
- "reflect"
- "sync"
-
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-type fieldInfo struct {
- fieldDesc protoreflect.FieldDescriptor
-
- // These fields are used for protobuf reflection support.
- has func(pointer) bool
- clear func(pointer)
- get func(pointer) protoreflect.Value
- set func(pointer, protoreflect.Value)
- mutable func(pointer) protoreflect.Value
- newMessage func() protoreflect.Message
- newField func() protoreflect.Value
-}
-
-func fieldInfoForMissing(fd protoreflect.FieldDescriptor) fieldInfo {
- // This never occurs for generated message types.
- // It implies that a hand-crafted type has missing Go fields
- // for specific protobuf message fields.
- return fieldInfo{
- fieldDesc: fd,
- has: func(p pointer) bool {
- return false
- },
- clear: func(p pointer) {
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- get: func(p pointer) protoreflect.Value {
- return fd.Default()
- },
- set: func(p pointer, v protoreflect.Value) {
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- mutable: func(p pointer) protoreflect.Value {
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- newMessage: func() protoreflect.Message {
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- newField: func() protoreflect.Value {
- if v := fd.Default(); v.IsValid() {
- return v
- }
- panic("missing Go struct field for " + string(fd.FullName()))
- },
- }
-}
-
-func fieldInfoForOneof(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter, ot reflect.Type) fieldInfo {
- ft := fs.Type
- if ft.Kind() != reflect.Interface {
- panic(fmt.Sprintf("field %v has invalid type: got %v, want interface kind", fd.FullName(), ft))
- }
- if ot.Kind() != reflect.Struct {
- panic(fmt.Sprintf("field %v has invalid type: got %v, want struct kind", fd.FullName(), ot))
- }
- if !reflect.PtrTo(ot).Implements(ft) {
- panic(fmt.Sprintf("field %v has invalid type: %v does not implement %v", fd.FullName(), ot, ft))
- }
- conv := NewConverter(ot.Field(0).Type, fd)
- isMessage := fd.Message() != nil
-
- // TODO: Implement unsafe fast path?
- fieldOffset := offsetOf(fs, x)
- return fieldInfo{
- // NOTE: The logic below intentionally assumes that oneof fields are
- // well-formatted. That is, the oneof interface never contains a
- // typed nil pointer to one of the wrapper structs.
-
- fieldDesc: fd,
- has: func(p pointer) bool {
- if p.IsNil() {
- return false
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() {
- return false
- }
- return true
- },
- clear: func(p pointer) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.IsNil() || rv.Elem().Type().Elem() != ot {
- // NOTE: We intentionally don't check for rv.Elem().IsNil()
- // so that (*OneofWrapperType)(nil) gets cleared to nil.
- return
- }
- rv.Set(reflect.Zero(rv.Type()))
- },
- get: func(p pointer) protoreflect.Value {
- if p.IsNil() {
- return conv.Zero()
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() {
- return conv.Zero()
- }
- rv = rv.Elem().Elem().Field(0)
- return conv.PBValueOf(rv)
- },
- set: func(p pointer, v protoreflect.Value) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() {
- rv.Set(reflect.New(ot))
- }
- rv = rv.Elem().Elem().Field(0)
- rv.Set(conv.GoValueOf(v))
- },
- mutable: func(p pointer) protoreflect.Value {
- if !isMessage {
- panic(fmt.Sprintf("field %v with invalid Mutable call on field with non-composite type", fd.FullName()))
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.IsNil() || rv.Elem().Type().Elem() != ot || rv.Elem().IsNil() {
- rv.Set(reflect.New(ot))
- }
- rv = rv.Elem().Elem().Field(0)
- if rv.Kind() == reflect.Ptr && rv.IsNil() {
- rv.Set(conv.GoValueOf(protoreflect.ValueOfMessage(conv.New().Message())))
- }
- return conv.PBValueOf(rv)
- },
- newMessage: func() protoreflect.Message {
- return conv.New().Message()
- },
- newField: func() protoreflect.Value {
- return conv.New()
- },
- }
-}
-
-func fieldInfoForMap(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo {
- ft := fs.Type
- if ft.Kind() != reflect.Map {
- panic(fmt.Sprintf("field %v has invalid type: got %v, want map kind", fd.FullName(), ft))
- }
- conv := NewConverter(ft, fd)
-
- // TODO: Implement unsafe fast path?
- fieldOffset := offsetOf(fs, x)
- return fieldInfo{
- fieldDesc: fd,
- has: func(p pointer) bool {
- if p.IsNil() {
- return false
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- return rv.Len() > 0
- },
- clear: func(p pointer) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- rv.Set(reflect.Zero(rv.Type()))
- },
- get: func(p pointer) protoreflect.Value {
- if p.IsNil() {
- return conv.Zero()
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.Len() == 0 {
- return conv.Zero()
- }
- return conv.PBValueOf(rv)
- },
- set: func(p pointer, v protoreflect.Value) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- pv := conv.GoValueOf(v)
- if pv.IsNil() {
- panic(fmt.Sprintf("map field %v cannot be set with read-only value", fd.FullName()))
- }
- rv.Set(pv)
- },
- mutable: func(p pointer) protoreflect.Value {
- v := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if v.IsNil() {
- v.Set(reflect.MakeMap(fs.Type))
- }
- return conv.PBValueOf(v)
- },
- newField: func() protoreflect.Value {
- return conv.New()
- },
- }
-}
-
-func fieldInfoForList(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo {
- ft := fs.Type
- if ft.Kind() != reflect.Slice {
- panic(fmt.Sprintf("field %v has invalid type: got %v, want slice kind", fd.FullName(), ft))
- }
- conv := NewConverter(reflect.PtrTo(ft), fd)
-
- // TODO: Implement unsafe fast path?
- fieldOffset := offsetOf(fs, x)
- return fieldInfo{
- fieldDesc: fd,
- has: func(p pointer) bool {
- if p.IsNil() {
- return false
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- return rv.Len() > 0
- },
- clear: func(p pointer) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- rv.Set(reflect.Zero(rv.Type()))
- },
- get: func(p pointer) protoreflect.Value {
- if p.IsNil() {
- return conv.Zero()
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type)
- if rv.Elem().Len() == 0 {
- return conv.Zero()
- }
- return conv.PBValueOf(rv)
- },
- set: func(p pointer, v protoreflect.Value) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- pv := conv.GoValueOf(v)
- if pv.IsNil() {
- panic(fmt.Sprintf("list field %v cannot be set with read-only value", fd.FullName()))
- }
- rv.Set(pv.Elem())
- },
- mutable: func(p pointer) protoreflect.Value {
- v := p.Apply(fieldOffset).AsValueOf(fs.Type)
- return conv.PBValueOf(v)
- },
- newField: func() protoreflect.Value {
- return conv.New()
- },
- }
-}
-
-var (
- nilBytes = reflect.ValueOf([]byte(nil))
- emptyBytes = reflect.ValueOf([]byte{})
-)
-
-func fieldInfoForScalar(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo {
- ft := fs.Type
- nullable := fd.HasPresence()
- isBytes := ft.Kind() == reflect.Slice && ft.Elem().Kind() == reflect.Uint8
- if nullable {
- if ft.Kind() != reflect.Ptr && ft.Kind() != reflect.Slice {
- // This never occurs for generated message types.
- // Despite the protobuf type system specifying presence,
- // the Go field type cannot represent it.
- nullable = false
- }
- if ft.Kind() == reflect.Ptr {
- ft = ft.Elem()
- }
- }
- conv := NewConverter(ft, fd)
-
- // TODO: Implement unsafe fast path?
- fieldOffset := offsetOf(fs, x)
- return fieldInfo{
- fieldDesc: fd,
- has: func(p pointer) bool {
- if p.IsNil() {
- return false
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if nullable {
- return !rv.IsNil()
- }
- switch rv.Kind() {
- case reflect.Bool:
- return rv.Bool()
- case reflect.Int32, reflect.Int64:
- return rv.Int() != 0
- case reflect.Uint32, reflect.Uint64:
- return rv.Uint() != 0
- case reflect.Float32, reflect.Float64:
- return rv.Float() != 0 || math.Signbit(rv.Float())
- case reflect.String, reflect.Slice:
- return rv.Len() > 0
- default:
- panic(fmt.Sprintf("field %v has invalid type: %v", fd.FullName(), rv.Type())) // should never happen
- }
- },
- clear: func(p pointer) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- rv.Set(reflect.Zero(rv.Type()))
- },
- get: func(p pointer) protoreflect.Value {
- if p.IsNil() {
- return conv.Zero()
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if nullable {
- if rv.IsNil() {
- return conv.Zero()
- }
- if rv.Kind() == reflect.Ptr {
- rv = rv.Elem()
- }
- }
- return conv.PBValueOf(rv)
- },
- set: func(p pointer, v protoreflect.Value) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if nullable && rv.Kind() == reflect.Ptr {
- if rv.IsNil() {
- rv.Set(reflect.New(ft))
- }
- rv = rv.Elem()
- }
- rv.Set(conv.GoValueOf(v))
- if isBytes && rv.Len() == 0 {
- if nullable {
- rv.Set(emptyBytes) // preserve presence
- } else {
- rv.Set(nilBytes) // do not preserve presence
- }
- }
- },
- newField: func() protoreflect.Value {
- return conv.New()
- },
- }
-}
-
-func fieldInfoForWeakMessage(fd protoreflect.FieldDescriptor, weakOffset offset) fieldInfo {
- if !flags.ProtoLegacy {
- panic("no support for proto1 weak fields")
- }
-
- var once sync.Once
- var messageType protoreflect.MessageType
- lazyInit := func() {
- once.Do(func() {
- messageName := fd.Message().FullName()
- messageType, _ = protoregistry.GlobalTypes.FindMessageByName(messageName)
- if messageType == nil {
- panic(fmt.Sprintf("weak message %v for field %v is not linked in", messageName, fd.FullName()))
- }
- })
- }
-
- num := fd.Number()
- return fieldInfo{
- fieldDesc: fd,
- has: func(p pointer) bool {
- if p.IsNil() {
- return false
- }
- _, ok := p.Apply(weakOffset).WeakFields().get(num)
- return ok
- },
- clear: func(p pointer) {
- p.Apply(weakOffset).WeakFields().clear(num)
- },
- get: func(p pointer) protoreflect.Value {
- lazyInit()
- if p.IsNil() {
- return protoreflect.ValueOfMessage(messageType.Zero())
- }
- m, ok := p.Apply(weakOffset).WeakFields().get(num)
- if !ok {
- return protoreflect.ValueOfMessage(messageType.Zero())
- }
- return protoreflect.ValueOfMessage(m.ProtoReflect())
- },
- set: func(p pointer, v protoreflect.Value) {
- lazyInit()
- m := v.Message()
- if m.Descriptor() != messageType.Descriptor() {
- if got, want := m.Descriptor().FullName(), messageType.Descriptor().FullName(); got != want {
- panic(fmt.Sprintf("field %v has mismatching message descriptor: got %v, want %v", fd.FullName(), got, want))
- }
- panic(fmt.Sprintf("field %v has mismatching message descriptor: %v", fd.FullName(), m.Descriptor().FullName()))
- }
- p.Apply(weakOffset).WeakFields().set(num, m.Interface())
- },
- mutable: func(p pointer) protoreflect.Value {
- lazyInit()
- fs := p.Apply(weakOffset).WeakFields()
- m, ok := fs.get(num)
- if !ok {
- m = messageType.New().Interface()
- fs.set(num, m)
- }
- return protoreflect.ValueOfMessage(m.ProtoReflect())
- },
- newMessage: func() protoreflect.Message {
- lazyInit()
- return messageType.New()
- },
- newField: func() protoreflect.Value {
- lazyInit()
- return protoreflect.ValueOfMessage(messageType.New())
- },
- }
-}
-
-func fieldInfoForMessage(fd protoreflect.FieldDescriptor, fs reflect.StructField, x exporter) fieldInfo {
- ft := fs.Type
- conv := NewConverter(ft, fd)
-
- // TODO: Implement unsafe fast path?
- fieldOffset := offsetOf(fs, x)
- return fieldInfo{
- fieldDesc: fd,
- has: func(p pointer) bool {
- if p.IsNil() {
- return false
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if fs.Type.Kind() != reflect.Ptr {
- return !isZero(rv)
- }
- return !rv.IsNil()
- },
- clear: func(p pointer) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- rv.Set(reflect.Zero(rv.Type()))
- },
- get: func(p pointer) protoreflect.Value {
- if p.IsNil() {
- return conv.Zero()
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- return conv.PBValueOf(rv)
- },
- set: func(p pointer, v protoreflect.Value) {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- rv.Set(conv.GoValueOf(v))
- if fs.Type.Kind() == reflect.Ptr && rv.IsNil() {
- panic(fmt.Sprintf("field %v has invalid nil pointer", fd.FullName()))
- }
- },
- mutable: func(p pointer) protoreflect.Value {
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if fs.Type.Kind() == reflect.Ptr && rv.IsNil() {
- rv.Set(conv.GoValueOf(conv.New()))
- }
- return conv.PBValueOf(rv)
- },
- newMessage: func() protoreflect.Message {
- return conv.New().Message()
- },
- newField: func() protoreflect.Value {
- return conv.New()
- },
- }
-}
-
-type oneofInfo struct {
- oneofDesc protoreflect.OneofDescriptor
- which func(pointer) protoreflect.FieldNumber
-}
-
-func makeOneofInfo(od protoreflect.OneofDescriptor, si structInfo, x exporter) *oneofInfo {
- oi := &oneofInfo{oneofDesc: od}
- if od.IsSynthetic() {
- fs := si.fieldsByNumber[od.Fields().Get(0).Number()]
- fieldOffset := offsetOf(fs, x)
- oi.which = func(p pointer) protoreflect.FieldNumber {
- if p.IsNil() {
- return 0
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.IsNil() { // valid on either *T or []byte
- return 0
- }
- return od.Fields().Get(0).Number()
- }
- } else {
- fs := si.oneofsByName[od.Name()]
- fieldOffset := offsetOf(fs, x)
- oi.which = func(p pointer) protoreflect.FieldNumber {
- if p.IsNil() {
- return 0
- }
- rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
- if rv.IsNil() {
- return 0
- }
- rv = rv.Elem()
- if rv.IsNil() {
- return 0
- }
- return si.oneofWrappersByType[rv.Type().Elem()]
- }
- }
- return oi
-}
-
-// isZero is identical to reflect.Value.IsZero.
-// TODO: Remove this when Go1.13 is the minimally supported Go version.
-func isZero(v reflect.Value) bool {
- switch v.Kind() {
- case reflect.Bool:
- return !v.Bool()
- case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
- return v.Int() == 0
- case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
- return v.Uint() == 0
- case reflect.Float32, reflect.Float64:
- return math.Float64bits(v.Float()) == 0
- case reflect.Complex64, reflect.Complex128:
- c := v.Complex()
- return math.Float64bits(real(c)) == 0 && math.Float64bits(imag(c)) == 0
- case reflect.Array:
- for i := 0; i < v.Len(); i++ {
- if !isZero(v.Index(i)) {
- return false
- }
- }
- return true
- case reflect.Chan, reflect.Func, reflect.Interface, reflect.Map, reflect.Ptr, reflect.Slice, reflect.UnsafePointer:
- return v.IsNil()
- case reflect.String:
- return v.Len() == 0
- case reflect.Struct:
- for i := 0; i < v.NumField(); i++ {
- if !isZero(v.Field(i)) {
- return false
- }
- }
- return true
- default:
- panic(&reflect.ValueError{Method: "reflect.Value.IsZero", Kind: v.Kind()})
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go b/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go
deleted file mode 100644
index 741d6e5b..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go
+++ /dev/null
@@ -1,249 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-types. DO NOT EDIT.
-
-package impl
-
-import (
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-func (m *messageState) Descriptor() protoreflect.MessageDescriptor {
- return m.messageInfo().Desc
-}
-func (m *messageState) Type() protoreflect.MessageType {
- return m.messageInfo()
-}
-func (m *messageState) New() protoreflect.Message {
- return m.messageInfo().New()
-}
-func (m *messageState) Interface() protoreflect.ProtoMessage {
- return m.protoUnwrap().(protoreflect.ProtoMessage)
-}
-func (m *messageState) protoUnwrap() interface{} {
- return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem())
-}
-func (m *messageState) ProtoMethods() *protoiface.Methods {
- m.messageInfo().init()
- return &m.messageInfo().methods
-}
-
-// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code
-// to be able to retrieve a v2 MessageInfo struct.
-//
-// WARNING: This method is exempt from the compatibility promise and
-// may be removed in the future without warning.
-func (m *messageState) ProtoMessageInfo() *MessageInfo {
- return m.messageInfo()
-}
-
-func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
- m.messageInfo().init()
- for _, ri := range m.messageInfo().rangeInfos {
- switch ri := ri.(type) {
- case *fieldInfo:
- if ri.has(m.pointer()) {
- if !f(ri.fieldDesc, ri.get(m.pointer())) {
- return
- }
- }
- case *oneofInfo:
- if n := ri.which(m.pointer()); n > 0 {
- fi := m.messageInfo().fields[n]
- if !f(fi.fieldDesc, fi.get(m.pointer())) {
- return
- }
- }
- }
- }
- m.messageInfo().extensionMap(m.pointer()).Range(f)
-}
-func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.has(m.pointer())
- } else {
- return m.messageInfo().extensionMap(m.pointer()).Has(xt)
- }
-}
-func (m *messageState) Clear(fd protoreflect.FieldDescriptor) {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- fi.clear(m.pointer())
- } else {
- m.messageInfo().extensionMap(m.pointer()).Clear(xt)
- }
-}
-func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.get(m.pointer())
- } else {
- return m.messageInfo().extensionMap(m.pointer()).Get(xt)
- }
-}
-func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- fi.set(m.pointer(), v)
- } else {
- m.messageInfo().extensionMap(m.pointer()).Set(xt, v)
- }
-}
-func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.mutable(m.pointer())
- } else {
- return m.messageInfo().extensionMap(m.pointer()).Mutable(xt)
- }
-}
-func (m *messageState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.newField()
- } else {
- return xt.New()
- }
-}
-func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
- m.messageInfo().init()
- if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
- return od.Fields().ByNumber(oi.which(m.pointer()))
- }
- panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName()))
-}
-func (m *messageState) GetUnknown() protoreflect.RawFields {
- m.messageInfo().init()
- return m.messageInfo().getUnknown(m.pointer())
-}
-func (m *messageState) SetUnknown(b protoreflect.RawFields) {
- m.messageInfo().init()
- m.messageInfo().setUnknown(m.pointer(), b)
-}
-func (m *messageState) IsValid() bool {
- return !m.pointer().IsNil()
-}
-
-func (m *messageReflectWrapper) Descriptor() protoreflect.MessageDescriptor {
- return m.messageInfo().Desc
-}
-func (m *messageReflectWrapper) Type() protoreflect.MessageType {
- return m.messageInfo()
-}
-func (m *messageReflectWrapper) New() protoreflect.Message {
- return m.messageInfo().New()
-}
-func (m *messageReflectWrapper) Interface() protoreflect.ProtoMessage {
- if m, ok := m.protoUnwrap().(protoreflect.ProtoMessage); ok {
- return m
- }
- return (*messageIfaceWrapper)(m)
-}
-func (m *messageReflectWrapper) protoUnwrap() interface{} {
- return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem())
-}
-func (m *messageReflectWrapper) ProtoMethods() *protoiface.Methods {
- m.messageInfo().init()
- return &m.messageInfo().methods
-}
-
-// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code
-// to be able to retrieve a v2 MessageInfo struct.
-//
-// WARNING: This method is exempt from the compatibility promise and
-// may be removed in the future without warning.
-func (m *messageReflectWrapper) ProtoMessageInfo() *MessageInfo {
- return m.messageInfo()
-}
-
-func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
- m.messageInfo().init()
- for _, ri := range m.messageInfo().rangeInfos {
- switch ri := ri.(type) {
- case *fieldInfo:
- if ri.has(m.pointer()) {
- if !f(ri.fieldDesc, ri.get(m.pointer())) {
- return
- }
- }
- case *oneofInfo:
- if n := ri.which(m.pointer()); n > 0 {
- fi := m.messageInfo().fields[n]
- if !f(fi.fieldDesc, fi.get(m.pointer())) {
- return
- }
- }
- }
- }
- m.messageInfo().extensionMap(m.pointer()).Range(f)
-}
-func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.has(m.pointer())
- } else {
- return m.messageInfo().extensionMap(m.pointer()).Has(xt)
- }
-}
-func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- fi.clear(m.pointer())
- } else {
- m.messageInfo().extensionMap(m.pointer()).Clear(xt)
- }
-}
-func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.get(m.pointer())
- } else {
- return m.messageInfo().extensionMap(m.pointer()).Get(xt)
- }
-}
-func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- fi.set(m.pointer(), v)
- } else {
- m.messageInfo().extensionMap(m.pointer()).Set(xt, v)
- }
-}
-func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.mutable(m.pointer())
- } else {
- return m.messageInfo().extensionMap(m.pointer()).Mutable(xt)
- }
-}
-func (m *messageReflectWrapper) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
- m.messageInfo().init()
- if fi, xt := m.messageInfo().checkField(fd); fi != nil {
- return fi.newField()
- } else {
- return xt.New()
- }
-}
-func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
- m.messageInfo().init()
- if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
- return od.Fields().ByNumber(oi.which(m.pointer()))
- }
- panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName()))
-}
-func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields {
- m.messageInfo().init()
- return m.messageInfo().getUnknown(m.pointer())
-}
-func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) {
- m.messageInfo().init()
- m.messageInfo().setUnknown(m.pointer(), b)
-}
-func (m *messageReflectWrapper) IsValid() bool {
- return !m.pointer().IsNil()
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go b/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go
deleted file mode 100644
index 517e9443..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build purego || appengine
-// +build purego appengine
-
-package impl
-
-import (
- "fmt"
- "reflect"
- "sync"
-)
-
-const UnsafeEnabled = false
-
-// Pointer is an opaque pointer type.
-type Pointer interface{}
-
-// offset represents the offset to a struct field, accessible from a pointer.
-// The offset is the field index into a struct.
-type offset struct {
- index int
- export exporter
-}
-
-// offsetOf returns a field offset for the struct field.
-func offsetOf(f reflect.StructField, x exporter) offset {
- if len(f.Index) != 1 {
- panic("embedded structs are not supported")
- }
- if f.PkgPath == "" {
- return offset{index: f.Index[0]} // field is already exported
- }
- if x == nil {
- panic("exporter must be provided for unexported field")
- }
- return offset{index: f.Index[0], export: x}
-}
-
-// IsValid reports whether the offset is valid.
-func (f offset) IsValid() bool { return f.index >= 0 }
-
-// invalidOffset is an invalid field offset.
-var invalidOffset = offset{index: -1}
-
-// zeroOffset is a noop when calling pointer.Apply.
-var zeroOffset = offset{index: 0}
-
-// pointer is an abstract representation of a pointer to a struct or field.
-type pointer struct{ v reflect.Value }
-
-// pointerOf returns p as a pointer.
-func pointerOf(p Pointer) pointer {
- return pointerOfIface(p)
-}
-
-// pointerOfValue returns v as a pointer.
-func pointerOfValue(v reflect.Value) pointer {
- return pointer{v: v}
-}
-
-// pointerOfIface returns the pointer portion of an interface.
-func pointerOfIface(v interface{}) pointer {
- return pointer{v: reflect.ValueOf(v)}
-}
-
-// IsNil reports whether the pointer is nil.
-func (p pointer) IsNil() bool {
- return p.v.IsNil()
-}
-
-// Apply adds an offset to the pointer to derive a new pointer
-// to a specified field. The current pointer must be pointing at a struct.
-func (p pointer) Apply(f offset) pointer {
- if f.export != nil {
- if v := reflect.ValueOf(f.export(p.v.Interface(), f.index)); v.IsValid() {
- return pointer{v: v}
- }
- }
- return pointer{v: p.v.Elem().Field(f.index).Addr()}
-}
-
-// AsValueOf treats p as a pointer to an object of type t and returns the value.
-// It is equivalent to reflect.ValueOf(p.AsIfaceOf(t))
-func (p pointer) AsValueOf(t reflect.Type) reflect.Value {
- if got := p.v.Type().Elem(); got != t {
- panic(fmt.Sprintf("invalid type: got %v, want %v", got, t))
- }
- return p.v
-}
-
-// AsIfaceOf treats p as a pointer to an object of type t and returns the value.
-// It is equivalent to p.AsValueOf(t).Interface()
-func (p pointer) AsIfaceOf(t reflect.Type) interface{} {
- return p.AsValueOf(t).Interface()
-}
-
-func (p pointer) Bool() *bool { return p.v.Interface().(*bool) }
-func (p pointer) BoolPtr() **bool { return p.v.Interface().(**bool) }
-func (p pointer) BoolSlice() *[]bool { return p.v.Interface().(*[]bool) }
-func (p pointer) Int32() *int32 { return p.v.Interface().(*int32) }
-func (p pointer) Int32Ptr() **int32 { return p.v.Interface().(**int32) }
-func (p pointer) Int32Slice() *[]int32 { return p.v.Interface().(*[]int32) }
-func (p pointer) Int64() *int64 { return p.v.Interface().(*int64) }
-func (p pointer) Int64Ptr() **int64 { return p.v.Interface().(**int64) }
-func (p pointer) Int64Slice() *[]int64 { return p.v.Interface().(*[]int64) }
-func (p pointer) Uint32() *uint32 { return p.v.Interface().(*uint32) }
-func (p pointer) Uint32Ptr() **uint32 { return p.v.Interface().(**uint32) }
-func (p pointer) Uint32Slice() *[]uint32 { return p.v.Interface().(*[]uint32) }
-func (p pointer) Uint64() *uint64 { return p.v.Interface().(*uint64) }
-func (p pointer) Uint64Ptr() **uint64 { return p.v.Interface().(**uint64) }
-func (p pointer) Uint64Slice() *[]uint64 { return p.v.Interface().(*[]uint64) }
-func (p pointer) Float32() *float32 { return p.v.Interface().(*float32) }
-func (p pointer) Float32Ptr() **float32 { return p.v.Interface().(**float32) }
-func (p pointer) Float32Slice() *[]float32 { return p.v.Interface().(*[]float32) }
-func (p pointer) Float64() *float64 { return p.v.Interface().(*float64) }
-func (p pointer) Float64Ptr() **float64 { return p.v.Interface().(**float64) }
-func (p pointer) Float64Slice() *[]float64 { return p.v.Interface().(*[]float64) }
-func (p pointer) String() *string { return p.v.Interface().(*string) }
-func (p pointer) StringPtr() **string { return p.v.Interface().(**string) }
-func (p pointer) StringSlice() *[]string { return p.v.Interface().(*[]string) }
-func (p pointer) Bytes() *[]byte { return p.v.Interface().(*[]byte) }
-func (p pointer) BytesPtr() **[]byte { return p.v.Interface().(**[]byte) }
-func (p pointer) BytesSlice() *[][]byte { return p.v.Interface().(*[][]byte) }
-func (p pointer) WeakFields() *weakFields { return (*weakFields)(p.v.Interface().(*WeakFields)) }
-func (p pointer) Extensions() *map[int32]ExtensionField {
- return p.v.Interface().(*map[int32]ExtensionField)
-}
-
-func (p pointer) Elem() pointer {
- return pointer{v: p.v.Elem()}
-}
-
-// PointerSlice copies []*T from p as a new []pointer.
-// This behavior differs from the implementation in pointer_unsafe.go.
-func (p pointer) PointerSlice() []pointer {
- // TODO: reconsider this
- if p.v.IsNil() {
- return nil
- }
- n := p.v.Elem().Len()
- s := make([]pointer, n)
- for i := 0; i < n; i++ {
- s[i] = pointer{v: p.v.Elem().Index(i)}
- }
- return s
-}
-
-// AppendPointerSlice appends v to p, which must be a []*T.
-func (p pointer) AppendPointerSlice(v pointer) {
- sp := p.v.Elem()
- sp.Set(reflect.Append(sp, v.v))
-}
-
-// SetPointer sets *p to v.
-func (p pointer) SetPointer(v pointer) {
- p.v.Elem().Set(v.v)
-}
-
-func growSlice(p pointer, addCap int) {
- // TODO: Once we only support Go 1.20 and newer, use reflect.Grow.
- in := p.v.Elem()
- out := reflect.MakeSlice(in.Type(), in.Len(), in.Len()+addCap)
- reflect.Copy(out, in)
- p.v.Elem().Set(out)
-}
-
-func (p pointer) growBoolSlice(addCap int) {
- growSlice(p, addCap)
-}
-
-func (p pointer) growInt32Slice(addCap int) {
- growSlice(p, addCap)
-}
-
-func (p pointer) growUint32Slice(addCap int) {
- growSlice(p, addCap)
-}
-
-func (p pointer) growInt64Slice(addCap int) {
- growSlice(p, addCap)
-}
-
-func (p pointer) growUint64Slice(addCap int) {
- growSlice(p, addCap)
-}
-
-func (p pointer) growFloat64Slice(addCap int) {
- growSlice(p, addCap)
-}
-
-func (p pointer) growFloat32Slice(addCap int) {
- growSlice(p, addCap)
-}
-
-func (Export) MessageStateOf(p Pointer) *messageState { panic("not supported") }
-func (ms *messageState) pointer() pointer { panic("not supported") }
-func (ms *messageState) messageInfo() *MessageInfo { panic("not supported") }
-func (ms *messageState) LoadMessageInfo() *MessageInfo { panic("not supported") }
-func (ms *messageState) StoreMessageInfo(mi *MessageInfo) { panic("not supported") }
-
-type atomicNilMessage struct {
- once sync.Once
- m messageReflectWrapper
-}
-
-func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper {
- m.once.Do(func() {
- m.m.p = pointerOfIface(reflect.Zero(mi.GoReflectType).Interface())
- m.m.mi = mi
- })
- return &m.m
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go b/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go
deleted file mode 100644
index 4b020e31..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !purego && !appengine
-// +build !purego,!appengine
-
-package impl
-
-import (
- "reflect"
- "sync/atomic"
- "unsafe"
-)
-
-const UnsafeEnabled = true
-
-// Pointer is an opaque pointer type.
-type Pointer unsafe.Pointer
-
-// offset represents the offset to a struct field, accessible from a pointer.
-// The offset is the byte offset to the field from the start of the struct.
-type offset uintptr
-
-// offsetOf returns a field offset for the struct field.
-func offsetOf(f reflect.StructField, x exporter) offset {
- return offset(f.Offset)
-}
-
-// IsValid reports whether the offset is valid.
-func (f offset) IsValid() bool { return f != invalidOffset }
-
-// invalidOffset is an invalid field offset.
-var invalidOffset = ^offset(0)
-
-// zeroOffset is a noop when calling pointer.Apply.
-var zeroOffset = offset(0)
-
-// pointer is a pointer to a message struct or field.
-type pointer struct{ p unsafe.Pointer }
-
-// pointerOf returns p as a pointer.
-func pointerOf(p Pointer) pointer {
- return pointer{p: unsafe.Pointer(p)}
-}
-
-// pointerOfValue returns v as a pointer.
-func pointerOfValue(v reflect.Value) pointer {
- return pointer{p: unsafe.Pointer(v.Pointer())}
-}
-
-// pointerOfIface returns the pointer portion of an interface.
-func pointerOfIface(v interface{}) pointer {
- type ifaceHeader struct {
- Type unsafe.Pointer
- Data unsafe.Pointer
- }
- return pointer{p: (*ifaceHeader)(unsafe.Pointer(&v)).Data}
-}
-
-// IsNil reports whether the pointer is nil.
-func (p pointer) IsNil() bool {
- return p.p == nil
-}
-
-// Apply adds an offset to the pointer to derive a new pointer
-// to a specified field. The pointer must be valid and pointing at a struct.
-func (p pointer) Apply(f offset) pointer {
- if p.IsNil() {
- panic("invalid nil pointer")
- }
- return pointer{p: unsafe.Pointer(uintptr(p.p) + uintptr(f))}
-}
-
-// AsValueOf treats p as a pointer to an object of type t and returns the value.
-// It is equivalent to reflect.ValueOf(p.AsIfaceOf(t))
-func (p pointer) AsValueOf(t reflect.Type) reflect.Value {
- return reflect.NewAt(t, p.p)
-}
-
-// AsIfaceOf treats p as a pointer to an object of type t and returns the value.
-// It is equivalent to p.AsValueOf(t).Interface()
-func (p pointer) AsIfaceOf(t reflect.Type) interface{} {
- // TODO: Use tricky unsafe magic to directly create ifaceHeader.
- return p.AsValueOf(t).Interface()
-}
-
-func (p pointer) Bool() *bool { return (*bool)(p.p) }
-func (p pointer) BoolPtr() **bool { return (**bool)(p.p) }
-func (p pointer) BoolSlice() *[]bool { return (*[]bool)(p.p) }
-func (p pointer) Int32() *int32 { return (*int32)(p.p) }
-func (p pointer) Int32Ptr() **int32 { return (**int32)(p.p) }
-func (p pointer) Int32Slice() *[]int32 { return (*[]int32)(p.p) }
-func (p pointer) Int64() *int64 { return (*int64)(p.p) }
-func (p pointer) Int64Ptr() **int64 { return (**int64)(p.p) }
-func (p pointer) Int64Slice() *[]int64 { return (*[]int64)(p.p) }
-func (p pointer) Uint32() *uint32 { return (*uint32)(p.p) }
-func (p pointer) Uint32Ptr() **uint32 { return (**uint32)(p.p) }
-func (p pointer) Uint32Slice() *[]uint32 { return (*[]uint32)(p.p) }
-func (p pointer) Uint64() *uint64 { return (*uint64)(p.p) }
-func (p pointer) Uint64Ptr() **uint64 { return (**uint64)(p.p) }
-func (p pointer) Uint64Slice() *[]uint64 { return (*[]uint64)(p.p) }
-func (p pointer) Float32() *float32 { return (*float32)(p.p) }
-func (p pointer) Float32Ptr() **float32 { return (**float32)(p.p) }
-func (p pointer) Float32Slice() *[]float32 { return (*[]float32)(p.p) }
-func (p pointer) Float64() *float64 { return (*float64)(p.p) }
-func (p pointer) Float64Ptr() **float64 { return (**float64)(p.p) }
-func (p pointer) Float64Slice() *[]float64 { return (*[]float64)(p.p) }
-func (p pointer) String() *string { return (*string)(p.p) }
-func (p pointer) StringPtr() **string { return (**string)(p.p) }
-func (p pointer) StringSlice() *[]string { return (*[]string)(p.p) }
-func (p pointer) Bytes() *[]byte { return (*[]byte)(p.p) }
-func (p pointer) BytesPtr() **[]byte { return (**[]byte)(p.p) }
-func (p pointer) BytesSlice() *[][]byte { return (*[][]byte)(p.p) }
-func (p pointer) WeakFields() *weakFields { return (*weakFields)(p.p) }
-func (p pointer) Extensions() *map[int32]ExtensionField { return (*map[int32]ExtensionField)(p.p) }
-
-func (p pointer) Elem() pointer {
- return pointer{p: *(*unsafe.Pointer)(p.p)}
-}
-
-// PointerSlice loads []*T from p as a []pointer.
-// The value returned is aliased with the original slice.
-// This behavior differs from the implementation in pointer_reflect.go.
-func (p pointer) PointerSlice() []pointer {
- // Super-tricky - p should point to a []*T where T is a
- // message type. We load it as []pointer.
- return *(*[]pointer)(p.p)
-}
-
-// AppendPointerSlice appends v to p, which must be a []*T.
-func (p pointer) AppendPointerSlice(v pointer) {
- *(*[]pointer)(p.p) = append(*(*[]pointer)(p.p), v)
-}
-
-// SetPointer sets *p to v.
-func (p pointer) SetPointer(v pointer) {
- *(*unsafe.Pointer)(p.p) = (unsafe.Pointer)(v.p)
-}
-
-func (p pointer) growBoolSlice(addCap int) {
- sp := p.BoolSlice()
- s := make([]bool, 0, addCap+len(*sp))
- s = s[:len(*sp)]
- copy(s, *sp)
- *sp = s
-}
-
-func (p pointer) growInt32Slice(addCap int) {
- sp := p.Int32Slice()
- s := make([]int32, 0, addCap+len(*sp))
- s = s[:len(*sp)]
- copy(s, *sp)
- *sp = s
-}
-
-func (p pointer) growUint32Slice(addCap int) {
- p.growInt32Slice(addCap)
-}
-
-func (p pointer) growFloat32Slice(addCap int) {
- p.growInt32Slice(addCap)
-}
-
-func (p pointer) growInt64Slice(addCap int) {
- sp := p.Int64Slice()
- s := make([]int64, 0, addCap+len(*sp))
- s = s[:len(*sp)]
- copy(s, *sp)
- *sp = s
-}
-
-func (p pointer) growUint64Slice(addCap int) {
- p.growInt64Slice(addCap)
-}
-
-func (p pointer) growFloat64Slice(addCap int) {
- p.growInt64Slice(addCap)
-}
-
-// Static check that MessageState does not exceed the size of a pointer.
-const _ = uint(unsafe.Sizeof(unsafe.Pointer(nil)) - unsafe.Sizeof(MessageState{}))
-
-func (Export) MessageStateOf(p Pointer) *messageState {
- // Super-tricky - see documentation on MessageState.
- return (*messageState)(unsafe.Pointer(p))
-}
-func (ms *messageState) pointer() pointer {
- // Super-tricky - see documentation on MessageState.
- return pointer{p: unsafe.Pointer(ms)}
-}
-func (ms *messageState) messageInfo() *MessageInfo {
- mi := ms.LoadMessageInfo()
- if mi == nil {
- panic("invalid nil message info; this suggests memory corruption due to a race or shallow copy on the message struct")
- }
- return mi
-}
-func (ms *messageState) LoadMessageInfo() *MessageInfo {
- return (*MessageInfo)(atomic.LoadPointer((*unsafe.Pointer)(unsafe.Pointer(&ms.atomicMessageInfo))))
-}
-func (ms *messageState) StoreMessageInfo(mi *MessageInfo) {
- atomic.StorePointer((*unsafe.Pointer)(unsafe.Pointer(&ms.atomicMessageInfo)), unsafe.Pointer(mi))
-}
-
-type atomicNilMessage struct{ p unsafe.Pointer } // p is a *messageReflectWrapper
-
-func (m *atomicNilMessage) Init(mi *MessageInfo) *messageReflectWrapper {
- if p := atomic.LoadPointer(&m.p); p != nil {
- return (*messageReflectWrapper)(p)
- }
- w := &messageReflectWrapper{mi: mi}
- atomic.CompareAndSwapPointer(&m.p, nil, (unsafe.Pointer)(w))
- return (*messageReflectWrapper)(atomic.LoadPointer(&m.p))
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/validate.go b/vendor/google.golang.org/protobuf/internal/impl/validate.go
deleted file mode 100644
index a24e6bbd..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/validate.go
+++ /dev/null
@@ -1,576 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
- "math"
- "math/bits"
- "reflect"
- "unicode/utf8"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// ValidationStatus is the result of validating the wire-format encoding of a message.
-type ValidationStatus int
-
-const (
- // ValidationUnknown indicates that unmarshaling the message might succeed or fail.
- // The validator was unable to render a judgement.
- //
- // The only causes of this status are an aberrant message type appearing somewhere
- // in the message or a failure in the extension resolver.
- ValidationUnknown ValidationStatus = iota + 1
-
- // ValidationInvalid indicates that unmarshaling the message will fail.
- ValidationInvalid
-
- // ValidationValid indicates that unmarshaling the message will succeed.
- ValidationValid
-)
-
-func (v ValidationStatus) String() string {
- switch v {
- case ValidationUnknown:
- return "ValidationUnknown"
- case ValidationInvalid:
- return "ValidationInvalid"
- case ValidationValid:
- return "ValidationValid"
- default:
- return fmt.Sprintf("ValidationStatus(%d)", int(v))
- }
-}
-
-// Validate determines whether the contents of the buffer are a valid wire encoding
-// of the message type.
-//
-// This function is exposed for testing.
-func Validate(mt protoreflect.MessageType, in protoiface.UnmarshalInput) (out protoiface.UnmarshalOutput, _ ValidationStatus) {
- mi, ok := mt.(*MessageInfo)
- if !ok {
- return out, ValidationUnknown
- }
- if in.Resolver == nil {
- in.Resolver = protoregistry.GlobalTypes
- }
- o, st := mi.validate(in.Buf, 0, unmarshalOptions{
- flags: in.Flags,
- resolver: in.Resolver,
- })
- if o.initialized {
- out.Flags |= protoiface.UnmarshalInitialized
- }
- return out, st
-}
-
-type validationInfo struct {
- mi *MessageInfo
- typ validationType
- keyType, valType validationType
-
- // For non-required fields, requiredBit is 0.
- //
- // For required fields, requiredBit's nth bit is set, where n is a
- // unique index in the range [0, MessageInfo.numRequiredFields).
- //
- // If there are more than 64 required fields, requiredBit is 0.
- requiredBit uint64
-}
-
-type validationType uint8
-
-const (
- validationTypeOther validationType = iota
- validationTypeMessage
- validationTypeGroup
- validationTypeMap
- validationTypeRepeatedVarint
- validationTypeRepeatedFixed32
- validationTypeRepeatedFixed64
- validationTypeVarint
- validationTypeFixed32
- validationTypeFixed64
- validationTypeBytes
- validationTypeUTF8String
- validationTypeMessageSetItem
-)
-
-func newFieldValidationInfo(mi *MessageInfo, si structInfo, fd protoreflect.FieldDescriptor, ft reflect.Type) validationInfo {
- var vi validationInfo
- switch {
- case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
- switch fd.Kind() {
- case protoreflect.MessageKind:
- vi.typ = validationTypeMessage
- if ot, ok := si.oneofWrappersByNumber[fd.Number()]; ok {
- vi.mi = getMessageInfo(ot.Field(0).Type)
- }
- case protoreflect.GroupKind:
- vi.typ = validationTypeGroup
- if ot, ok := si.oneofWrappersByNumber[fd.Number()]; ok {
- vi.mi = getMessageInfo(ot.Field(0).Type)
- }
- case protoreflect.StringKind:
- if strs.EnforceUTF8(fd) {
- vi.typ = validationTypeUTF8String
- }
- }
- default:
- vi = newValidationInfo(fd, ft)
- }
- if fd.Cardinality() == protoreflect.Required {
- // Avoid overflow. The required field check is done with a 64-bit mask, with
- // any message containing more than 64 required fields always reported as
- // potentially uninitialized, so it is not important to get a precise count
- // of the required fields past 64.
- if mi.numRequiredFields < math.MaxUint8 {
- mi.numRequiredFields++
- vi.requiredBit = 1 << (mi.numRequiredFields - 1)
- }
- }
- return vi
-}
-
-func newValidationInfo(fd protoreflect.FieldDescriptor, ft reflect.Type) validationInfo {
- var vi validationInfo
- switch {
- case fd.IsList():
- switch fd.Kind() {
- case protoreflect.MessageKind:
- vi.typ = validationTypeMessage
- if ft.Kind() == reflect.Slice {
- vi.mi = getMessageInfo(ft.Elem())
- }
- case protoreflect.GroupKind:
- vi.typ = validationTypeGroup
- if ft.Kind() == reflect.Slice {
- vi.mi = getMessageInfo(ft.Elem())
- }
- case protoreflect.StringKind:
- vi.typ = validationTypeBytes
- if strs.EnforceUTF8(fd) {
- vi.typ = validationTypeUTF8String
- }
- default:
- switch wireTypes[fd.Kind()] {
- case protowire.VarintType:
- vi.typ = validationTypeRepeatedVarint
- case protowire.Fixed32Type:
- vi.typ = validationTypeRepeatedFixed32
- case protowire.Fixed64Type:
- vi.typ = validationTypeRepeatedFixed64
- }
- }
- case fd.IsMap():
- vi.typ = validationTypeMap
- switch fd.MapKey().Kind() {
- case protoreflect.StringKind:
- if strs.EnforceUTF8(fd) {
- vi.keyType = validationTypeUTF8String
- }
- }
- switch fd.MapValue().Kind() {
- case protoreflect.MessageKind:
- vi.valType = validationTypeMessage
- if ft.Kind() == reflect.Map {
- vi.mi = getMessageInfo(ft.Elem())
- }
- case protoreflect.StringKind:
- if strs.EnforceUTF8(fd) {
- vi.valType = validationTypeUTF8String
- }
- }
- default:
- switch fd.Kind() {
- case protoreflect.MessageKind:
- vi.typ = validationTypeMessage
- if !fd.IsWeak() {
- vi.mi = getMessageInfo(ft)
- }
- case protoreflect.GroupKind:
- vi.typ = validationTypeGroup
- vi.mi = getMessageInfo(ft)
- case protoreflect.StringKind:
- vi.typ = validationTypeBytes
- if strs.EnforceUTF8(fd) {
- vi.typ = validationTypeUTF8String
- }
- default:
- switch wireTypes[fd.Kind()] {
- case protowire.VarintType:
- vi.typ = validationTypeVarint
- case protowire.Fixed32Type:
- vi.typ = validationTypeFixed32
- case protowire.Fixed64Type:
- vi.typ = validationTypeFixed64
- case protowire.BytesType:
- vi.typ = validationTypeBytes
- }
- }
- }
- return vi
-}
-
-func (mi *MessageInfo) validate(b []byte, groupTag protowire.Number, opts unmarshalOptions) (out unmarshalOutput, result ValidationStatus) {
- mi.init()
- type validationState struct {
- typ validationType
- keyType, valType validationType
- endGroup protowire.Number
- mi *MessageInfo
- tail []byte
- requiredMask uint64
- }
-
- // Pre-allocate some slots to avoid repeated slice reallocation.
- states := make([]validationState, 0, 16)
- states = append(states, validationState{
- typ: validationTypeMessage,
- mi: mi,
- })
- if groupTag > 0 {
- states[0].typ = validationTypeGroup
- states[0].endGroup = groupTag
- }
- initialized := true
- start := len(b)
-State:
- for len(states) > 0 {
- st := &states[len(states)-1]
- for len(b) > 0 {
- // Parse the tag (field number and wire type).
- var tag uint64
- if b[0] < 0x80 {
- tag = uint64(b[0])
- b = b[1:]
- } else if len(b) >= 2 && b[1] < 128 {
- tag = uint64(b[0]&0x7f) + uint64(b[1])<<7
- b = b[2:]
- } else {
- var n int
- tag, n = protowire.ConsumeVarint(b)
- if n < 0 {
- return out, ValidationInvalid
- }
- b = b[n:]
- }
- var num protowire.Number
- if n := tag >> 3; n < uint64(protowire.MinValidNumber) || n > uint64(protowire.MaxValidNumber) {
- return out, ValidationInvalid
- } else {
- num = protowire.Number(n)
- }
- wtyp := protowire.Type(tag & 7)
-
- if wtyp == protowire.EndGroupType {
- if st.endGroup == num {
- goto PopState
- }
- return out, ValidationInvalid
- }
- var vi validationInfo
- switch {
- case st.typ == validationTypeMap:
- switch num {
- case genid.MapEntry_Key_field_number:
- vi.typ = st.keyType
- case genid.MapEntry_Value_field_number:
- vi.typ = st.valType
- vi.mi = st.mi
- vi.requiredBit = 1
- }
- case flags.ProtoLegacy && st.mi.isMessageSet:
- switch num {
- case messageset.FieldItem:
- vi.typ = validationTypeMessageSetItem
- }
- default:
- var f *coderFieldInfo
- if int(num) < len(st.mi.denseCoderFields) {
- f = st.mi.denseCoderFields[num]
- } else {
- f = st.mi.coderFields[num]
- }
- if f != nil {
- vi = f.validation
- if vi.typ == validationTypeMessage && vi.mi == nil {
- // Probable weak field.
- //
- // TODO: Consider storing the results of this lookup somewhere
- // rather than recomputing it on every validation.
- fd := st.mi.Desc.Fields().ByNumber(num)
- if fd == nil || !fd.IsWeak() {
- break
- }
- messageName := fd.Message().FullName()
- messageType, err := protoregistry.GlobalTypes.FindMessageByName(messageName)
- switch err {
- case nil:
- vi.mi, _ = messageType.(*MessageInfo)
- case protoregistry.NotFound:
- vi.typ = validationTypeBytes
- default:
- return out, ValidationUnknown
- }
- }
- break
- }
- // Possible extension field.
- //
- // TODO: We should return ValidationUnknown when:
- // 1. The resolver is not frozen. (More extensions may be added to it.)
- // 2. The resolver returns preg.NotFound.
- // In this case, a type added to the resolver in the future could cause
- // unmarshaling to begin failing. Supporting this requires some way to
- // determine if the resolver is frozen.
- xt, err := opts.resolver.FindExtensionByNumber(st.mi.Desc.FullName(), num)
- if err != nil && err != protoregistry.NotFound {
- return out, ValidationUnknown
- }
- if err == nil {
- vi = getExtensionFieldInfo(xt).validation
- }
- }
- if vi.requiredBit != 0 {
- // Check that the field has a compatible wire type.
- // We only need to consider non-repeated field types,
- // since repeated fields (and maps) can never be required.
- ok := false
- switch vi.typ {
- case validationTypeVarint:
- ok = wtyp == protowire.VarintType
- case validationTypeFixed32:
- ok = wtyp == protowire.Fixed32Type
- case validationTypeFixed64:
- ok = wtyp == protowire.Fixed64Type
- case validationTypeBytes, validationTypeUTF8String, validationTypeMessage:
- ok = wtyp == protowire.BytesType
- case validationTypeGroup:
- ok = wtyp == protowire.StartGroupType
- }
- if ok {
- st.requiredMask |= vi.requiredBit
- }
- }
-
- switch wtyp {
- case protowire.VarintType:
- if len(b) >= 10 {
- switch {
- case b[0] < 0x80:
- b = b[1:]
- case b[1] < 0x80:
- b = b[2:]
- case b[2] < 0x80:
- b = b[3:]
- case b[3] < 0x80:
- b = b[4:]
- case b[4] < 0x80:
- b = b[5:]
- case b[5] < 0x80:
- b = b[6:]
- case b[6] < 0x80:
- b = b[7:]
- case b[7] < 0x80:
- b = b[8:]
- case b[8] < 0x80:
- b = b[9:]
- case b[9] < 0x80 && b[9] < 2:
- b = b[10:]
- default:
- return out, ValidationInvalid
- }
- } else {
- switch {
- case len(b) > 0 && b[0] < 0x80:
- b = b[1:]
- case len(b) > 1 && b[1] < 0x80:
- b = b[2:]
- case len(b) > 2 && b[2] < 0x80:
- b = b[3:]
- case len(b) > 3 && b[3] < 0x80:
- b = b[4:]
- case len(b) > 4 && b[4] < 0x80:
- b = b[5:]
- case len(b) > 5 && b[5] < 0x80:
- b = b[6:]
- case len(b) > 6 && b[6] < 0x80:
- b = b[7:]
- case len(b) > 7 && b[7] < 0x80:
- b = b[8:]
- case len(b) > 8 && b[8] < 0x80:
- b = b[9:]
- case len(b) > 9 && b[9] < 2:
- b = b[10:]
- default:
- return out, ValidationInvalid
- }
- }
- continue State
- case protowire.BytesType:
- var size uint64
- if len(b) >= 1 && b[0] < 0x80 {
- size = uint64(b[0])
- b = b[1:]
- } else if len(b) >= 2 && b[1] < 128 {
- size = uint64(b[0]&0x7f) + uint64(b[1])<<7
- b = b[2:]
- } else {
- var n int
- size, n = protowire.ConsumeVarint(b)
- if n < 0 {
- return out, ValidationInvalid
- }
- b = b[n:]
- }
- if size > uint64(len(b)) {
- return out, ValidationInvalid
- }
- v := b[:size]
- b = b[size:]
- switch vi.typ {
- case validationTypeMessage:
- if vi.mi == nil {
- return out, ValidationUnknown
- }
- vi.mi.init()
- fallthrough
- case validationTypeMap:
- if vi.mi != nil {
- vi.mi.init()
- }
- states = append(states, validationState{
- typ: vi.typ,
- keyType: vi.keyType,
- valType: vi.valType,
- mi: vi.mi,
- tail: b,
- })
- b = v
- continue State
- case validationTypeRepeatedVarint:
- // Packed field.
- for len(v) > 0 {
- _, n := protowire.ConsumeVarint(v)
- if n < 0 {
- return out, ValidationInvalid
- }
- v = v[n:]
- }
- case validationTypeRepeatedFixed32:
- // Packed field.
- if len(v)%4 != 0 {
- return out, ValidationInvalid
- }
- case validationTypeRepeatedFixed64:
- // Packed field.
- if len(v)%8 != 0 {
- return out, ValidationInvalid
- }
- case validationTypeUTF8String:
- if !utf8.Valid(v) {
- return out, ValidationInvalid
- }
- }
- case protowire.Fixed32Type:
- if len(b) < 4 {
- return out, ValidationInvalid
- }
- b = b[4:]
- case protowire.Fixed64Type:
- if len(b) < 8 {
- return out, ValidationInvalid
- }
- b = b[8:]
- case protowire.StartGroupType:
- switch {
- case vi.typ == validationTypeGroup:
- if vi.mi == nil {
- return out, ValidationUnknown
- }
- vi.mi.init()
- states = append(states, validationState{
- typ: validationTypeGroup,
- mi: vi.mi,
- endGroup: num,
- })
- continue State
- case flags.ProtoLegacy && vi.typ == validationTypeMessageSetItem:
- typeid, v, n, err := messageset.ConsumeFieldValue(b, false)
- if err != nil {
- return out, ValidationInvalid
- }
- xt, err := opts.resolver.FindExtensionByNumber(st.mi.Desc.FullName(), typeid)
- switch {
- case err == protoregistry.NotFound:
- b = b[n:]
- case err != nil:
- return out, ValidationUnknown
- default:
- xvi := getExtensionFieldInfo(xt).validation
- if xvi.mi != nil {
- xvi.mi.init()
- }
- states = append(states, validationState{
- typ: xvi.typ,
- mi: xvi.mi,
- tail: b[n:],
- })
- b = v
- continue State
- }
- default:
- n := protowire.ConsumeFieldValue(num, wtyp, b)
- if n < 0 {
- return out, ValidationInvalid
- }
- b = b[n:]
- }
- default:
- return out, ValidationInvalid
- }
- }
- if st.endGroup != 0 {
- return out, ValidationInvalid
- }
- if len(b) != 0 {
- return out, ValidationInvalid
- }
- b = st.tail
- PopState:
- numRequiredFields := 0
- switch st.typ {
- case validationTypeMessage, validationTypeGroup:
- numRequiredFields = int(st.mi.numRequiredFields)
- case validationTypeMap:
- // If this is a map field with a message value that contains
- // required fields, require that the value be present.
- if st.mi != nil && st.mi.numRequiredFields > 0 {
- numRequiredFields = 1
- }
- }
- // If there are more than 64 required fields, this check will
- // always fail and we will report that the message is potentially
- // uninitialized.
- if numRequiredFields > 0 && bits.OnesCount64(st.requiredMask) != numRequiredFields {
- initialized = false
- }
- states = states[:len(states)-1]
- }
- out.n = start - len(b)
- if initialized {
- out.initialized = true
- }
- return out, ValidationValid
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/weak.go b/vendor/google.golang.org/protobuf/internal/impl/weak.go
deleted file mode 100644
index eb79a7ba..00000000
--- a/vendor/google.golang.org/protobuf/internal/impl/weak.go
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package impl
-
-import (
- "fmt"
-
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-// weakFields adds methods to the exported WeakFields type for internal use.
-//
-// The exported type is an alias to an unnamed type, so methods can't be
-// defined directly on it.
-type weakFields WeakFields
-
-func (w weakFields) get(num protoreflect.FieldNumber) (protoreflect.ProtoMessage, bool) {
- m, ok := w[int32(num)]
- return m, ok
-}
-
-func (w *weakFields) set(num protoreflect.FieldNumber, m protoreflect.ProtoMessage) {
- if *w == nil {
- *w = make(weakFields)
- }
- (*w)[int32(num)] = m
-}
-
-func (w *weakFields) clear(num protoreflect.FieldNumber) {
- delete(*w, int32(num))
-}
-
-func (Export) HasWeak(w WeakFields, num protoreflect.FieldNumber) bool {
- _, ok := w[int32(num)]
- return ok
-}
-
-func (Export) ClearWeak(w *WeakFields, num protoreflect.FieldNumber) {
- delete(*w, int32(num))
-}
-
-func (Export) GetWeak(w WeakFields, num protoreflect.FieldNumber, name protoreflect.FullName) protoreflect.ProtoMessage {
- if m, ok := w[int32(num)]; ok {
- return m
- }
- mt, _ := protoregistry.GlobalTypes.FindMessageByName(name)
- if mt == nil {
- panic(fmt.Sprintf("message %v for weak field is not linked in", name))
- }
- return mt.Zero().Interface()
-}
-
-func (Export) SetWeak(w *WeakFields, num protoreflect.FieldNumber, name protoreflect.FullName, m protoreflect.ProtoMessage) {
- if m != nil {
- mt, _ := protoregistry.GlobalTypes.FindMessageByName(name)
- if mt == nil {
- panic(fmt.Sprintf("message %v for weak field is not linked in", name))
- }
- if mt != m.ProtoReflect().Type() {
- panic(fmt.Sprintf("invalid message type for weak field: got %T, want %T", m, mt.Zero().Interface()))
- }
- }
- if m == nil || !m.ProtoReflect().IsValid() {
- delete(*w, int32(num))
- return
- }
- if *w == nil {
- *w = make(weakFields)
- }
- (*w)[int32(num)] = m
-}
diff --git a/vendor/google.golang.org/protobuf/internal/order/order.go b/vendor/google.golang.org/protobuf/internal/order/order.go
deleted file mode 100644
index dea522e1..00000000
--- a/vendor/google.golang.org/protobuf/internal/order/order.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package order
-
-import (
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// FieldOrder specifies the ordering to visit message fields.
-// It is a function that reports whether x is ordered before y.
-type FieldOrder func(x, y protoreflect.FieldDescriptor) bool
-
-var (
- // AnyFieldOrder specifies no specific field ordering.
- AnyFieldOrder FieldOrder = nil
-
- // LegacyFieldOrder sorts fields in the same ordering as emitted by
- // wire serialization in the github.com/golang/protobuf implementation.
- LegacyFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool {
- ox, oy := x.ContainingOneof(), y.ContainingOneof()
- inOneof := func(od protoreflect.OneofDescriptor) bool {
- return od != nil && !od.IsSynthetic()
- }
-
- // Extension fields sort before non-extension fields.
- if x.IsExtension() != y.IsExtension() {
- return x.IsExtension() && !y.IsExtension()
- }
- // Fields not within a oneof sort before those within a oneof.
- if inOneof(ox) != inOneof(oy) {
- return !inOneof(ox) && inOneof(oy)
- }
- // Fields in disjoint oneof sets are sorted by declaration index.
- if inOneof(ox) && inOneof(oy) && ox != oy {
- return ox.Index() < oy.Index()
- }
- // Fields sorted by field number.
- return x.Number() < y.Number()
- }
-
- // NumberFieldOrder sorts fields by their field number.
- NumberFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool {
- return x.Number() < y.Number()
- }
-
- // IndexNameFieldOrder sorts non-extension fields before extension fields.
- // Non-extensions are sorted according to their declaration index.
- // Extensions are sorted according to their full name.
- IndexNameFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool {
- // Non-extension fields sort before extension fields.
- if x.IsExtension() != y.IsExtension() {
- return !x.IsExtension() && y.IsExtension()
- }
- // Extensions sorted by fullname.
- if x.IsExtension() && y.IsExtension() {
- return x.FullName() < y.FullName()
- }
- // Non-extensions sorted by declaration index.
- return x.Index() < y.Index()
- }
-)
-
-// KeyOrder specifies the ordering to visit map entries.
-// It is a function that reports whether x is ordered before y.
-type KeyOrder func(x, y protoreflect.MapKey) bool
-
-var (
- // AnyKeyOrder specifies no specific key ordering.
- AnyKeyOrder KeyOrder = nil
-
- // GenericKeyOrder sorts false before true, numeric keys in ascending order,
- // and strings in lexicographical ordering according to UTF-8 codepoints.
- GenericKeyOrder KeyOrder = func(x, y protoreflect.MapKey) bool {
- switch x.Interface().(type) {
- case bool:
- return !x.Bool() && y.Bool()
- case int32, int64:
- return x.Int() < y.Int()
- case uint32, uint64:
- return x.Uint() < y.Uint()
- case string:
- return x.String() < y.String()
- default:
- panic("invalid map key type")
- }
- }
-)
diff --git a/vendor/google.golang.org/protobuf/internal/order/range.go b/vendor/google.golang.org/protobuf/internal/order/range.go
deleted file mode 100644
index 1665a68e..00000000
--- a/vendor/google.golang.org/protobuf/internal/order/range.go
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package order provides ordered access to messages and maps.
-package order
-
-import (
- "sort"
- "sync"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type messageField struct {
- fd protoreflect.FieldDescriptor
- v protoreflect.Value
-}
-
-var messageFieldPool = sync.Pool{
- New: func() interface{} { return new([]messageField) },
-}
-
-type (
- // FieldRnger is an interface for visiting all fields in a message.
- // The protoreflect.Message type implements this interface.
- FieldRanger interface{ Range(VisitField) }
- // VisitField is called every time a message field is visited.
- VisitField = func(protoreflect.FieldDescriptor, protoreflect.Value) bool
-)
-
-// RangeFields iterates over the fields of fs according to the specified order.
-func RangeFields(fs FieldRanger, less FieldOrder, fn VisitField) {
- if less == nil {
- fs.Range(fn)
- return
- }
-
- // Obtain a pre-allocated scratch buffer.
- p := messageFieldPool.Get().(*[]messageField)
- fields := (*p)[:0]
- defer func() {
- if cap(fields) < 1024 {
- *p = fields
- messageFieldPool.Put(p)
- }
- }()
-
- // Collect all fields in the message and sort them.
- fs.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- fields = append(fields, messageField{fd, v})
- return true
- })
- sort.Slice(fields, func(i, j int) bool {
- return less(fields[i].fd, fields[j].fd)
- })
-
- // Visit the fields in the specified ordering.
- for _, f := range fields {
- if !fn(f.fd, f.v) {
- return
- }
- }
-}
-
-type mapEntry struct {
- k protoreflect.MapKey
- v protoreflect.Value
-}
-
-var mapEntryPool = sync.Pool{
- New: func() interface{} { return new([]mapEntry) },
-}
-
-type (
- // EntryRanger is an interface for visiting all fields in a message.
- // The protoreflect.Map type implements this interface.
- EntryRanger interface{ Range(VisitEntry) }
- // VisitEntry is called every time a map entry is visited.
- VisitEntry = func(protoreflect.MapKey, protoreflect.Value) bool
-)
-
-// RangeEntries iterates over the entries of es according to the specified order.
-func RangeEntries(es EntryRanger, less KeyOrder, fn VisitEntry) {
- if less == nil {
- es.Range(fn)
- return
- }
-
- // Obtain a pre-allocated scratch buffer.
- p := mapEntryPool.Get().(*[]mapEntry)
- entries := (*p)[:0]
- defer func() {
- if cap(entries) < 1024 {
- *p = entries
- mapEntryPool.Put(p)
- }
- }()
-
- // Collect all entries in the map and sort them.
- es.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool {
- entries = append(entries, mapEntry{k, v})
- return true
- })
- sort.Slice(entries, func(i, j int) bool {
- return less(entries[i].k, entries[j].k)
- })
-
- // Visit the entries in the specified ordering.
- for _, e := range entries {
- if !fn(e.k, e.v) {
- return
- }
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/pragma/pragma.go b/vendor/google.golang.org/protobuf/internal/pragma/pragma.go
deleted file mode 100644
index 49dc4fcd..00000000
--- a/vendor/google.golang.org/protobuf/internal/pragma/pragma.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package pragma provides types that can be embedded into a struct to
-// statically enforce or prevent certain language properties.
-package pragma
-
-import "sync"
-
-// NoUnkeyedLiterals can be embedded in a struct to prevent unkeyed literals.
-type NoUnkeyedLiterals struct{}
-
-// DoNotImplement can be embedded in an interface to prevent trivial
-// implementations of the interface.
-//
-// This is useful to prevent unauthorized implementations of an interface
-// so that it can be extended in the future for any protobuf language changes.
-type DoNotImplement interface{ ProtoInternal(DoNotImplement) }
-
-// DoNotCompare can be embedded in a struct to prevent comparability.
-type DoNotCompare [0]func()
-
-// DoNotCopy can be embedded in a struct to help prevent shallow copies.
-// This does not rely on a Go language feature, but rather a special case
-// within the vet checker.
-//
-// See https://golang.org/issues/8005.
-type DoNotCopy [0]sync.Mutex
diff --git a/vendor/google.golang.org/protobuf/internal/set/ints.go b/vendor/google.golang.org/protobuf/internal/set/ints.go
deleted file mode 100644
index d3d7f89a..00000000
--- a/vendor/google.golang.org/protobuf/internal/set/ints.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package set provides simple set data structures for uint64s.
-package set
-
-import "math/bits"
-
-// int64s represents a set of integers within the range of 0..63.
-type int64s uint64
-
-func (bs *int64s) Len() int {
- return bits.OnesCount64(uint64(*bs))
-}
-func (bs *int64s) Has(n uint64) bool {
- return uint64(*bs)&(uint64(1)< 0
-}
-func (bs *int64s) Set(n uint64) {
- *(*uint64)(bs) |= uint64(1) << n
-}
-func (bs *int64s) Clear(n uint64) {
- *(*uint64)(bs) &^= uint64(1) << n
-}
-
-// Ints represents a set of integers within the range of 0..math.MaxUint64.
-type Ints struct {
- lo int64s
- hi map[uint64]struct{}
-}
-
-func (bs *Ints) Len() int {
- return bs.lo.Len() + len(bs.hi)
-}
-func (bs *Ints) Has(n uint64) bool {
- if n < 64 {
- return bs.lo.Has(n)
- }
- _, ok := bs.hi[n]
- return ok
-}
-func (bs *Ints) Set(n uint64) {
- if n < 64 {
- bs.lo.Set(n)
- return
- }
- if bs.hi == nil {
- bs.hi = make(map[uint64]struct{})
- }
- bs.hi[n] = struct{}{}
-}
-func (bs *Ints) Clear(n uint64) {
- if n < 64 {
- bs.lo.Clear(n)
- return
- }
- delete(bs.hi, n)
-}
diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings.go b/vendor/google.golang.org/protobuf/internal/strs/strings.go
deleted file mode 100644
index a6e7df24..00000000
--- a/vendor/google.golang.org/protobuf/internal/strs/strings.go
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package strs provides string manipulation functionality specific to protobuf.
-package strs
-
-import (
- "go/token"
- "strings"
- "unicode"
- "unicode/utf8"
-
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// EnforceUTF8 reports whether to enforce strict UTF-8 validation.
-func EnforceUTF8(fd protoreflect.FieldDescriptor) bool {
- if flags.ProtoLegacy || fd.Syntax() == protoreflect.Editions {
- if fd, ok := fd.(interface{ EnforceUTF8() bool }); ok {
- return fd.EnforceUTF8()
- }
- }
- return fd.Syntax() == protoreflect.Proto3
-}
-
-// GoCamelCase camel-cases a protobuf name for use as a Go identifier.
-//
-// If there is an interior underscore followed by a lower case letter,
-// drop the underscore and convert the letter to upper case.
-func GoCamelCase(s string) string {
- // Invariant: if the next letter is lower case, it must be converted
- // to upper case.
- // That is, we process a word at a time, where words are marked by _ or
- // upper case letter. Digits are treated as words.
- var b []byte
- for i := 0; i < len(s); i++ {
- c := s[i]
- switch {
- case c == '.' && i+1 < len(s) && isASCIILower(s[i+1]):
- // Skip over '.' in ".{{lowercase}}".
- case c == '.':
- b = append(b, '_') // convert '.' to '_'
- case c == '_' && (i == 0 || s[i-1] == '.'):
- // Convert initial '_' to ensure we start with a capital letter.
- // Do the same for '_' after '.' to match historic behavior.
- b = append(b, 'X') // convert '_' to 'X'
- case c == '_' && i+1 < len(s) && isASCIILower(s[i+1]):
- // Skip over '_' in "_{{lowercase}}".
- case isASCIIDigit(c):
- b = append(b, c)
- default:
- // Assume we have a letter now - if not, it's a bogus identifier.
- // The next word is a sequence of characters that must start upper case.
- if isASCIILower(c) {
- c -= 'a' - 'A' // convert lowercase to uppercase
- }
- b = append(b, c)
-
- // Accept lower case sequence that follows.
- for ; i+1 < len(s) && isASCIILower(s[i+1]); i++ {
- b = append(b, s[i+1])
- }
- }
- }
- return string(b)
-}
-
-// GoSanitized converts a string to a valid Go identifier.
-func GoSanitized(s string) string {
- // Sanitize the input to the set of valid characters,
- // which must be '_' or be in the Unicode L or N categories.
- s = strings.Map(func(r rune) rune {
- if unicode.IsLetter(r) || unicode.IsDigit(r) {
- return r
- }
- return '_'
- }, s)
-
- // Prepend '_' in the event of a Go keyword conflict or if
- // the identifier is invalid (does not start in the Unicode L category).
- r, _ := utf8.DecodeRuneInString(s)
- if token.Lookup(s).IsKeyword() || !unicode.IsLetter(r) {
- return "_" + s
- }
- return s
-}
-
-// JSONCamelCase converts a snake_case identifier to a camelCase identifier,
-// according to the protobuf JSON specification.
-func JSONCamelCase(s string) string {
- var b []byte
- var wasUnderscore bool
- for i := 0; i < len(s); i++ { // proto identifiers are always ASCII
- c := s[i]
- if c != '_' {
- if wasUnderscore && isASCIILower(c) {
- c -= 'a' - 'A' // convert to uppercase
- }
- b = append(b, c)
- }
- wasUnderscore = c == '_'
- }
- return string(b)
-}
-
-// JSONSnakeCase converts a camelCase identifier to a snake_case identifier,
-// according to the protobuf JSON specification.
-func JSONSnakeCase(s string) string {
- var b []byte
- for i := 0; i < len(s); i++ { // proto identifiers are always ASCII
- c := s[i]
- if isASCIIUpper(c) {
- b = append(b, '_')
- c += 'a' - 'A' // convert to lowercase
- }
- b = append(b, c)
- }
- return string(b)
-}
-
-// MapEntryName derives the name of the map entry message given the field name.
-// See protoc v3.8.0: src/google/protobuf/descriptor.cc:254-276,6057
-func MapEntryName(s string) string {
- var b []byte
- upperNext := true
- for _, c := range s {
- switch {
- case c == '_':
- upperNext = true
- case upperNext:
- b = append(b, byte(unicode.ToUpper(c)))
- upperNext = false
- default:
- b = append(b, byte(c))
- }
- }
- b = append(b, "Entry"...)
- return string(b)
-}
-
-// EnumValueName derives the camel-cased enum value name.
-// See protoc v3.8.0: src/google/protobuf/descriptor.cc:297-313
-func EnumValueName(s string) string {
- var b []byte
- upperNext := true
- for _, c := range s {
- switch {
- case c == '_':
- upperNext = true
- case upperNext:
- b = append(b, byte(unicode.ToUpper(c)))
- upperNext = false
- default:
- b = append(b, byte(unicode.ToLower(c)))
- upperNext = false
- }
- }
- return string(b)
-}
-
-// TrimEnumPrefix trims the enum name prefix from an enum value name,
-// where the prefix is all lowercase without underscores.
-// See protoc v3.8.0: src/google/protobuf/descriptor.cc:330-375
-func TrimEnumPrefix(s, prefix string) string {
- s0 := s // original input
- for len(s) > 0 && len(prefix) > 0 {
- if s[0] == '_' {
- s = s[1:]
- continue
- }
- if unicode.ToLower(rune(s[0])) != rune(prefix[0]) {
- return s0 // no prefix match
- }
- s, prefix = s[1:], prefix[1:]
- }
- if len(prefix) > 0 {
- return s0 // no prefix match
- }
- s = strings.TrimLeft(s, "_")
- if len(s) == 0 {
- return s0 // avoid returning empty string
- }
- return s
-}
-
-func isASCIILower(c byte) bool {
- return 'a' <= c && c <= 'z'
-}
-func isASCIIUpper(c byte) bool {
- return 'A' <= c && c <= 'Z'
-}
-func isASCIIDigit(c byte) bool {
- return '0' <= c && c <= '9'
-}
diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go b/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go
deleted file mode 100644
index a1f6f333..00000000
--- a/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build purego || appengine
-// +build purego appengine
-
-package strs
-
-import pref "google.golang.org/protobuf/reflect/protoreflect"
-
-func UnsafeString(b []byte) string {
- return string(b)
-}
-
-func UnsafeBytes(s string) []byte {
- return []byte(s)
-}
-
-type Builder struct{}
-
-func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName {
- return prefix.Append(name)
-}
-
-func (*Builder) MakeString(b []byte) string {
- return string(b)
-}
diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go
deleted file mode 100644
index a008acd0..00000000
--- a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !purego && !appengine && !go1.21
-// +build !purego,!appengine,!go1.21
-
-package strs
-
-import (
- "unsafe"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-type (
- stringHeader struct {
- Data unsafe.Pointer
- Len int
- }
- sliceHeader struct {
- Data unsafe.Pointer
- Len int
- Cap int
- }
-)
-
-// UnsafeString returns an unsafe string reference of b.
-// The caller must treat the input slice as immutable.
-//
-// WARNING: Use carefully. The returned result must not leak to the end user
-// unless the input slice is provably immutable.
-func UnsafeString(b []byte) (s string) {
- src := (*sliceHeader)(unsafe.Pointer(&b))
- dst := (*stringHeader)(unsafe.Pointer(&s))
- dst.Data = src.Data
- dst.Len = src.Len
- return s
-}
-
-// UnsafeBytes returns an unsafe bytes slice reference of s.
-// The caller must treat returned slice as immutable.
-//
-// WARNING: Use carefully. The returned result must not leak to the end user.
-func UnsafeBytes(s string) (b []byte) {
- src := (*stringHeader)(unsafe.Pointer(&s))
- dst := (*sliceHeader)(unsafe.Pointer(&b))
- dst.Data = src.Data
- dst.Len = src.Len
- dst.Cap = src.Len
- return b
-}
-
-// Builder builds a set of strings with shared lifetime.
-// This differs from strings.Builder, which is for building a single string.
-type Builder struct {
- buf []byte
-}
-
-// AppendFullName is equivalent to protoreflect.FullName.Append,
-// but optimized for large batches where each name has a shared lifetime.
-func (sb *Builder) AppendFullName(prefix protoreflect.FullName, name protoreflect.Name) protoreflect.FullName {
- n := len(prefix) + len(".") + len(name)
- if len(prefix) == 0 {
- n -= len(".")
- }
- sb.grow(n)
- sb.buf = append(sb.buf, prefix...)
- sb.buf = append(sb.buf, '.')
- sb.buf = append(sb.buf, name...)
- return protoreflect.FullName(sb.last(n))
-}
-
-// MakeString is equivalent to string(b), but optimized for large batches
-// with a shared lifetime.
-func (sb *Builder) MakeString(b []byte) string {
- sb.grow(len(b))
- sb.buf = append(sb.buf, b...)
- return sb.last(len(b))
-}
-
-func (sb *Builder) grow(n int) {
- if cap(sb.buf)-len(sb.buf) >= n {
- return
- }
-
- // Unlike strings.Builder, we do not need to copy over the contents
- // of the old buffer since our builder provides no API for
- // retrieving previously created strings.
- sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n))
-}
-
-func (sb *Builder) last(n int) string {
- return UnsafeString(sb.buf[len(sb.buf)-n:])
-}
diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go
deleted file mode 100644
index 60166f2b..00000000
--- a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !purego && !appengine && go1.21
-// +build !purego,!appengine,go1.21
-
-package strs
-
-import (
- "unsafe"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// UnsafeString returns an unsafe string reference of b.
-// The caller must treat the input slice as immutable.
-//
-// WARNING: Use carefully. The returned result must not leak to the end user
-// unless the input slice is provably immutable.
-func UnsafeString(b []byte) string {
- return unsafe.String(unsafe.SliceData(b), len(b))
-}
-
-// UnsafeBytes returns an unsafe bytes slice reference of s.
-// The caller must treat returned slice as immutable.
-//
-// WARNING: Use carefully. The returned result must not leak to the end user.
-func UnsafeBytes(s string) []byte {
- return unsafe.Slice(unsafe.StringData(s), len(s))
-}
-
-// Builder builds a set of strings with shared lifetime.
-// This differs from strings.Builder, which is for building a single string.
-type Builder struct {
- buf []byte
-}
-
-// AppendFullName is equivalent to protoreflect.FullName.Append,
-// but optimized for large batches where each name has a shared lifetime.
-func (sb *Builder) AppendFullName(prefix protoreflect.FullName, name protoreflect.Name) protoreflect.FullName {
- n := len(prefix) + len(".") + len(name)
- if len(prefix) == 0 {
- n -= len(".")
- }
- sb.grow(n)
- sb.buf = append(sb.buf, prefix...)
- sb.buf = append(sb.buf, '.')
- sb.buf = append(sb.buf, name...)
- return protoreflect.FullName(sb.last(n))
-}
-
-// MakeString is equivalent to string(b), but optimized for large batches
-// with a shared lifetime.
-func (sb *Builder) MakeString(b []byte) string {
- sb.grow(len(b))
- sb.buf = append(sb.buf, b...)
- return sb.last(len(b))
-}
-
-func (sb *Builder) grow(n int) {
- if cap(sb.buf)-len(sb.buf) >= n {
- return
- }
-
- // Unlike strings.Builder, we do not need to copy over the contents
- // of the old buffer since our builder provides no API for
- // retrieving previously created strings.
- sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n))
-}
-
-func (sb *Builder) last(n int) string {
- return UnsafeString(sb.buf[len(sb.buf)-n:])
-}
diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go
deleted file mode 100644
index a50fcfb4..00000000
--- a/vendor/google.golang.org/protobuf/internal/version/version.go
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package version records versioning information about this module.
-package version
-
-import (
- "fmt"
- "strings"
-)
-
-// These constants determine the current version of this module.
-//
-// For our release process, we enforce the following rules:
-// - Tagged releases use a tag that is identical to String.
-// - Tagged releases never reference a commit where the String
-// contains "devel".
-// - The set of all commits in this repository where String
-// does not contain "devel" must have a unique String.
-//
-// Steps for tagging a new release:
-//
-// 1. Create a new CL.
-//
-// 2. Update Minor, Patch, and/or PreRelease as necessary.
-// PreRelease must not contain the string "devel".
-//
-// 3. Since the last released minor version, have there been any changes to
-// generator that relies on new functionality in the runtime?
-// If yes, then increment RequiredGenerated.
-//
-// 4. Since the last released minor version, have there been any changes to
-// the runtime that removes support for old .pb.go source code?
-// If yes, then increment SupportMinimum.
-//
-// 5. Send out the CL for review and submit it.
-// Note that the next CL in step 8 must be submitted after this CL
-// without any other CLs in-between.
-//
-// 6. Tag a new version, where the tag is is the current String.
-//
-// 7. Write release notes for all notable changes
-// between this release and the last release.
-//
-// 8. Create a new CL.
-//
-// 9. Update PreRelease to include the string "devel".
-// For example: "" -> "devel" or "rc.1" -> "rc.1.devel"
-//
-// 10. Send out the CL for review and submit it.
-const (
- Major = 1
- Minor = 33
- Patch = 0
- PreRelease = ""
-)
-
-// String formats the version string for this module in semver format.
-//
-// Examples:
-//
-// v1.20.1
-// v1.21.0-rc.1
-func String() string {
- v := fmt.Sprintf("v%d.%d.%d", Major, Minor, Patch)
- if PreRelease != "" {
- v += "-" + PreRelease
-
- // TODO: Add metadata about the commit or build hash.
- // See https://golang.org/issue/29814
- // See https://golang.org/issue/33533
- var metadata string
- if strings.Contains(PreRelease, "devel") && metadata != "" {
- v += "+" + metadata
- }
- }
- return v
-}
diff --git a/vendor/google.golang.org/protobuf/proto/checkinit.go b/vendor/google.golang.org/protobuf/proto/checkinit.go
deleted file mode 100644
index 3e9a6a2f..00000000
--- a/vendor/google.golang.org/protobuf/proto/checkinit.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// CheckInitialized returns an error if any required fields in m are not set.
-func CheckInitialized(m Message) error {
- // Treat a nil message interface as an "untyped" empty message,
- // which we assume to have no required fields.
- if m == nil {
- return nil
- }
-
- return checkInitialized(m.ProtoReflect())
-}
-
-// CheckInitialized returns an error if any required fields in m are not set.
-func checkInitialized(m protoreflect.Message) error {
- if methods := protoMethods(m); methods != nil && methods.CheckInitialized != nil {
- _, err := methods.CheckInitialized(protoiface.CheckInitializedInput{
- Message: m,
- })
- return err
- }
- return checkInitializedSlow(m)
-}
-
-func checkInitializedSlow(m protoreflect.Message) error {
- md := m.Descriptor()
- fds := md.Fields()
- for i, nums := 0, md.RequiredNumbers(); i < nums.Len(); i++ {
- fd := fds.ByNumber(nums.Get(i))
- if !m.Has(fd) {
- return errors.RequiredNotSet(string(fd.FullName()))
- }
- }
- var err error
- m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- switch {
- case fd.IsList():
- if fd.Message() == nil {
- return true
- }
- for i, list := 0, v.List(); i < list.Len() && err == nil; i++ {
- err = checkInitialized(list.Get(i).Message())
- }
- case fd.IsMap():
- if fd.MapValue().Message() == nil {
- return true
- }
- v.Map().Range(func(key protoreflect.MapKey, v protoreflect.Value) bool {
- err = checkInitialized(v.Message())
- return err == nil
- })
- default:
- if fd.Message() == nil {
- return true
- }
- err = checkInitialized(v.Message())
- }
- return err == nil
- })
- return err
-}
diff --git a/vendor/google.golang.org/protobuf/proto/decode.go b/vendor/google.golang.org/protobuf/proto/decode.go
deleted file mode 100644
index e5b03b56..00000000
--- a/vendor/google.golang.org/protobuf/proto/decode.go
+++ /dev/null
@@ -1,294 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// UnmarshalOptions configures the unmarshaler.
-//
-// Example usage:
-//
-// err := UnmarshalOptions{DiscardUnknown: true}.Unmarshal(b, m)
-type UnmarshalOptions struct {
- pragma.NoUnkeyedLiterals
-
- // Merge merges the input into the destination message.
- // The default behavior is to always reset the message before unmarshaling,
- // unless Merge is specified.
- Merge bool
-
- // AllowPartial accepts input for messages that will result in missing
- // required fields. If AllowPartial is false (the default), Unmarshal will
- // return an error if there are any missing required fields.
- AllowPartial bool
-
- // If DiscardUnknown is set, unknown fields are ignored.
- DiscardUnknown bool
-
- // Resolver is used for looking up types when unmarshaling extension fields.
- // If nil, this defaults to using protoregistry.GlobalTypes.
- Resolver interface {
- FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error)
- FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error)
- }
-
- // RecursionLimit limits how deeply messages may be nested.
- // If zero, a default limit is applied.
- RecursionLimit int
-}
-
-// Unmarshal parses the wire-format message in b and places the result in m.
-// The provided message must be mutable (e.g., a non-nil pointer to a message).
-func Unmarshal(b []byte, m Message) error {
- _, err := UnmarshalOptions{RecursionLimit: protowire.DefaultRecursionLimit}.unmarshal(b, m.ProtoReflect())
- return err
-}
-
-// Unmarshal parses the wire-format message in b and places the result in m.
-// The provided message must be mutable (e.g., a non-nil pointer to a message).
-func (o UnmarshalOptions) Unmarshal(b []byte, m Message) error {
- if o.RecursionLimit == 0 {
- o.RecursionLimit = protowire.DefaultRecursionLimit
- }
- _, err := o.unmarshal(b, m.ProtoReflect())
- return err
-}
-
-// UnmarshalState parses a wire-format message and places the result in m.
-//
-// This method permits fine-grained control over the unmarshaler.
-// Most users should use [Unmarshal] instead.
-func (o UnmarshalOptions) UnmarshalState(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
- if o.RecursionLimit == 0 {
- o.RecursionLimit = protowire.DefaultRecursionLimit
- }
- return o.unmarshal(in.Buf, in.Message)
-}
-
-// unmarshal is a centralized function that all unmarshal operations go through.
-// For profiling purposes, avoid changing the name of this function or
-// introducing other code paths for unmarshal that do not go through this.
-func (o UnmarshalOptions) unmarshal(b []byte, m protoreflect.Message) (out protoiface.UnmarshalOutput, err error) {
- if o.Resolver == nil {
- o.Resolver = protoregistry.GlobalTypes
- }
- if !o.Merge {
- Reset(m.Interface())
- }
- allowPartial := o.AllowPartial
- o.Merge = true
- o.AllowPartial = true
- methods := protoMethods(m)
- if methods != nil && methods.Unmarshal != nil &&
- !(o.DiscardUnknown && methods.Flags&protoiface.SupportUnmarshalDiscardUnknown == 0) {
- in := protoiface.UnmarshalInput{
- Message: m,
- Buf: b,
- Resolver: o.Resolver,
- Depth: o.RecursionLimit,
- }
- if o.DiscardUnknown {
- in.Flags |= protoiface.UnmarshalDiscardUnknown
- }
- out, err = methods.Unmarshal(in)
- } else {
- o.RecursionLimit--
- if o.RecursionLimit < 0 {
- return out, errors.New("exceeded max recursion depth")
- }
- err = o.unmarshalMessageSlow(b, m)
- }
- if err != nil {
- return out, err
- }
- if allowPartial || (out.Flags&protoiface.UnmarshalInitialized != 0) {
- return out, nil
- }
- return out, checkInitialized(m)
-}
-
-func (o UnmarshalOptions) unmarshalMessage(b []byte, m protoreflect.Message) error {
- _, err := o.unmarshal(b, m)
- return err
-}
-
-func (o UnmarshalOptions) unmarshalMessageSlow(b []byte, m protoreflect.Message) error {
- md := m.Descriptor()
- if messageset.IsMessageSet(md) {
- return o.unmarshalMessageSet(b, m)
- }
- fields := md.Fields()
- for len(b) > 0 {
- // Parse the tag (field number and wire type).
- num, wtyp, tagLen := protowire.ConsumeTag(b)
- if tagLen < 0 {
- return errDecode
- }
- if num > protowire.MaxValidNumber {
- return errDecode
- }
-
- // Find the field descriptor for this field number.
- fd := fields.ByNumber(num)
- if fd == nil && md.ExtensionRanges().Has(num) {
- extType, err := o.Resolver.FindExtensionByNumber(md.FullName(), num)
- if err != nil && err != protoregistry.NotFound {
- return errors.New("%v: unable to resolve extension %v: %v", md.FullName(), num, err)
- }
- if extType != nil {
- fd = extType.TypeDescriptor()
- }
- }
- var err error
- if fd == nil {
- err = errUnknown
- } else if flags.ProtoLegacy {
- if fd.IsWeak() && fd.Message().IsPlaceholder() {
- err = errUnknown // weak referent is not linked in
- }
- }
-
- // Parse the field value.
- var valLen int
- switch {
- case err != nil:
- case fd.IsList():
- valLen, err = o.unmarshalList(b[tagLen:], wtyp, m.Mutable(fd).List(), fd)
- case fd.IsMap():
- valLen, err = o.unmarshalMap(b[tagLen:], wtyp, m.Mutable(fd).Map(), fd)
- default:
- valLen, err = o.unmarshalSingular(b[tagLen:], wtyp, m, fd)
- }
- if err != nil {
- if err != errUnknown {
- return err
- }
- valLen = protowire.ConsumeFieldValue(num, wtyp, b[tagLen:])
- if valLen < 0 {
- return errDecode
- }
- if !o.DiscardUnknown {
- m.SetUnknown(append(m.GetUnknown(), b[:tagLen+valLen]...))
- }
- }
- b = b[tagLen+valLen:]
- }
- return nil
-}
-
-func (o UnmarshalOptions) unmarshalSingular(b []byte, wtyp protowire.Type, m protoreflect.Message, fd protoreflect.FieldDescriptor) (n int, err error) {
- v, n, err := o.unmarshalScalar(b, wtyp, fd)
- if err != nil {
- return 0, err
- }
- switch fd.Kind() {
- case protoreflect.GroupKind, protoreflect.MessageKind:
- m2 := m.Mutable(fd).Message()
- if err := o.unmarshalMessage(v.Bytes(), m2); err != nil {
- return n, err
- }
- default:
- // Non-message scalars replace the previous value.
- m.Set(fd, v)
- }
- return n, nil
-}
-
-func (o UnmarshalOptions) unmarshalMap(b []byte, wtyp protowire.Type, mapv protoreflect.Map, fd protoreflect.FieldDescriptor) (n int, err error) {
- if wtyp != protowire.BytesType {
- return 0, errUnknown
- }
- b, n = protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- var (
- keyField = fd.MapKey()
- valField = fd.MapValue()
- key protoreflect.Value
- val protoreflect.Value
- haveKey bool
- haveVal bool
- )
- switch valField.Kind() {
- case protoreflect.GroupKind, protoreflect.MessageKind:
- val = mapv.NewValue()
- }
- // Map entries are represented as a two-element message with fields
- // containing the key and value.
- for len(b) > 0 {
- num, wtyp, n := protowire.ConsumeTag(b)
- if n < 0 {
- return 0, errDecode
- }
- if num > protowire.MaxValidNumber {
- return 0, errDecode
- }
- b = b[n:]
- err = errUnknown
- switch num {
- case genid.MapEntry_Key_field_number:
- key, n, err = o.unmarshalScalar(b, wtyp, keyField)
- if err != nil {
- break
- }
- haveKey = true
- case genid.MapEntry_Value_field_number:
- var v protoreflect.Value
- v, n, err = o.unmarshalScalar(b, wtyp, valField)
- if err != nil {
- break
- }
- switch valField.Kind() {
- case protoreflect.GroupKind, protoreflect.MessageKind:
- if err := o.unmarshalMessage(v.Bytes(), val.Message()); err != nil {
- return 0, err
- }
- default:
- val = v
- }
- haveVal = true
- }
- if err == errUnknown {
- n = protowire.ConsumeFieldValue(num, wtyp, b)
- if n < 0 {
- return 0, errDecode
- }
- } else if err != nil {
- return 0, err
- }
- b = b[n:]
- }
- // Every map entry should have entries for key and value, but this is not strictly required.
- if !haveKey {
- key = keyField.Default()
- }
- if !haveVal {
- switch valField.Kind() {
- case protoreflect.GroupKind, protoreflect.MessageKind:
- default:
- val = valField.Default()
- }
- }
- mapv.Set(key.MapKey(), val)
- return n, nil
-}
-
-// errUnknown is used internally to indicate fields which should be added
-// to the unknown field set of a message. It is never returned from an exported
-// function.
-var errUnknown = errors.New("BUG: internal error (unknown)")
-
-var errDecode = errors.New("cannot parse invalid wire-format data")
diff --git a/vendor/google.golang.org/protobuf/proto/decode_gen.go b/vendor/google.golang.org/protobuf/proto/decode_gen.go
deleted file mode 100644
index 301eeb20..00000000
--- a/vendor/google.golang.org/protobuf/proto/decode_gen.go
+++ /dev/null
@@ -1,603 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-types. DO NOT EDIT.
-
-package proto
-
-import (
- "math"
- "unicode/utf8"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// unmarshalScalar decodes a value of the given kind.
-//
-// Message values are decoded into a []byte which aliases the input data.
-func (o UnmarshalOptions) unmarshalScalar(b []byte, wtyp protowire.Type, fd protoreflect.FieldDescriptor) (val protoreflect.Value, n int, err error) {
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfBool(protowire.DecodeBool(v)), n, nil
- case protoreflect.EnumKind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)), n, nil
- case protoreflect.Int32Kind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfInt32(int32(v)), n, nil
- case protoreflect.Sint32Kind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))), n, nil
- case protoreflect.Uint32Kind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfUint32(uint32(v)), n, nil
- case protoreflect.Int64Kind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfInt64(int64(v)), n, nil
- case protoreflect.Sint64Kind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)), n, nil
- case protoreflect.Uint64Kind:
- if wtyp != protowire.VarintType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfUint64(v), n, nil
- case protoreflect.Sfixed32Kind:
- if wtyp != protowire.Fixed32Type {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfInt32(int32(v)), n, nil
- case protoreflect.Fixed32Kind:
- if wtyp != protowire.Fixed32Type {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfUint32(uint32(v)), n, nil
- case protoreflect.FloatKind:
- if wtyp != protowire.Fixed32Type {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))), n, nil
- case protoreflect.Sfixed64Kind:
- if wtyp != protowire.Fixed64Type {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfInt64(int64(v)), n, nil
- case protoreflect.Fixed64Kind:
- if wtyp != protowire.Fixed64Type {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfUint64(v), n, nil
- case protoreflect.DoubleKind:
- if wtyp != protowire.Fixed64Type {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfFloat64(math.Float64frombits(v)), n, nil
- case protoreflect.StringKind:
- if wtyp != protowire.BytesType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return val, 0, errDecode
- }
- if strs.EnforceUTF8(fd) && !utf8.Valid(v) {
- return protoreflect.Value{}, 0, errors.InvalidUTF8(string(fd.FullName()))
- }
- return protoreflect.ValueOfString(string(v)), n, nil
- case protoreflect.BytesKind:
- if wtyp != protowire.BytesType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfBytes(append(emptyBuf[:], v...)), n, nil
- case protoreflect.MessageKind:
- if wtyp != protowire.BytesType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfBytes(v), n, nil
- case protoreflect.GroupKind:
- if wtyp != protowire.StartGroupType {
- return val, 0, errUnknown
- }
- v, n := protowire.ConsumeGroup(fd.Number(), b)
- if n < 0 {
- return val, 0, errDecode
- }
- return protoreflect.ValueOfBytes(v), n, nil
- default:
- return val, 0, errUnknown
- }
-}
-
-func (o UnmarshalOptions) unmarshalList(b []byte, wtyp protowire.Type, list protoreflect.List, fd protoreflect.FieldDescriptor) (n int, err error) {
- switch fd.Kind() {
- case protoreflect.BoolKind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v)))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfBool(protowire.DecodeBool(v)))
- return n, nil
- case protoreflect.EnumKind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfEnum(protoreflect.EnumNumber(v)))
- return n, nil
- case protoreflect.Int32Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- return n, nil
- case protoreflect.Sint32Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(protowire.DecodeZigZag(v & math.MaxUint32))))
- return n, nil
- case protoreflect.Uint32Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- return n, nil
- case protoreflect.Int64Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- return n, nil
- case protoreflect.Sint64Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(protowire.DecodeZigZag(v)))
- return n, nil
- case protoreflect.Uint64Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeVarint(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfUint64(v))
- }
- return n, nil
- }
- if wtyp != protowire.VarintType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeVarint(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfUint64(v))
- return n, nil
- case protoreflect.Sfixed32Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeFixed32(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- }
- return n, nil
- }
- if wtyp != protowire.Fixed32Type {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfInt32(int32(v)))
- return n, nil
- case protoreflect.Fixed32Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeFixed32(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- }
- return n, nil
- }
- if wtyp != protowire.Fixed32Type {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfUint32(uint32(v)))
- return n, nil
- case protoreflect.FloatKind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeFixed32(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))))
- }
- return n, nil
- }
- if wtyp != protowire.Fixed32Type {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeFixed32(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfFloat32(math.Float32frombits(uint32(v))))
- return n, nil
- case protoreflect.Sfixed64Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeFixed64(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- }
- return n, nil
- }
- if wtyp != protowire.Fixed64Type {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfInt64(int64(v)))
- return n, nil
- case protoreflect.Fixed64Kind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeFixed64(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfUint64(v))
- }
- return n, nil
- }
- if wtyp != protowire.Fixed64Type {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfUint64(v))
- return n, nil
- case protoreflect.DoubleKind:
- if wtyp == protowire.BytesType {
- buf, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- for len(buf) > 0 {
- v, n := protowire.ConsumeFixed64(buf)
- if n < 0 {
- return 0, errDecode
- }
- buf = buf[n:]
- list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v)))
- }
- return n, nil
- }
- if wtyp != protowire.Fixed64Type {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeFixed64(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfFloat64(math.Float64frombits(v)))
- return n, nil
- case protoreflect.StringKind:
- if wtyp != protowire.BytesType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- if strs.EnforceUTF8(fd) && !utf8.Valid(v) {
- return 0, errors.InvalidUTF8(string(fd.FullName()))
- }
- list.Append(protoreflect.ValueOfString(string(v)))
- return n, nil
- case protoreflect.BytesKind:
- if wtyp != protowire.BytesType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- list.Append(protoreflect.ValueOfBytes(append(emptyBuf[:], v...)))
- return n, nil
- case protoreflect.MessageKind:
- if wtyp != protowire.BytesType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeBytes(b)
- if n < 0 {
- return 0, errDecode
- }
- m := list.NewElement()
- if err := o.unmarshalMessage(v, m.Message()); err != nil {
- return 0, err
- }
- list.Append(m)
- return n, nil
- case protoreflect.GroupKind:
- if wtyp != protowire.StartGroupType {
- return 0, errUnknown
- }
- v, n := protowire.ConsumeGroup(fd.Number(), b)
- if n < 0 {
- return 0, errDecode
- }
- m := list.NewElement()
- if err := o.unmarshalMessage(v, m.Message()); err != nil {
- return 0, err
- }
- list.Append(m)
- return n, nil
- default:
- return 0, errUnknown
- }
-}
-
-// We append to an empty array rather than a nil []byte to get non-nil zero-length byte slices.
-var emptyBuf [0]byte
diff --git a/vendor/google.golang.org/protobuf/proto/doc.go b/vendor/google.golang.org/protobuf/proto/doc.go
deleted file mode 100644
index 80ed16a0..00000000
--- a/vendor/google.golang.org/protobuf/proto/doc.go
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package proto provides functions operating on protocol buffer messages.
-//
-// For documentation on protocol buffers in general, see:
-// https://protobuf.dev.
-//
-// For a tutorial on using protocol buffers with Go, see:
-// https://protobuf.dev/getting-started/gotutorial.
-//
-// For a guide to generated Go protocol buffer code, see:
-// https://protobuf.dev/reference/go/go-generated.
-//
-// # Binary serialization
-//
-// This package contains functions to convert to and from the wire format,
-// an efficient binary serialization of protocol buffers.
-//
-// - [Size] reports the size of a message in the wire format.
-//
-// - [Marshal] converts a message to the wire format.
-// The [MarshalOptions] type provides more control over wire marshaling.
-//
-// - [Unmarshal] converts a message from the wire format.
-// The [UnmarshalOptions] type provides more control over wire unmarshaling.
-//
-// # Basic message operations
-//
-// - [Clone] makes a deep copy of a message.
-//
-// - [Merge] merges the content of a message into another.
-//
-// - [Equal] compares two messages. For more control over comparisons
-// and detailed reporting of differences, see package
-// [google.golang.org/protobuf/testing/protocmp].
-//
-// - [Reset] clears the content of a message.
-//
-// - [CheckInitialized] reports whether all required fields in a message are set.
-//
-// # Optional scalar constructors
-//
-// The API for some generated messages represents optional scalar fields
-// as pointers to a value. For example, an optional string field has the
-// Go type *string.
-//
-// - [Bool], [Int32], [Int64], [Uint32], [Uint64], [Float32], [Float64], and [String]
-// take a value and return a pointer to a new instance of it,
-// to simplify construction of optional field values.
-//
-// Generated enum types usually have an Enum method which performs the
-// same operation.
-//
-// Optional scalar fields are only supported in proto2.
-//
-// # Extension accessors
-//
-// - [HasExtension], [GetExtension], [SetExtension], and [ClearExtension]
-// access extension field values in a protocol buffer message.
-//
-// Extension fields are only supported in proto2.
-//
-// # Related packages
-//
-// - Package [google.golang.org/protobuf/encoding/protojson] converts messages to
-// and from JSON.
-//
-// - Package [google.golang.org/protobuf/encoding/prototext] converts messages to
-// and from the text format.
-//
-// - Package [google.golang.org/protobuf/reflect/protoreflect] provides a
-// reflection interface for protocol buffer data types.
-//
-// - Package [google.golang.org/protobuf/testing/protocmp] provides features
-// to compare protocol buffer messages with the [github.com/google/go-cmp/cmp]
-// package.
-//
-// - Package [google.golang.org/protobuf/types/dynamicpb] provides a dynamic
-// message type, suitable for working with messages where the protocol buffer
-// type is only known at runtime.
-//
-// This module contains additional packages for more specialized use cases.
-// Consult the individual package documentation for details.
-package proto
diff --git a/vendor/google.golang.org/protobuf/proto/encode.go b/vendor/google.golang.org/protobuf/proto/encode.go
deleted file mode 100644
index 4fed202f..00000000
--- a/vendor/google.golang.org/protobuf/proto/encode.go
+++ /dev/null
@@ -1,322 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/order"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// MarshalOptions configures the marshaler.
-//
-// Example usage:
-//
-// b, err := MarshalOptions{Deterministic: true}.Marshal(m)
-type MarshalOptions struct {
- pragma.NoUnkeyedLiterals
-
- // AllowPartial allows messages that have missing required fields to marshal
- // without returning an error. If AllowPartial is false (the default),
- // Marshal will return an error if there are any missing required fields.
- AllowPartial bool
-
- // Deterministic controls whether the same message will always be
- // serialized to the same bytes within the same binary.
- //
- // Setting this option guarantees that repeated serialization of
- // the same message will return the same bytes, and that different
- // processes of the same binary (which may be executing on different
- // machines) will serialize equal messages to the same bytes.
- // It has no effect on the resulting size of the encoded message compared
- // to a non-deterministic marshal.
- //
- // Note that the deterministic serialization is NOT canonical across
- // languages. It is not guaranteed to remain stable over time. It is
- // unstable across different builds with schema changes due to unknown
- // fields. Users who need canonical serialization (e.g., persistent
- // storage in a canonical form, fingerprinting, etc.) must define
- // their own canonicalization specification and implement their own
- // serializer rather than relying on this API.
- //
- // If deterministic serialization is requested, map entries will be
- // sorted by keys in lexographical order. This is an implementation
- // detail and subject to change.
- Deterministic bool
-
- // UseCachedSize indicates that the result of a previous Size call
- // may be reused.
- //
- // Setting this option asserts that:
- //
- // 1. Size has previously been called on this message with identical
- // options (except for UseCachedSize itself).
- //
- // 2. The message and all its submessages have not changed in any
- // way since the Size call.
- //
- // If either of these invariants is violated,
- // the results are undefined and may include panics or corrupted output.
- //
- // Implementations MAY take this option into account to provide
- // better performance, but there is no guarantee that they will do so.
- // There is absolutely no guarantee that Size followed by Marshal with
- // UseCachedSize set will perform equivalently to Marshal alone.
- UseCachedSize bool
-}
-
-// Marshal returns the wire-format encoding of m.
-func Marshal(m Message) ([]byte, error) {
- // Treat nil message interface as an empty message; nothing to output.
- if m == nil {
- return nil, nil
- }
-
- out, err := MarshalOptions{}.marshal(nil, m.ProtoReflect())
- if len(out.Buf) == 0 && err == nil {
- out.Buf = emptyBytesForMessage(m)
- }
- return out.Buf, err
-}
-
-// Marshal returns the wire-format encoding of m.
-func (o MarshalOptions) Marshal(m Message) ([]byte, error) {
- // Treat nil message interface as an empty message; nothing to output.
- if m == nil {
- return nil, nil
- }
-
- out, err := o.marshal(nil, m.ProtoReflect())
- if len(out.Buf) == 0 && err == nil {
- out.Buf = emptyBytesForMessage(m)
- }
- return out.Buf, err
-}
-
-// emptyBytesForMessage returns a nil buffer if and only if m is invalid,
-// otherwise it returns a non-nil empty buffer.
-//
-// This is to assist the edge-case where user-code does the following:
-//
-// m1.OptionalBytes, _ = proto.Marshal(m2)
-//
-// where they expect the proto2 "optional_bytes" field to be populated
-// if any only if m2 is a valid message.
-func emptyBytesForMessage(m Message) []byte {
- if m == nil || !m.ProtoReflect().IsValid() {
- return nil
- }
- return emptyBuf[:]
-}
-
-// MarshalAppend appends the wire-format encoding of m to b,
-// returning the result.
-func (o MarshalOptions) MarshalAppend(b []byte, m Message) ([]byte, error) {
- // Treat nil message interface as an empty message; nothing to append.
- if m == nil {
- return b, nil
- }
-
- out, err := o.marshal(b, m.ProtoReflect())
- return out.Buf, err
-}
-
-// MarshalState returns the wire-format encoding of a message.
-//
-// This method permits fine-grained control over the marshaler.
-// Most users should use [Marshal] instead.
-func (o MarshalOptions) MarshalState(in protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
- return o.marshal(in.Buf, in.Message)
-}
-
-// marshal is a centralized function that all marshal operations go through.
-// For profiling purposes, avoid changing the name of this function or
-// introducing other code paths for marshal that do not go through this.
-func (o MarshalOptions) marshal(b []byte, m protoreflect.Message) (out protoiface.MarshalOutput, err error) {
- allowPartial := o.AllowPartial
- o.AllowPartial = true
- if methods := protoMethods(m); methods != nil && methods.Marshal != nil &&
- !(o.Deterministic && methods.Flags&protoiface.SupportMarshalDeterministic == 0) {
- in := protoiface.MarshalInput{
- Message: m,
- Buf: b,
- }
- if o.Deterministic {
- in.Flags |= protoiface.MarshalDeterministic
- }
- if o.UseCachedSize {
- in.Flags |= protoiface.MarshalUseCachedSize
- }
- if methods.Size != nil {
- sout := methods.Size(protoiface.SizeInput{
- Message: m,
- Flags: in.Flags,
- })
- if cap(b) < len(b)+sout.Size {
- in.Buf = make([]byte, len(b), growcap(cap(b), len(b)+sout.Size))
- copy(in.Buf, b)
- }
- in.Flags |= protoiface.MarshalUseCachedSize
- }
- out, err = methods.Marshal(in)
- } else {
- out.Buf, err = o.marshalMessageSlow(b, m)
- }
- if err != nil {
- return out, err
- }
- if allowPartial {
- return out, nil
- }
- return out, checkInitialized(m)
-}
-
-func (o MarshalOptions) marshalMessage(b []byte, m protoreflect.Message) ([]byte, error) {
- out, err := o.marshal(b, m)
- return out.Buf, err
-}
-
-// growcap scales up the capacity of a slice.
-//
-// Given a slice with a current capacity of oldcap and a desired
-// capacity of wantcap, growcap returns a new capacity >= wantcap.
-//
-// The algorithm is mostly identical to the one used by append as of Go 1.14.
-func growcap(oldcap, wantcap int) (newcap int) {
- if wantcap > oldcap*2 {
- newcap = wantcap
- } else if oldcap < 1024 {
- // The Go 1.14 runtime takes this case when len(s) < 1024,
- // not when cap(s) < 1024. The difference doesn't seem
- // significant here.
- newcap = oldcap * 2
- } else {
- newcap = oldcap
- for 0 < newcap && newcap < wantcap {
- newcap += newcap / 4
- }
- if newcap <= 0 {
- newcap = wantcap
- }
- }
- return newcap
-}
-
-func (o MarshalOptions) marshalMessageSlow(b []byte, m protoreflect.Message) ([]byte, error) {
- if messageset.IsMessageSet(m.Descriptor()) {
- return o.marshalMessageSet(b, m)
- }
- fieldOrder := order.AnyFieldOrder
- if o.Deterministic {
- // TODO: This should use a more natural ordering like NumberFieldOrder,
- // but doing so breaks golden tests that make invalid assumption about
- // output stability of this implementation.
- fieldOrder = order.LegacyFieldOrder
- }
- var err error
- order.RangeFields(m, fieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- b, err = o.marshalField(b, fd, v)
- return err == nil
- })
- if err != nil {
- return b, err
- }
- b = append(b, m.GetUnknown()...)
- return b, nil
-}
-
-func (o MarshalOptions) marshalField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) {
- switch {
- case fd.IsList():
- return o.marshalList(b, fd, value.List())
- case fd.IsMap():
- return o.marshalMap(b, fd, value.Map())
- default:
- b = protowire.AppendTag(b, fd.Number(), wireTypes[fd.Kind()])
- return o.marshalSingular(b, fd, value)
- }
-}
-
-func (o MarshalOptions) marshalList(b []byte, fd protoreflect.FieldDescriptor, list protoreflect.List) ([]byte, error) {
- if fd.IsPacked() && list.Len() > 0 {
- b = protowire.AppendTag(b, fd.Number(), protowire.BytesType)
- b, pos := appendSpeculativeLength(b)
- for i, llen := 0, list.Len(); i < llen; i++ {
- var err error
- b, err = o.marshalSingular(b, fd, list.Get(i))
- if err != nil {
- return b, err
- }
- }
- b = finishSpeculativeLength(b, pos)
- return b, nil
- }
-
- kind := fd.Kind()
- for i, llen := 0, list.Len(); i < llen; i++ {
- var err error
- b = protowire.AppendTag(b, fd.Number(), wireTypes[kind])
- b, err = o.marshalSingular(b, fd, list.Get(i))
- if err != nil {
- return b, err
- }
- }
- return b, nil
-}
-
-func (o MarshalOptions) marshalMap(b []byte, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) ([]byte, error) {
- keyf := fd.MapKey()
- valf := fd.MapValue()
- keyOrder := order.AnyKeyOrder
- if o.Deterministic {
- keyOrder = order.GenericKeyOrder
- }
- var err error
- order.RangeEntries(mapv, keyOrder, func(key protoreflect.MapKey, value protoreflect.Value) bool {
- b = protowire.AppendTag(b, fd.Number(), protowire.BytesType)
- var pos int
- b, pos = appendSpeculativeLength(b)
-
- b, err = o.marshalField(b, keyf, key.Value())
- if err != nil {
- return false
- }
- b, err = o.marshalField(b, valf, value)
- if err != nil {
- return false
- }
- b = finishSpeculativeLength(b, pos)
- return true
- })
- return b, err
-}
-
-// When encoding length-prefixed fields, we speculatively set aside some number of bytes
-// for the length, encode the data, and then encode the length (shifting the data if necessary
-// to make room).
-const speculativeLength = 1
-
-func appendSpeculativeLength(b []byte) ([]byte, int) {
- pos := len(b)
- b = append(b, "\x00\x00\x00\x00"[:speculativeLength]...)
- return b, pos
-}
-
-func finishSpeculativeLength(b []byte, pos int) []byte {
- mlen := len(b) - pos - speculativeLength
- msiz := protowire.SizeVarint(uint64(mlen))
- if msiz != speculativeLength {
- for i := 0; i < msiz-speculativeLength; i++ {
- b = append(b, 0)
- }
- copy(b[pos+msiz:], b[pos+speculativeLength:])
- b = b[:pos+msiz+mlen]
- }
- protowire.AppendVarint(b[:pos], uint64(mlen))
- return b
-}
diff --git a/vendor/google.golang.org/protobuf/proto/encode_gen.go b/vendor/google.golang.org/protobuf/proto/encode_gen.go
deleted file mode 100644
index 185dacfb..00000000
--- a/vendor/google.golang.org/protobuf/proto/encode_gen.go
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-types. DO NOT EDIT.
-
-package proto
-
-import (
- "math"
- "unicode/utf8"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-var wireTypes = map[protoreflect.Kind]protowire.Type{
- protoreflect.BoolKind: protowire.VarintType,
- protoreflect.EnumKind: protowire.VarintType,
- protoreflect.Int32Kind: protowire.VarintType,
- protoreflect.Sint32Kind: protowire.VarintType,
- protoreflect.Uint32Kind: protowire.VarintType,
- protoreflect.Int64Kind: protowire.VarintType,
- protoreflect.Sint64Kind: protowire.VarintType,
- protoreflect.Uint64Kind: protowire.VarintType,
- protoreflect.Sfixed32Kind: protowire.Fixed32Type,
- protoreflect.Fixed32Kind: protowire.Fixed32Type,
- protoreflect.FloatKind: protowire.Fixed32Type,
- protoreflect.Sfixed64Kind: protowire.Fixed64Type,
- protoreflect.Fixed64Kind: protowire.Fixed64Type,
- protoreflect.DoubleKind: protowire.Fixed64Type,
- protoreflect.StringKind: protowire.BytesType,
- protoreflect.BytesKind: protowire.BytesType,
- protoreflect.MessageKind: protowire.BytesType,
- protoreflect.GroupKind: protowire.StartGroupType,
-}
-
-func (o MarshalOptions) marshalSingular(b []byte, fd protoreflect.FieldDescriptor, v protoreflect.Value) ([]byte, error) {
- switch fd.Kind() {
- case protoreflect.BoolKind:
- b = protowire.AppendVarint(b, protowire.EncodeBool(v.Bool()))
- case protoreflect.EnumKind:
- b = protowire.AppendVarint(b, uint64(v.Enum()))
- case protoreflect.Int32Kind:
- b = protowire.AppendVarint(b, uint64(int32(v.Int())))
- case protoreflect.Sint32Kind:
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(int64(int32(v.Int()))))
- case protoreflect.Uint32Kind:
- b = protowire.AppendVarint(b, uint64(uint32(v.Uint())))
- case protoreflect.Int64Kind:
- b = protowire.AppendVarint(b, uint64(v.Int()))
- case protoreflect.Sint64Kind:
- b = protowire.AppendVarint(b, protowire.EncodeZigZag(v.Int()))
- case protoreflect.Uint64Kind:
- b = protowire.AppendVarint(b, v.Uint())
- case protoreflect.Sfixed32Kind:
- b = protowire.AppendFixed32(b, uint32(v.Int()))
- case protoreflect.Fixed32Kind:
- b = protowire.AppendFixed32(b, uint32(v.Uint()))
- case protoreflect.FloatKind:
- b = protowire.AppendFixed32(b, math.Float32bits(float32(v.Float())))
- case protoreflect.Sfixed64Kind:
- b = protowire.AppendFixed64(b, uint64(v.Int()))
- case protoreflect.Fixed64Kind:
- b = protowire.AppendFixed64(b, v.Uint())
- case protoreflect.DoubleKind:
- b = protowire.AppendFixed64(b, math.Float64bits(v.Float()))
- case protoreflect.StringKind:
- if strs.EnforceUTF8(fd) && !utf8.ValidString(v.String()) {
- return b, errors.InvalidUTF8(string(fd.FullName()))
- }
- b = protowire.AppendString(b, v.String())
- case protoreflect.BytesKind:
- b = protowire.AppendBytes(b, v.Bytes())
- case protoreflect.MessageKind:
- var pos int
- var err error
- b, pos = appendSpeculativeLength(b)
- b, err = o.marshalMessage(b, v.Message())
- if err != nil {
- return b, err
- }
- b = finishSpeculativeLength(b, pos)
- case protoreflect.GroupKind:
- var err error
- b, err = o.marshalMessage(b, v.Message())
- if err != nil {
- return b, err
- }
- b = protowire.AppendVarint(b, protowire.EncodeTag(fd.Number(), protowire.EndGroupType))
- default:
- return b, errors.New("invalid kind %v", fd.Kind())
- }
- return b, nil
-}
diff --git a/vendor/google.golang.org/protobuf/proto/equal.go b/vendor/google.golang.org/protobuf/proto/equal.go
deleted file mode 100644
index 1a0be1b0..00000000
--- a/vendor/google.golang.org/protobuf/proto/equal.go
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "reflect"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// Equal reports whether two messages are equal,
-// by recursively comparing the fields of the message.
-//
-// - Bytes fields are equal if they contain identical bytes.
-// Empty bytes (regardless of nil-ness) are considered equal.
-//
-// - Floating-point fields are equal if they contain the same value.
-// Unlike the == operator, a NaN is equal to another NaN.
-//
-// - Other scalar fields are equal if they contain the same value.
-//
-// - Message fields are equal if they have
-// the same set of populated known and extension field values, and
-// the same set of unknown fields values.
-//
-// - Lists are equal if they are the same length and
-// each corresponding element is equal.
-//
-// - Maps are equal if they have the same set of keys and
-// the corresponding value for each key is equal.
-//
-// An invalid message is not equal to a valid message.
-// An invalid message is only equal to another invalid message of the
-// same type. An invalid message often corresponds to a nil pointer
-// of the concrete message type. For example, (*pb.M)(nil) is not equal
-// to &pb.M{}.
-// If two valid messages marshal to the same bytes under deterministic
-// serialization, then Equal is guaranteed to report true.
-func Equal(x, y Message) bool {
- if x == nil || y == nil {
- return x == nil && y == nil
- }
- if reflect.TypeOf(x).Kind() == reflect.Ptr && x == y {
- // Avoid an expensive comparison if both inputs are identical pointers.
- return true
- }
- mx := x.ProtoReflect()
- my := y.ProtoReflect()
- if mx.IsValid() != my.IsValid() {
- return false
- }
- vx := protoreflect.ValueOfMessage(mx)
- vy := protoreflect.ValueOfMessage(my)
- return vx.Equal(vy)
-}
diff --git a/vendor/google.golang.org/protobuf/proto/extension.go b/vendor/google.golang.org/protobuf/proto/extension.go
deleted file mode 100644
index 17899a3a..00000000
--- a/vendor/google.golang.org/protobuf/proto/extension.go
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// HasExtension reports whether an extension field is populated.
-// It returns false if m is invalid or if xt does not extend m.
-func HasExtension(m Message, xt protoreflect.ExtensionType) bool {
- // Treat nil message interface as an empty message; no populated fields.
- if m == nil {
- return false
- }
-
- // As a special-case, we reports invalid or mismatching descriptors
- // as always not being populated (since they aren't).
- if xt == nil || m.ProtoReflect().Descriptor() != xt.TypeDescriptor().ContainingMessage() {
- return false
- }
-
- return m.ProtoReflect().Has(xt.TypeDescriptor())
-}
-
-// ClearExtension clears an extension field such that subsequent
-// [HasExtension] calls return false.
-// It panics if m is invalid or if xt does not extend m.
-func ClearExtension(m Message, xt protoreflect.ExtensionType) {
- m.ProtoReflect().Clear(xt.TypeDescriptor())
-}
-
-// GetExtension retrieves the value for an extension field.
-// If the field is unpopulated, it returns the default value for
-// scalars and an immutable, empty value for lists or messages.
-// It panics if xt does not extend m.
-func GetExtension(m Message, xt protoreflect.ExtensionType) interface{} {
- // Treat nil message interface as an empty message; return the default.
- if m == nil {
- return xt.InterfaceOf(xt.Zero())
- }
-
- return xt.InterfaceOf(m.ProtoReflect().Get(xt.TypeDescriptor()))
-}
-
-// SetExtension stores the value of an extension field.
-// It panics if m is invalid, xt does not extend m, or if type of v
-// is invalid for the specified extension field.
-func SetExtension(m Message, xt protoreflect.ExtensionType, v interface{}) {
- xd := xt.TypeDescriptor()
- pv := xt.ValueOf(v)
-
- // Specially treat an invalid list, map, or message as clear.
- isValid := true
- switch {
- case xd.IsList():
- isValid = pv.List().IsValid()
- case xd.IsMap():
- isValid = pv.Map().IsValid()
- case xd.Message() != nil:
- isValid = pv.Message().IsValid()
- }
- if !isValid {
- m.ProtoReflect().Clear(xd)
- return
- }
-
- m.ProtoReflect().Set(xd, pv)
-}
-
-// RangeExtensions iterates over every populated extension field in m in an
-// undefined order, calling f for each extension type and value encountered.
-// It returns immediately if f returns false.
-// While iterating, mutating operations may only be performed
-// on the current extension field.
-func RangeExtensions(m Message, f func(protoreflect.ExtensionType, interface{}) bool) {
- // Treat nil message interface as an empty message; nothing to range over.
- if m == nil {
- return
- }
-
- m.ProtoReflect().Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- if fd.IsExtension() {
- xt := fd.(protoreflect.ExtensionTypeDescriptor).Type()
- vi := xt.InterfaceOf(v)
- return f(xt, vi)
- }
- return true
- })
-}
diff --git a/vendor/google.golang.org/protobuf/proto/merge.go b/vendor/google.golang.org/protobuf/proto/merge.go
deleted file mode 100644
index 3c6fe578..00000000
--- a/vendor/google.golang.org/protobuf/proto/merge.go
+++ /dev/null
@@ -1,139 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "fmt"
-
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// Merge merges src into dst, which must be a message with the same descriptor.
-//
-// Populated scalar fields in src are copied to dst, while populated
-// singular messages in src are merged into dst by recursively calling Merge.
-// The elements of every list field in src is appended to the corresponded
-// list fields in dst. The entries of every map field in src is copied into
-// the corresponding map field in dst, possibly replacing existing entries.
-// The unknown fields of src are appended to the unknown fields of dst.
-//
-// It is semantically equivalent to unmarshaling the encoded form of src
-// into dst with the [UnmarshalOptions.Merge] option specified.
-func Merge(dst, src Message) {
- // TODO: Should nil src be treated as semantically equivalent to a
- // untyped, read-only, empty message? What about a nil dst?
-
- dstMsg, srcMsg := dst.ProtoReflect(), src.ProtoReflect()
- if dstMsg.Descriptor() != srcMsg.Descriptor() {
- if got, want := dstMsg.Descriptor().FullName(), srcMsg.Descriptor().FullName(); got != want {
- panic(fmt.Sprintf("descriptor mismatch: %v != %v", got, want))
- }
- panic("descriptor mismatch")
- }
- mergeOptions{}.mergeMessage(dstMsg, srcMsg)
-}
-
-// Clone returns a deep copy of m.
-// If the top-level message is invalid, it returns an invalid message as well.
-func Clone(m Message) Message {
- // NOTE: Most usages of Clone assume the following properties:
- // t := reflect.TypeOf(m)
- // t == reflect.TypeOf(m.ProtoReflect().New().Interface())
- // t == reflect.TypeOf(m.ProtoReflect().Type().Zero().Interface())
- //
- // Embedding protobuf messages breaks this since the parent type will have
- // a forwarded ProtoReflect method, but the Interface method will return
- // the underlying embedded message type.
- if m == nil {
- return nil
- }
- src := m.ProtoReflect()
- if !src.IsValid() {
- return src.Type().Zero().Interface()
- }
- dst := src.New()
- mergeOptions{}.mergeMessage(dst, src)
- return dst.Interface()
-}
-
-// mergeOptions provides a namespace for merge functions, and can be
-// exported in the future if we add user-visible merge options.
-type mergeOptions struct{}
-
-func (o mergeOptions) mergeMessage(dst, src protoreflect.Message) {
- methods := protoMethods(dst)
- if methods != nil && methods.Merge != nil {
- in := protoiface.MergeInput{
- Destination: dst,
- Source: src,
- }
- out := methods.Merge(in)
- if out.Flags&protoiface.MergeComplete != 0 {
- return
- }
- }
-
- if !dst.IsValid() {
- panic(fmt.Sprintf("cannot merge into invalid %v message", dst.Descriptor().FullName()))
- }
-
- src.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- switch {
- case fd.IsList():
- o.mergeList(dst.Mutable(fd).List(), v.List(), fd)
- case fd.IsMap():
- o.mergeMap(dst.Mutable(fd).Map(), v.Map(), fd.MapValue())
- case fd.Message() != nil:
- o.mergeMessage(dst.Mutable(fd).Message(), v.Message())
- case fd.Kind() == protoreflect.BytesKind:
- dst.Set(fd, o.cloneBytes(v))
- default:
- dst.Set(fd, v)
- }
- return true
- })
-
- if len(src.GetUnknown()) > 0 {
- dst.SetUnknown(append(dst.GetUnknown(), src.GetUnknown()...))
- }
-}
-
-func (o mergeOptions) mergeList(dst, src protoreflect.List, fd protoreflect.FieldDescriptor) {
- // Merge semantics appends to the end of the existing list.
- for i, n := 0, src.Len(); i < n; i++ {
- switch v := src.Get(i); {
- case fd.Message() != nil:
- dstv := dst.NewElement()
- o.mergeMessage(dstv.Message(), v.Message())
- dst.Append(dstv)
- case fd.Kind() == protoreflect.BytesKind:
- dst.Append(o.cloneBytes(v))
- default:
- dst.Append(v)
- }
- }
-}
-
-func (o mergeOptions) mergeMap(dst, src protoreflect.Map, fd protoreflect.FieldDescriptor) {
- // Merge semantics replaces, rather than merges into existing entries.
- src.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool {
- switch {
- case fd.Message() != nil:
- dstv := dst.NewValue()
- o.mergeMessage(dstv.Message(), v.Message())
- dst.Set(k, dstv)
- case fd.Kind() == protoreflect.BytesKind:
- dst.Set(k, o.cloneBytes(v))
- default:
- dst.Set(k, v)
- }
- return true
- })
-}
-
-func (o mergeOptions) cloneBytes(v protoreflect.Value) protoreflect.Value {
- return protoreflect.ValueOfBytes(append([]byte{}, v.Bytes()...))
-}
diff --git a/vendor/google.golang.org/protobuf/proto/messageset.go b/vendor/google.golang.org/protobuf/proto/messageset.go
deleted file mode 100644
index 312d5d45..00000000
--- a/vendor/google.golang.org/protobuf/proto/messageset.go
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/internal/order"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-)
-
-func (o MarshalOptions) sizeMessageSet(m protoreflect.Message) (size int) {
- m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- size += messageset.SizeField(fd.Number())
- size += protowire.SizeTag(messageset.FieldMessage)
- size += protowire.SizeBytes(o.size(v.Message()))
- return true
- })
- size += messageset.SizeUnknown(m.GetUnknown())
- return size
-}
-
-func (o MarshalOptions) marshalMessageSet(b []byte, m protoreflect.Message) ([]byte, error) {
- if !flags.ProtoLegacy {
- return b, errors.New("no support for message_set_wire_format")
- }
- fieldOrder := order.AnyFieldOrder
- if o.Deterministic {
- fieldOrder = order.NumberFieldOrder
- }
- var err error
- order.RangeFields(m, fieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- b, err = o.marshalMessageSetField(b, fd, v)
- return err == nil
- })
- if err != nil {
- return b, err
- }
- return messageset.AppendUnknown(b, m.GetUnknown())
-}
-
-func (o MarshalOptions) marshalMessageSetField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) {
- b = messageset.AppendFieldStart(b, fd.Number())
- b = protowire.AppendTag(b, messageset.FieldMessage, protowire.BytesType)
- b = protowire.AppendVarint(b, uint64(o.Size(value.Message().Interface())))
- b, err := o.marshalMessage(b, value.Message())
- if err != nil {
- return b, err
- }
- b = messageset.AppendFieldEnd(b)
- return b, nil
-}
-
-func (o UnmarshalOptions) unmarshalMessageSet(b []byte, m protoreflect.Message) error {
- if !flags.ProtoLegacy {
- return errors.New("no support for message_set_wire_format")
- }
- return messageset.Unmarshal(b, false, func(num protowire.Number, v []byte) error {
- err := o.unmarshalMessageSetField(m, num, v)
- if err == errUnknown {
- unknown := m.GetUnknown()
- unknown = protowire.AppendTag(unknown, num, protowire.BytesType)
- unknown = protowire.AppendBytes(unknown, v)
- m.SetUnknown(unknown)
- return nil
- }
- return err
- })
-}
-
-func (o UnmarshalOptions) unmarshalMessageSetField(m protoreflect.Message, num protowire.Number, v []byte) error {
- md := m.Descriptor()
- if !md.ExtensionRanges().Has(num) {
- return errUnknown
- }
- xt, err := o.Resolver.FindExtensionByNumber(md.FullName(), num)
- if err == protoregistry.NotFound {
- return errUnknown
- }
- if err != nil {
- return errors.New("%v: unable to resolve extension %v: %v", md.FullName(), num, err)
- }
- xd := xt.TypeDescriptor()
- if err := o.unmarshalMessage(v, m.Mutable(xd).Message()); err != nil {
- return err
- }
- return nil
-}
diff --git a/vendor/google.golang.org/protobuf/proto/proto.go b/vendor/google.golang.org/protobuf/proto/proto.go
deleted file mode 100644
index 7543ee6b..00000000
--- a/vendor/google.golang.org/protobuf/proto/proto.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// Message is the top-level interface that all messages must implement.
-// It provides access to a reflective view of a message.
-// Any implementation of this interface may be used with all functions in the
-// protobuf module that accept a Message, except where otherwise specified.
-//
-// This is the v2 interface definition for protobuf messages.
-// The v1 interface definition is [github.com/golang/protobuf/proto.Message].
-//
-// - To convert a v1 message to a v2 message,
-// use [google.golang.org/protobuf/protoadapt.MessageV2Of].
-// - To convert a v2 message to a v1 message,
-// use [google.golang.org/protobuf/protoadapt.MessageV1Of].
-type Message = protoreflect.ProtoMessage
-
-// Error matches all errors produced by packages in the protobuf module
-// according to [errors.Is].
-//
-// Example usage:
-//
-// if errors.Is(err, proto.Error) { ... }
-var Error error
-
-func init() {
- Error = errors.Error
-}
-
-// MessageName returns the full name of m.
-// If m is nil, it returns an empty string.
-func MessageName(m Message) protoreflect.FullName {
- if m == nil {
- return ""
- }
- return m.ProtoReflect().Descriptor().FullName()
-}
diff --git a/vendor/google.golang.org/protobuf/proto/proto_methods.go b/vendor/google.golang.org/protobuf/proto/proto_methods.go
deleted file mode 100644
index 465e057b..00000000
--- a/vendor/google.golang.org/protobuf/proto/proto_methods.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// The protoreflect build tag disables use of fast-path methods.
-//go:build !protoreflect
-// +build !protoreflect
-
-package proto
-
-import (
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-const hasProtoMethods = true
-
-func protoMethods(m protoreflect.Message) *protoiface.Methods {
- return m.ProtoMethods()
-}
diff --git a/vendor/google.golang.org/protobuf/proto/proto_reflect.go b/vendor/google.golang.org/protobuf/proto/proto_reflect.go
deleted file mode 100644
index 494d6cee..00000000
--- a/vendor/google.golang.org/protobuf/proto/proto_reflect.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// The protoreflect build tag disables use of fast-path methods.
-//go:build protoreflect
-// +build protoreflect
-
-package proto
-
-import (
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-const hasProtoMethods = false
-
-func protoMethods(m protoreflect.Message) *protoiface.Methods {
- return nil
-}
diff --git a/vendor/google.golang.org/protobuf/proto/reset.go b/vendor/google.golang.org/protobuf/proto/reset.go
deleted file mode 100644
index 3d7f8943..00000000
--- a/vendor/google.golang.org/protobuf/proto/reset.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "fmt"
-
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// Reset clears every field in the message.
-// The resulting message shares no observable memory with its previous state
-// other than the memory for the message itself.
-func Reset(m Message) {
- if mr, ok := m.(interface{ Reset() }); ok && hasProtoMethods {
- mr.Reset()
- return
- }
- resetMessage(m.ProtoReflect())
-}
-
-func resetMessage(m protoreflect.Message) {
- if !m.IsValid() {
- panic(fmt.Sprintf("cannot reset invalid %v message", m.Descriptor().FullName()))
- }
-
- // Clear all known fields.
- fds := m.Descriptor().Fields()
- for i := 0; i < fds.Len(); i++ {
- m.Clear(fds.Get(i))
- }
-
- // Clear extension fields.
- m.Range(func(fd protoreflect.FieldDescriptor, _ protoreflect.Value) bool {
- m.Clear(fd)
- return true
- })
-
- // Clear unknown fields.
- m.SetUnknown(nil)
-}
diff --git a/vendor/google.golang.org/protobuf/proto/size.go b/vendor/google.golang.org/protobuf/proto/size.go
deleted file mode 100644
index f1692b49..00000000
--- a/vendor/google.golang.org/protobuf/proto/size.go
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-import (
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/runtime/protoiface"
-)
-
-// Size returns the size in bytes of the wire-format encoding of m.
-func Size(m Message) int {
- return MarshalOptions{}.Size(m)
-}
-
-// Size returns the size in bytes of the wire-format encoding of m.
-func (o MarshalOptions) Size(m Message) int {
- // Treat a nil message interface as an empty message; nothing to output.
- if m == nil {
- return 0
- }
-
- return o.size(m.ProtoReflect())
-}
-
-// size is a centralized function that all size operations go through.
-// For profiling purposes, avoid changing the name of this function or
-// introducing other code paths for size that do not go through this.
-func (o MarshalOptions) size(m protoreflect.Message) (size int) {
- methods := protoMethods(m)
- if methods != nil && methods.Size != nil {
- out := methods.Size(protoiface.SizeInput{
- Message: m,
- })
- return out.Size
- }
- if methods != nil && methods.Marshal != nil {
- // This is not efficient, but we don't have any choice.
- // This case is mainly used for legacy types with a Marshal method.
- out, _ := methods.Marshal(protoiface.MarshalInput{
- Message: m,
- })
- return len(out.Buf)
- }
- return o.sizeMessageSlow(m)
-}
-
-func (o MarshalOptions) sizeMessageSlow(m protoreflect.Message) (size int) {
- if messageset.IsMessageSet(m.Descriptor()) {
- return o.sizeMessageSet(m)
- }
- m.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool {
- size += o.sizeField(fd, v)
- return true
- })
- size += len(m.GetUnknown())
- return size
-}
-
-func (o MarshalOptions) sizeField(fd protoreflect.FieldDescriptor, value protoreflect.Value) (size int) {
- num := fd.Number()
- switch {
- case fd.IsList():
- return o.sizeList(num, fd, value.List())
- case fd.IsMap():
- return o.sizeMap(num, fd, value.Map())
- default:
- return protowire.SizeTag(num) + o.sizeSingular(num, fd.Kind(), value)
- }
-}
-
-func (o MarshalOptions) sizeList(num protowire.Number, fd protoreflect.FieldDescriptor, list protoreflect.List) (size int) {
- sizeTag := protowire.SizeTag(num)
-
- if fd.IsPacked() && list.Len() > 0 {
- content := 0
- for i, llen := 0, list.Len(); i < llen; i++ {
- content += o.sizeSingular(num, fd.Kind(), list.Get(i))
- }
- return sizeTag + protowire.SizeBytes(content)
- }
-
- for i, llen := 0, list.Len(); i < llen; i++ {
- size += sizeTag + o.sizeSingular(num, fd.Kind(), list.Get(i))
- }
- return size
-}
-
-func (o MarshalOptions) sizeMap(num protowire.Number, fd protoreflect.FieldDescriptor, mapv protoreflect.Map) (size int) {
- sizeTag := protowire.SizeTag(num)
-
- mapv.Range(func(key protoreflect.MapKey, value protoreflect.Value) bool {
- size += sizeTag
- size += protowire.SizeBytes(o.sizeField(fd.MapKey(), key.Value()) + o.sizeField(fd.MapValue(), value))
- return true
- })
- return size
-}
diff --git a/vendor/google.golang.org/protobuf/proto/size_gen.go b/vendor/google.golang.org/protobuf/proto/size_gen.go
deleted file mode 100644
index 3cf61a82..00000000
--- a/vendor/google.golang.org/protobuf/proto/size_gen.go
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-types. DO NOT EDIT.
-
-package proto
-
-import (
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-func (o MarshalOptions) sizeSingular(num protowire.Number, kind protoreflect.Kind, v protoreflect.Value) int {
- switch kind {
- case protoreflect.BoolKind:
- return protowire.SizeVarint(protowire.EncodeBool(v.Bool()))
- case protoreflect.EnumKind:
- return protowire.SizeVarint(uint64(v.Enum()))
- case protoreflect.Int32Kind:
- return protowire.SizeVarint(uint64(int32(v.Int())))
- case protoreflect.Sint32Kind:
- return protowire.SizeVarint(protowire.EncodeZigZag(int64(int32(v.Int()))))
- case protoreflect.Uint32Kind:
- return protowire.SizeVarint(uint64(uint32(v.Uint())))
- case protoreflect.Int64Kind:
- return protowire.SizeVarint(uint64(v.Int()))
- case protoreflect.Sint64Kind:
- return protowire.SizeVarint(protowire.EncodeZigZag(v.Int()))
- case protoreflect.Uint64Kind:
- return protowire.SizeVarint(v.Uint())
- case protoreflect.Sfixed32Kind:
- return protowire.SizeFixed32()
- case protoreflect.Fixed32Kind:
- return protowire.SizeFixed32()
- case protoreflect.FloatKind:
- return protowire.SizeFixed32()
- case protoreflect.Sfixed64Kind:
- return protowire.SizeFixed64()
- case protoreflect.Fixed64Kind:
- return protowire.SizeFixed64()
- case protoreflect.DoubleKind:
- return protowire.SizeFixed64()
- case protoreflect.StringKind:
- return protowire.SizeBytes(len(v.String()))
- case protoreflect.BytesKind:
- return protowire.SizeBytes(len(v.Bytes()))
- case protoreflect.MessageKind:
- return protowire.SizeBytes(o.size(v.Message()))
- case protoreflect.GroupKind:
- return protowire.SizeGroup(num, o.size(v.Message()))
- default:
- return 0
- }
-}
diff --git a/vendor/google.golang.org/protobuf/proto/wrappers.go b/vendor/google.golang.org/protobuf/proto/wrappers.go
deleted file mode 100644
index 653b12c3..00000000
--- a/vendor/google.golang.org/protobuf/proto/wrappers.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package proto
-
-// Bool stores v in a new bool value and returns a pointer to it.
-func Bool(v bool) *bool { return &v }
-
-// Int32 stores v in a new int32 value and returns a pointer to it.
-func Int32(v int32) *int32 { return &v }
-
-// Int64 stores v in a new int64 value and returns a pointer to it.
-func Int64(v int64) *int64 { return &v }
-
-// Float32 stores v in a new float32 value and returns a pointer to it.
-func Float32(v float32) *float32 { return &v }
-
-// Float64 stores v in a new float64 value and returns a pointer to it.
-func Float64(v float64) *float64 { return &v }
-
-// Uint32 stores v in a new uint32 value and returns a pointer to it.
-func Uint32(v uint32) *uint32 { return &v }
-
-// Uint64 stores v in a new uint64 value and returns a pointer to it.
-func Uint64(v uint64) *uint64 { return &v }
-
-// String stores v in a new string value and returns a pointer to it.
-func String(v string) *string { return &v }
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go
deleted file mode 100644
index baa0cc62..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package protodesc provides functionality for converting
-// FileDescriptorProto messages to/from [protoreflect.FileDescriptor] values.
-//
-// The google.protobuf.FileDescriptorProto is a protobuf message that describes
-// the type information for a .proto file in a form that is easily serializable.
-// The [protoreflect.FileDescriptor] is a more structured representation of
-// the FileDescriptorProto message where references and remote dependencies
-// can be directly followed.
-package protodesc
-
-import (
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-
- "google.golang.org/protobuf/types/descriptorpb"
-)
-
-// Resolver is the resolver used by [NewFile] to resolve dependencies.
-// The enums and messages provided must belong to some parent file,
-// which is also registered.
-//
-// It is implemented by [protoregistry.Files].
-type Resolver interface {
- FindFileByPath(string) (protoreflect.FileDescriptor, error)
- FindDescriptorByName(protoreflect.FullName) (protoreflect.Descriptor, error)
-}
-
-// FileOptions configures the construction of file descriptors.
-type FileOptions struct {
- pragma.NoUnkeyedLiterals
-
- // AllowUnresolvable configures New to permissively allow unresolvable
- // file, enum, or message dependencies. Unresolved dependencies are replaced
- // by placeholder equivalents.
- //
- // The following dependencies may be left unresolved:
- // • Resolving an imported file.
- // • Resolving the type for a message field or extension field.
- // If the kind of the field is unknown, then a placeholder is used for both
- // the Enum and Message accessors on the protoreflect.FieldDescriptor.
- // • Resolving an enum value set as the default for an optional enum field.
- // If unresolvable, the protoreflect.FieldDescriptor.Default is set to the
- // first value in the associated enum (or zero if the also enum dependency
- // is also unresolvable). The protoreflect.FieldDescriptor.DefaultEnumValue
- // is populated with a placeholder.
- // • Resolving the extended message type for an extension field.
- // • Resolving the input or output message type for a service method.
- //
- // If the unresolved dependency uses a relative name,
- // then the placeholder will contain an invalid FullName with a "*." prefix,
- // indicating that the starting prefix of the full name is unknown.
- AllowUnresolvable bool
-}
-
-// NewFile creates a new [protoreflect.FileDescriptor] from the provided
-// file descriptor message. See [FileOptions.New] for more information.
-func NewFile(fd *descriptorpb.FileDescriptorProto, r Resolver) (protoreflect.FileDescriptor, error) {
- return FileOptions{}.New(fd, r)
-}
-
-// NewFiles creates a new [protoregistry.Files] from the provided
-// FileDescriptorSet message. See [FileOptions.NewFiles] for more information.
-func NewFiles(fd *descriptorpb.FileDescriptorSet) (*protoregistry.Files, error) {
- return FileOptions{}.NewFiles(fd)
-}
-
-// New creates a new [protoreflect.FileDescriptor] from the provided
-// file descriptor message. The file must represent a valid proto file according
-// to protobuf semantics. The returned descriptor is a deep copy of the input.
-//
-// Any imported files, enum types, or message types referenced in the file are
-// resolved using the provided registry. When looking up an import file path,
-// the path must be unique. The newly created file descriptor is not registered
-// back into the provided file registry.
-func (o FileOptions) New(fd *descriptorpb.FileDescriptorProto, r Resolver) (protoreflect.FileDescriptor, error) {
- if r == nil {
- r = (*protoregistry.Files)(nil) // empty resolver
- }
-
- // Handle the file descriptor content.
- f := &filedesc.File{L2: &filedesc.FileL2{}}
- switch fd.GetSyntax() {
- case "proto2", "":
- f.L1.Syntax = protoreflect.Proto2
- case "proto3":
- f.L1.Syntax = protoreflect.Proto3
- case "editions":
- f.L1.Syntax = protoreflect.Editions
- f.L1.Edition = fromEditionProto(fd.GetEdition())
- default:
- return nil, errors.New("invalid syntax: %q", fd.GetSyntax())
- }
- if f.L1.Syntax == protoreflect.Editions && (fd.GetEdition() < SupportedEditionsMinimum || fd.GetEdition() > SupportedEditionsMaximum) {
- return nil, errors.New("use of edition %v not yet supported by the Go Protobuf runtime", fd.GetEdition())
- }
- f.L1.Path = fd.GetName()
- if f.L1.Path == "" {
- return nil, errors.New("file path must be populated")
- }
- f.L1.Package = protoreflect.FullName(fd.GetPackage())
- if !f.L1.Package.IsValid() && f.L1.Package != "" {
- return nil, errors.New("invalid package: %q", f.L1.Package)
- }
- if opts := fd.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.FileOptions)
- f.L2.Options = func() protoreflect.ProtoMessage { return opts }
- }
- if f.L1.Syntax == protoreflect.Editions {
- initFileDescFromFeatureSet(f, fd.GetOptions().GetFeatures())
- }
-
- f.L2.Imports = make(filedesc.FileImports, len(fd.GetDependency()))
- for _, i := range fd.GetPublicDependency() {
- if !(0 <= i && int(i) < len(f.L2.Imports)) || f.L2.Imports[i].IsPublic {
- return nil, errors.New("invalid or duplicate public import index: %d", i)
- }
- f.L2.Imports[i].IsPublic = true
- }
- for _, i := range fd.GetWeakDependency() {
- if !(0 <= i && int(i) < len(f.L2.Imports)) || f.L2.Imports[i].IsWeak {
- return nil, errors.New("invalid or duplicate weak import index: %d", i)
- }
- f.L2.Imports[i].IsWeak = true
- }
- imps := importSet{f.Path(): true}
- for i, path := range fd.GetDependency() {
- imp := &f.L2.Imports[i]
- f, err := r.FindFileByPath(path)
- if err == protoregistry.NotFound && (o.AllowUnresolvable || imp.IsWeak) {
- f = filedesc.PlaceholderFile(path)
- } else if err != nil {
- return nil, errors.New("could not resolve import %q: %v", path, err)
- }
- imp.FileDescriptor = f
-
- if imps[imp.Path()] {
- return nil, errors.New("already imported %q", path)
- }
- imps[imp.Path()] = true
- }
- for i := range fd.GetDependency() {
- imp := &f.L2.Imports[i]
- imps.importPublic(imp.Imports())
- }
-
- // Handle source locations.
- f.L2.Locations.File = f
- for _, loc := range fd.GetSourceCodeInfo().GetLocation() {
- var l protoreflect.SourceLocation
- // TODO: Validate that the path points to an actual declaration?
- l.Path = protoreflect.SourcePath(loc.GetPath())
- s := loc.GetSpan()
- switch len(s) {
- case 3:
- l.StartLine, l.StartColumn, l.EndLine, l.EndColumn = int(s[0]), int(s[1]), int(s[0]), int(s[2])
- case 4:
- l.StartLine, l.StartColumn, l.EndLine, l.EndColumn = int(s[0]), int(s[1]), int(s[2]), int(s[3])
- default:
- return nil, errors.New("invalid span: %v", s)
- }
- // TODO: Validate that the span information is sensible?
- // See https://github.com/protocolbuffers/protobuf/issues/6378.
- if false && (l.EndLine < l.StartLine || l.StartLine < 0 || l.StartColumn < 0 || l.EndColumn < 0 ||
- (l.StartLine == l.EndLine && l.EndColumn <= l.StartColumn)) {
- return nil, errors.New("invalid span: %v", s)
- }
- l.LeadingDetachedComments = loc.GetLeadingDetachedComments()
- l.LeadingComments = loc.GetLeadingComments()
- l.TrailingComments = loc.GetTrailingComments()
- f.L2.Locations.List = append(f.L2.Locations.List, l)
- }
-
- // Step 1: Allocate and derive the names for all declarations.
- // This copies all fields from the descriptor proto except:
- // google.protobuf.FieldDescriptorProto.type_name
- // google.protobuf.FieldDescriptorProto.default_value
- // google.protobuf.FieldDescriptorProto.oneof_index
- // google.protobuf.FieldDescriptorProto.extendee
- // google.protobuf.MethodDescriptorProto.input
- // google.protobuf.MethodDescriptorProto.output
- var err error
- sb := new(strs.Builder)
- r1 := make(descsByName)
- if f.L1.Enums.List, err = r1.initEnumDeclarations(fd.GetEnumType(), f, sb); err != nil {
- return nil, err
- }
- if f.L1.Messages.List, err = r1.initMessagesDeclarations(fd.GetMessageType(), f, sb); err != nil {
- return nil, err
- }
- if f.L1.Extensions.List, err = r1.initExtensionDeclarations(fd.GetExtension(), f, sb); err != nil {
- return nil, err
- }
- if f.L1.Services.List, err = r1.initServiceDeclarations(fd.GetService(), f, sb); err != nil {
- return nil, err
- }
-
- // Step 2: Resolve every dependency reference not handled by step 1.
- r2 := &resolver{local: r1, remote: r, imports: imps, allowUnresolvable: o.AllowUnresolvable}
- if err := r2.resolveMessageDependencies(f.L1.Messages.List, fd.GetMessageType()); err != nil {
- return nil, err
- }
- if err := r2.resolveExtensionDependencies(f.L1.Extensions.List, fd.GetExtension()); err != nil {
- return nil, err
- }
- if err := r2.resolveServiceDependencies(f.L1.Services.List, fd.GetService()); err != nil {
- return nil, err
- }
-
- // Step 3: Validate every enum, message, and extension declaration.
- if err := validateEnumDeclarations(f.L1.Enums.List, fd.GetEnumType()); err != nil {
- return nil, err
- }
- if err := validateMessageDeclarations(f.L1.Messages.List, fd.GetMessageType()); err != nil {
- return nil, err
- }
- if err := validateExtensionDeclarations(f.L1.Extensions.List, fd.GetExtension()); err != nil {
- return nil, err
- }
-
- return f, nil
-}
-
-type importSet map[string]bool
-
-func (is importSet) importPublic(imps protoreflect.FileImports) {
- for i := 0; i < imps.Len(); i++ {
- if imp := imps.Get(i); imp.IsPublic {
- is[imp.Path()] = true
- is.importPublic(imp.Imports())
- }
- }
-}
-
-// NewFiles creates a new [protoregistry.Files] from the provided
-// FileDescriptorSet message. The descriptor set must include only
-// valid files according to protobuf semantics. The returned descriptors
-// are a deep copy of the input.
-func (o FileOptions) NewFiles(fds *descriptorpb.FileDescriptorSet) (*protoregistry.Files, error) {
- files := make(map[string]*descriptorpb.FileDescriptorProto)
- for _, fd := range fds.File {
- if _, ok := files[fd.GetName()]; ok {
- return nil, errors.New("file appears multiple times: %q", fd.GetName())
- }
- files[fd.GetName()] = fd
- }
- r := &protoregistry.Files{}
- for _, fd := range files {
- if err := o.addFileDeps(r, fd, files); err != nil {
- return nil, err
- }
- }
- return r, nil
-}
-func (o FileOptions) addFileDeps(r *protoregistry.Files, fd *descriptorpb.FileDescriptorProto, files map[string]*descriptorpb.FileDescriptorProto) error {
- // Set the entry to nil while descending into a file's dependencies to detect cycles.
- files[fd.GetName()] = nil
- for _, dep := range fd.Dependency {
- depfd, ok := files[dep]
- if depfd == nil {
- if ok {
- return errors.New("import cycle in file: %q", dep)
- }
- continue
- }
- if err := o.addFileDeps(r, depfd, files); err != nil {
- return err
- }
- }
- // Delete the entry once dependencies are processed.
- delete(files, fd.GetName())
- f, err := o.New(fd, r)
- if err != nil {
- return err
- }
- return r.RegisterFile(f)
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
deleted file mode 100644
index b3278163..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
+++ /dev/null
@@ -1,304 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protodesc
-
-import (
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
-
- "google.golang.org/protobuf/types/descriptorpb"
-)
-
-type descsByName map[protoreflect.FullName]protoreflect.Descriptor
-
-func (r descsByName) initEnumDeclarations(eds []*descriptorpb.EnumDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (es []filedesc.Enum, err error) {
- es = make([]filedesc.Enum, len(eds)) // allocate up-front to ensure stable pointers
- for i, ed := range eds {
- e := &es[i]
- e.L2 = new(filedesc.EnumL2)
- if e.L0, err = r.makeBase(e, parent, ed.GetName(), i, sb); err != nil {
- return nil, err
- }
- if opts := ed.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.EnumOptions)
- e.L2.Options = func() protoreflect.ProtoMessage { return opts }
- }
- e.L1.EditionFeatures = mergeEditionFeatures(parent, ed.GetOptions().GetFeatures())
- for _, s := range ed.GetReservedName() {
- e.L2.ReservedNames.List = append(e.L2.ReservedNames.List, protoreflect.Name(s))
- }
- for _, rr := range ed.GetReservedRange() {
- e.L2.ReservedRanges.List = append(e.L2.ReservedRanges.List, [2]protoreflect.EnumNumber{
- protoreflect.EnumNumber(rr.GetStart()),
- protoreflect.EnumNumber(rr.GetEnd()),
- })
- }
- if e.L2.Values.List, err = r.initEnumValuesFromDescriptorProto(ed.GetValue(), e, sb); err != nil {
- return nil, err
- }
- }
- return es, nil
-}
-
-func (r descsByName) initEnumValuesFromDescriptorProto(vds []*descriptorpb.EnumValueDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (vs []filedesc.EnumValue, err error) {
- vs = make([]filedesc.EnumValue, len(vds)) // allocate up-front to ensure stable pointers
- for i, vd := range vds {
- v := &vs[i]
- if v.L0, err = r.makeBase(v, parent, vd.GetName(), i, sb); err != nil {
- return nil, err
- }
- if opts := vd.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.EnumValueOptions)
- v.L1.Options = func() protoreflect.ProtoMessage { return opts }
- }
- v.L1.Number = protoreflect.EnumNumber(vd.GetNumber())
- }
- return vs, nil
-}
-
-func (r descsByName) initMessagesDeclarations(mds []*descriptorpb.DescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (ms []filedesc.Message, err error) {
- ms = make([]filedesc.Message, len(mds)) // allocate up-front to ensure stable pointers
- for i, md := range mds {
- m := &ms[i]
- m.L2 = new(filedesc.MessageL2)
- if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil {
- return nil, err
- }
- if m.Base.L0.ParentFile.Syntax() == protoreflect.Editions {
- m.L1.EditionFeatures = mergeEditionFeatures(parent, md.GetOptions().GetFeatures())
- }
- if opts := md.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.MessageOptions)
- m.L2.Options = func() protoreflect.ProtoMessage { return opts }
- m.L1.IsMapEntry = opts.GetMapEntry()
- m.L1.IsMessageSet = opts.GetMessageSetWireFormat()
- }
- for _, s := range md.GetReservedName() {
- m.L2.ReservedNames.List = append(m.L2.ReservedNames.List, protoreflect.Name(s))
- }
- for _, rr := range md.GetReservedRange() {
- m.L2.ReservedRanges.List = append(m.L2.ReservedRanges.List, [2]protoreflect.FieldNumber{
- protoreflect.FieldNumber(rr.GetStart()),
- protoreflect.FieldNumber(rr.GetEnd()),
- })
- }
- for _, xr := range md.GetExtensionRange() {
- m.L2.ExtensionRanges.List = append(m.L2.ExtensionRanges.List, [2]protoreflect.FieldNumber{
- protoreflect.FieldNumber(xr.GetStart()),
- protoreflect.FieldNumber(xr.GetEnd()),
- })
- var optsFunc func() protoreflect.ProtoMessage
- if opts := xr.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.ExtensionRangeOptions)
- optsFunc = func() protoreflect.ProtoMessage { return opts }
- }
- m.L2.ExtensionRangeOptions = append(m.L2.ExtensionRangeOptions, optsFunc)
- }
- if m.L2.Fields.List, err = r.initFieldsFromDescriptorProto(md.GetField(), m, sb); err != nil {
- return nil, err
- }
- if m.L2.Oneofs.List, err = r.initOneofsFromDescriptorProto(md.GetOneofDecl(), m, sb); err != nil {
- return nil, err
- }
- if m.L1.Enums.List, err = r.initEnumDeclarations(md.GetEnumType(), m, sb); err != nil {
- return nil, err
- }
- if m.L1.Messages.List, err = r.initMessagesDeclarations(md.GetNestedType(), m, sb); err != nil {
- return nil, err
- }
- if m.L1.Extensions.List, err = r.initExtensionDeclarations(md.GetExtension(), m, sb); err != nil {
- return nil, err
- }
- }
- return ms, nil
-}
-
-// canBePacked returns whether the field can use packed encoding:
-// https://protobuf.dev/programming-guides/encoding/#packed
-func canBePacked(fd *descriptorpb.FieldDescriptorProto) bool {
- if fd.GetLabel() != descriptorpb.FieldDescriptorProto_LABEL_REPEATED {
- return false // not a repeated field
- }
-
- switch protoreflect.Kind(fd.GetType()) {
- case protoreflect.MessageKind, protoreflect.GroupKind:
- return false // not a scalar type field
-
- case protoreflect.StringKind, protoreflect.BytesKind:
- // string and bytes can explicitly not be declared as packed,
- // see https://protobuf.dev/programming-guides/encoding/#packed
- return false
-
- default:
- return true
- }
-}
-
-func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (fs []filedesc.Field, err error) {
- fs = make([]filedesc.Field, len(fds)) // allocate up-front to ensure stable pointers
- for i, fd := range fds {
- f := &fs[i]
- if f.L0, err = r.makeBase(f, parent, fd.GetName(), i, sb); err != nil {
- return nil, err
- }
- f.L1.IsProto3Optional = fd.GetProto3Optional()
- if opts := fd.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.FieldOptions)
- f.L1.Options = func() protoreflect.ProtoMessage { return opts }
- f.L1.IsWeak = opts.GetWeak()
- f.L1.HasPacked = opts.Packed != nil
- f.L1.IsPacked = opts.GetPacked()
- }
- f.L1.Number = protoreflect.FieldNumber(fd.GetNumber())
- f.L1.Cardinality = protoreflect.Cardinality(fd.GetLabel())
- if fd.Type != nil {
- f.L1.Kind = protoreflect.Kind(fd.GetType())
- }
- if fd.JsonName != nil {
- f.L1.StringName.InitJSON(fd.GetJsonName())
- }
-
- if f.Base.L0.ParentFile.Syntax() == protoreflect.Editions {
- f.L1.EditionFeatures = mergeEditionFeatures(parent, fd.GetOptions().GetFeatures())
-
- if f.L1.EditionFeatures.IsLegacyRequired {
- f.L1.Cardinality = protoreflect.Required
- }
- // We reuse the existing field because the old option `[packed =
- // true]` is mutually exclusive with the editions feature.
- if canBePacked(fd) {
- f.L1.HasPacked = true
- f.L1.IsPacked = f.L1.EditionFeatures.IsPacked
- }
-
- // We pretend this option is always explicitly set because the only
- // use of HasEnforceUTF8 is to determine whether to use EnforceUTF8
- // or to return the appropriate default.
- // When using editions we either parse the option or resolve the
- // appropriate default here (instead of later when this option is
- // requested from the descriptor).
- // In proto2/proto3 syntax HasEnforceUTF8 might be false.
- f.L1.HasEnforceUTF8 = true
- f.L1.EnforceUTF8 = f.L1.EditionFeatures.IsUTF8Validated
-
- if f.L1.Kind == protoreflect.MessageKind && f.L1.EditionFeatures.IsDelimitedEncoded {
- f.L1.Kind = protoreflect.GroupKind
- }
- }
- }
- return fs, nil
-}
-
-func (r descsByName) initOneofsFromDescriptorProto(ods []*descriptorpb.OneofDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (os []filedesc.Oneof, err error) {
- os = make([]filedesc.Oneof, len(ods)) // allocate up-front to ensure stable pointers
- for i, od := range ods {
- o := &os[i]
- if o.L0, err = r.makeBase(o, parent, od.GetName(), i, sb); err != nil {
- return nil, err
- }
- if opts := od.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.OneofOptions)
- o.L1.Options = func() protoreflect.ProtoMessage { return opts }
- if parent.Syntax() == protoreflect.Editions {
- o.L1.EditionFeatures = mergeEditionFeatures(parent, opts.GetFeatures())
- }
- }
- }
- return os, nil
-}
-
-func (r descsByName) initExtensionDeclarations(xds []*descriptorpb.FieldDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (xs []filedesc.Extension, err error) {
- xs = make([]filedesc.Extension, len(xds)) // allocate up-front to ensure stable pointers
- for i, xd := range xds {
- x := &xs[i]
- x.L2 = new(filedesc.ExtensionL2)
- if x.L0, err = r.makeBase(x, parent, xd.GetName(), i, sb); err != nil {
- return nil, err
- }
- if opts := xd.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.FieldOptions)
- x.L2.Options = func() protoreflect.ProtoMessage { return opts }
- x.L2.IsPacked = opts.GetPacked()
- }
- x.L1.Number = protoreflect.FieldNumber(xd.GetNumber())
- x.L1.Cardinality = protoreflect.Cardinality(xd.GetLabel())
- if xd.Type != nil {
- x.L1.Kind = protoreflect.Kind(xd.GetType())
- }
- if xd.JsonName != nil {
- x.L2.StringName.InitJSON(xd.GetJsonName())
- }
- }
- return xs, nil
-}
-
-func (r descsByName) initServiceDeclarations(sds []*descriptorpb.ServiceDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (ss []filedesc.Service, err error) {
- ss = make([]filedesc.Service, len(sds)) // allocate up-front to ensure stable pointers
- for i, sd := range sds {
- s := &ss[i]
- s.L2 = new(filedesc.ServiceL2)
- if s.L0, err = r.makeBase(s, parent, sd.GetName(), i, sb); err != nil {
- return nil, err
- }
- if opts := sd.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.ServiceOptions)
- s.L2.Options = func() protoreflect.ProtoMessage { return opts }
- }
- if s.L2.Methods.List, err = r.initMethodsFromDescriptorProto(sd.GetMethod(), s, sb); err != nil {
- return nil, err
- }
- }
- return ss, nil
-}
-
-func (r descsByName) initMethodsFromDescriptorProto(mds []*descriptorpb.MethodDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (ms []filedesc.Method, err error) {
- ms = make([]filedesc.Method, len(mds)) // allocate up-front to ensure stable pointers
- for i, md := range mds {
- m := &ms[i]
- if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil {
- return nil, err
- }
- if opts := md.GetOptions(); opts != nil {
- opts = proto.Clone(opts).(*descriptorpb.MethodOptions)
- m.L1.Options = func() protoreflect.ProtoMessage { return opts }
- }
- m.L1.IsStreamingClient = md.GetClientStreaming()
- m.L1.IsStreamingServer = md.GetServerStreaming()
- }
- return ms, nil
-}
-
-func (r descsByName) makeBase(child, parent protoreflect.Descriptor, name string, idx int, sb *strs.Builder) (filedesc.BaseL0, error) {
- if !protoreflect.Name(name).IsValid() {
- return filedesc.BaseL0{}, errors.New("descriptor %q has an invalid nested name: %q", parent.FullName(), name)
- }
-
- // Derive the full name of the child.
- // Note that enum values are a sibling to the enum parent in the namespace.
- var fullName protoreflect.FullName
- if _, ok := parent.(protoreflect.EnumDescriptor); ok {
- fullName = sb.AppendFullName(parent.FullName().Parent(), protoreflect.Name(name))
- } else {
- fullName = sb.AppendFullName(parent.FullName(), protoreflect.Name(name))
- }
- if _, ok := r[fullName]; ok {
- return filedesc.BaseL0{}, errors.New("descriptor %q already declared", fullName)
- }
- r[fullName] = child
-
- // TODO: Verify that the full name does not already exist in the resolver?
- // This is not as critical since most usages of NewFile will register
- // the created file back into the registry, which will perform this check.
-
- return filedesc.BaseL0{
- FullName: fullName,
- ParentFile: parent.ParentFile().(*filedesc.File),
- Parent: parent,
- Index: idx,
- }, nil
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go
deleted file mode 100644
index 254ca585..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go
+++ /dev/null
@@ -1,286 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protodesc
-
-import (
- "google.golang.org/protobuf/internal/encoding/defval"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/reflect/protoregistry"
-
- "google.golang.org/protobuf/types/descriptorpb"
-)
-
-// resolver is a wrapper around a local registry of declarations within the file
-// and the remote resolver. The remote resolver is restricted to only return
-// descriptors that have been imported.
-type resolver struct {
- local descsByName
- remote Resolver
- imports importSet
-
- allowUnresolvable bool
-}
-
-func (r *resolver) resolveMessageDependencies(ms []filedesc.Message, mds []*descriptorpb.DescriptorProto) (err error) {
- for i, md := range mds {
- m := &ms[i]
- for j, fd := range md.GetField() {
- f := &m.L2.Fields.List[j]
- if f.L1.Cardinality == protoreflect.Required {
- m.L2.RequiredNumbers.List = append(m.L2.RequiredNumbers.List, f.L1.Number)
- }
- if fd.OneofIndex != nil {
- k := int(fd.GetOneofIndex())
- if !(0 <= k && k < len(md.GetOneofDecl())) {
- return errors.New("message field %q has an invalid oneof index: %d", f.FullName(), k)
- }
- o := &m.L2.Oneofs.List[k]
- f.L1.ContainingOneof = o
- o.L1.Fields.List = append(o.L1.Fields.List, f)
- }
-
- if f.L1.Kind, f.L1.Enum, f.L1.Message, err = r.findTarget(f.Kind(), f.Parent().FullName(), partialName(fd.GetTypeName()), f.IsWeak()); err != nil {
- return errors.New("message field %q cannot resolve type: %v", f.FullName(), err)
- }
- if fd.DefaultValue != nil {
- v, ev, err := unmarshalDefault(fd.GetDefaultValue(), f, r.allowUnresolvable)
- if err != nil {
- return errors.New("message field %q has invalid default: %v", f.FullName(), err)
- }
- f.L1.Default = filedesc.DefaultValue(v, ev)
- }
- }
-
- if err := r.resolveMessageDependencies(m.L1.Messages.List, md.GetNestedType()); err != nil {
- return err
- }
- if err := r.resolveExtensionDependencies(m.L1.Extensions.List, md.GetExtension()); err != nil {
- return err
- }
- }
- return nil
-}
-
-func (r *resolver) resolveExtensionDependencies(xs []filedesc.Extension, xds []*descriptorpb.FieldDescriptorProto) (err error) {
- for i, xd := range xds {
- x := &xs[i]
- if x.L1.Extendee, err = r.findMessageDescriptor(x.Parent().FullName(), partialName(xd.GetExtendee()), false); err != nil {
- return errors.New("extension field %q cannot resolve extendee: %v", x.FullName(), err)
- }
- if x.L1.Kind, x.L2.Enum, x.L2.Message, err = r.findTarget(x.Kind(), x.Parent().FullName(), partialName(xd.GetTypeName()), false); err != nil {
- return errors.New("extension field %q cannot resolve type: %v", x.FullName(), err)
- }
- if xd.DefaultValue != nil {
- v, ev, err := unmarshalDefault(xd.GetDefaultValue(), x, r.allowUnresolvable)
- if err != nil {
- return errors.New("extension field %q has invalid default: %v", x.FullName(), err)
- }
- x.L2.Default = filedesc.DefaultValue(v, ev)
- }
- }
- return nil
-}
-
-func (r *resolver) resolveServiceDependencies(ss []filedesc.Service, sds []*descriptorpb.ServiceDescriptorProto) (err error) {
- for i, sd := range sds {
- s := &ss[i]
- for j, md := range sd.GetMethod() {
- m := &s.L2.Methods.List[j]
- m.L1.Input, err = r.findMessageDescriptor(m.Parent().FullName(), partialName(md.GetInputType()), false)
- if err != nil {
- return errors.New("service method %q cannot resolve input: %v", m.FullName(), err)
- }
- m.L1.Output, err = r.findMessageDescriptor(s.FullName(), partialName(md.GetOutputType()), false)
- if err != nil {
- return errors.New("service method %q cannot resolve output: %v", m.FullName(), err)
- }
- }
- }
- return nil
-}
-
-// findTarget finds an enum or message descriptor if k is an enum, message,
-// group, or unknown. If unknown, and the name could be resolved, the kind
-// returned kind is set based on the type of the resolved descriptor.
-func (r *resolver) findTarget(k protoreflect.Kind, scope protoreflect.FullName, ref partialName, isWeak bool) (protoreflect.Kind, protoreflect.EnumDescriptor, protoreflect.MessageDescriptor, error) {
- switch k {
- case protoreflect.EnumKind:
- ed, err := r.findEnumDescriptor(scope, ref, isWeak)
- if err != nil {
- return 0, nil, nil, err
- }
- return k, ed, nil, nil
- case protoreflect.MessageKind, protoreflect.GroupKind:
- md, err := r.findMessageDescriptor(scope, ref, isWeak)
- if err != nil {
- return 0, nil, nil, err
- }
- return k, nil, md, nil
- case 0:
- // Handle unspecified kinds (possible with parsers that operate
- // on a per-file basis without knowledge of dependencies).
- d, err := r.findDescriptor(scope, ref)
- if err == protoregistry.NotFound && (r.allowUnresolvable || isWeak) {
- return k, filedesc.PlaceholderEnum(ref.FullName()), filedesc.PlaceholderMessage(ref.FullName()), nil
- } else if err == protoregistry.NotFound {
- return 0, nil, nil, errors.New("%q not found", ref.FullName())
- } else if err != nil {
- return 0, nil, nil, err
- }
- switch d := d.(type) {
- case protoreflect.EnumDescriptor:
- return protoreflect.EnumKind, d, nil, nil
- case protoreflect.MessageDescriptor:
- return protoreflect.MessageKind, nil, d, nil
- default:
- return 0, nil, nil, errors.New("unknown kind")
- }
- default:
- if ref != "" {
- return 0, nil, nil, errors.New("target name cannot be specified for %v", k)
- }
- if !k.IsValid() {
- return 0, nil, nil, errors.New("invalid kind: %d", k)
- }
- return k, nil, nil, nil
- }
-}
-
-// findDescriptor finds the descriptor by name,
-// which may be a relative name within some scope.
-//
-// Suppose the scope was "fizz.buzz" and the reference was "Foo.Bar",
-// then the following full names are searched:
-// - fizz.buzz.Foo.Bar
-// - fizz.Foo.Bar
-// - Foo.Bar
-func (r *resolver) findDescriptor(scope protoreflect.FullName, ref partialName) (protoreflect.Descriptor, error) {
- if !ref.IsValid() {
- return nil, errors.New("invalid name reference: %q", ref)
- }
- if ref.IsFull() {
- scope, ref = "", ref[1:]
- }
- var foundButNotImported protoreflect.Descriptor
- for {
- // Derive the full name to search.
- s := protoreflect.FullName(ref)
- if scope != "" {
- s = scope + "." + s
- }
-
- // Check the current file for the descriptor.
- if d, ok := r.local[s]; ok {
- return d, nil
- }
-
- // Check the remote registry for the descriptor.
- d, err := r.remote.FindDescriptorByName(s)
- if err == nil {
- // Only allow descriptors covered by one of the imports.
- if r.imports[d.ParentFile().Path()] {
- return d, nil
- }
- foundButNotImported = d
- } else if err != protoregistry.NotFound {
- return nil, errors.Wrap(err, "%q", s)
- }
-
- // Continue on at a higher level of scoping.
- if scope == "" {
- if d := foundButNotImported; d != nil {
- return nil, errors.New("resolved %q, but %q is not imported", d.FullName(), d.ParentFile().Path())
- }
- return nil, protoregistry.NotFound
- }
- scope = scope.Parent()
- }
-}
-
-func (r *resolver) findEnumDescriptor(scope protoreflect.FullName, ref partialName, isWeak bool) (protoreflect.EnumDescriptor, error) {
- d, err := r.findDescriptor(scope, ref)
- if err == protoregistry.NotFound && (r.allowUnresolvable || isWeak) {
- return filedesc.PlaceholderEnum(ref.FullName()), nil
- } else if err == protoregistry.NotFound {
- return nil, errors.New("%q not found", ref.FullName())
- } else if err != nil {
- return nil, err
- }
- ed, ok := d.(protoreflect.EnumDescriptor)
- if !ok {
- return nil, errors.New("resolved %q, but it is not an enum", d.FullName())
- }
- return ed, nil
-}
-
-func (r *resolver) findMessageDescriptor(scope protoreflect.FullName, ref partialName, isWeak bool) (protoreflect.MessageDescriptor, error) {
- d, err := r.findDescriptor(scope, ref)
- if err == protoregistry.NotFound && (r.allowUnresolvable || isWeak) {
- return filedesc.PlaceholderMessage(ref.FullName()), nil
- } else if err == protoregistry.NotFound {
- return nil, errors.New("%q not found", ref.FullName())
- } else if err != nil {
- return nil, err
- }
- md, ok := d.(protoreflect.MessageDescriptor)
- if !ok {
- return nil, errors.New("resolved %q, but it is not an message", d.FullName())
- }
- return md, nil
-}
-
-// partialName is the partial name. A leading dot means that the name is full,
-// otherwise the name is relative to some current scope.
-// See google.protobuf.FieldDescriptorProto.type_name.
-type partialName string
-
-func (s partialName) IsFull() bool {
- return len(s) > 0 && s[0] == '.'
-}
-
-func (s partialName) IsValid() bool {
- if s.IsFull() {
- return protoreflect.FullName(s[1:]).IsValid()
- }
- return protoreflect.FullName(s).IsValid()
-}
-
-const unknownPrefix = "*."
-
-// FullName converts the partial name to a full name on a best-effort basis.
-// If relative, it creates an invalid full name, using a "*." prefix
-// to indicate that the start of the full name is unknown.
-func (s partialName) FullName() protoreflect.FullName {
- if s.IsFull() {
- return protoreflect.FullName(s[1:])
- }
- return protoreflect.FullName(unknownPrefix + s)
-}
-
-func unmarshalDefault(s string, fd protoreflect.FieldDescriptor, allowUnresolvable bool) (protoreflect.Value, protoreflect.EnumValueDescriptor, error) {
- var evs protoreflect.EnumValueDescriptors
- if fd.Enum() != nil {
- evs = fd.Enum().Values()
- }
- v, ev, err := defval.Unmarshal(s, fd.Kind(), evs, defval.Descriptor)
- if err != nil && allowUnresolvable && evs != nil && protoreflect.Name(s).IsValid() {
- v = protoreflect.ValueOfEnum(0)
- if evs.Len() > 0 {
- v = protoreflect.ValueOfEnum(evs.Get(0).Number())
- }
- ev = filedesc.PlaceholderEnumValue(fd.Enum().FullName().Parent().Append(protoreflect.Name(s)))
- } else if err != nil {
- return v, ev, err
- }
- if !fd.HasPresence() {
- return v, ev, errors.New("cannot be specified with implicit field presence")
- }
- if fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind || fd.Cardinality() == protoreflect.Repeated {
- return v, ev, errors.New("cannot be specified on composite types")
- }
- return v, ev, nil
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go
deleted file mode 100644
index e4dcaf87..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go
+++ /dev/null
@@ -1,374 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protodesc
-
-import (
- "strings"
- "unicode"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/internal/genid"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/reflect/protoreflect"
-
- "google.golang.org/protobuf/types/descriptorpb"
-)
-
-func validateEnumDeclarations(es []filedesc.Enum, eds []*descriptorpb.EnumDescriptorProto) error {
- for i, ed := range eds {
- e := &es[i]
- if err := e.L2.ReservedNames.CheckValid(); err != nil {
- return errors.New("enum %q reserved names has %v", e.FullName(), err)
- }
- if err := e.L2.ReservedRanges.CheckValid(); err != nil {
- return errors.New("enum %q reserved ranges has %v", e.FullName(), err)
- }
- if len(ed.GetValue()) == 0 {
- return errors.New("enum %q must contain at least one value declaration", e.FullName())
- }
- allowAlias := ed.GetOptions().GetAllowAlias()
- foundAlias := false
- for i := 0; i < e.Values().Len(); i++ {
- v1 := e.Values().Get(i)
- if v2 := e.Values().ByNumber(v1.Number()); v1 != v2 {
- foundAlias = true
- if !allowAlias {
- return errors.New("enum %q has conflicting non-aliased values on number %d: %q with %q", e.FullName(), v1.Number(), v1.Name(), v2.Name())
- }
- }
- }
- if allowAlias && !foundAlias {
- return errors.New("enum %q allows aliases, but none were found", e.FullName())
- }
- if e.Syntax() == protoreflect.Proto3 {
- if v := e.Values().Get(0); v.Number() != 0 {
- return errors.New("enum %q using proto3 semantics must have zero number for the first value", v.FullName())
- }
- // Verify that value names in proto3 do not conflict if the
- // case-insensitive prefix is removed.
- // See protoc v3.8.0: src/google/protobuf/descriptor.cc:4991-5055
- names := map[string]protoreflect.EnumValueDescriptor{}
- prefix := strings.Replace(strings.ToLower(string(e.Name())), "_", "", -1)
- for i := 0; i < e.Values().Len(); i++ {
- v1 := e.Values().Get(i)
- s := strs.EnumValueName(strs.TrimEnumPrefix(string(v1.Name()), prefix))
- if v2, ok := names[s]; ok && v1.Number() != v2.Number() {
- return errors.New("enum %q using proto3 semantics has conflict: %q with %q", e.FullName(), v1.Name(), v2.Name())
- }
- names[s] = v1
- }
- }
-
- for j, vd := range ed.GetValue() {
- v := &e.L2.Values.List[j]
- if vd.Number == nil {
- return errors.New("enum value %q must have a specified number", v.FullName())
- }
- if e.L2.ReservedNames.Has(v.Name()) {
- return errors.New("enum value %q must not use reserved name", v.FullName())
- }
- if e.L2.ReservedRanges.Has(v.Number()) {
- return errors.New("enum value %q must not use reserved number %d", v.FullName(), v.Number())
- }
- }
- }
- return nil
-}
-
-func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.DescriptorProto) error {
- for i, md := range mds {
- m := &ms[i]
-
- // Handle the message descriptor itself.
- isMessageSet := md.GetOptions().GetMessageSetWireFormat()
- if err := m.L2.ReservedNames.CheckValid(); err != nil {
- return errors.New("message %q reserved names has %v", m.FullName(), err)
- }
- if err := m.L2.ReservedRanges.CheckValid(isMessageSet); err != nil {
- return errors.New("message %q reserved ranges has %v", m.FullName(), err)
- }
- if err := m.L2.ExtensionRanges.CheckValid(isMessageSet); err != nil {
- return errors.New("message %q extension ranges has %v", m.FullName(), err)
- }
- if err := (*filedesc.FieldRanges).CheckOverlap(&m.L2.ReservedRanges, &m.L2.ExtensionRanges); err != nil {
- return errors.New("message %q reserved and extension ranges has %v", m.FullName(), err)
- }
- for i := 0; i < m.Fields().Len(); i++ {
- f1 := m.Fields().Get(i)
- if f2 := m.Fields().ByNumber(f1.Number()); f1 != f2 {
- return errors.New("message %q has conflicting fields: %q with %q", m.FullName(), f1.Name(), f2.Name())
- }
- }
- if isMessageSet && !flags.ProtoLegacy {
- return errors.New("message %q is a MessageSet, which is a legacy proto1 feature that is no longer supported", m.FullName())
- }
- if isMessageSet && (m.Syntax() == protoreflect.Proto3 || m.Fields().Len() > 0 || m.ExtensionRanges().Len() == 0) {
- return errors.New("message %q is an invalid proto1 MessageSet", m.FullName())
- }
- if m.Syntax() == protoreflect.Proto3 {
- if m.ExtensionRanges().Len() > 0 {
- return errors.New("message %q using proto3 semantics cannot have extension ranges", m.FullName())
- }
- // Verify that field names in proto3 do not conflict if lowercased
- // with all underscores removed.
- // See protoc v3.8.0: src/google/protobuf/descriptor.cc:5830-5847
- names := map[string]protoreflect.FieldDescriptor{}
- for i := 0; i < m.Fields().Len(); i++ {
- f1 := m.Fields().Get(i)
- s := strings.Replace(strings.ToLower(string(f1.Name())), "_", "", -1)
- if f2, ok := names[s]; ok {
- return errors.New("message %q using proto3 semantics has conflict: %q with %q", m.FullName(), f1.Name(), f2.Name())
- }
- names[s] = f1
- }
- }
-
- for j, fd := range md.GetField() {
- f := &m.L2.Fields.List[j]
- if m.L2.ReservedNames.Has(f.Name()) {
- return errors.New("message field %q must not use reserved name", f.FullName())
- }
- if !f.Number().IsValid() {
- return errors.New("message field %q has an invalid number: %d", f.FullName(), f.Number())
- }
- if !f.Cardinality().IsValid() {
- return errors.New("message field %q has an invalid cardinality: %d", f.FullName(), f.Cardinality())
- }
- if m.L2.ReservedRanges.Has(f.Number()) {
- return errors.New("message field %q must not use reserved number %d", f.FullName(), f.Number())
- }
- if m.L2.ExtensionRanges.Has(f.Number()) {
- return errors.New("message field %q with number %d in extension range", f.FullName(), f.Number())
- }
- if fd.Extendee != nil {
- return errors.New("message field %q may not have extendee: %q", f.FullName(), fd.GetExtendee())
- }
- if f.L1.IsProto3Optional {
- if f.Syntax() != protoreflect.Proto3 {
- return errors.New("message field %q under proto3 optional semantics must be specified in the proto3 syntax", f.FullName())
- }
- if f.Cardinality() != protoreflect.Optional {
- return errors.New("message field %q under proto3 optional semantics must have optional cardinality", f.FullName())
- }
- if f.ContainingOneof() != nil && f.ContainingOneof().Fields().Len() != 1 {
- return errors.New("message field %q under proto3 optional semantics must be within a single element oneof", f.FullName())
- }
- }
- if f.IsWeak() && !flags.ProtoLegacy {
- return errors.New("message field %q is a weak field, which is a legacy proto1 feature that is no longer supported", f.FullName())
- }
- if f.IsWeak() && (f.Syntax() != protoreflect.Proto2 || !isOptionalMessage(f) || f.ContainingOneof() != nil) {
- return errors.New("message field %q may only be weak for an optional message", f.FullName())
- }
- if f.IsPacked() && !isPackable(f) {
- return errors.New("message field %q is not packable", f.FullName())
- }
- if err := checkValidGroup(f); err != nil {
- return errors.New("message field %q is an invalid group: %v", f.FullName(), err)
- }
- if err := checkValidMap(f); err != nil {
- return errors.New("message field %q is an invalid map: %v", f.FullName(), err)
- }
- if f.Syntax() == protoreflect.Proto3 {
- if f.Cardinality() == protoreflect.Required {
- return errors.New("message field %q using proto3 semantics cannot be required", f.FullName())
- }
- if f.Enum() != nil && !f.Enum().IsPlaceholder() && f.Enum().Syntax() != protoreflect.Proto3 {
- return errors.New("message field %q using proto3 semantics may only depend on a proto3 enum", f.FullName())
- }
- }
- }
- seenSynthetic := false // synthetic oneofs for proto3 optional must come after real oneofs
- for j := range md.GetOneofDecl() {
- o := &m.L2.Oneofs.List[j]
- if o.Fields().Len() == 0 {
- return errors.New("message oneof %q must contain at least one field declaration", o.FullName())
- }
- if n := o.Fields().Len(); n-1 != (o.Fields().Get(n-1).Index() - o.Fields().Get(0).Index()) {
- return errors.New("message oneof %q must have consecutively declared fields", o.FullName())
- }
-
- if o.IsSynthetic() {
- seenSynthetic = true
- continue
- }
- if !o.IsSynthetic() && seenSynthetic {
- return errors.New("message oneof %q must be declared before synthetic oneofs", o.FullName())
- }
-
- for i := 0; i < o.Fields().Len(); i++ {
- f := o.Fields().Get(i)
- if f.Cardinality() != protoreflect.Optional {
- return errors.New("message field %q belongs in a oneof and must be optional", f.FullName())
- }
- if f.IsWeak() {
- return errors.New("message field %q belongs in a oneof and must not be a weak reference", f.FullName())
- }
- }
- }
-
- if err := validateEnumDeclarations(m.L1.Enums.List, md.GetEnumType()); err != nil {
- return err
- }
- if err := validateMessageDeclarations(m.L1.Messages.List, md.GetNestedType()); err != nil {
- return err
- }
- if err := validateExtensionDeclarations(m.L1.Extensions.List, md.GetExtension()); err != nil {
- return err
- }
- }
- return nil
-}
-
-func validateExtensionDeclarations(xs []filedesc.Extension, xds []*descriptorpb.FieldDescriptorProto) error {
- for i, xd := range xds {
- x := &xs[i]
- // NOTE: Avoid using the IsValid method since extensions to MessageSet
- // may have a field number higher than normal. This check only verifies
- // that the number is not negative or reserved. We check again later
- // if we know that the extendee is definitely not a MessageSet.
- if n := x.Number(); n < 0 || (protowire.FirstReservedNumber <= n && n <= protowire.LastReservedNumber) {
- return errors.New("extension field %q has an invalid number: %d", x.FullName(), x.Number())
- }
- if !x.Cardinality().IsValid() || x.Cardinality() == protoreflect.Required {
- return errors.New("extension field %q has an invalid cardinality: %d", x.FullName(), x.Cardinality())
- }
- if xd.JsonName != nil {
- // A bug in older versions of protoc would always populate the
- // "json_name" option for extensions when it is meaningless.
- // When it did so, it would always use the camel-cased field name.
- if xd.GetJsonName() != strs.JSONCamelCase(string(x.Name())) {
- return errors.New("extension field %q may not have an explicitly set JSON name: %q", x.FullName(), xd.GetJsonName())
- }
- }
- if xd.OneofIndex != nil {
- return errors.New("extension field %q may not be part of a oneof", x.FullName())
- }
- if md := x.ContainingMessage(); !md.IsPlaceholder() {
- if !md.ExtensionRanges().Has(x.Number()) {
- return errors.New("extension field %q extends %q with non-extension field number: %d", x.FullName(), md.FullName(), x.Number())
- }
- isMessageSet := md.Options().(*descriptorpb.MessageOptions).GetMessageSetWireFormat()
- if isMessageSet && !isOptionalMessage(x) {
- return errors.New("extension field %q extends MessageSet and must be an optional message", x.FullName())
- }
- if !isMessageSet && !x.Number().IsValid() {
- return errors.New("extension field %q has an invalid number: %d", x.FullName(), x.Number())
- }
- }
- if xd.GetOptions().GetWeak() {
- return errors.New("extension field %q cannot be a weak reference", x.FullName())
- }
- if x.IsPacked() && !isPackable(x) {
- return errors.New("extension field %q is not packable", x.FullName())
- }
- if err := checkValidGroup(x); err != nil {
- return errors.New("extension field %q is an invalid group: %v", x.FullName(), err)
- }
- if md := x.Message(); md != nil && md.IsMapEntry() {
- return errors.New("extension field %q cannot be a map entry", x.FullName())
- }
- if x.Syntax() == protoreflect.Proto3 {
- switch x.ContainingMessage().FullName() {
- case (*descriptorpb.FileOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.EnumOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.EnumValueOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.MessageOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.FieldOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.OneofOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.ExtensionRangeOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.ServiceOptions)(nil).ProtoReflect().Descriptor().FullName():
- case (*descriptorpb.MethodOptions)(nil).ProtoReflect().Descriptor().FullName():
- default:
- return errors.New("extension field %q cannot be declared in proto3 unless extended descriptor options", x.FullName())
- }
- }
- }
- return nil
-}
-
-// isOptionalMessage reports whether this is an optional message.
-// If the kind is unknown, it is assumed to be a message.
-func isOptionalMessage(fd protoreflect.FieldDescriptor) bool {
- return (fd.Kind() == 0 || fd.Kind() == protoreflect.MessageKind) && fd.Cardinality() == protoreflect.Optional
-}
-
-// isPackable checks whether the pack option can be specified.
-func isPackable(fd protoreflect.FieldDescriptor) bool {
- switch fd.Kind() {
- case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind:
- return false
- }
- return fd.IsList()
-}
-
-// checkValidGroup reports whether fd is a valid group according to the same
-// rules that protoc imposes.
-func checkValidGroup(fd protoreflect.FieldDescriptor) error {
- md := fd.Message()
- switch {
- case fd.Kind() != protoreflect.GroupKind:
- return nil
- case fd.Syntax() == protoreflect.Proto3:
- return errors.New("invalid under proto3 semantics")
- case md == nil || md.IsPlaceholder():
- return errors.New("message must be resolvable")
- case fd.FullName().Parent() != md.FullName().Parent():
- return errors.New("message and field must be declared in the same scope")
- case !unicode.IsUpper(rune(md.Name()[0])):
- return errors.New("message name must start with an uppercase")
- case fd.Name() != protoreflect.Name(strings.ToLower(string(md.Name()))):
- return errors.New("field name must be lowercased form of the message name")
- }
- return nil
-}
-
-// checkValidMap checks whether the field is a valid map according to the same
-// rules that protoc imposes.
-// See protoc v3.8.0: src/google/protobuf/descriptor.cc:6045-6115
-func checkValidMap(fd protoreflect.FieldDescriptor) error {
- md := fd.Message()
- switch {
- case md == nil || !md.IsMapEntry():
- return nil
- case fd.FullName().Parent() != md.FullName().Parent():
- return errors.New("message and field must be declared in the same scope")
- case md.Name() != protoreflect.Name(strs.MapEntryName(string(fd.Name()))):
- return errors.New("incorrect implicit map entry name")
- case fd.Cardinality() != protoreflect.Repeated:
- return errors.New("field must be repeated")
- case md.Fields().Len() != 2:
- return errors.New("message must have exactly two fields")
- case md.ExtensionRanges().Len() > 0:
- return errors.New("message must not have any extension ranges")
- case md.Enums().Len()+md.Messages().Len()+md.Extensions().Len() > 0:
- return errors.New("message must not have any nested declarations")
- }
- kf := md.Fields().Get(0)
- vf := md.Fields().Get(1)
- switch {
- case kf.Name() != genid.MapEntry_Key_field_name || kf.Number() != genid.MapEntry_Key_field_number || kf.Cardinality() != protoreflect.Optional || kf.ContainingOneof() != nil || kf.HasDefault():
- return errors.New("invalid key field")
- case vf.Name() != genid.MapEntry_Value_field_name || vf.Number() != genid.MapEntry_Value_field_number || vf.Cardinality() != protoreflect.Optional || vf.ContainingOneof() != nil || vf.HasDefault():
- return errors.New("invalid value field")
- }
- switch kf.Kind() {
- case protoreflect.BoolKind: // bool
- case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: // int32
- case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: // int64
- case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: // uint32
- case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: // uint64
- case protoreflect.StringKind: // string
- default:
- return errors.New("invalid key kind: %v", kf.Kind())
- }
- if e := vf.Enum(); e != nil && e.Values().Len() > 0 && e.Values().Get(0).Number() != 0 {
- return errors.New("map enum value must have zero number for the first value")
- }
- return nil
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go b/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go
deleted file mode 100644
index 2a6b29d1..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protodesc
-
-import (
- "fmt"
- "os"
- "sync"
-
- "google.golang.org/protobuf/internal/editiondefaults"
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
- "google.golang.org/protobuf/types/descriptorpb"
- gofeaturespb "google.golang.org/protobuf/types/gofeaturespb"
-)
-
-const (
- SupportedEditionsMinimum = descriptorpb.Edition_EDITION_PROTO2
- SupportedEditionsMaximum = descriptorpb.Edition_EDITION_2023
-)
-
-var defaults = &descriptorpb.FeatureSetDefaults{}
-var defaultsCacheMu sync.Mutex
-var defaultsCache = make(map[filedesc.Edition]*descriptorpb.FeatureSet)
-
-func init() {
- err := proto.Unmarshal(editiondefaults.Defaults, defaults)
- if err != nil {
- fmt.Fprintf(os.Stderr, "unmarshal editions defaults: %v\n", err)
- os.Exit(1)
- }
-}
-
-func fromEditionProto(epb descriptorpb.Edition) filedesc.Edition {
- return filedesc.Edition(epb)
-}
-
-func toEditionProto(ed filedesc.Edition) descriptorpb.Edition {
- switch ed {
- case filedesc.EditionUnknown:
- return descriptorpb.Edition_EDITION_UNKNOWN
- case filedesc.EditionProto2:
- return descriptorpb.Edition_EDITION_PROTO2
- case filedesc.EditionProto3:
- return descriptorpb.Edition_EDITION_PROTO3
- case filedesc.Edition2023:
- return descriptorpb.Edition_EDITION_2023
- default:
- panic(fmt.Sprintf("unknown value for edition: %v", ed))
- }
-}
-
-func getFeatureSetFor(ed filedesc.Edition) *descriptorpb.FeatureSet {
- defaultsCacheMu.Lock()
- defer defaultsCacheMu.Unlock()
- if def, ok := defaultsCache[ed]; ok {
- return def
- }
- edpb := toEditionProto(ed)
- if defaults.GetMinimumEdition() > edpb || defaults.GetMaximumEdition() < edpb {
- // This should never happen protodesc.(FileOptions).New would fail when
- // initializing the file descriptor.
- // This most likely means the embedded defaults were not updated.
- fmt.Fprintf(os.Stderr, "internal error: unsupported edition %v (did you forget to update the embedded defaults (i.e. the bootstrap descriptor proto)?)\n", edpb)
- os.Exit(1)
- }
- fs := defaults.GetDefaults()[0].GetFeatures()
- // Using a linear search for now.
- // Editions are guaranteed to be sorted and thus we could use a binary search.
- // Given that there are only a handful of editions (with one more per year)
- // there is not much reason to use a binary search.
- for _, def := range defaults.GetDefaults() {
- if def.GetEdition() <= edpb {
- fs = def.GetFeatures()
- } else {
- break
- }
- }
- defaultsCache[ed] = fs
- return fs
-}
-
-// mergeEditionFeatures merges the parent and child feature sets. This function
-// should be used when initializing Go descriptors from descriptor protos which
-// is why the parent is a filedesc.EditionsFeatures (Go representation) while
-// the child is a descriptorproto.FeatureSet (protoc representation).
-// Any feature set by the child overwrites what is set by the parent.
-func mergeEditionFeatures(parentDesc protoreflect.Descriptor, child *descriptorpb.FeatureSet) filedesc.EditionFeatures {
- var parentFS filedesc.EditionFeatures
- switch p := parentDesc.(type) {
- case *filedesc.File:
- parentFS = p.L1.EditionFeatures
- case *filedesc.Message:
- parentFS = p.L1.EditionFeatures
- default:
- panic(fmt.Sprintf("unknown parent type %T", parentDesc))
- }
- if child == nil {
- return parentFS
- }
- if fp := child.FieldPresence; fp != nil {
- parentFS.IsFieldPresence = *fp == descriptorpb.FeatureSet_LEGACY_REQUIRED ||
- *fp == descriptorpb.FeatureSet_EXPLICIT
- parentFS.IsLegacyRequired = *fp == descriptorpb.FeatureSet_LEGACY_REQUIRED
- }
- if et := child.EnumType; et != nil {
- parentFS.IsOpenEnum = *et == descriptorpb.FeatureSet_OPEN
- }
-
- if rfe := child.RepeatedFieldEncoding; rfe != nil {
- parentFS.IsPacked = *rfe == descriptorpb.FeatureSet_PACKED
- }
-
- if utf8val := child.Utf8Validation; utf8val != nil {
- parentFS.IsUTF8Validated = *utf8val == descriptorpb.FeatureSet_VERIFY
- }
-
- if me := child.MessageEncoding; me != nil {
- parentFS.IsDelimitedEncoded = *me == descriptorpb.FeatureSet_DELIMITED
- }
-
- if jf := child.JsonFormat; jf != nil {
- parentFS.IsJSONCompliant = *jf == descriptorpb.FeatureSet_ALLOW
- }
-
- if goFeatures, ok := proto.GetExtension(child, gofeaturespb.E_Go).(*gofeaturespb.GoFeatures); ok && goFeatures != nil {
- if luje := goFeatures.LegacyUnmarshalJsonEnum; luje != nil {
- parentFS.GenerateLegacyUnmarshalJSON = *luje
- }
- }
-
- return parentFS
-}
-
-// initFileDescFromFeatureSet initializes editions related fields in fd based
-// on fs. If fs is nil it is assumed to be an empty featureset and all fields
-// will be initialized with the appropriate default. fd.L1.Edition must be set
-// before calling this function.
-func initFileDescFromFeatureSet(fd *filedesc.File, fs *descriptorpb.FeatureSet) {
- dfs := getFeatureSetFor(fd.L1.Edition)
- // initialize the featureset with the defaults
- fd.L1.EditionFeatures = mergeEditionFeatures(fd, dfs)
- // overwrite any options explicitly specified
- fd.L1.EditionFeatures = mergeEditionFeatures(fd, fs)
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go b/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go
deleted file mode 100644
index 9d6e0542..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go
+++ /dev/null
@@ -1,252 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protodesc
-
-import (
- "fmt"
- "strings"
-
- "google.golang.org/protobuf/internal/encoding/defval"
- "google.golang.org/protobuf/internal/strs"
- "google.golang.org/protobuf/proto"
- "google.golang.org/protobuf/reflect/protoreflect"
-
- "google.golang.org/protobuf/types/descriptorpb"
-)
-
-// ToFileDescriptorProto copies a [protoreflect.FileDescriptor] into a
-// google.protobuf.FileDescriptorProto message.
-func ToFileDescriptorProto(file protoreflect.FileDescriptor) *descriptorpb.FileDescriptorProto {
- p := &descriptorpb.FileDescriptorProto{
- Name: proto.String(file.Path()),
- Options: proto.Clone(file.Options()).(*descriptorpb.FileOptions),
- }
- if file.Package() != "" {
- p.Package = proto.String(string(file.Package()))
- }
- for i, imports := 0, file.Imports(); i < imports.Len(); i++ {
- imp := imports.Get(i)
- p.Dependency = append(p.Dependency, imp.Path())
- if imp.IsPublic {
- p.PublicDependency = append(p.PublicDependency, int32(i))
- }
- if imp.IsWeak {
- p.WeakDependency = append(p.WeakDependency, int32(i))
- }
- }
- for i, locs := 0, file.SourceLocations(); i < locs.Len(); i++ {
- loc := locs.Get(i)
- l := &descriptorpb.SourceCodeInfo_Location{}
- l.Path = append(l.Path, loc.Path...)
- if loc.StartLine == loc.EndLine {
- l.Span = []int32{int32(loc.StartLine), int32(loc.StartColumn), int32(loc.EndColumn)}
- } else {
- l.Span = []int32{int32(loc.StartLine), int32(loc.StartColumn), int32(loc.EndLine), int32(loc.EndColumn)}
- }
- l.LeadingDetachedComments = append([]string(nil), loc.LeadingDetachedComments...)
- if loc.LeadingComments != "" {
- l.LeadingComments = proto.String(loc.LeadingComments)
- }
- if loc.TrailingComments != "" {
- l.TrailingComments = proto.String(loc.TrailingComments)
- }
- if p.SourceCodeInfo == nil {
- p.SourceCodeInfo = &descriptorpb.SourceCodeInfo{}
- }
- p.SourceCodeInfo.Location = append(p.SourceCodeInfo.Location, l)
-
- }
- for i, messages := 0, file.Messages(); i < messages.Len(); i++ {
- p.MessageType = append(p.MessageType, ToDescriptorProto(messages.Get(i)))
- }
- for i, enums := 0, file.Enums(); i < enums.Len(); i++ {
- p.EnumType = append(p.EnumType, ToEnumDescriptorProto(enums.Get(i)))
- }
- for i, services := 0, file.Services(); i < services.Len(); i++ {
- p.Service = append(p.Service, ToServiceDescriptorProto(services.Get(i)))
- }
- for i, exts := 0, file.Extensions(); i < exts.Len(); i++ {
- p.Extension = append(p.Extension, ToFieldDescriptorProto(exts.Get(i)))
- }
- if syntax := file.Syntax(); syntax != protoreflect.Proto2 && syntax.IsValid() {
- p.Syntax = proto.String(file.Syntax().String())
- }
- return p
-}
-
-// ToDescriptorProto copies a [protoreflect.MessageDescriptor] into a
-// google.protobuf.DescriptorProto message.
-func ToDescriptorProto(message protoreflect.MessageDescriptor) *descriptorpb.DescriptorProto {
- p := &descriptorpb.DescriptorProto{
- Name: proto.String(string(message.Name())),
- Options: proto.Clone(message.Options()).(*descriptorpb.MessageOptions),
- }
- for i, fields := 0, message.Fields(); i < fields.Len(); i++ {
- p.Field = append(p.Field, ToFieldDescriptorProto(fields.Get(i)))
- }
- for i, exts := 0, message.Extensions(); i < exts.Len(); i++ {
- p.Extension = append(p.Extension, ToFieldDescriptorProto(exts.Get(i)))
- }
- for i, messages := 0, message.Messages(); i < messages.Len(); i++ {
- p.NestedType = append(p.NestedType, ToDescriptorProto(messages.Get(i)))
- }
- for i, enums := 0, message.Enums(); i < enums.Len(); i++ {
- p.EnumType = append(p.EnumType, ToEnumDescriptorProto(enums.Get(i)))
- }
- for i, xranges := 0, message.ExtensionRanges(); i < xranges.Len(); i++ {
- xrange := xranges.Get(i)
- p.ExtensionRange = append(p.ExtensionRange, &descriptorpb.DescriptorProto_ExtensionRange{
- Start: proto.Int32(int32(xrange[0])),
- End: proto.Int32(int32(xrange[1])),
- Options: proto.Clone(message.ExtensionRangeOptions(i)).(*descriptorpb.ExtensionRangeOptions),
- })
- }
- for i, oneofs := 0, message.Oneofs(); i < oneofs.Len(); i++ {
- p.OneofDecl = append(p.OneofDecl, ToOneofDescriptorProto(oneofs.Get(i)))
- }
- for i, ranges := 0, message.ReservedRanges(); i < ranges.Len(); i++ {
- rrange := ranges.Get(i)
- p.ReservedRange = append(p.ReservedRange, &descriptorpb.DescriptorProto_ReservedRange{
- Start: proto.Int32(int32(rrange[0])),
- End: proto.Int32(int32(rrange[1])),
- })
- }
- for i, names := 0, message.ReservedNames(); i < names.Len(); i++ {
- p.ReservedName = append(p.ReservedName, string(names.Get(i)))
- }
- return p
-}
-
-// ToFieldDescriptorProto copies a [protoreflect.FieldDescriptor] into a
-// google.protobuf.FieldDescriptorProto message.
-func ToFieldDescriptorProto(field protoreflect.FieldDescriptor) *descriptorpb.FieldDescriptorProto {
- p := &descriptorpb.FieldDescriptorProto{
- Name: proto.String(string(field.Name())),
- Number: proto.Int32(int32(field.Number())),
- Label: descriptorpb.FieldDescriptorProto_Label(field.Cardinality()).Enum(),
- Options: proto.Clone(field.Options()).(*descriptorpb.FieldOptions),
- }
- if field.IsExtension() {
- p.Extendee = fullNameOf(field.ContainingMessage())
- }
- if field.Kind().IsValid() {
- p.Type = descriptorpb.FieldDescriptorProto_Type(field.Kind()).Enum()
- }
- if field.Enum() != nil {
- p.TypeName = fullNameOf(field.Enum())
- }
- if field.Message() != nil {
- p.TypeName = fullNameOf(field.Message())
- }
- if field.HasJSONName() {
- // A bug in older versions of protoc would always populate the
- // "json_name" option for extensions when it is meaningless.
- // When it did so, it would always use the camel-cased field name.
- if field.IsExtension() {
- p.JsonName = proto.String(strs.JSONCamelCase(string(field.Name())))
- } else {
- p.JsonName = proto.String(field.JSONName())
- }
- }
- if field.Syntax() == protoreflect.Proto3 && field.HasOptionalKeyword() {
- p.Proto3Optional = proto.Bool(true)
- }
- if field.HasDefault() {
- def, err := defval.Marshal(field.Default(), field.DefaultEnumValue(), field.Kind(), defval.Descriptor)
- if err != nil && field.DefaultEnumValue() != nil {
- def = string(field.DefaultEnumValue().Name()) // occurs for unresolved enum values
- } else if err != nil {
- panic(fmt.Sprintf("%v: %v", field.FullName(), err))
- }
- p.DefaultValue = proto.String(def)
- }
- if oneof := field.ContainingOneof(); oneof != nil {
- p.OneofIndex = proto.Int32(int32(oneof.Index()))
- }
- return p
-}
-
-// ToOneofDescriptorProto copies a [protoreflect.OneofDescriptor] into a
-// google.protobuf.OneofDescriptorProto message.
-func ToOneofDescriptorProto(oneof protoreflect.OneofDescriptor) *descriptorpb.OneofDescriptorProto {
- return &descriptorpb.OneofDescriptorProto{
- Name: proto.String(string(oneof.Name())),
- Options: proto.Clone(oneof.Options()).(*descriptorpb.OneofOptions),
- }
-}
-
-// ToEnumDescriptorProto copies a [protoreflect.EnumDescriptor] into a
-// google.protobuf.EnumDescriptorProto message.
-func ToEnumDescriptorProto(enum protoreflect.EnumDescriptor) *descriptorpb.EnumDescriptorProto {
- p := &descriptorpb.EnumDescriptorProto{
- Name: proto.String(string(enum.Name())),
- Options: proto.Clone(enum.Options()).(*descriptorpb.EnumOptions),
- }
- for i, values := 0, enum.Values(); i < values.Len(); i++ {
- p.Value = append(p.Value, ToEnumValueDescriptorProto(values.Get(i)))
- }
- for i, ranges := 0, enum.ReservedRanges(); i < ranges.Len(); i++ {
- rrange := ranges.Get(i)
- p.ReservedRange = append(p.ReservedRange, &descriptorpb.EnumDescriptorProto_EnumReservedRange{
- Start: proto.Int32(int32(rrange[0])),
- End: proto.Int32(int32(rrange[1])),
- })
- }
- for i, names := 0, enum.ReservedNames(); i < names.Len(); i++ {
- p.ReservedName = append(p.ReservedName, string(names.Get(i)))
- }
- return p
-}
-
-// ToEnumValueDescriptorProto copies a [protoreflect.EnumValueDescriptor] into a
-// google.protobuf.EnumValueDescriptorProto message.
-func ToEnumValueDescriptorProto(value protoreflect.EnumValueDescriptor) *descriptorpb.EnumValueDescriptorProto {
- return &descriptorpb.EnumValueDescriptorProto{
- Name: proto.String(string(value.Name())),
- Number: proto.Int32(int32(value.Number())),
- Options: proto.Clone(value.Options()).(*descriptorpb.EnumValueOptions),
- }
-}
-
-// ToServiceDescriptorProto copies a [protoreflect.ServiceDescriptor] into a
-// google.protobuf.ServiceDescriptorProto message.
-func ToServiceDescriptorProto(service protoreflect.ServiceDescriptor) *descriptorpb.ServiceDescriptorProto {
- p := &descriptorpb.ServiceDescriptorProto{
- Name: proto.String(string(service.Name())),
- Options: proto.Clone(service.Options()).(*descriptorpb.ServiceOptions),
- }
- for i, methods := 0, service.Methods(); i < methods.Len(); i++ {
- p.Method = append(p.Method, ToMethodDescriptorProto(methods.Get(i)))
- }
- return p
-}
-
-// ToMethodDescriptorProto copies a [protoreflect.MethodDescriptor] into a
-// google.protobuf.MethodDescriptorProto message.
-func ToMethodDescriptorProto(method protoreflect.MethodDescriptor) *descriptorpb.MethodDescriptorProto {
- p := &descriptorpb.MethodDescriptorProto{
- Name: proto.String(string(method.Name())),
- InputType: fullNameOf(method.Input()),
- OutputType: fullNameOf(method.Output()),
- Options: proto.Clone(method.Options()).(*descriptorpb.MethodOptions),
- }
- if method.IsStreamingClient() {
- p.ClientStreaming = proto.Bool(true)
- }
- if method.IsStreamingServer() {
- p.ServerStreaming = proto.Bool(true)
- }
- return p
-}
-
-func fullNameOf(d protoreflect.Descriptor) *string {
- if d == nil {
- return nil
- }
- if strings.HasPrefix(string(d.FullName()), unknownPrefix) {
- return proto.String(string(d.FullName()[len(unknownPrefix):]))
- }
- return proto.String("." + string(d.FullName()))
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go
deleted file mode 100644
index d5d5af6e..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2020 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoreflect
-
-import (
- "google.golang.org/protobuf/internal/pragma"
-)
-
-// The following types are used by the fast-path Message.ProtoMethods method.
-//
-// To avoid polluting the public protoreflect API with types used only by
-// low-level implementations, the canonical definitions of these types are
-// in the runtime/protoiface package. The definitions here and in protoiface
-// must be kept in sync.
-type (
- methods = struct {
- pragma.NoUnkeyedLiterals
- Flags supportFlags
- Size func(sizeInput) sizeOutput
- Marshal func(marshalInput) (marshalOutput, error)
- Unmarshal func(unmarshalInput) (unmarshalOutput, error)
- Merge func(mergeInput) mergeOutput
- CheckInitialized func(checkInitializedInput) (checkInitializedOutput, error)
- }
- supportFlags = uint64
- sizeInput = struct {
- pragma.NoUnkeyedLiterals
- Message Message
- Flags uint8
- }
- sizeOutput = struct {
- pragma.NoUnkeyedLiterals
- Size int
- }
- marshalInput = struct {
- pragma.NoUnkeyedLiterals
- Message Message
- Buf []byte
- Flags uint8
- }
- marshalOutput = struct {
- pragma.NoUnkeyedLiterals
- Buf []byte
- }
- unmarshalInput = struct {
- pragma.NoUnkeyedLiterals
- Message Message
- Buf []byte
- Flags uint8
- Resolver interface {
- FindExtensionByName(field FullName) (ExtensionType, error)
- FindExtensionByNumber(message FullName, field FieldNumber) (ExtensionType, error)
- }
- Depth int
- }
- unmarshalOutput = struct {
- pragma.NoUnkeyedLiterals
- Flags uint8
- }
- mergeInput = struct {
- pragma.NoUnkeyedLiterals
- Source Message
- Destination Message
- }
- mergeOutput = struct {
- pragma.NoUnkeyedLiterals
- Flags uint8
- }
- checkInitializedInput = struct {
- pragma.NoUnkeyedLiterals
- Message Message
- }
- checkInitializedOutput = struct {
- pragma.NoUnkeyedLiterals
- }
-)
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
deleted file mode 100644
index 00b01fbd..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
+++ /dev/null
@@ -1,513 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package protoreflect provides interfaces to dynamically manipulate messages.
-//
-// This package includes type descriptors which describe the structure of types
-// defined in proto source files and value interfaces which provide the
-// ability to examine and manipulate the contents of messages.
-//
-// # Protocol Buffer Descriptors
-//
-// Protobuf descriptors (e.g., [EnumDescriptor] or [MessageDescriptor])
-// are immutable objects that represent protobuf type information.
-// They are wrappers around the messages declared in descriptor.proto.
-// Protobuf descriptors alone lack any information regarding Go types.
-//
-// Enums and messages generated by this module implement [Enum] and [ProtoMessage],
-// where the Descriptor and ProtoReflect.Descriptor accessors respectively
-// return the protobuf descriptor for the values.
-//
-// The protobuf descriptor interfaces are not meant to be implemented by
-// user code since they might need to be extended in the future to support
-// additions to the protobuf language.
-// The [google.golang.org/protobuf/reflect/protodesc] package converts between
-// google.protobuf.DescriptorProto messages and protobuf descriptors.
-//
-// # Go Type Descriptors
-//
-// A type descriptor (e.g., [EnumType] or [MessageType]) is a constructor for
-// a concrete Go type that represents the associated protobuf descriptor.
-// There is commonly a one-to-one relationship between protobuf descriptors and
-// Go type descriptors, but it can potentially be a one-to-many relationship.
-//
-// Enums and messages generated by this module implement [Enum] and [ProtoMessage],
-// where the Type and ProtoReflect.Type accessors respectively
-// return the protobuf descriptor for the values.
-//
-// The [google.golang.org/protobuf/types/dynamicpb] package can be used to
-// create Go type descriptors from protobuf descriptors.
-//
-// # Value Interfaces
-//
-// The [Enum] and [Message] interfaces provide a reflective view over an
-// enum or message instance. For enums, it provides the ability to retrieve
-// the enum value number for any concrete enum type. For messages, it provides
-// the ability to access or manipulate fields of the message.
-//
-// To convert a [google.golang.org/protobuf/proto.Message] to a [protoreflect.Message], use the
-// former's ProtoReflect method. Since the ProtoReflect method is new to the
-// v2 message interface, it may not be present on older message implementations.
-// The [github.com/golang/protobuf/proto.MessageReflect] function can be used
-// to obtain a reflective view on older messages.
-//
-// # Relationships
-//
-// The following diagrams demonstrate the relationships between
-// various types declared in this package.
-//
-// ┌───────────────────────────────────â”
-// V │
-// ┌────────────── New(n) ─────────────┠│
-// │ │ │
-// │ ┌──── Descriptor() ──┠│ ┌── Number() ──┠│
-// │ │ V V │ V │
-// â•”â•â•â•â•â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•â•â•â•â•—
-// â•‘ EnumType â•‘ â•‘ EnumDescriptor â•‘ â•‘ Enum â•‘ â•‘ EnumNumber â•‘
-// â•šâ•â•â•â•â•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•
-// Λ Λ │ │
-// │ └─── Descriptor() ──┘ │
-// │ │
-// └────────────────── Type() ───────┘
-//
-// • An [EnumType] describes a concrete Go enum type.
-// It has an EnumDescriptor and can construct an Enum instance.
-//
-// • An [EnumDescriptor] describes an abstract protobuf enum type.
-//
-// • An [Enum] is a concrete enum instance. Generated enums implement Enum.
-//
-// ┌──────────────── New() ─────────────────â”
-// │ │
-// │ ┌─── Descriptor() ─────┠│ ┌── Interface() ───â”
-// │ │ V V │ V
-// â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
-// â•‘ MessageType â•‘ â•‘ MessageDescriptor â•‘ â•‘ Message â•‘ â•‘ ProtoMessage â•‘
-// â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
-// Λ Λ │ │ Λ │
-// │ └──── Descriptor() ────┘ │ └─ ProtoReflect() ─┘
-// │ │
-// └─────────────────── Type() ─────────┘
-//
-// • A [MessageType] describes a concrete Go message type.
-// It has a [MessageDescriptor] and can construct a [Message] instance.
-// Just as how Go's [reflect.Type] is a reflective description of a Go type,
-// a [MessageType] is a reflective description of a Go type for a protobuf message.
-//
-// • A [MessageDescriptor] describes an abstract protobuf message type.
-// It has no understanding of Go types. In order to construct a [MessageType]
-// from just a [MessageDescriptor], you can consider looking up the message type
-// in the global registry using the FindMessageByName method on
-// [google.golang.org/protobuf/reflect/protoregistry.GlobalTypes]
-// or constructing a dynamic [MessageType] using
-// [google.golang.org/protobuf/types/dynamicpb.NewMessageType].
-//
-// • A [Message] is a reflective view over a concrete message instance.
-// Generated messages implement [ProtoMessage], which can convert to a [Message].
-// Just as how Go's [reflect.Value] is a reflective view over a Go value,
-// a [Message] is a reflective view over a concrete protobuf message instance.
-// Using Go reflection as an analogy, the [ProtoMessage.ProtoReflect] method is similar to
-// calling [reflect.ValueOf], and the [Message.Interface] method is similar to
-// calling [reflect.Value.Interface].
-//
-// ┌── TypeDescriptor() ──┠┌───── Descriptor() ─────â”
-// │ V │ V
-// â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•— â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
-// â•‘ ExtensionType â•‘ â•‘ ExtensionTypeDescriptor â•‘ â•‘ ExtensionDescriptor â•‘
-// â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
-// Λ │ │ Λ │ Λ
-// └─────── Type() ───────┘ │ └─── may implement ────┘ │
-// │ │
-// └────── implements ────────┘
-//
-// • An [ExtensionType] describes a concrete Go implementation of an extension.
-// It has an [ExtensionTypeDescriptor] and can convert to/from
-// an abstract [Value] and a Go value.
-//
-// • An [ExtensionTypeDescriptor] is an [ExtensionDescriptor]
-// which also has an [ExtensionType].
-//
-// • An [ExtensionDescriptor] describes an abstract protobuf extension field and
-// may not always be an [ExtensionTypeDescriptor].
-package protoreflect
-
-import (
- "fmt"
- "strings"
-
- "google.golang.org/protobuf/encoding/protowire"
- "google.golang.org/protobuf/internal/pragma"
-)
-
-type doNotImplement pragma.DoNotImplement
-
-// ProtoMessage is the top-level interface that all proto messages implement.
-// This is declared in the protoreflect package to avoid a cyclic dependency;
-// use the [google.golang.org/protobuf/proto.Message] type instead, which aliases this type.
-type ProtoMessage interface{ ProtoReflect() Message }
-
-// Syntax is the language version of the proto file.
-type Syntax syntax
-
-type syntax int8 // keep exact type opaque as the int type may change
-
-const (
- Proto2 Syntax = 2
- Proto3 Syntax = 3
- Editions Syntax = 4
-)
-
-// IsValid reports whether the syntax is valid.
-func (s Syntax) IsValid() bool {
- switch s {
- case Proto2, Proto3:
- return true
- default:
- return false
- }
-}
-
-// String returns s as a proto source identifier (e.g., "proto2").
-func (s Syntax) String() string {
- switch s {
- case Proto2:
- return "proto2"
- case Proto3:
- return "proto3"
- case Editions:
- return "editions"
- default:
- return fmt.Sprintf("", s)
- }
-}
-
-// GoString returns s as a Go source identifier (e.g., "Proto2").
-func (s Syntax) GoString() string {
- switch s {
- case Proto2:
- return "Proto2"
- case Proto3:
- return "Proto3"
- default:
- return fmt.Sprintf("Syntax(%d)", s)
- }
-}
-
-// Cardinality determines whether a field is optional, required, or repeated.
-type Cardinality cardinality
-
-type cardinality int8 // keep exact type opaque as the int type may change
-
-// Constants as defined by the google.protobuf.Cardinality enumeration.
-const (
- Optional Cardinality = 1 // appears zero or one times
- Required Cardinality = 2 // appears exactly one time; invalid with Proto3
- Repeated Cardinality = 3 // appears zero or more times
-)
-
-// IsValid reports whether the cardinality is valid.
-func (c Cardinality) IsValid() bool {
- switch c {
- case Optional, Required, Repeated:
- return true
- default:
- return false
- }
-}
-
-// String returns c as a proto source identifier (e.g., "optional").
-func (c Cardinality) String() string {
- switch c {
- case Optional:
- return "optional"
- case Required:
- return "required"
- case Repeated:
- return "repeated"
- default:
- return fmt.Sprintf("", c)
- }
-}
-
-// GoString returns c as a Go source identifier (e.g., "Optional").
-func (c Cardinality) GoString() string {
- switch c {
- case Optional:
- return "Optional"
- case Required:
- return "Required"
- case Repeated:
- return "Repeated"
- default:
- return fmt.Sprintf("Cardinality(%d)", c)
- }
-}
-
-// Kind indicates the basic proto kind of a field.
-type Kind kind
-
-type kind int8 // keep exact type opaque as the int type may change
-
-// Constants as defined by the google.protobuf.Field.Kind enumeration.
-const (
- BoolKind Kind = 8
- EnumKind Kind = 14
- Int32Kind Kind = 5
- Sint32Kind Kind = 17
- Uint32Kind Kind = 13
- Int64Kind Kind = 3
- Sint64Kind Kind = 18
- Uint64Kind Kind = 4
- Sfixed32Kind Kind = 15
- Fixed32Kind Kind = 7
- FloatKind Kind = 2
- Sfixed64Kind Kind = 16
- Fixed64Kind Kind = 6
- DoubleKind Kind = 1
- StringKind Kind = 9
- BytesKind Kind = 12
- MessageKind Kind = 11
- GroupKind Kind = 10
-)
-
-// IsValid reports whether the kind is valid.
-func (k Kind) IsValid() bool {
- switch k {
- case BoolKind, EnumKind,
- Int32Kind, Sint32Kind, Uint32Kind,
- Int64Kind, Sint64Kind, Uint64Kind,
- Sfixed32Kind, Fixed32Kind, FloatKind,
- Sfixed64Kind, Fixed64Kind, DoubleKind,
- StringKind, BytesKind, MessageKind, GroupKind:
- return true
- default:
- return false
- }
-}
-
-// String returns k as a proto source identifier (e.g., "bool").
-func (k Kind) String() string {
- switch k {
- case BoolKind:
- return "bool"
- case EnumKind:
- return "enum"
- case Int32Kind:
- return "int32"
- case Sint32Kind:
- return "sint32"
- case Uint32Kind:
- return "uint32"
- case Int64Kind:
- return "int64"
- case Sint64Kind:
- return "sint64"
- case Uint64Kind:
- return "uint64"
- case Sfixed32Kind:
- return "sfixed32"
- case Fixed32Kind:
- return "fixed32"
- case FloatKind:
- return "float"
- case Sfixed64Kind:
- return "sfixed64"
- case Fixed64Kind:
- return "fixed64"
- case DoubleKind:
- return "double"
- case StringKind:
- return "string"
- case BytesKind:
- return "bytes"
- case MessageKind:
- return "message"
- case GroupKind:
- return "group"
- default:
- return fmt.Sprintf("", k)
- }
-}
-
-// GoString returns k as a Go source identifier (e.g., "BoolKind").
-func (k Kind) GoString() string {
- switch k {
- case BoolKind:
- return "BoolKind"
- case EnumKind:
- return "EnumKind"
- case Int32Kind:
- return "Int32Kind"
- case Sint32Kind:
- return "Sint32Kind"
- case Uint32Kind:
- return "Uint32Kind"
- case Int64Kind:
- return "Int64Kind"
- case Sint64Kind:
- return "Sint64Kind"
- case Uint64Kind:
- return "Uint64Kind"
- case Sfixed32Kind:
- return "Sfixed32Kind"
- case Fixed32Kind:
- return "Fixed32Kind"
- case FloatKind:
- return "FloatKind"
- case Sfixed64Kind:
- return "Sfixed64Kind"
- case Fixed64Kind:
- return "Fixed64Kind"
- case DoubleKind:
- return "DoubleKind"
- case StringKind:
- return "StringKind"
- case BytesKind:
- return "BytesKind"
- case MessageKind:
- return "MessageKind"
- case GroupKind:
- return "GroupKind"
- default:
- return fmt.Sprintf("Kind(%d)", k)
- }
-}
-
-// FieldNumber is the field number in a message.
-type FieldNumber = protowire.Number
-
-// FieldNumbers represent a list of field numbers.
-type FieldNumbers interface {
- // Len reports the number of fields in the list.
- Len() int
- // Get returns the ith field number. It panics if out of bounds.
- Get(i int) FieldNumber
- // Has reports whether n is within the list of fields.
- Has(n FieldNumber) bool
-
- doNotImplement
-}
-
-// FieldRanges represent a list of field number ranges.
-type FieldRanges interface {
- // Len reports the number of ranges in the list.
- Len() int
- // Get returns the ith range. It panics if out of bounds.
- Get(i int) [2]FieldNumber // start inclusive; end exclusive
- // Has reports whether n is within any of the ranges.
- Has(n FieldNumber) bool
-
- doNotImplement
-}
-
-// EnumNumber is the numeric value for an enum.
-type EnumNumber int32
-
-// EnumRanges represent a list of enum number ranges.
-type EnumRanges interface {
- // Len reports the number of ranges in the list.
- Len() int
- // Get returns the ith range. It panics if out of bounds.
- Get(i int) [2]EnumNumber // start inclusive; end inclusive
- // Has reports whether n is within any of the ranges.
- Has(n EnumNumber) bool
-
- doNotImplement
-}
-
-// Name is the short name for a proto declaration. This is not the name
-// as used in Go source code, which might not be identical to the proto name.
-type Name string // e.g., "Kind"
-
-// IsValid reports whether s is a syntactically valid name.
-// An empty name is invalid.
-func (s Name) IsValid() bool {
- return consumeIdent(string(s)) == len(s)
-}
-
-// Names represent a list of names.
-type Names interface {
- // Len reports the number of names in the list.
- Len() int
- // Get returns the ith name. It panics if out of bounds.
- Get(i int) Name
- // Has reports whether s matches any names in the list.
- Has(s Name) bool
-
- doNotImplement
-}
-
-// FullName is a qualified name that uniquely identifies a proto declaration.
-// A qualified name is the concatenation of the proto package along with the
-// fully-declared name (i.e., name of parent preceding the name of the child),
-// with a '.' delimiter placed between each [Name].
-//
-// This should not have any leading or trailing dots.
-type FullName string // e.g., "google.protobuf.Field.Kind"
-
-// IsValid reports whether s is a syntactically valid full name.
-// An empty full name is invalid.
-func (s FullName) IsValid() bool {
- i := consumeIdent(string(s))
- if i < 0 {
- return false
- }
- for len(s) > i {
- if s[i] != '.' {
- return false
- }
- i++
- n := consumeIdent(string(s[i:]))
- if n < 0 {
- return false
- }
- i += n
- }
- return true
-}
-
-func consumeIdent(s string) (i int) {
- if len(s) == 0 || !isLetter(s[i]) {
- return -1
- }
- i++
- for len(s) > i && isLetterDigit(s[i]) {
- i++
- }
- return i
-}
-func isLetter(c byte) bool {
- return c == '_' || ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')
-}
-func isLetterDigit(c byte) bool {
- return isLetter(c) || ('0' <= c && c <= '9')
-}
-
-// Name returns the short name, which is the last identifier segment.
-// A single segment FullName is the [Name] itself.
-func (n FullName) Name() Name {
- if i := strings.LastIndexByte(string(n), '.'); i >= 0 {
- return Name(n[i+1:])
- }
- return Name(n)
-}
-
-// Parent returns the full name with the trailing identifier removed.
-// A single segment FullName has no parent.
-func (n FullName) Parent() FullName {
- if i := strings.LastIndexByte(string(n), '.'); i >= 0 {
- return n[:i]
- }
- return ""
-}
-
-// Append returns the qualified name appended with the provided short name.
-//
-// Invariant: n == n.Parent().Append(n.Name()) // assuming n is valid
-func (n FullName) Append(s Name) FullName {
- if n == "" {
- return FullName(s)
- }
- return n + "." + FullName(s)
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go
deleted file mode 100644
index 0b994288..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoreflect
-
-import (
- "strconv"
-)
-
-// SourceLocations is a list of source locations.
-type SourceLocations interface {
- // Len reports the number of source locations in the proto file.
- Len() int
- // Get returns the ith SourceLocation. It panics if out of bounds.
- Get(int) SourceLocation
-
- // ByPath returns the SourceLocation for the given path,
- // returning the first location if multiple exist for the same path.
- // If multiple locations exist for the same path,
- // then SourceLocation.Next index can be used to identify the
- // index of the next SourceLocation.
- // If no location exists for this path, it returns the zero value.
- ByPath(path SourcePath) SourceLocation
-
- // ByDescriptor returns the SourceLocation for the given descriptor,
- // returning the first location if multiple exist for the same path.
- // If no location exists for this descriptor, it returns the zero value.
- ByDescriptor(desc Descriptor) SourceLocation
-
- doNotImplement
-}
-
-// SourceLocation describes a source location and
-// corresponds with the google.protobuf.SourceCodeInfo.Location message.
-type SourceLocation struct {
- // Path is the path to the declaration from the root file descriptor.
- // The contents of this slice must not be mutated.
- Path SourcePath
-
- // StartLine and StartColumn are the zero-indexed starting location
- // in the source file for the declaration.
- StartLine, StartColumn int
- // EndLine and EndColumn are the zero-indexed ending location
- // in the source file for the declaration.
- // In the descriptor.proto, the end line may be omitted if it is identical
- // to the start line. Here, it is always populated.
- EndLine, EndColumn int
-
- // LeadingDetachedComments are the leading detached comments
- // for the declaration. The contents of this slice must not be mutated.
- LeadingDetachedComments []string
- // LeadingComments is the leading attached comment for the declaration.
- LeadingComments string
- // TrailingComments is the trailing attached comment for the declaration.
- TrailingComments string
-
- // Next is an index into SourceLocations for the next source location that
- // has the same Path. It is zero if there is no next location.
- Next int
-}
-
-// SourcePath identifies part of a file descriptor for a source location.
-// The SourcePath is a sequence of either field numbers or indexes into
-// a repeated field that form a path starting from the root file descriptor.
-//
-// See google.protobuf.SourceCodeInfo.Location.path.
-type SourcePath []int32
-
-// Equal reports whether p1 equals p2.
-func (p1 SourcePath) Equal(p2 SourcePath) bool {
- if len(p1) != len(p2) {
- return false
- }
- for i := range p1 {
- if p1[i] != p2[i] {
- return false
- }
- }
- return true
-}
-
-// String formats the path in a humanly readable manner.
-// The output is guaranteed to be deterministic,
-// making it suitable for use as a key into a Go map.
-// It is not guaranteed to be stable as the exact output could change
-// in a future version of this module.
-//
-// Example output:
-//
-// .message_type[6].nested_type[15].field[3]
-func (p SourcePath) String() string {
- b := p.appendFileDescriptorProto(nil)
- for _, i := range p {
- b = append(b, '.')
- b = strconv.AppendInt(b, int64(i), 10)
- }
- return string(b)
-}
-
-type appendFunc func(*SourcePath, []byte) []byte
-
-func (p *SourcePath) appendSingularField(b []byte, name string, f appendFunc) []byte {
- if len(*p) == 0 {
- return b
- }
- b = append(b, '.')
- b = append(b, name...)
- *p = (*p)[1:]
- if f != nil {
- b = f(p, b)
- }
- return b
-}
-
-func (p *SourcePath) appendRepeatedField(b []byte, name string, f appendFunc) []byte {
- b = p.appendSingularField(b, name, nil)
- if len(*p) == 0 || (*p)[0] < 0 {
- return b
- }
- b = append(b, '[')
- b = strconv.AppendUint(b, uint64((*p)[0]), 10)
- b = append(b, ']')
- *p = (*p)[1:]
- if f != nil {
- b = f(p, b)
- }
- return b
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
deleted file mode 100644
index 7dcc2ff0..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
+++ /dev/null
@@ -1,552 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Code generated by generate-protos. DO NOT EDIT.
-
-package protoreflect
-
-func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 2:
- b = p.appendSingularField(b, "package", nil)
- case 3:
- b = p.appendRepeatedField(b, "dependency", nil)
- case 10:
- b = p.appendRepeatedField(b, "public_dependency", nil)
- case 11:
- b = p.appendRepeatedField(b, "weak_dependency", nil)
- case 4:
- b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto)
- case 5:
- b = p.appendRepeatedField(b, "enum_type", (*SourcePath).appendEnumDescriptorProto)
- case 6:
- b = p.appendRepeatedField(b, "service", (*SourcePath).appendServiceDescriptorProto)
- case 7:
- b = p.appendRepeatedField(b, "extension", (*SourcePath).appendFieldDescriptorProto)
- case 8:
- b = p.appendSingularField(b, "options", (*SourcePath).appendFileOptions)
- case 9:
- b = p.appendSingularField(b, "source_code_info", (*SourcePath).appendSourceCodeInfo)
- case 12:
- b = p.appendSingularField(b, "syntax", nil)
- case 14:
- b = p.appendSingularField(b, "edition", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 2:
- b = p.appendRepeatedField(b, "field", (*SourcePath).appendFieldDescriptorProto)
- case 6:
- b = p.appendRepeatedField(b, "extension", (*SourcePath).appendFieldDescriptorProto)
- case 3:
- b = p.appendRepeatedField(b, "nested_type", (*SourcePath).appendDescriptorProto)
- case 4:
- b = p.appendRepeatedField(b, "enum_type", (*SourcePath).appendEnumDescriptorProto)
- case 5:
- b = p.appendRepeatedField(b, "extension_range", (*SourcePath).appendDescriptorProto_ExtensionRange)
- case 8:
- b = p.appendRepeatedField(b, "oneof_decl", (*SourcePath).appendOneofDescriptorProto)
- case 7:
- b = p.appendSingularField(b, "options", (*SourcePath).appendMessageOptions)
- case 9:
- b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange)
- case 10:
- b = p.appendRepeatedField(b, "reserved_name", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 2:
- b = p.appendRepeatedField(b, "value", (*SourcePath).appendEnumValueDescriptorProto)
- case 3:
- b = p.appendSingularField(b, "options", (*SourcePath).appendEnumOptions)
- case 4:
- b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange)
- case 5:
- b = p.appendRepeatedField(b, "reserved_name", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendServiceDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 2:
- b = p.appendRepeatedField(b, "method", (*SourcePath).appendMethodDescriptorProto)
- case 3:
- b = p.appendSingularField(b, "options", (*SourcePath).appendServiceOptions)
- }
- return b
-}
-
-func (p *SourcePath) appendFieldDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 3:
- b = p.appendSingularField(b, "number", nil)
- case 4:
- b = p.appendSingularField(b, "label", nil)
- case 5:
- b = p.appendSingularField(b, "type", nil)
- case 6:
- b = p.appendSingularField(b, "type_name", nil)
- case 2:
- b = p.appendSingularField(b, "extendee", nil)
- case 7:
- b = p.appendSingularField(b, "default_value", nil)
- case 9:
- b = p.appendSingularField(b, "oneof_index", nil)
- case 10:
- b = p.appendSingularField(b, "json_name", nil)
- case 8:
- b = p.appendSingularField(b, "options", (*SourcePath).appendFieldOptions)
- case 17:
- b = p.appendSingularField(b, "proto3_optional", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendFileOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "java_package", nil)
- case 8:
- b = p.appendSingularField(b, "java_outer_classname", nil)
- case 10:
- b = p.appendSingularField(b, "java_multiple_files", nil)
- case 20:
- b = p.appendSingularField(b, "java_generate_equals_and_hash", nil)
- case 27:
- b = p.appendSingularField(b, "java_string_check_utf8", nil)
- case 9:
- b = p.appendSingularField(b, "optimize_for", nil)
- case 11:
- b = p.appendSingularField(b, "go_package", nil)
- case 16:
- b = p.appendSingularField(b, "cc_generic_services", nil)
- case 17:
- b = p.appendSingularField(b, "java_generic_services", nil)
- case 18:
- b = p.appendSingularField(b, "py_generic_services", nil)
- case 23:
- b = p.appendSingularField(b, "deprecated", nil)
- case 31:
- b = p.appendSingularField(b, "cc_enable_arenas", nil)
- case 36:
- b = p.appendSingularField(b, "objc_class_prefix", nil)
- case 37:
- b = p.appendSingularField(b, "csharp_namespace", nil)
- case 39:
- b = p.appendSingularField(b, "swift_prefix", nil)
- case 40:
- b = p.appendSingularField(b, "php_class_prefix", nil)
- case 41:
- b = p.appendSingularField(b, "php_namespace", nil)
- case 44:
- b = p.appendSingularField(b, "php_metadata_namespace", nil)
- case 45:
- b = p.appendSingularField(b, "ruby_package", nil)
- case 50:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendSourceCodeInfo(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendRepeatedField(b, "location", (*SourcePath).appendSourceCodeInfo_Location)
- }
- return b
-}
-
-func (p *SourcePath) appendDescriptorProto_ExtensionRange(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "start", nil)
- case 2:
- b = p.appendSingularField(b, "end", nil)
- case 3:
- b = p.appendSingularField(b, "options", (*SourcePath).appendExtensionRangeOptions)
- }
- return b
-}
-
-func (p *SourcePath) appendOneofDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 2:
- b = p.appendSingularField(b, "options", (*SourcePath).appendOneofOptions)
- }
- return b
-}
-
-func (p *SourcePath) appendMessageOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "message_set_wire_format", nil)
- case 2:
- b = p.appendSingularField(b, "no_standard_descriptor_accessor", nil)
- case 3:
- b = p.appendSingularField(b, "deprecated", nil)
- case 7:
- b = p.appendSingularField(b, "map_entry", nil)
- case 11:
- b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil)
- case 12:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendDescriptorProto_ReservedRange(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "start", nil)
- case 2:
- b = p.appendSingularField(b, "end", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendEnumValueDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 2:
- b = p.appendSingularField(b, "number", nil)
- case 3:
- b = p.appendSingularField(b, "options", (*SourcePath).appendEnumValueOptions)
- }
- return b
-}
-
-func (p *SourcePath) appendEnumOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 2:
- b = p.appendSingularField(b, "allow_alias", nil)
- case 3:
- b = p.appendSingularField(b, "deprecated", nil)
- case 6:
- b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil)
- case 7:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendEnumDescriptorProto_EnumReservedRange(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "start", nil)
- case 2:
- b = p.appendSingularField(b, "end", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendMethodDescriptorProto(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name", nil)
- case 2:
- b = p.appendSingularField(b, "input_type", nil)
- case 3:
- b = p.appendSingularField(b, "output_type", nil)
- case 4:
- b = p.appendSingularField(b, "options", (*SourcePath).appendMethodOptions)
- case 5:
- b = p.appendSingularField(b, "client_streaming", nil)
- case 6:
- b = p.appendSingularField(b, "server_streaming", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendServiceOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 34:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 33:
- b = p.appendSingularField(b, "deprecated", nil)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendFieldOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "ctype", nil)
- case 2:
- b = p.appendSingularField(b, "packed", nil)
- case 6:
- b = p.appendSingularField(b, "jstype", nil)
- case 5:
- b = p.appendSingularField(b, "lazy", nil)
- case 15:
- b = p.appendSingularField(b, "unverified_lazy", nil)
- case 3:
- b = p.appendSingularField(b, "deprecated", nil)
- case 10:
- b = p.appendSingularField(b, "weak", nil)
- case 16:
- b = p.appendSingularField(b, "debug_redact", nil)
- case 17:
- b = p.appendSingularField(b, "retention", nil)
- case 19:
- b = p.appendRepeatedField(b, "targets", nil)
- case 20:
- b = p.appendRepeatedField(b, "edition_defaults", (*SourcePath).appendFieldOptions_EditionDefault)
- case 21:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendFeatureSet(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "field_presence", nil)
- case 2:
- b = p.appendSingularField(b, "enum_type", nil)
- case 3:
- b = p.appendSingularField(b, "repeated_field_encoding", nil)
- case 4:
- b = p.appendSingularField(b, "utf8_validation", nil)
- case 5:
- b = p.appendSingularField(b, "message_encoding", nil)
- case 6:
- b = p.appendSingularField(b, "json_format", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendUninterpretedOption(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 2:
- b = p.appendRepeatedField(b, "name", (*SourcePath).appendUninterpretedOption_NamePart)
- case 3:
- b = p.appendSingularField(b, "identifier_value", nil)
- case 4:
- b = p.appendSingularField(b, "positive_int_value", nil)
- case 5:
- b = p.appendSingularField(b, "negative_int_value", nil)
- case 6:
- b = p.appendSingularField(b, "double_value", nil)
- case 7:
- b = p.appendSingularField(b, "string_value", nil)
- case 8:
- b = p.appendSingularField(b, "aggregate_value", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendSourceCodeInfo_Location(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendRepeatedField(b, "path", nil)
- case 2:
- b = p.appendRepeatedField(b, "span", nil)
- case 3:
- b = p.appendSingularField(b, "leading_comments", nil)
- case 4:
- b = p.appendSingularField(b, "trailing_comments", nil)
- case 6:
- b = p.appendRepeatedField(b, "leading_detached_comments", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendExtensionRangeOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- case 2:
- b = p.appendRepeatedField(b, "declaration", (*SourcePath).appendExtensionRangeOptions_Declaration)
- case 50:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 3:
- b = p.appendSingularField(b, "verification", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendOneofOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendEnumValueOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "deprecated", nil)
- case 2:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 3:
- b = p.appendSingularField(b, "debug_redact", nil)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendMethodOptions(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 33:
- b = p.appendSingularField(b, "deprecated", nil)
- case 34:
- b = p.appendSingularField(b, "idempotency_level", nil)
- case 35:
- b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
- case 999:
- b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
- }
- return b
-}
-
-func (p *SourcePath) appendFieldOptions_EditionDefault(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 3:
- b = p.appendSingularField(b, "edition", nil)
- case 2:
- b = p.appendSingularField(b, "value", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "name_part", nil)
- case 2:
- b = p.appendSingularField(b, "is_extension", nil)
- }
- return b
-}
-
-func (p *SourcePath) appendExtensionRangeOptions_Declaration(b []byte) []byte {
- if len(*p) == 0 {
- return b
- }
- switch (*p)[0] {
- case 1:
- b = p.appendSingularField(b, "number", nil)
- case 2:
- b = p.appendSingularField(b, "full_name", nil)
- case 3:
- b = p.appendSingularField(b, "type", nil)
- case 5:
- b = p.appendSingularField(b, "reserved", nil)
- case 6:
- b = p.appendSingularField(b, "repeated", nil)
- }
- return b
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go
deleted file mode 100644
index 60ff62b4..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go
+++ /dev/null
@@ -1,666 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoreflect
-
-// Descriptor provides a set of accessors that are common to every descriptor.
-// Each descriptor type wraps the equivalent google.protobuf.XXXDescriptorProto,
-// but provides efficient lookup and immutability.
-//
-// Each descriptor is comparable. Equality implies that the two types are
-// exactly identical. However, it is possible for the same semantically
-// identical proto type to be represented by multiple type descriptors.
-//
-// For example, suppose we have t1 and t2 which are both an [MessageDescriptor].
-// If t1 == t2, then the types are definitely equal and all accessors return
-// the same information. However, if t1 != t2, then it is still possible that
-// they still represent the same proto type (e.g., t1.FullName == t2.FullName).
-// This can occur if a descriptor type is created dynamically, or multiple
-// versions of the same proto type are accidentally linked into the Go binary.
-type Descriptor interface {
- // ParentFile returns the parent file descriptor that this descriptor
- // is declared within. The parent file for the file descriptor is itself.
- //
- // Support for this functionality is optional and may return nil.
- ParentFile() FileDescriptor
-
- // Parent returns the parent containing this descriptor declaration.
- // The following shows the mapping from child type to possible parent types:
- //
- // â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
- // ║ Child type │ Possible parent types ║
- // â• â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£
- // ║ FileDescriptor │ nil ║
- // ║ MessageDescriptor │ FileDescriptor, MessageDescriptor ║
- // ║ FieldDescriptor │ FileDescriptor, MessageDescriptor ║
- // ║ OneofDescriptor │ MessageDescriptor ║
- // ║ EnumDescriptor │ FileDescriptor, MessageDescriptor ║
- // ║ EnumValueDescriptor │ EnumDescriptor ║
- // ║ ServiceDescriptor │ FileDescriptor ║
- // ║ MethodDescriptor │ ServiceDescriptor ║
- // â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
- //
- // Support for this functionality is optional and may return nil.
- Parent() Descriptor
-
- // Index returns the index of this descriptor within its parent.
- // It returns 0 if the descriptor does not have a parent or if the parent
- // is unknown.
- Index() int
-
- // Syntax is the protobuf syntax.
- Syntax() Syntax // e.g., Proto2 or Proto3
-
- // Name is the short name of the declaration (i.e., FullName.Name).
- Name() Name // e.g., "Any"
-
- // FullName is the fully-qualified name of the declaration.
- //
- // The FullName is a concatenation of the full name of the type that this
- // type is declared within and the declaration name. For example,
- // field "foo_field" in message "proto.package.MyMessage" is
- // uniquely identified as "proto.package.MyMessage.foo_field".
- // Enum values are an exception to the rule (see EnumValueDescriptor).
- FullName() FullName // e.g., "google.protobuf.Any"
-
- // IsPlaceholder reports whether type information is missing since a
- // dependency is not resolved, in which case only name information is known.
- //
- // Placeholder types may only be returned by the following accessors
- // as a result of unresolved dependencies or weak imports:
- //
- // â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
- // ║ Accessor │ Descriptor ║
- // â• â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£
- // ║ FileImports.FileDescriptor │ FileDescriptor ║
- // ║ FieldDescriptor.Enum │ EnumDescriptor ║
- // ║ FieldDescriptor.Message │ MessageDescriptor ║
- // ║ FieldDescriptor.DefaultEnumValue │ EnumValueDescriptor ║
- // ║ FieldDescriptor.ContainingMessage │ MessageDescriptor ║
- // ║ MethodDescriptor.Input │ MessageDescriptor ║
- // ║ MethodDescriptor.Output │ MessageDescriptor ║
- // â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
- //
- // If true, only Name and FullName are valid.
- // For FileDescriptor, the Path is also valid.
- IsPlaceholder() bool
-
- // Options returns the descriptor options. The caller must not modify
- // the returned value.
- //
- // To avoid a dependency cycle, this function returns a proto.Message value.
- // The proto message type returned for each descriptor type is as follows:
- // â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
- // ║ Go type │ Protobuf message type ║
- // â• â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£
- // ║ FileDescriptor │ google.protobuf.FileOptions ║
- // ║ EnumDescriptor │ google.protobuf.EnumOptions ║
- // ║ EnumValueDescriptor │ google.protobuf.EnumValueOptions ║
- // ║ MessageDescriptor │ google.protobuf.MessageOptions ║
- // ║ FieldDescriptor │ google.protobuf.FieldOptions ║
- // ║ OneofDescriptor │ google.protobuf.OneofOptions ║
- // ║ ServiceDescriptor │ google.protobuf.ServiceOptions ║
- // ║ MethodDescriptor │ google.protobuf.MethodOptions ║
- // â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
- //
- // This method returns a typed nil-pointer if no options are present.
- // The caller must import the descriptorpb package to use this.
- Options() ProtoMessage
-
- doNotImplement
-}
-
-// FileDescriptor describes the types in a complete proto file and
-// corresponds with the google.protobuf.FileDescriptorProto message.
-//
-// Top-level declarations:
-// [EnumDescriptor], [MessageDescriptor], [FieldDescriptor], and/or [ServiceDescriptor].
-type FileDescriptor interface {
- Descriptor // Descriptor.FullName is identical to Package
-
- // Path returns the file name, relative to the source tree root.
- Path() string // e.g., "path/to/file.proto"
- // Package returns the protobuf package namespace.
- Package() FullName // e.g., "google.protobuf"
-
- // Imports is a list of imported proto files.
- Imports() FileImports
-
- // Enums is a list of the top-level enum declarations.
- Enums() EnumDescriptors
- // Messages is a list of the top-level message declarations.
- Messages() MessageDescriptors
- // Extensions is a list of the top-level extension declarations.
- Extensions() ExtensionDescriptors
- // Services is a list of the top-level service declarations.
- Services() ServiceDescriptors
-
- // SourceLocations is a list of source locations.
- SourceLocations() SourceLocations
-
- isFileDescriptor
-}
-type isFileDescriptor interface{ ProtoType(FileDescriptor) }
-
-// FileImports is a list of file imports.
-type FileImports interface {
- // Len reports the number of files imported by this proto file.
- Len() int
- // Get returns the ith FileImport. It panics if out of bounds.
- Get(i int) FileImport
-
- doNotImplement
-}
-
-// FileImport is the declaration for a proto file import.
-type FileImport struct {
- // FileDescriptor is the file type for the given import.
- // It is a placeholder descriptor if IsWeak is set or if a dependency has
- // not been regenerated to implement the new reflection APIs.
- FileDescriptor
-
- // IsPublic reports whether this is a public import, which causes this file
- // to alias declarations within the imported file. The intended use cases
- // for this feature is the ability to move proto files without breaking
- // existing dependencies.
- //
- // The current file and the imported file must be within proto package.
- IsPublic bool
-
- // IsWeak reports whether this is a weak import, which does not impose
- // a direct dependency on the target file.
- //
- // Weak imports are a legacy proto1 feature. Equivalent behavior is
- // achieved using proto2 extension fields or proto3 Any messages.
- IsWeak bool
-}
-
-// MessageDescriptor describes a message and
-// corresponds with the google.protobuf.DescriptorProto message.
-//
-// Nested declarations:
-// [FieldDescriptor], [OneofDescriptor], [FieldDescriptor], [EnumDescriptor],
-// and/or [MessageDescriptor].
-type MessageDescriptor interface {
- Descriptor
-
- // IsMapEntry indicates that this is an auto-generated message type to
- // represent the entry type for a map field.
- //
- // Map entry messages have only two fields:
- // • a "key" field with a field number of 1
- // • a "value" field with a field number of 2
- // The key and value types are determined by these two fields.
- //
- // If IsMapEntry is true, it implies that FieldDescriptor.IsMap is true
- // for some field with this message type.
- IsMapEntry() bool
-
- // Fields is a list of nested field declarations.
- Fields() FieldDescriptors
- // Oneofs is a list of nested oneof declarations.
- Oneofs() OneofDescriptors
-
- // ReservedNames is a list of reserved field names.
- ReservedNames() Names
- // ReservedRanges is a list of reserved ranges of field numbers.
- ReservedRanges() FieldRanges
- // RequiredNumbers is a list of required field numbers.
- // In Proto3, it is always an empty list.
- RequiredNumbers() FieldNumbers
- // ExtensionRanges is the field ranges used for extension fields.
- // In Proto3, it is always an empty ranges.
- ExtensionRanges() FieldRanges
- // ExtensionRangeOptions returns the ith extension range options.
- //
- // To avoid a dependency cycle, this method returns a proto.Message] value,
- // which always contains a google.protobuf.ExtensionRangeOptions message.
- // This method returns a typed nil-pointer if no options are present.
- // The caller must import the descriptorpb package to use this.
- ExtensionRangeOptions(i int) ProtoMessage
-
- // Enums is a list of nested enum declarations.
- Enums() EnumDescriptors
- // Messages is a list of nested message declarations.
- Messages() MessageDescriptors
- // Extensions is a list of nested extension declarations.
- Extensions() ExtensionDescriptors
-
- isMessageDescriptor
-}
-type isMessageDescriptor interface{ ProtoType(MessageDescriptor) }
-
-// MessageType encapsulates a [MessageDescriptor] with a concrete Go implementation.
-// It is recommended that implementations of this interface also implement the
-// [MessageFieldTypes] interface.
-type MessageType interface {
- // New returns a newly allocated empty message.
- // It may return nil for synthetic messages representing a map entry.
- New() Message
-
- // Zero returns an empty, read-only message.
- // It may return nil for synthetic messages representing a map entry.
- Zero() Message
-
- // Descriptor returns the message descriptor.
- //
- // Invariant: t.Descriptor() == t.New().Descriptor()
- Descriptor() MessageDescriptor
-}
-
-// MessageFieldTypes extends a [MessageType] by providing type information
-// regarding enums and messages referenced by the message fields.
-type MessageFieldTypes interface {
- MessageType
-
- // Enum returns the EnumType for the ith field in MessageDescriptor.Fields.
- // It returns nil if the ith field is not an enum kind.
- // It panics if out of bounds.
- //
- // Invariant: mt.Enum(i).Descriptor() == mt.Descriptor().Fields(i).Enum()
- Enum(i int) EnumType
-
- // Message returns the MessageType for the ith field in MessageDescriptor.Fields.
- // It returns nil if the ith field is not a message or group kind.
- // It panics if out of bounds.
- //
- // Invariant: mt.Message(i).Descriptor() == mt.Descriptor().Fields(i).Message()
- Message(i int) MessageType
-}
-
-// MessageDescriptors is a list of message declarations.
-type MessageDescriptors interface {
- // Len reports the number of messages.
- Len() int
- // Get returns the ith MessageDescriptor. It panics if out of bounds.
- Get(i int) MessageDescriptor
- // ByName returns the MessageDescriptor for a message named s.
- // It returns nil if not found.
- ByName(s Name) MessageDescriptor
-
- doNotImplement
-}
-
-// FieldDescriptor describes a field within a message and
-// corresponds with the google.protobuf.FieldDescriptorProto message.
-//
-// It is used for both normal fields defined within the parent message
-// (e.g., [MessageDescriptor.Fields]) and fields that extend some remote message
-// (e.g., [FileDescriptor.Extensions] or [MessageDescriptor.Extensions]).
-type FieldDescriptor interface {
- Descriptor
-
- // Number reports the unique number for this field.
- Number() FieldNumber
- // Cardinality reports the cardinality for this field.
- Cardinality() Cardinality
- // Kind reports the basic kind for this field.
- Kind() Kind
-
- // HasJSONName reports whether this field has an explicitly set JSON name.
- HasJSONName() bool
-
- // JSONName reports the name used for JSON serialization.
- // It is usually the camel-cased form of the field name.
- // Extension fields are represented by the full name surrounded by brackets.
- JSONName() string
-
- // TextName reports the name used for text serialization.
- // It is usually the name of the field, except that groups use the name
- // of the inlined message, and extension fields are represented by the
- // full name surrounded by brackets.
- TextName() string
-
- // HasPresence reports whether the field distinguishes between unpopulated
- // and default values.
- HasPresence() bool
-
- // IsExtension reports whether this is an extension field. If false,
- // then Parent and ContainingMessage refer to the same message.
- // Otherwise, ContainingMessage and Parent likely differ.
- IsExtension() bool
-
- // HasOptionalKeyword reports whether the "optional" keyword was explicitly
- // specified in the source .proto file.
- HasOptionalKeyword() bool
-
- // IsWeak reports whether this is a weak field, which does not impose a
- // direct dependency on the target type.
- // If true, then Message returns a placeholder type.
- IsWeak() bool
-
- // IsPacked reports whether repeated primitive numeric kinds should be
- // serialized using a packed encoding.
- // If true, then it implies Cardinality is Repeated.
- IsPacked() bool
-
- // IsList reports whether this field represents a list,
- // where the value type for the associated field is a List.
- // It is equivalent to checking whether Cardinality is Repeated and
- // that IsMap reports false.
- IsList() bool
-
- // IsMap reports whether this field represents a map,
- // where the value type for the associated field is a Map.
- // It is equivalent to checking whether Cardinality is Repeated,
- // that the Kind is MessageKind, and that MessageDescriptor.IsMapEntry reports true.
- IsMap() bool
-
- // MapKey returns the field descriptor for the key in the map entry.
- // It returns nil if IsMap reports false.
- MapKey() FieldDescriptor
-
- // MapValue returns the field descriptor for the value in the map entry.
- // It returns nil if IsMap reports false.
- MapValue() FieldDescriptor
-
- // HasDefault reports whether this field has a default value.
- HasDefault() bool
-
- // Default returns the default value for scalar fields.
- // For proto2, it is the default value as specified in the proto file,
- // or the zero value if unspecified.
- // For proto3, it is always the zero value of the scalar.
- // The Value type is determined by the Kind.
- Default() Value
-
- // DefaultEnumValue returns the enum value descriptor for the default value
- // of an enum field, and is nil for any other kind of field.
- DefaultEnumValue() EnumValueDescriptor
-
- // ContainingOneof is the containing oneof that this field belongs to,
- // and is nil if this field is not part of a oneof.
- ContainingOneof() OneofDescriptor
-
- // ContainingMessage is the containing message that this field belongs to.
- // For extension fields, this may not necessarily be the parent message
- // that the field is declared within.
- ContainingMessage() MessageDescriptor
-
- // Enum is the enum descriptor if Kind is EnumKind.
- // It returns nil for any other Kind.
- Enum() EnumDescriptor
-
- // Message is the message descriptor if Kind is
- // MessageKind or GroupKind. It returns nil for any other Kind.
- Message() MessageDescriptor
-
- isFieldDescriptor
-}
-type isFieldDescriptor interface{ ProtoType(FieldDescriptor) }
-
-// FieldDescriptors is a list of field declarations.
-type FieldDescriptors interface {
- // Len reports the number of fields.
- Len() int
- // Get returns the ith FieldDescriptor. It panics if out of bounds.
- Get(i int) FieldDescriptor
- // ByName returns the FieldDescriptor for a field named s.
- // It returns nil if not found.
- ByName(s Name) FieldDescriptor
- // ByJSONName returns the FieldDescriptor for a field with s as the JSON name.
- // It returns nil if not found.
- ByJSONName(s string) FieldDescriptor
- // ByTextName returns the FieldDescriptor for a field with s as the text name.
- // It returns nil if not found.
- ByTextName(s string) FieldDescriptor
- // ByNumber returns the FieldDescriptor for a field numbered n.
- // It returns nil if not found.
- ByNumber(n FieldNumber) FieldDescriptor
-
- doNotImplement
-}
-
-// OneofDescriptor describes a oneof field set within a given message and
-// corresponds with the google.protobuf.OneofDescriptorProto message.
-type OneofDescriptor interface {
- Descriptor
-
- // IsSynthetic reports whether this is a synthetic oneof created to support
- // proto3 optional semantics. If true, Fields contains exactly one field
- // with FieldDescriptor.HasOptionalKeyword specified.
- IsSynthetic() bool
-
- // Fields is a list of fields belonging to this oneof.
- Fields() FieldDescriptors
-
- isOneofDescriptor
-}
-type isOneofDescriptor interface{ ProtoType(OneofDescriptor) }
-
-// OneofDescriptors is a list of oneof declarations.
-type OneofDescriptors interface {
- // Len reports the number of oneof fields.
- Len() int
- // Get returns the ith OneofDescriptor. It panics if out of bounds.
- Get(i int) OneofDescriptor
- // ByName returns the OneofDescriptor for a oneof named s.
- // It returns nil if not found.
- ByName(s Name) OneofDescriptor
-
- doNotImplement
-}
-
-// ExtensionDescriptor is an alias of [FieldDescriptor] for documentation.
-type ExtensionDescriptor = FieldDescriptor
-
-// ExtensionTypeDescriptor is an [ExtensionDescriptor] with an associated [ExtensionType].
-type ExtensionTypeDescriptor interface {
- ExtensionDescriptor
-
- // Type returns the associated ExtensionType.
- Type() ExtensionType
-
- // Descriptor returns the plain ExtensionDescriptor without the
- // associated ExtensionType.
- Descriptor() ExtensionDescriptor
-}
-
-// ExtensionDescriptors is a list of field declarations.
-type ExtensionDescriptors interface {
- // Len reports the number of fields.
- Len() int
- // Get returns the ith ExtensionDescriptor. It panics if out of bounds.
- Get(i int) ExtensionDescriptor
- // ByName returns the ExtensionDescriptor for a field named s.
- // It returns nil if not found.
- ByName(s Name) ExtensionDescriptor
-
- doNotImplement
-}
-
-// ExtensionType encapsulates an [ExtensionDescriptor] with a concrete
-// Go implementation. The nested field descriptor must be for a extension field.
-//
-// While a normal field is a member of the parent message that it is declared
-// within (see [Descriptor.Parent]), an extension field is a member of some other
-// target message (see [FieldDescriptor.ContainingMessage]) and may have no
-// relationship with the parent. However, the full name of an extension field is
-// relative to the parent that it is declared within.
-//
-// For example:
-//
-// syntax = "proto2";
-// package example;
-// message FooMessage {
-// extensions 100 to max;
-// }
-// message BarMessage {
-// extends FooMessage { optional BarMessage bar_field = 100; }
-// }
-//
-// Field "bar_field" is an extension of FooMessage, but its full name is
-// "example.BarMessage.bar_field" instead of "example.FooMessage.bar_field".
-type ExtensionType interface {
- // New returns a new value for the field.
- // For scalars, this returns the default value in native Go form.
- New() Value
-
- // Zero returns a new value for the field.
- // For scalars, this returns the default value in native Go form.
- // For composite types, this returns an empty, read-only message, list, or map.
- Zero() Value
-
- // TypeDescriptor returns the extension type descriptor.
- TypeDescriptor() ExtensionTypeDescriptor
-
- // ValueOf wraps the input and returns it as a Value.
- // ValueOf panics if the input value is invalid or not the appropriate type.
- //
- // ValueOf is more extensive than protoreflect.ValueOf for a given field's
- // value as it has more type information available.
- ValueOf(interface{}) Value
-
- // InterfaceOf completely unwraps the Value to the underlying Go type.
- // InterfaceOf panics if the input is nil or does not represent the
- // appropriate underlying Go type. For composite types, it panics if the
- // value is not mutable.
- //
- // InterfaceOf is able to unwrap the Value further than Value.Interface
- // as it has more type information available.
- InterfaceOf(Value) interface{}
-
- // IsValidValue reports whether the Value is valid to assign to the field.
- IsValidValue(Value) bool
-
- // IsValidInterface reports whether the input is valid to assign to the field.
- IsValidInterface(interface{}) bool
-}
-
-// EnumDescriptor describes an enum and
-// corresponds with the google.protobuf.EnumDescriptorProto message.
-//
-// Nested declarations:
-// [EnumValueDescriptor].
-type EnumDescriptor interface {
- Descriptor
-
- // Values is a list of nested enum value declarations.
- Values() EnumValueDescriptors
-
- // ReservedNames is a list of reserved enum names.
- ReservedNames() Names
- // ReservedRanges is a list of reserved ranges of enum numbers.
- ReservedRanges() EnumRanges
-
- isEnumDescriptor
-}
-type isEnumDescriptor interface{ ProtoType(EnumDescriptor) }
-
-// EnumType encapsulates an [EnumDescriptor] with a concrete Go implementation.
-type EnumType interface {
- // New returns an instance of this enum type with its value set to n.
- New(n EnumNumber) Enum
-
- // Descriptor returns the enum descriptor.
- //
- // Invariant: t.Descriptor() == t.New(0).Descriptor()
- Descriptor() EnumDescriptor
-}
-
-// EnumDescriptors is a list of enum declarations.
-type EnumDescriptors interface {
- // Len reports the number of enum types.
- Len() int
- // Get returns the ith EnumDescriptor. It panics if out of bounds.
- Get(i int) EnumDescriptor
- // ByName returns the EnumDescriptor for an enum named s.
- // It returns nil if not found.
- ByName(s Name) EnumDescriptor
-
- doNotImplement
-}
-
-// EnumValueDescriptor describes an enum value and
-// corresponds with the google.protobuf.EnumValueDescriptorProto message.
-//
-// All other proto declarations are in the namespace of the parent.
-// However, enum values do not follow this rule and are within the namespace
-// of the parent's parent (i.e., they are a sibling of the containing enum).
-// Thus, a value named "FOO_VALUE" declared within an enum uniquely identified
-// as "proto.package.MyEnum" has a full name of "proto.package.FOO_VALUE".
-type EnumValueDescriptor interface {
- Descriptor
-
- // Number returns the enum value as an integer.
- Number() EnumNumber
-
- isEnumValueDescriptor
-}
-type isEnumValueDescriptor interface{ ProtoType(EnumValueDescriptor) }
-
-// EnumValueDescriptors is a list of enum value declarations.
-type EnumValueDescriptors interface {
- // Len reports the number of enum values.
- Len() int
- // Get returns the ith EnumValueDescriptor. It panics if out of bounds.
- Get(i int) EnumValueDescriptor
- // ByName returns the EnumValueDescriptor for the enum value named s.
- // It returns nil if not found.
- ByName(s Name) EnumValueDescriptor
- // ByNumber returns the EnumValueDescriptor for the enum value numbered n.
- // If multiple have the same number, the first one defined is returned
- // It returns nil if not found.
- ByNumber(n EnumNumber) EnumValueDescriptor
-
- doNotImplement
-}
-
-// ServiceDescriptor describes a service and
-// corresponds with the google.protobuf.ServiceDescriptorProto message.
-//
-// Nested declarations: [MethodDescriptor].
-type ServiceDescriptor interface {
- Descriptor
-
- // Methods is a list of nested message declarations.
- Methods() MethodDescriptors
-
- isServiceDescriptor
-}
-type isServiceDescriptor interface{ ProtoType(ServiceDescriptor) }
-
-// ServiceDescriptors is a list of service declarations.
-type ServiceDescriptors interface {
- // Len reports the number of services.
- Len() int
- // Get returns the ith ServiceDescriptor. It panics if out of bounds.
- Get(i int) ServiceDescriptor
- // ByName returns the ServiceDescriptor for a service named s.
- // It returns nil if not found.
- ByName(s Name) ServiceDescriptor
-
- doNotImplement
-}
-
-// MethodDescriptor describes a method and
-// corresponds with the google.protobuf.MethodDescriptorProto message.
-type MethodDescriptor interface {
- Descriptor
-
- // Input is the input message descriptor.
- Input() MessageDescriptor
- // Output is the output message descriptor.
- Output() MessageDescriptor
- // IsStreamingClient reports whether the client streams multiple messages.
- IsStreamingClient() bool
- // IsStreamingServer reports whether the server streams multiple messages.
- IsStreamingServer() bool
-
- isMethodDescriptor
-}
-type isMethodDescriptor interface{ ProtoType(MethodDescriptor) }
-
-// MethodDescriptors is a list of method declarations.
-type MethodDescriptors interface {
- // Len reports the number of methods.
- Len() int
- // Get returns the ith MethodDescriptor. It panics if out of bounds.
- Get(i int) MethodDescriptor
- // ByName returns the MethodDescriptor for a service method named s.
- // It returns nil if not found.
- ByName(s Name) MethodDescriptor
-
- doNotImplement
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
deleted file mode 100644
index a7b0d06f..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoreflect
-
-import "google.golang.org/protobuf/encoding/protowire"
-
-// Enum is a reflection interface for a concrete enum value,
-// which provides type information and a getter for the enum number.
-// Enum does not provide a mutable API since enums are commonly backed by
-// Go constants, which are not addressable.
-type Enum interface {
- // Descriptor returns enum descriptor, which contains only the protobuf
- // type information for the enum.
- Descriptor() EnumDescriptor
-
- // Type returns the enum type, which encapsulates both Go and protobuf
- // type information. If the Go type information is not needed,
- // it is recommended that the enum descriptor be used instead.
- Type() EnumType
-
- // Number returns the enum value as an integer.
- Number() EnumNumber
-}
-
-// Message is a reflective interface for a concrete message value,
-// encapsulating both type and value information for the message.
-//
-// Accessor/mutators for individual fields are keyed by [FieldDescriptor].
-// For non-extension fields, the descriptor must exactly match the
-// field known by the parent message.
-// For extension fields, the descriptor must implement [ExtensionTypeDescriptor],
-// extend the parent message (i.e., have the same message [FullName]), and
-// be within the parent's extension range.
-//
-// Each field [Value] can be a scalar or a composite type ([Message], [List], or [Map]).
-// See [Value] for the Go types associated with a [FieldDescriptor].
-// Providing a [Value] that is invalid or of an incorrect type panics.
-type Message interface {
- // Descriptor returns message descriptor, which contains only the protobuf
- // type information for the message.
- Descriptor() MessageDescriptor
-
- // Type returns the message type, which encapsulates both Go and protobuf
- // type information. If the Go type information is not needed,
- // it is recommended that the message descriptor be used instead.
- Type() MessageType
-
- // New returns a newly allocated and mutable empty message.
- New() Message
-
- // Interface unwraps the message reflection interface and
- // returns the underlying ProtoMessage interface.
- Interface() ProtoMessage
-
- // Range iterates over every populated field in an undefined order,
- // calling f for each field descriptor and value encountered.
- // Range returns immediately if f returns false.
- // While iterating, mutating operations may only be performed
- // on the current field descriptor.
- Range(f func(FieldDescriptor, Value) bool)
-
- // Has reports whether a field is populated.
- //
- // Some fields have the property of nullability where it is possible to
- // distinguish between the default value of a field and whether the field
- // was explicitly populated with the default value. Singular message fields,
- // member fields of a oneof, and proto2 scalar fields are nullable. Such
- // fields are populated only if explicitly set.
- //
- // In other cases (aside from the nullable cases above),
- // a proto3 scalar field is populated if it contains a non-zero value, and
- // a repeated field is populated if it is non-empty.
- Has(FieldDescriptor) bool
-
- // Clear clears the field such that a subsequent Has call reports false.
- //
- // Clearing an extension field clears both the extension type and value
- // associated with the given field number.
- //
- // Clear is a mutating operation and unsafe for concurrent use.
- Clear(FieldDescriptor)
-
- // Get retrieves the value for a field.
- //
- // For unpopulated scalars, it returns the default value, where
- // the default value of a bytes scalar is guaranteed to be a copy.
- // For unpopulated composite types, it returns an empty, read-only view
- // of the value; to obtain a mutable reference, use Mutable.
- Get(FieldDescriptor) Value
-
- // Set stores the value for a field.
- //
- // For a field belonging to a oneof, it implicitly clears any other field
- // that may be currently set within the same oneof.
- // For extension fields, it implicitly stores the provided ExtensionType.
- // When setting a composite type, it is unspecified whether the stored value
- // aliases the source's memory in any way. If the composite value is an
- // empty, read-only value, then it panics.
- //
- // Set is a mutating operation and unsafe for concurrent use.
- Set(FieldDescriptor, Value)
-
- // Mutable returns a mutable reference to a composite type.
- //
- // If the field is unpopulated, it may allocate a composite value.
- // For a field belonging to a oneof, it implicitly clears any other field
- // that may be currently set within the same oneof.
- // For extension fields, it implicitly stores the provided ExtensionType
- // if not already stored.
- // It panics if the field does not contain a composite type.
- //
- // Mutable is a mutating operation and unsafe for concurrent use.
- Mutable(FieldDescriptor) Value
-
- // NewField returns a new value that is assignable to the field
- // for the given descriptor. For scalars, this returns the default value.
- // For lists, maps, and messages, this returns a new, empty, mutable value.
- NewField(FieldDescriptor) Value
-
- // WhichOneof reports which field within the oneof is populated,
- // returning nil if none are populated.
- // It panics if the oneof descriptor does not belong to this message.
- WhichOneof(OneofDescriptor) FieldDescriptor
-
- // GetUnknown retrieves the entire list of unknown fields.
- // The caller may only mutate the contents of the RawFields
- // if the mutated bytes are stored back into the message with SetUnknown.
- GetUnknown() RawFields
-
- // SetUnknown stores an entire list of unknown fields.
- // The raw fields must be syntactically valid according to the wire format.
- // An implementation may panic if this is not the case.
- // Once stored, the caller must not mutate the content of the RawFields.
- // An empty RawFields may be passed to clear the fields.
- //
- // SetUnknown is a mutating operation and unsafe for concurrent use.
- SetUnknown(RawFields)
-
- // IsValid reports whether the message is valid.
- //
- // An invalid message is an empty, read-only value.
- //
- // An invalid message often corresponds to a nil pointer of the concrete
- // message type, but the details are implementation dependent.
- // Validity is not part of the protobuf data model, and may not
- // be preserved in marshaling or other operations.
- IsValid() bool
-
- // ProtoMethods returns optional fast-path implementations of various operations.
- // This method may return nil.
- //
- // The returned methods type is identical to
- // google.golang.org/protobuf/runtime/protoiface.Methods.
- // Consult the protoiface package documentation for details.
- ProtoMethods() *methods
-}
-
-// RawFields is the raw bytes for an ordered sequence of fields.
-// Each field contains both the tag (representing field number and wire type),
-// and also the wire data itself.
-type RawFields []byte
-
-// IsValid reports whether b is syntactically correct wire format.
-func (b RawFields) IsValid() bool {
- for len(b) > 0 {
- _, _, n := protowire.ConsumeField(b)
- if n < 0 {
- return false
- }
- b = b[n:]
- }
- return true
-}
-
-// List is a zero-indexed, ordered list.
-// The element [Value] type is determined by [FieldDescriptor.Kind].
-// Providing a [Value] that is invalid or of an incorrect type panics.
-type List interface {
- // Len reports the number of entries in the List.
- // Get, Set, and Truncate panic with out of bound indexes.
- Len() int
-
- // Get retrieves the value at the given index.
- // It never returns an invalid value.
- Get(int) Value
-
- // Set stores a value for the given index.
- // When setting a composite type, it is unspecified whether the set
- // value aliases the source's memory in any way.
- //
- // Set is a mutating operation and unsafe for concurrent use.
- Set(int, Value)
-
- // Append appends the provided value to the end of the list.
- // When appending a composite type, it is unspecified whether the appended
- // value aliases the source's memory in any way.
- //
- // Append is a mutating operation and unsafe for concurrent use.
- Append(Value)
-
- // AppendMutable appends a new, empty, mutable message value to the end
- // of the list and returns it.
- // It panics if the list does not contain a message type.
- AppendMutable() Value
-
- // Truncate truncates the list to a smaller length.
- //
- // Truncate is a mutating operation and unsafe for concurrent use.
- Truncate(int)
-
- // NewElement returns a new value for a list element.
- // For enums, this returns the first enum value.
- // For other scalars, this returns the zero value.
- // For messages, this returns a new, empty, mutable value.
- NewElement() Value
-
- // IsValid reports whether the list is valid.
- //
- // An invalid list is an empty, read-only value.
- //
- // Validity is not part of the protobuf data model, and may not
- // be preserved in marshaling or other operations.
- IsValid() bool
-}
-
-// Map is an unordered, associative map.
-// The entry [MapKey] type is determined by [FieldDescriptor.MapKey].Kind.
-// The entry [Value] type is determined by [FieldDescriptor.MapValue].Kind.
-// Providing a [MapKey] or [Value] that is invalid or of an incorrect type panics.
-type Map interface {
- // Len reports the number of elements in the map.
- Len() int
-
- // Range iterates over every map entry in an undefined order,
- // calling f for each key and value encountered.
- // Range calls f Len times unless f returns false, which stops iteration.
- // While iterating, mutating operations may only be performed
- // on the current map key.
- Range(f func(MapKey, Value) bool)
-
- // Has reports whether an entry with the given key is in the map.
- Has(MapKey) bool
-
- // Clear clears the entry associated with they given key.
- // The operation does nothing if there is no entry associated with the key.
- //
- // Clear is a mutating operation and unsafe for concurrent use.
- Clear(MapKey)
-
- // Get retrieves the value for an entry with the given key.
- // It returns an invalid value for non-existent entries.
- Get(MapKey) Value
-
- // Set stores the value for an entry with the given key.
- // It panics when given a key or value that is invalid or the wrong type.
- // When setting a composite type, it is unspecified whether the set
- // value aliases the source's memory in any way.
- //
- // Set is a mutating operation and unsafe for concurrent use.
- Set(MapKey, Value)
-
- // Mutable retrieves a mutable reference to the entry for the given key.
- // If no entry exists for the key, it creates a new, empty, mutable value
- // and stores it as the entry for the key.
- // It panics if the map value is not a message.
- Mutable(MapKey) Value
-
- // NewValue returns a new value assignable as a map value.
- // For enums, this returns the first enum value.
- // For other scalars, this returns the zero value.
- // For messages, this returns a new, empty, mutable value.
- NewValue() Value
-
- // IsValid reports whether the map is valid.
- //
- // An invalid map is an empty, read-only value.
- //
- // An invalid message often corresponds to a nil Go map value,
- // but the details are implementation dependent.
- // Validity is not part of the protobuf data model, and may not
- // be preserved in marshaling or other operations.
- IsValid() bool
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
deleted file mode 100644
index 654599d4..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
+++ /dev/null
@@ -1,168 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoreflect
-
-import (
- "bytes"
- "fmt"
- "math"
- "reflect"
-
- "google.golang.org/protobuf/encoding/protowire"
-)
-
-// Equal reports whether v1 and v2 are recursively equal.
-//
-// - Values of different types are always unequal.
-//
-// - Bytes values are equal if they contain identical bytes.
-// Empty bytes (regardless of nil-ness) are considered equal.
-//
-// - Floating point values are equal if they contain the same value.
-// Unlike the == operator, a NaN is equal to another NaN.
-//
-// - Enums are equal if they contain the same number.
-// Since [Value] does not contain an enum descriptor,
-// enum values do not consider the type of the enum.
-//
-// - Other scalar values are equal if they contain the same value.
-//
-// - [Message] values are equal if they belong to the same message descriptor,
-// have the same set of populated known and extension field values,
-// and the same set of unknown fields values.
-//
-// - [List] values are equal if they are the same length and
-// each corresponding element is equal.
-//
-// - [Map] values are equal if they have the same set of keys and
-// the corresponding value for each key is equal.
-func (v1 Value) Equal(v2 Value) bool {
- return equalValue(v1, v2)
-}
-
-func equalValue(x, y Value) bool {
- eqType := x.typ == y.typ
- switch x.typ {
- case nilType:
- return eqType
- case boolType:
- return eqType && x.Bool() == y.Bool()
- case int32Type, int64Type:
- return eqType && x.Int() == y.Int()
- case uint32Type, uint64Type:
- return eqType && x.Uint() == y.Uint()
- case float32Type, float64Type:
- return eqType && equalFloat(x.Float(), y.Float())
- case stringType:
- return eqType && x.String() == y.String()
- case bytesType:
- return eqType && bytes.Equal(x.Bytes(), y.Bytes())
- case enumType:
- return eqType && x.Enum() == y.Enum()
- default:
- switch x := x.Interface().(type) {
- case Message:
- y, ok := y.Interface().(Message)
- return ok && equalMessage(x, y)
- case List:
- y, ok := y.Interface().(List)
- return ok && equalList(x, y)
- case Map:
- y, ok := y.Interface().(Map)
- return ok && equalMap(x, y)
- default:
- panic(fmt.Sprintf("unknown type: %T", x))
- }
- }
-}
-
-// equalFloat compares two floats, where NaNs are treated as equal.
-func equalFloat(x, y float64) bool {
- if math.IsNaN(x) || math.IsNaN(y) {
- return math.IsNaN(x) && math.IsNaN(y)
- }
- return x == y
-}
-
-// equalMessage compares two messages.
-func equalMessage(mx, my Message) bool {
- if mx.Descriptor() != my.Descriptor() {
- return false
- }
-
- nx := 0
- equal := true
- mx.Range(func(fd FieldDescriptor, vx Value) bool {
- nx++
- vy := my.Get(fd)
- equal = my.Has(fd) && equalValue(vx, vy)
- return equal
- })
- if !equal {
- return false
- }
- ny := 0
- my.Range(func(fd FieldDescriptor, vx Value) bool {
- ny++
- return true
- })
- if nx != ny {
- return false
- }
-
- return equalUnknown(mx.GetUnknown(), my.GetUnknown())
-}
-
-// equalList compares two lists.
-func equalList(x, y List) bool {
- if x.Len() != y.Len() {
- return false
- }
- for i := x.Len() - 1; i >= 0; i-- {
- if !equalValue(x.Get(i), y.Get(i)) {
- return false
- }
- }
- return true
-}
-
-// equalMap compares two maps.
-func equalMap(x, y Map) bool {
- if x.Len() != y.Len() {
- return false
- }
- equal := true
- x.Range(func(k MapKey, vx Value) bool {
- vy := y.Get(k)
- equal = y.Has(k) && equalValue(vx, vy)
- return equal
- })
- return equal
-}
-
-// equalUnknown compares unknown fields by direct comparison on the raw bytes
-// of each individual field number.
-func equalUnknown(x, y RawFields) bool {
- if len(x) != len(y) {
- return false
- }
- if bytes.Equal([]byte(x), []byte(y)) {
- return true
- }
-
- mx := make(map[FieldNumber]RawFields)
- my := make(map[FieldNumber]RawFields)
- for len(x) > 0 {
- fnum, _, n := protowire.ConsumeField(x)
- mx[fnum] = append(mx[fnum], x[:n]...)
- x = x[n:]
- }
- for len(y) > 0 {
- fnum, _, n := protowire.ConsumeField(y)
- my[fnum] = append(my[fnum], y[:n]...)
- y = y[n:]
- }
- return reflect.DeepEqual(mx, my)
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go
deleted file mode 100644
index 7ced876f..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build purego || appengine
-// +build purego appengine
-
-package protoreflect
-
-import "google.golang.org/protobuf/internal/pragma"
-
-type valueType int
-
-const (
- nilType valueType = iota
- boolType
- int32Type
- int64Type
- uint32Type
- uint64Type
- float32Type
- float64Type
- stringType
- bytesType
- enumType
- ifaceType
-)
-
-// value is a union where only one type can be represented at a time.
-// This uses a distinct field for each type. This is type safe in Go, but
-// occupies more memory than necessary (72B).
-type value struct {
- pragma.DoNotCompare // 0B
-
- typ valueType // 8B
- num uint64 // 8B
- str string // 16B
- bin []byte // 24B
- iface interface{} // 16B
-}
-
-func valueOfString(v string) Value {
- return Value{typ: stringType, str: v}
-}
-func valueOfBytes(v []byte) Value {
- return Value{typ: bytesType, bin: v}
-}
-func valueOfIface(v interface{}) Value {
- return Value{typ: ifaceType, iface: v}
-}
-
-func (v Value) getString() string {
- return v.str
-}
-func (v Value) getBytes() []byte {
- return v.bin
-}
-func (v Value) getIface() interface{} {
- return v.iface
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
deleted file mode 100644
index 16030973..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
+++ /dev/null
@@ -1,438 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoreflect
-
-import (
- "fmt"
- "math"
-)
-
-// Value is a union where only one Go type may be set at a time.
-// The Value is used to represent all possible values a field may take.
-// The following shows which Go type is used to represent each proto [Kind]:
-//
-// â•”â•â•â•â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
-// ║ Go type │ Protobuf kind ║
-// â• â•â•â•â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£
-// ║ bool │ BoolKind ║
-// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║
-// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║
-// ║ uint32 │ Uint32Kind, Fixed32Kind ║
-// ║ uint64 │ Uint64Kind, Fixed64Kind ║
-// ║ float32 │ FloatKind ║
-// ║ float64 │ DoubleKind ║
-// ║ string │ StringKind ║
-// ║ []byte │ BytesKind ║
-// ║ EnumNumber │ EnumKind ║
-// ║ Message │ MessageKind, GroupKind ║
-// â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
-//
-// Multiple protobuf Kinds may be represented by a single Go type if the type
-// can losslessly represent the information for the proto kind. For example,
-// [Int64Kind], [Sint64Kind], and [Sfixed64Kind] are all represented by int64,
-// but use different integer encoding methods.
-//
-// The [List] or [Map] types are used if the field cardinality is repeated.
-// A field is a [List] if [FieldDescriptor.IsList] reports true.
-// A field is a [Map] if [FieldDescriptor.IsMap] reports true.
-//
-// Converting to/from a Value and a concrete Go value panics on type mismatch.
-// For example, [ValueOf]("hello").Int() panics because this attempts to
-// retrieve an int64 from a string.
-//
-// [List], [Map], and [Message] Values are called "composite" values.
-//
-// A composite Value may alias (reference) memory at some location,
-// such that changes to the Value updates the that location.
-// A composite value acquired with a Mutable method, such as [Message.Mutable],
-// always references the source object.
-//
-// For example:
-//
-// // Append a 0 to a "repeated int32" field.
-// // Since the Value returned by Mutable is guaranteed to alias
-// // the source message, modifying the Value modifies the message.
-// message.Mutable(fieldDesc).List().Append(protoreflect.ValueOfInt32(0))
-//
-// // Assign [0] to a "repeated int32" field by creating a new Value,
-// // modifying it, and assigning it.
-// list := message.NewField(fieldDesc).List()
-// list.Append(protoreflect.ValueOfInt32(0))
-// message.Set(fieldDesc, list)
-// // ERROR: Since it is not defined whether Set aliases the source,
-// // appending to the List here may or may not modify the message.
-// list.Append(protoreflect.ValueOfInt32(0))
-//
-// Some operations, such as [Message.Get], may return an "empty, read-only"
-// composite Value. Modifying an empty, read-only value panics.
-type Value value
-
-// The protoreflect API uses a custom Value union type instead of interface{}
-// to keep the future open for performance optimizations. Using an interface{}
-// always incurs an allocation for primitives (e.g., int64) since it needs to
-// be boxed on the heap (as interfaces can only contain pointers natively).
-// Instead, we represent the Value union as a flat struct that internally keeps
-// track of which type is set. Using unsafe, the Value union can be reduced
-// down to 24B, which is identical in size to a slice.
-//
-// The latest compiler (Go1.11) currently suffers from some limitations:
-// • With inlining, the compiler should be able to statically prove that
-// only one of these switch cases are taken and inline one specific case.
-// See https://golang.org/issue/22310.
-
-// ValueOf returns a Value initialized with the concrete value stored in v.
-// This panics if the type does not match one of the allowed types in the
-// Value union.
-func ValueOf(v interface{}) Value {
- switch v := v.(type) {
- case nil:
- return Value{}
- case bool:
- return ValueOfBool(v)
- case int32:
- return ValueOfInt32(v)
- case int64:
- return ValueOfInt64(v)
- case uint32:
- return ValueOfUint32(v)
- case uint64:
- return ValueOfUint64(v)
- case float32:
- return ValueOfFloat32(v)
- case float64:
- return ValueOfFloat64(v)
- case string:
- return ValueOfString(v)
- case []byte:
- return ValueOfBytes(v)
- case EnumNumber:
- return ValueOfEnum(v)
- case Message, List, Map:
- return valueOfIface(v)
- case ProtoMessage:
- panic(fmt.Sprintf("invalid proto.Message(%T) type, expected a protoreflect.Message type", v))
- default:
- panic(fmt.Sprintf("invalid type: %T", v))
- }
-}
-
-// ValueOfBool returns a new boolean value.
-func ValueOfBool(v bool) Value {
- if v {
- return Value{typ: boolType, num: 1}
- } else {
- return Value{typ: boolType, num: 0}
- }
-}
-
-// ValueOfInt32 returns a new int32 value.
-func ValueOfInt32(v int32) Value {
- return Value{typ: int32Type, num: uint64(v)}
-}
-
-// ValueOfInt64 returns a new int64 value.
-func ValueOfInt64(v int64) Value {
- return Value{typ: int64Type, num: uint64(v)}
-}
-
-// ValueOfUint32 returns a new uint32 value.
-func ValueOfUint32(v uint32) Value {
- return Value{typ: uint32Type, num: uint64(v)}
-}
-
-// ValueOfUint64 returns a new uint64 value.
-func ValueOfUint64(v uint64) Value {
- return Value{typ: uint64Type, num: v}
-}
-
-// ValueOfFloat32 returns a new float32 value.
-func ValueOfFloat32(v float32) Value {
- return Value{typ: float32Type, num: uint64(math.Float64bits(float64(v)))}
-}
-
-// ValueOfFloat64 returns a new float64 value.
-func ValueOfFloat64(v float64) Value {
- return Value{typ: float64Type, num: uint64(math.Float64bits(float64(v)))}
-}
-
-// ValueOfString returns a new string value.
-func ValueOfString(v string) Value {
- return valueOfString(v)
-}
-
-// ValueOfBytes returns a new bytes value.
-func ValueOfBytes(v []byte) Value {
- return valueOfBytes(v[:len(v):len(v)])
-}
-
-// ValueOfEnum returns a new enum value.
-func ValueOfEnum(v EnumNumber) Value {
- return Value{typ: enumType, num: uint64(v)}
-}
-
-// ValueOfMessage returns a new Message value.
-func ValueOfMessage(v Message) Value {
- return valueOfIface(v)
-}
-
-// ValueOfList returns a new List value.
-func ValueOfList(v List) Value {
- return valueOfIface(v)
-}
-
-// ValueOfMap returns a new Map value.
-func ValueOfMap(v Map) Value {
- return valueOfIface(v)
-}
-
-// IsValid reports whether v is populated with a value.
-func (v Value) IsValid() bool {
- return v.typ != nilType
-}
-
-// Interface returns v as an interface{}.
-//
-// Invariant: v == ValueOf(v).Interface()
-func (v Value) Interface() interface{} {
- switch v.typ {
- case nilType:
- return nil
- case boolType:
- return v.Bool()
- case int32Type:
- return int32(v.Int())
- case int64Type:
- return int64(v.Int())
- case uint32Type:
- return uint32(v.Uint())
- case uint64Type:
- return uint64(v.Uint())
- case float32Type:
- return float32(v.Float())
- case float64Type:
- return float64(v.Float())
- case stringType:
- return v.String()
- case bytesType:
- return v.Bytes()
- case enumType:
- return v.Enum()
- default:
- return v.getIface()
- }
-}
-
-func (v Value) typeName() string {
- switch v.typ {
- case nilType:
- return "nil"
- case boolType:
- return "bool"
- case int32Type:
- return "int32"
- case int64Type:
- return "int64"
- case uint32Type:
- return "uint32"
- case uint64Type:
- return "uint64"
- case float32Type:
- return "float32"
- case float64Type:
- return "float64"
- case stringType:
- return "string"
- case bytesType:
- return "bytes"
- case enumType:
- return "enum"
- default:
- switch v := v.getIface().(type) {
- case Message:
- return "message"
- case List:
- return "list"
- case Map:
- return "map"
- default:
- return fmt.Sprintf("", v)
- }
- }
-}
-
-func (v Value) panicMessage(what string) string {
- return fmt.Sprintf("type mismatch: cannot convert %v to %s", v.typeName(), what)
-}
-
-// Bool returns v as a bool and panics if the type is not a bool.
-func (v Value) Bool() bool {
- switch v.typ {
- case boolType:
- return v.num > 0
- default:
- panic(v.panicMessage("bool"))
- }
-}
-
-// Int returns v as a int64 and panics if the type is not a int32 or int64.
-func (v Value) Int() int64 {
- switch v.typ {
- case int32Type, int64Type:
- return int64(v.num)
- default:
- panic(v.panicMessage("int"))
- }
-}
-
-// Uint returns v as a uint64 and panics if the type is not a uint32 or uint64.
-func (v Value) Uint() uint64 {
- switch v.typ {
- case uint32Type, uint64Type:
- return uint64(v.num)
- default:
- panic(v.panicMessage("uint"))
- }
-}
-
-// Float returns v as a float64 and panics if the type is not a float32 or float64.
-func (v Value) Float() float64 {
- switch v.typ {
- case float32Type, float64Type:
- return math.Float64frombits(uint64(v.num))
- default:
- panic(v.panicMessage("float"))
- }
-}
-
-// String returns v as a string. Since this method implements [fmt.Stringer],
-// this returns the formatted string value for any non-string type.
-func (v Value) String() string {
- switch v.typ {
- case stringType:
- return v.getString()
- default:
- return fmt.Sprint(v.Interface())
- }
-}
-
-// Bytes returns v as a []byte and panics if the type is not a []byte.
-func (v Value) Bytes() []byte {
- switch v.typ {
- case bytesType:
- return v.getBytes()
- default:
- panic(v.panicMessage("bytes"))
- }
-}
-
-// Enum returns v as a [EnumNumber] and panics if the type is not a [EnumNumber].
-func (v Value) Enum() EnumNumber {
- switch v.typ {
- case enumType:
- return EnumNumber(v.num)
- default:
- panic(v.panicMessage("enum"))
- }
-}
-
-// Message returns v as a [Message] and panics if the type is not a [Message].
-func (v Value) Message() Message {
- switch vi := v.getIface().(type) {
- case Message:
- return vi
- default:
- panic(v.panicMessage("message"))
- }
-}
-
-// List returns v as a [List] and panics if the type is not a [List].
-func (v Value) List() List {
- switch vi := v.getIface().(type) {
- case List:
- return vi
- default:
- panic(v.panicMessage("list"))
- }
-}
-
-// Map returns v as a [Map] and panics if the type is not a [Map].
-func (v Value) Map() Map {
- switch vi := v.getIface().(type) {
- case Map:
- return vi
- default:
- panic(v.panicMessage("map"))
- }
-}
-
-// MapKey returns v as a [MapKey] and panics for invalid [MapKey] types.
-func (v Value) MapKey() MapKey {
- switch v.typ {
- case boolType, int32Type, int64Type, uint32Type, uint64Type, stringType:
- return MapKey(v)
- default:
- panic(v.panicMessage("map key"))
- }
-}
-
-// MapKey is used to index maps, where the Go type of the MapKey must match
-// the specified key [Kind] (see [MessageDescriptor.IsMapEntry]).
-// The following shows what Go type is used to represent each proto [Kind]:
-//
-// â•”â•â•â•â•â•â•â•â•â•â•¤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
-// ║ Go type │ Protobuf kind ║
-// â• â•â•â•â•â•â•â•â•â•â•ªâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£
-// ║ bool │ BoolKind ║
-// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║
-// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║
-// ║ uint32 │ Uint32Kind, Fixed32Kind ║
-// ║ uint64 │ Uint64Kind, Fixed64Kind ║
-// ║ string │ StringKind ║
-// â•šâ•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
-//
-// A MapKey is constructed and accessed through a [Value]:
-//
-// k := ValueOf("hash").MapKey() // convert string to MapKey
-// s := k.String() // convert MapKey to string
-//
-// The MapKey is a strict subset of valid types used in [Value];
-// converting a [Value] to a MapKey with an invalid type panics.
-type MapKey value
-
-// IsValid reports whether k is populated with a value.
-func (k MapKey) IsValid() bool {
- return Value(k).IsValid()
-}
-
-// Interface returns k as an interface{}.
-func (k MapKey) Interface() interface{} {
- return Value(k).Interface()
-}
-
-// Bool returns k as a bool and panics if the type is not a bool.
-func (k MapKey) Bool() bool {
- return Value(k).Bool()
-}
-
-// Int returns k as a int64 and panics if the type is not a int32 or int64.
-func (k MapKey) Int() int64 {
- return Value(k).Int()
-}
-
-// Uint returns k as a uint64 and panics if the type is not a uint32 or uint64.
-func (k MapKey) Uint() uint64 {
- return Value(k).Uint()
-}
-
-// String returns k as a string. Since this method implements [fmt.Stringer],
-// this returns the formatted string value for any non-string type.
-func (k MapKey) String() string {
- return Value(k).String()
-}
-
-// Value returns k as a [Value].
-func (k MapKey) Value() Value {
- return Value(k)
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go
deleted file mode 100644
index b1fdbe3e..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !purego && !appengine && !go1.21
-// +build !purego,!appengine,!go1.21
-
-package protoreflect
-
-import (
- "unsafe"
-
- "google.golang.org/protobuf/internal/pragma"
-)
-
-type (
- stringHeader struct {
- Data unsafe.Pointer
- Len int
- }
- sliceHeader struct {
- Data unsafe.Pointer
- Len int
- Cap int
- }
- ifaceHeader struct {
- Type unsafe.Pointer
- Data unsafe.Pointer
- }
-)
-
-var (
- nilType = typeOf(nil)
- boolType = typeOf(*new(bool))
- int32Type = typeOf(*new(int32))
- int64Type = typeOf(*new(int64))
- uint32Type = typeOf(*new(uint32))
- uint64Type = typeOf(*new(uint64))
- float32Type = typeOf(*new(float32))
- float64Type = typeOf(*new(float64))
- stringType = typeOf(*new(string))
- bytesType = typeOf(*new([]byte))
- enumType = typeOf(*new(EnumNumber))
-)
-
-// typeOf returns a pointer to the Go type information.
-// The pointer is comparable and equal if and only if the types are identical.
-func typeOf(t interface{}) unsafe.Pointer {
- return (*ifaceHeader)(unsafe.Pointer(&t)).Type
-}
-
-// value is a union where only one type can be represented at a time.
-// The struct is 24B large on 64-bit systems and requires the minimum storage
-// necessary to represent each possible type.
-//
-// The Go GC needs to be able to scan variables containing pointers.
-// As such, pointers and non-pointers cannot be intermixed.
-type value struct {
- pragma.DoNotCompare // 0B
-
- // typ stores the type of the value as a pointer to the Go type.
- typ unsafe.Pointer // 8B
-
- // ptr stores the data pointer for a String, Bytes, or interface value.
- ptr unsafe.Pointer // 8B
-
- // num stores a Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, or
- // Enum value as a raw uint64.
- //
- // It is also used to store the length of a String or Bytes value;
- // the capacity is ignored.
- num uint64 // 8B
-}
-
-func valueOfString(v string) Value {
- p := (*stringHeader)(unsafe.Pointer(&v))
- return Value{typ: stringType, ptr: p.Data, num: uint64(len(v))}
-}
-func valueOfBytes(v []byte) Value {
- p := (*sliceHeader)(unsafe.Pointer(&v))
- return Value{typ: bytesType, ptr: p.Data, num: uint64(len(v))}
-}
-func valueOfIface(v interface{}) Value {
- p := (*ifaceHeader)(unsafe.Pointer(&v))
- return Value{typ: p.Type, ptr: p.Data}
-}
-
-func (v Value) getString() (x string) {
- *(*stringHeader)(unsafe.Pointer(&x)) = stringHeader{Data: v.ptr, Len: int(v.num)}
- return x
-}
-func (v Value) getBytes() (x []byte) {
- *(*sliceHeader)(unsafe.Pointer(&x)) = sliceHeader{Data: v.ptr, Len: int(v.num), Cap: int(v.num)}
- return x
-}
-func (v Value) getIface() (x interface{}) {
- *(*ifaceHeader)(unsafe.Pointer(&x)) = ifaceHeader{Type: v.typ, Data: v.ptr}
- return x
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go
deleted file mode 100644
index 43547011..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-//go:build !purego && !appengine && go1.21
-// +build !purego,!appengine,go1.21
-
-package protoreflect
-
-import (
- "unsafe"
-
- "google.golang.org/protobuf/internal/pragma"
-)
-
-type (
- ifaceHeader struct {
- _ [0]interface{} // if interfaces have greater alignment than unsafe.Pointer, this will enforce it.
- Type unsafe.Pointer
- Data unsafe.Pointer
- }
-)
-
-var (
- nilType = typeOf(nil)
- boolType = typeOf(*new(bool))
- int32Type = typeOf(*new(int32))
- int64Type = typeOf(*new(int64))
- uint32Type = typeOf(*new(uint32))
- uint64Type = typeOf(*new(uint64))
- float32Type = typeOf(*new(float32))
- float64Type = typeOf(*new(float64))
- stringType = typeOf(*new(string))
- bytesType = typeOf(*new([]byte))
- enumType = typeOf(*new(EnumNumber))
-)
-
-// typeOf returns a pointer to the Go type information.
-// The pointer is comparable and equal if and only if the types are identical.
-func typeOf(t interface{}) unsafe.Pointer {
- return (*ifaceHeader)(unsafe.Pointer(&t)).Type
-}
-
-// value is a union where only one type can be represented at a time.
-// The struct is 24B large on 64-bit systems and requires the minimum storage
-// necessary to represent each possible type.
-//
-// The Go GC needs to be able to scan variables containing pointers.
-// As such, pointers and non-pointers cannot be intermixed.
-type value struct {
- pragma.DoNotCompare // 0B
-
- // typ stores the type of the value as a pointer to the Go type.
- typ unsafe.Pointer // 8B
-
- // ptr stores the data pointer for a String, Bytes, or interface value.
- ptr unsafe.Pointer // 8B
-
- // num stores a Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, or
- // Enum value as a raw uint64.
- //
- // It is also used to store the length of a String or Bytes value;
- // the capacity is ignored.
- num uint64 // 8B
-}
-
-func valueOfString(v string) Value {
- return Value{typ: stringType, ptr: unsafe.Pointer(unsafe.StringData(v)), num: uint64(len(v))}
-}
-func valueOfBytes(v []byte) Value {
- return Value{typ: bytesType, ptr: unsafe.Pointer(unsafe.SliceData(v)), num: uint64(len(v))}
-}
-func valueOfIface(v interface{}) Value {
- p := (*ifaceHeader)(unsafe.Pointer(&v))
- return Value{typ: p.Type, ptr: p.Data}
-}
-
-func (v Value) getString() string {
- return unsafe.String((*byte)(v.ptr), v.num)
-}
-func (v Value) getBytes() []byte {
- return unsafe.Slice((*byte)(v.ptr), v.num)
-}
-func (v Value) getIface() (x interface{}) {
- *(*ifaceHeader)(unsafe.Pointer(&x)) = ifaceHeader{Type: v.typ, Data: v.ptr}
- return x
-}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go b/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
deleted file mode 100644
index 6267dc52..00000000
--- a/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
+++ /dev/null
@@ -1,882 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package protoregistry provides data structures to register and lookup
-// protobuf descriptor types.
-//
-// The [Files] registry contains file descriptors and provides the ability
-// to iterate over the files or lookup a specific descriptor within the files.
-// [Files] only contains protobuf descriptors and has no understanding of Go
-// type information that may be associated with each descriptor.
-//
-// The [Types] registry contains descriptor types for which there is a known
-// Go type associated with that descriptor. It provides the ability to iterate
-// over the registered types or lookup a type by name.
-package protoregistry
-
-import (
- "fmt"
- "os"
- "strings"
- "sync"
-
- "google.golang.org/protobuf/internal/encoding/messageset"
- "google.golang.org/protobuf/internal/errors"
- "google.golang.org/protobuf/internal/flags"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// conflictPolicy configures the policy for handling registration conflicts.
-//
-// It can be over-written at compile time with a linker-initialized variable:
-//
-// go build -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn"
-//
-// It can be over-written at program execution with an environment variable:
-//
-// GOLANG_PROTOBUF_REGISTRATION_CONFLICT=warn ./main
-//
-// Neither of the above are covered by the compatibility promise and
-// may be removed in a future release of this module.
-var conflictPolicy = "panic" // "panic" | "warn" | "ignore"
-
-// ignoreConflict reports whether to ignore a registration conflict
-// given the descriptor being registered and the error.
-// It is a variable so that the behavior is easily overridden in another file.
-var ignoreConflict = func(d protoreflect.Descriptor, err error) bool {
- const env = "GOLANG_PROTOBUF_REGISTRATION_CONFLICT"
- const faq = "https://protobuf.dev/reference/go/faq#namespace-conflict"
- policy := conflictPolicy
- if v := os.Getenv(env); v != "" {
- policy = v
- }
- switch policy {
- case "panic":
- panic(fmt.Sprintf("%v\nSee %v\n", err, faq))
- case "warn":
- fmt.Fprintf(os.Stderr, "WARNING: %v\nSee %v\n\n", err, faq)
- return true
- case "ignore":
- return true
- default:
- panic("invalid " + env + " value: " + os.Getenv(env))
- }
-}
-
-var globalMutex sync.RWMutex
-
-// GlobalFiles is a global registry of file descriptors.
-var GlobalFiles *Files = new(Files)
-
-// GlobalTypes is the registry used by default for type lookups
-// unless a local registry is provided by the user.
-var GlobalTypes *Types = new(Types)
-
-// NotFound is a sentinel error value to indicate that the type was not found.
-//
-// Since registry lookup can happen in the critical performance path, resolvers
-// must return this exact error value, not an error wrapping it.
-var NotFound = errors.New("not found")
-
-// Files is a registry for looking up or iterating over files and the
-// descriptors contained within them.
-// The Find and Range methods are safe for concurrent use.
-type Files struct {
- // The map of descsByName contains:
- // EnumDescriptor
- // EnumValueDescriptor
- // MessageDescriptor
- // ExtensionDescriptor
- // ServiceDescriptor
- // *packageDescriptor
- //
- // Note that files are stored as a slice, since a package may contain
- // multiple files. Only top-level declarations are registered.
- // Note that enum values are in the top-level since that are in the same
- // scope as the parent enum.
- descsByName map[protoreflect.FullName]interface{}
- filesByPath map[string][]protoreflect.FileDescriptor
- numFiles int
-}
-
-type packageDescriptor struct {
- files []protoreflect.FileDescriptor
-}
-
-// RegisterFile registers the provided file descriptor.
-//
-// If any descriptor within the file conflicts with the descriptor of any
-// previously registered file (e.g., two enums with the same full name),
-// then the file is not registered and an error is returned.
-//
-// It is permitted for multiple files to have the same file path.
-func (r *Files) RegisterFile(file protoreflect.FileDescriptor) error {
- if r == GlobalFiles {
- globalMutex.Lock()
- defer globalMutex.Unlock()
- }
- if r.descsByName == nil {
- r.descsByName = map[protoreflect.FullName]interface{}{
- "": &packageDescriptor{},
- }
- r.filesByPath = make(map[string][]protoreflect.FileDescriptor)
- }
- path := file.Path()
- if prev := r.filesByPath[path]; len(prev) > 0 {
- r.checkGenProtoConflict(path)
- err := errors.New("file %q is already registered", file.Path())
- err = amendErrorWithCaller(err, prev[0], file)
- if !(r == GlobalFiles && ignoreConflict(file, err)) {
- return err
- }
- }
-
- for name := file.Package(); name != ""; name = name.Parent() {
- switch prev := r.descsByName[name]; prev.(type) {
- case nil, *packageDescriptor:
- default:
- err := errors.New("file %q has a package name conflict over %v", file.Path(), name)
- err = amendErrorWithCaller(err, prev, file)
- if r == GlobalFiles && ignoreConflict(file, err) {
- err = nil
- }
- return err
- }
- }
- var err error
- var hasConflict bool
- rangeTopLevelDescriptors(file, func(d protoreflect.Descriptor) {
- if prev := r.descsByName[d.FullName()]; prev != nil {
- hasConflict = true
- err = errors.New("file %q has a name conflict over %v", file.Path(), d.FullName())
- err = amendErrorWithCaller(err, prev, file)
- if r == GlobalFiles && ignoreConflict(d, err) {
- err = nil
- }
- }
- })
- if hasConflict {
- return err
- }
-
- for name := file.Package(); name != ""; name = name.Parent() {
- if r.descsByName[name] == nil {
- r.descsByName[name] = &packageDescriptor{}
- }
- }
- p := r.descsByName[file.Package()].(*packageDescriptor)
- p.files = append(p.files, file)
- rangeTopLevelDescriptors(file, func(d protoreflect.Descriptor) {
- r.descsByName[d.FullName()] = d
- })
- r.filesByPath[path] = append(r.filesByPath[path], file)
- r.numFiles++
- return nil
-}
-
-// Several well-known types were hosted in the google.golang.org/genproto module
-// but were later moved to this module. To avoid a weak dependency on the
-// genproto module (and its relatively large set of transitive dependencies),
-// we rely on a registration conflict to determine whether the genproto version
-// is too old (i.e., does not contain aliases to the new type declarations).
-func (r *Files) checkGenProtoConflict(path string) {
- if r != GlobalFiles {
- return
- }
- var prevPath string
- const prevModule = "google.golang.org/genproto"
- const prevVersion = "cb27e3aa (May 26th, 2020)"
- switch path {
- case "google/protobuf/field_mask.proto":
- prevPath = prevModule + "/protobuf/field_mask"
- case "google/protobuf/api.proto":
- prevPath = prevModule + "/protobuf/api"
- case "google/protobuf/type.proto":
- prevPath = prevModule + "/protobuf/ptype"
- case "google/protobuf/source_context.proto":
- prevPath = prevModule + "/protobuf/source_context"
- default:
- return
- }
- pkgName := strings.TrimSuffix(strings.TrimPrefix(path, "google/protobuf/"), ".proto")
- pkgName = strings.Replace(pkgName, "_", "", -1) + "pb" // e.g., "field_mask" => "fieldmaskpb"
- currPath := "google.golang.org/protobuf/types/known/" + pkgName
- panic(fmt.Sprintf(""+
- "duplicate registration of %q\n"+
- "\n"+
- "The generated definition for this file has moved:\n"+
- "\tfrom: %q\n"+
- "\tto: %q\n"+
- "A dependency on the %q module must\n"+
- "be at version %v or higher.\n"+
- "\n"+
- "Upgrade the dependency by running:\n"+
- "\tgo get -u %v\n",
- path, prevPath, currPath, prevModule, prevVersion, prevPath))
-}
-
-// FindDescriptorByName looks up a descriptor by the full name.
-//
-// This returns (nil, [NotFound]) if not found.
-func (r *Files) FindDescriptorByName(name protoreflect.FullName) (protoreflect.Descriptor, error) {
- if r == nil {
- return nil, NotFound
- }
- if r == GlobalFiles {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- prefix := name
- suffix := nameSuffix("")
- for prefix != "" {
- if d, ok := r.descsByName[prefix]; ok {
- switch d := d.(type) {
- case protoreflect.EnumDescriptor:
- if d.FullName() == name {
- return d, nil
- }
- case protoreflect.EnumValueDescriptor:
- if d.FullName() == name {
- return d, nil
- }
- case protoreflect.MessageDescriptor:
- if d.FullName() == name {
- return d, nil
- }
- if d := findDescriptorInMessage(d, suffix); d != nil && d.FullName() == name {
- return d, nil
- }
- case protoreflect.ExtensionDescriptor:
- if d.FullName() == name {
- return d, nil
- }
- case protoreflect.ServiceDescriptor:
- if d.FullName() == name {
- return d, nil
- }
- if d := d.Methods().ByName(suffix.Pop()); d != nil && d.FullName() == name {
- return d, nil
- }
- }
- return nil, NotFound
- }
- prefix = prefix.Parent()
- suffix = nameSuffix(name[len(prefix)+len("."):])
- }
- return nil, NotFound
-}
-
-func findDescriptorInMessage(md protoreflect.MessageDescriptor, suffix nameSuffix) protoreflect.Descriptor {
- name := suffix.Pop()
- if suffix == "" {
- if ed := md.Enums().ByName(name); ed != nil {
- return ed
- }
- for i := md.Enums().Len() - 1; i >= 0; i-- {
- if vd := md.Enums().Get(i).Values().ByName(name); vd != nil {
- return vd
- }
- }
- if xd := md.Extensions().ByName(name); xd != nil {
- return xd
- }
- if fd := md.Fields().ByName(name); fd != nil {
- return fd
- }
- if od := md.Oneofs().ByName(name); od != nil {
- return od
- }
- }
- if md := md.Messages().ByName(name); md != nil {
- if suffix == "" {
- return md
- }
- return findDescriptorInMessage(md, suffix)
- }
- return nil
-}
-
-type nameSuffix string
-
-func (s *nameSuffix) Pop() (name protoreflect.Name) {
- if i := strings.IndexByte(string(*s), '.'); i >= 0 {
- name, *s = protoreflect.Name((*s)[:i]), (*s)[i+1:]
- } else {
- name, *s = protoreflect.Name((*s)), ""
- }
- return name
-}
-
-// FindFileByPath looks up a file by the path.
-//
-// This returns (nil, [NotFound]) if not found.
-// This returns an error if multiple files have the same path.
-func (r *Files) FindFileByPath(path string) (protoreflect.FileDescriptor, error) {
- if r == nil {
- return nil, NotFound
- }
- if r == GlobalFiles {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- fds := r.filesByPath[path]
- switch len(fds) {
- case 0:
- return nil, NotFound
- case 1:
- return fds[0], nil
- default:
- return nil, errors.New("multiple files named %q", path)
- }
-}
-
-// NumFiles reports the number of registered files,
-// including duplicate files with the same name.
-func (r *Files) NumFiles() int {
- if r == nil {
- return 0
- }
- if r == GlobalFiles {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- return r.numFiles
-}
-
-// RangeFiles iterates over all registered files while f returns true.
-// If multiple files have the same name, RangeFiles iterates over all of them.
-// The iteration order is undefined.
-func (r *Files) RangeFiles(f func(protoreflect.FileDescriptor) bool) {
- if r == nil {
- return
- }
- if r == GlobalFiles {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- for _, files := range r.filesByPath {
- for _, file := range files {
- if !f(file) {
- return
- }
- }
- }
-}
-
-// NumFilesByPackage reports the number of registered files in a proto package.
-func (r *Files) NumFilesByPackage(name protoreflect.FullName) int {
- if r == nil {
- return 0
- }
- if r == GlobalFiles {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- p, ok := r.descsByName[name].(*packageDescriptor)
- if !ok {
- return 0
- }
- return len(p.files)
-}
-
-// RangeFilesByPackage iterates over all registered files in a given proto package
-// while f returns true. The iteration order is undefined.
-func (r *Files) RangeFilesByPackage(name protoreflect.FullName, f func(protoreflect.FileDescriptor) bool) {
- if r == nil {
- return
- }
- if r == GlobalFiles {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- p, ok := r.descsByName[name].(*packageDescriptor)
- if !ok {
- return
- }
- for _, file := range p.files {
- if !f(file) {
- return
- }
- }
-}
-
-// rangeTopLevelDescriptors iterates over all top-level descriptors in a file
-// which will be directly entered into the registry.
-func rangeTopLevelDescriptors(fd protoreflect.FileDescriptor, f func(protoreflect.Descriptor)) {
- eds := fd.Enums()
- for i := eds.Len() - 1; i >= 0; i-- {
- f(eds.Get(i))
- vds := eds.Get(i).Values()
- for i := vds.Len() - 1; i >= 0; i-- {
- f(vds.Get(i))
- }
- }
- mds := fd.Messages()
- for i := mds.Len() - 1; i >= 0; i-- {
- f(mds.Get(i))
- }
- xds := fd.Extensions()
- for i := xds.Len() - 1; i >= 0; i-- {
- f(xds.Get(i))
- }
- sds := fd.Services()
- for i := sds.Len() - 1; i >= 0; i-- {
- f(sds.Get(i))
- }
-}
-
-// MessageTypeResolver is an interface for looking up messages.
-//
-// A compliant implementation must deterministically return the same type
-// if no error is encountered.
-//
-// The [Types] type implements this interface.
-type MessageTypeResolver interface {
- // FindMessageByName looks up a message by its full name.
- // E.g., "google.protobuf.Any"
- //
- // This return (nil, NotFound) if not found.
- FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error)
-
- // FindMessageByURL looks up a message by a URL identifier.
- // See documentation on google.protobuf.Any.type_url for the URL format.
- //
- // This returns (nil, NotFound) if not found.
- FindMessageByURL(url string) (protoreflect.MessageType, error)
-}
-
-// ExtensionTypeResolver is an interface for looking up extensions.
-//
-// A compliant implementation must deterministically return the same type
-// if no error is encountered.
-//
-// The [Types] type implements this interface.
-type ExtensionTypeResolver interface {
- // FindExtensionByName looks up a extension field by the field's full name.
- // Note that this is the full name of the field as determined by
- // where the extension is declared and is unrelated to the full name of the
- // message being extended.
- //
- // This returns (nil, NotFound) if not found.
- FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error)
-
- // FindExtensionByNumber looks up a extension field by the field number
- // within some parent message, identified by full name.
- //
- // This returns (nil, NotFound) if not found.
- FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error)
-}
-
-var (
- _ MessageTypeResolver = (*Types)(nil)
- _ ExtensionTypeResolver = (*Types)(nil)
-)
-
-// Types is a registry for looking up or iterating over descriptor types.
-// The Find and Range methods are safe for concurrent use.
-type Types struct {
- typesByName typesByName
- extensionsByMessage extensionsByMessage
-
- numEnums int
- numMessages int
- numExtensions int
-}
-
-type (
- typesByName map[protoreflect.FullName]interface{}
- extensionsByMessage map[protoreflect.FullName]extensionsByNumber
- extensionsByNumber map[protoreflect.FieldNumber]protoreflect.ExtensionType
-)
-
-// RegisterMessage registers the provided message type.
-//
-// If a naming conflict occurs, the type is not registered and an error is returned.
-func (r *Types) RegisterMessage(mt protoreflect.MessageType) error {
- // Under rare circumstances getting the descriptor might recursively
- // examine the registry, so fetch it before locking.
- md := mt.Descriptor()
-
- if r == GlobalTypes {
- globalMutex.Lock()
- defer globalMutex.Unlock()
- }
-
- if err := r.register("message", md, mt); err != nil {
- return err
- }
- r.numMessages++
- return nil
-}
-
-// RegisterEnum registers the provided enum type.
-//
-// If a naming conflict occurs, the type is not registered and an error is returned.
-func (r *Types) RegisterEnum(et protoreflect.EnumType) error {
- // Under rare circumstances getting the descriptor might recursively
- // examine the registry, so fetch it before locking.
- ed := et.Descriptor()
-
- if r == GlobalTypes {
- globalMutex.Lock()
- defer globalMutex.Unlock()
- }
-
- if err := r.register("enum", ed, et); err != nil {
- return err
- }
- r.numEnums++
- return nil
-}
-
-// RegisterExtension registers the provided extension type.
-//
-// If a naming conflict occurs, the type is not registered and an error is returned.
-func (r *Types) RegisterExtension(xt protoreflect.ExtensionType) error {
- // Under rare circumstances getting the descriptor might recursively
- // examine the registry, so fetch it before locking.
- //
- // A known case where this can happen: Fetching the TypeDescriptor for a
- // legacy ExtensionDesc can consult the global registry.
- xd := xt.TypeDescriptor()
-
- if r == GlobalTypes {
- globalMutex.Lock()
- defer globalMutex.Unlock()
- }
-
- field := xd.Number()
- message := xd.ContainingMessage().FullName()
- if prev := r.extensionsByMessage[message][field]; prev != nil {
- err := errors.New("extension number %d is already registered on message %v", field, message)
- err = amendErrorWithCaller(err, prev, xt)
- if !(r == GlobalTypes && ignoreConflict(xd, err)) {
- return err
- }
- }
-
- if err := r.register("extension", xd, xt); err != nil {
- return err
- }
- if r.extensionsByMessage == nil {
- r.extensionsByMessage = make(extensionsByMessage)
- }
- if r.extensionsByMessage[message] == nil {
- r.extensionsByMessage[message] = make(extensionsByNumber)
- }
- r.extensionsByMessage[message][field] = xt
- r.numExtensions++
- return nil
-}
-
-func (r *Types) register(kind string, desc protoreflect.Descriptor, typ interface{}) error {
- name := desc.FullName()
- prev := r.typesByName[name]
- if prev != nil {
- err := errors.New("%v %v is already registered", kind, name)
- err = amendErrorWithCaller(err, prev, typ)
- if !(r == GlobalTypes && ignoreConflict(desc, err)) {
- return err
- }
- }
- if r.typesByName == nil {
- r.typesByName = make(typesByName)
- }
- r.typesByName[name] = typ
- return nil
-}
-
-// FindEnumByName looks up an enum by its full name.
-// E.g., "google.protobuf.Field.Kind".
-//
-// This returns (nil, [NotFound]) if not found.
-func (r *Types) FindEnumByName(enum protoreflect.FullName) (protoreflect.EnumType, error) {
- if r == nil {
- return nil, NotFound
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- if v := r.typesByName[enum]; v != nil {
- if et, _ := v.(protoreflect.EnumType); et != nil {
- return et, nil
- }
- return nil, errors.New("found wrong type: got %v, want enum", typeName(v))
- }
- return nil, NotFound
-}
-
-// FindMessageByName looks up a message by its full name,
-// e.g. "google.protobuf.Any".
-//
-// This returns (nil, [NotFound]) if not found.
-func (r *Types) FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error) {
- if r == nil {
- return nil, NotFound
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- if v := r.typesByName[message]; v != nil {
- if mt, _ := v.(protoreflect.MessageType); mt != nil {
- return mt, nil
- }
- return nil, errors.New("found wrong type: got %v, want message", typeName(v))
- }
- return nil, NotFound
-}
-
-// FindMessageByURL looks up a message by a URL identifier.
-// See documentation on google.protobuf.Any.type_url for the URL format.
-//
-// This returns (nil, [NotFound]) if not found.
-func (r *Types) FindMessageByURL(url string) (protoreflect.MessageType, error) {
- // This function is similar to FindMessageByName but
- // truncates anything before and including '/' in the URL.
- if r == nil {
- return nil, NotFound
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- message := protoreflect.FullName(url)
- if i := strings.LastIndexByte(url, '/'); i >= 0 {
- message = message[i+len("/"):]
- }
-
- if v := r.typesByName[message]; v != nil {
- if mt, _ := v.(protoreflect.MessageType); mt != nil {
- return mt, nil
- }
- return nil, errors.New("found wrong type: got %v, want message", typeName(v))
- }
- return nil, NotFound
-}
-
-// FindExtensionByName looks up a extension field by the field's full name.
-// Note that this is the full name of the field as determined by
-// where the extension is declared and is unrelated to the full name of the
-// message being extended.
-//
-// This returns (nil, [NotFound]) if not found.
-func (r *Types) FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) {
- if r == nil {
- return nil, NotFound
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- if v := r.typesByName[field]; v != nil {
- if xt, _ := v.(protoreflect.ExtensionType); xt != nil {
- return xt, nil
- }
-
- // MessageSet extensions are special in that the name of the extension
- // is the name of the message type used to extend the MessageSet.
- // This naming scheme is used by text and JSON serialization.
- //
- // This feature is protected by the ProtoLegacy flag since MessageSets
- // are a proto1 feature that is long deprecated.
- if flags.ProtoLegacy {
- if _, ok := v.(protoreflect.MessageType); ok {
- field := field.Append(messageset.ExtensionName)
- if v := r.typesByName[field]; v != nil {
- if xt, _ := v.(protoreflect.ExtensionType); xt != nil {
- if messageset.IsMessageSetExtension(xt.TypeDescriptor()) {
- return xt, nil
- }
- }
- }
- }
- }
-
- return nil, errors.New("found wrong type: got %v, want extension", typeName(v))
- }
- return nil, NotFound
-}
-
-// FindExtensionByNumber looks up a extension field by the field number
-// within some parent message, identified by full name.
-//
-// This returns (nil, [NotFound]) if not found.
-func (r *Types) FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) {
- if r == nil {
- return nil, NotFound
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- if xt, ok := r.extensionsByMessage[message][field]; ok {
- return xt, nil
- }
- return nil, NotFound
-}
-
-// NumEnums reports the number of registered enums.
-func (r *Types) NumEnums() int {
- if r == nil {
- return 0
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- return r.numEnums
-}
-
-// RangeEnums iterates over all registered enums while f returns true.
-// Iteration order is undefined.
-func (r *Types) RangeEnums(f func(protoreflect.EnumType) bool) {
- if r == nil {
- return
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- for _, typ := range r.typesByName {
- if et, ok := typ.(protoreflect.EnumType); ok {
- if !f(et) {
- return
- }
- }
- }
-}
-
-// NumMessages reports the number of registered messages.
-func (r *Types) NumMessages() int {
- if r == nil {
- return 0
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- return r.numMessages
-}
-
-// RangeMessages iterates over all registered messages while f returns true.
-// Iteration order is undefined.
-func (r *Types) RangeMessages(f func(protoreflect.MessageType) bool) {
- if r == nil {
- return
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- for _, typ := range r.typesByName {
- if mt, ok := typ.(protoreflect.MessageType); ok {
- if !f(mt) {
- return
- }
- }
- }
-}
-
-// NumExtensions reports the number of registered extensions.
-func (r *Types) NumExtensions() int {
- if r == nil {
- return 0
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- return r.numExtensions
-}
-
-// RangeExtensions iterates over all registered extensions while f returns true.
-// Iteration order is undefined.
-func (r *Types) RangeExtensions(f func(protoreflect.ExtensionType) bool) {
- if r == nil {
- return
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- for _, typ := range r.typesByName {
- if xt, ok := typ.(protoreflect.ExtensionType); ok {
- if !f(xt) {
- return
- }
- }
- }
-}
-
-// NumExtensionsByMessage reports the number of registered extensions for
-// a given message type.
-func (r *Types) NumExtensionsByMessage(message protoreflect.FullName) int {
- if r == nil {
- return 0
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- return len(r.extensionsByMessage[message])
-}
-
-// RangeExtensionsByMessage iterates over all registered extensions filtered
-// by a given message type while f returns true. Iteration order is undefined.
-func (r *Types) RangeExtensionsByMessage(message protoreflect.FullName, f func(protoreflect.ExtensionType) bool) {
- if r == nil {
- return
- }
- if r == GlobalTypes {
- globalMutex.RLock()
- defer globalMutex.RUnlock()
- }
- for _, xt := range r.extensionsByMessage[message] {
- if !f(xt) {
- return
- }
- }
-}
-
-func typeName(t interface{}) string {
- switch t.(type) {
- case protoreflect.EnumType:
- return "enum"
- case protoreflect.MessageType:
- return "message"
- case protoreflect.ExtensionType:
- return "extension"
- default:
- return fmt.Sprintf("%T", t)
- }
-}
-
-func amendErrorWithCaller(err error, prev, curr interface{}) error {
- prevPkg := goPackage(prev)
- currPkg := goPackage(curr)
- if prevPkg == "" || currPkg == "" || prevPkg == currPkg {
- return err
- }
- return errors.New("%s\n\tpreviously from: %q\n\tcurrently from: %q", err, prevPkg, currPkg)
-}
-
-func goPackage(v interface{}) string {
- switch d := v.(type) {
- case protoreflect.EnumType:
- v = d.Descriptor()
- case protoreflect.MessageType:
- v = d.Descriptor()
- case protoreflect.ExtensionType:
- v = d.TypeDescriptor()
- }
- if d, ok := v.(protoreflect.Descriptor); ok {
- v = d.ParentFile()
- }
- if d, ok := v.(interface{ GoPackagePath() string }); ok {
- return d.GoPackagePath()
- }
- return ""
-}
diff --git a/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go b/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go
deleted file mode 100644
index c5872767..00000000
--- a/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoiface
-
-type MessageV1 interface {
- Reset()
- String() string
- ProtoMessage()
-}
-
-type ExtensionRangeV1 struct {
- Start, End int32 // both inclusive
-}
diff --git a/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go b/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go
deleted file mode 100644
index 44cf467d..00000000
--- a/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go
+++ /dev/null
@@ -1,168 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package protoiface contains types referenced or implemented by messages.
-//
-// WARNING: This package should only be imported by message implementations.
-// The functionality found in this package should be accessed through
-// higher-level abstractions provided by the proto package.
-package protoiface
-
-import (
- "google.golang.org/protobuf/internal/pragma"
- "google.golang.org/protobuf/reflect/protoreflect"
-)
-
-// Methods is a set of optional fast-path implementations of various operations.
-type Methods = struct {
- pragma.NoUnkeyedLiterals
-
- // Flags indicate support for optional features.
- Flags SupportFlags
-
- // Size returns the size in bytes of the wire-format encoding of a message.
- // Marshal must be provided if a custom Size is provided.
- Size func(SizeInput) SizeOutput
-
- // Marshal formats a message in the wire-format encoding to the provided buffer.
- // Size should be provided if a custom Marshal is provided.
- // It must not return an error for a partial message.
- Marshal func(MarshalInput) (MarshalOutput, error)
-
- // Unmarshal parses the wire-format encoding and merges the result into a message.
- // It must not reset the target message or return an error for a partial message.
- Unmarshal func(UnmarshalInput) (UnmarshalOutput, error)
-
- // Merge merges the contents of a source message into a destination message.
- Merge func(MergeInput) MergeOutput
-
- // CheckInitialized returns an error if any required fields in the message are not set.
- CheckInitialized func(CheckInitializedInput) (CheckInitializedOutput, error)
-}
-
-// SupportFlags indicate support for optional features.
-type SupportFlags = uint64
-
-const (
- // SupportMarshalDeterministic reports whether MarshalOptions.Deterministic is supported.
- SupportMarshalDeterministic SupportFlags = 1 << iota
-
- // SupportUnmarshalDiscardUnknown reports whether UnmarshalOptions.DiscardUnknown is supported.
- SupportUnmarshalDiscardUnknown
-)
-
-// SizeInput is input to the Size method.
-type SizeInput = struct {
- pragma.NoUnkeyedLiterals
-
- Message protoreflect.Message
- Flags MarshalInputFlags
-}
-
-// SizeOutput is output from the Size method.
-type SizeOutput = struct {
- pragma.NoUnkeyedLiterals
-
- Size int
-}
-
-// MarshalInput is input to the Marshal method.
-type MarshalInput = struct {
- pragma.NoUnkeyedLiterals
-
- Message protoreflect.Message
- Buf []byte // output is appended to this buffer
- Flags MarshalInputFlags
-}
-
-// MarshalOutput is output from the Marshal method.
-type MarshalOutput = struct {
- pragma.NoUnkeyedLiterals
-
- Buf []byte // contains marshaled message
-}
-
-// MarshalInputFlags configure the marshaler.
-// Most flags correspond to fields in proto.MarshalOptions.
-type MarshalInputFlags = uint8
-
-const (
- MarshalDeterministic MarshalInputFlags = 1 << iota
- MarshalUseCachedSize
-)
-
-// UnmarshalInput is input to the Unmarshal method.
-type UnmarshalInput = struct {
- pragma.NoUnkeyedLiterals
-
- Message protoreflect.Message
- Buf []byte // input buffer
- Flags UnmarshalInputFlags
- Resolver interface {
- FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error)
- FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error)
- }
- Depth int
-}
-
-// UnmarshalOutput is output from the Unmarshal method.
-type UnmarshalOutput = struct {
- pragma.NoUnkeyedLiterals
-
- Flags UnmarshalOutputFlags
-}
-
-// UnmarshalInputFlags configure the unmarshaler.
-// Most flags correspond to fields in proto.UnmarshalOptions.
-type UnmarshalInputFlags = uint8
-
-const (
- UnmarshalDiscardUnknown UnmarshalInputFlags = 1 << iota
-)
-
-// UnmarshalOutputFlags are output from the Unmarshal method.
-type UnmarshalOutputFlags = uint8
-
-const (
- // UnmarshalInitialized may be set on return if all required fields are known to be set.
- // If unset, then it does not necessarily indicate that the message is uninitialized,
- // only that its status could not be confirmed.
- UnmarshalInitialized UnmarshalOutputFlags = 1 << iota
-)
-
-// MergeInput is input to the Merge method.
-type MergeInput = struct {
- pragma.NoUnkeyedLiterals
-
- Source protoreflect.Message
- Destination protoreflect.Message
-}
-
-// MergeOutput is output from the Merge method.
-type MergeOutput = struct {
- pragma.NoUnkeyedLiterals
-
- Flags MergeOutputFlags
-}
-
-// MergeOutputFlags are output from the Merge method.
-type MergeOutputFlags = uint8
-
-const (
- // MergeComplete reports whether the merge was performed.
- // If unset, the merger must have made no changes to the destination.
- MergeComplete MergeOutputFlags = 1 << iota
-)
-
-// CheckInitializedInput is input to the CheckInitialized method.
-type CheckInitializedInput = struct {
- pragma.NoUnkeyedLiterals
-
- Message protoreflect.Message
-}
-
-// CheckInitializedOutput is output from the CheckInitialized method.
-type CheckInitializedOutput = struct {
- pragma.NoUnkeyedLiterals
-}
diff --git a/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go b/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go
deleted file mode 100644
index 4a1ab7fb..00000000
--- a/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2018 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Package protoimpl contains the default implementation for messages
-// generated by protoc-gen-go.
-//
-// WARNING: This package should only ever be imported by generated messages.
-// The compatibility agreement covers nothing except for functionality needed
-// to keep existing generated messages operational. Breakages that occur due
-// to unauthorized usages of this package are not the author's responsibility.
-package protoimpl
-
-import (
- "google.golang.org/protobuf/internal/filedesc"
- "google.golang.org/protobuf/internal/filetype"
- "google.golang.org/protobuf/internal/impl"
-)
-
-// UnsafeEnabled specifies whether package unsafe can be used.
-const UnsafeEnabled = impl.UnsafeEnabled
-
-type (
- // Types used by generated code in init functions.
- DescBuilder = filedesc.Builder
- TypeBuilder = filetype.Builder
-
- // Types used by generated code to implement EnumType, MessageType, and ExtensionType.
- EnumInfo = impl.EnumInfo
- MessageInfo = impl.MessageInfo
- ExtensionInfo = impl.ExtensionInfo
-
- // Types embedded in generated messages.
- MessageState = impl.MessageState
- SizeCache = impl.SizeCache
- WeakFields = impl.WeakFields
- UnknownFields = impl.UnknownFields
- ExtensionFields = impl.ExtensionFields
- ExtensionFieldV1 = impl.ExtensionField
-
- Pointer = impl.Pointer
-)
-
-var X impl.Export
diff --git a/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go b/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go
deleted file mode 100644
index a105cb23..00000000
--- a/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2019 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package protoimpl
-
-import (
- "google.golang.org/protobuf/internal/version"
-)
-
-const (
- // MaxVersion is the maximum supported version for generated .pb.go files.
- // It is always the current version of the module.
- MaxVersion = version.Minor
-
- // GenVersion is the runtime version required by generated .pb.go files.
- // This is incremented when generated code relies on new functionality
- // in the runtime.
- GenVersion = 20
-
- // MinVersion is the minimum supported version for generated .pb.go files.
- // This is incremented when the runtime drops support for old code.
- MinVersion = 0
-)
-
-// EnforceVersion is used by code generated by protoc-gen-go
-// to statically enforce minimum and maximum versions of this package.
-// A compilation failure implies either that:
-// - the runtime package is too old and needs to be updated OR
-// - the generated code is too old and needs to be regenerated.
-//
-// The runtime package can be upgraded by running:
-//
-// go get google.golang.org/protobuf
-//
-// The generated code can be regenerated by running:
-//
-// protoc --go_out=${PROTOC_GEN_GO_ARGS} ${PROTO_FILES}
-//
-// Example usage by generated code:
-//
-// const (
-// // Verify that this generated code is sufficiently up-to-date.
-// _ = protoimpl.EnforceVersion(genVersion - protoimpl.MinVersion)
-// // Verify that runtime/protoimpl is sufficiently up-to-date.
-// _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - genVersion)
-// )
-//
-// The genVersion is the current minor version used to generated the code.
-// This compile-time check relies on negative integer overflow of a uint
-// being a compilation failure (guaranteed by the Go specification).
-type EnforceVersion uint
-
-// This enforces the following invariant:
-//
-// MinVersion ≤ GenVersion ≤ MaxVersion
-const (
- _ = EnforceVersion(GenVersion - MinVersion)
- _ = EnforceVersion(MaxVersion - GenVersion)
-)
diff --git a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
deleted file mode 100644
index 78624cf6..00000000
--- a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
+++ /dev/null
@@ -1,5648 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Author: kenton@google.com (Kenton Varda)
-// Based on original Protocol Buffers design by
-// Sanjay Ghemawat, Jeff Dean, and others.
-//
-// The messages in this file describe the definitions found in .proto files.
-// A valid .proto file can be translated directly to a FileDescriptorProto
-// without any other information (e.g. without reading its imports).
-
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: google/protobuf/descriptor.proto
-
-package descriptorpb
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- reflect "reflect"
- sync "sync"
-)
-
-// The full set of known editions.
-type Edition int32
-
-const (
- // A placeholder for an unknown edition value.
- Edition_EDITION_UNKNOWN Edition = 0
- // Legacy syntax "editions". These pre-date editions, but behave much like
- // distinct editions. These can't be used to specify the edition of proto
- // files, but feature definitions must supply proto2/proto3 defaults for
- // backwards compatibility.
- Edition_EDITION_PROTO2 Edition = 998
- Edition_EDITION_PROTO3 Edition = 999
- // Editions that have been released. The specific values are arbitrary and
- // should not be depended on, but they will always be time-ordered for easy
- // comparison.
- Edition_EDITION_2023 Edition = 1000
- Edition_EDITION_2024 Edition = 1001
- // Placeholder editions for testing feature resolution. These should not be
- // used or relyed on outside of tests.
- Edition_EDITION_1_TEST_ONLY Edition = 1
- Edition_EDITION_2_TEST_ONLY Edition = 2
- Edition_EDITION_99997_TEST_ONLY Edition = 99997
- Edition_EDITION_99998_TEST_ONLY Edition = 99998
- Edition_EDITION_99999_TEST_ONLY Edition = 99999
- // Placeholder for specifying unbounded edition support. This should only
- // ever be used by plugins that can expect to never require any changes to
- // support a new edition.
- Edition_EDITION_MAX Edition = 2147483647
-)
-
-// Enum value maps for Edition.
-var (
- Edition_name = map[int32]string{
- 0: "EDITION_UNKNOWN",
- 998: "EDITION_PROTO2",
- 999: "EDITION_PROTO3",
- 1000: "EDITION_2023",
- 1001: "EDITION_2024",
- 1: "EDITION_1_TEST_ONLY",
- 2: "EDITION_2_TEST_ONLY",
- 99997: "EDITION_99997_TEST_ONLY",
- 99998: "EDITION_99998_TEST_ONLY",
- 99999: "EDITION_99999_TEST_ONLY",
- 2147483647: "EDITION_MAX",
- }
- Edition_value = map[string]int32{
- "EDITION_UNKNOWN": 0,
- "EDITION_PROTO2": 998,
- "EDITION_PROTO3": 999,
- "EDITION_2023": 1000,
- "EDITION_2024": 1001,
- "EDITION_1_TEST_ONLY": 1,
- "EDITION_2_TEST_ONLY": 2,
- "EDITION_99997_TEST_ONLY": 99997,
- "EDITION_99998_TEST_ONLY": 99998,
- "EDITION_99999_TEST_ONLY": 99999,
- "EDITION_MAX": 2147483647,
- }
-)
-
-func (x Edition) Enum() *Edition {
- p := new(Edition)
- *p = x
- return p
-}
-
-func (x Edition) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (Edition) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[0].Descriptor()
-}
-
-func (Edition) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[0]
-}
-
-func (x Edition) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *Edition) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = Edition(num)
- return nil
-}
-
-// Deprecated: Use Edition.Descriptor instead.
-func (Edition) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0}
-}
-
-// The verification state of the extension range.
-type ExtensionRangeOptions_VerificationState int32
-
-const (
- // All the extensions of the range must be declared.
- ExtensionRangeOptions_DECLARATION ExtensionRangeOptions_VerificationState = 0
- ExtensionRangeOptions_UNVERIFIED ExtensionRangeOptions_VerificationState = 1
-)
-
-// Enum value maps for ExtensionRangeOptions_VerificationState.
-var (
- ExtensionRangeOptions_VerificationState_name = map[int32]string{
- 0: "DECLARATION",
- 1: "UNVERIFIED",
- }
- ExtensionRangeOptions_VerificationState_value = map[string]int32{
- "DECLARATION": 0,
- "UNVERIFIED": 1,
- }
-)
-
-func (x ExtensionRangeOptions_VerificationState) Enum() *ExtensionRangeOptions_VerificationState {
- p := new(ExtensionRangeOptions_VerificationState)
- *p = x
- return p
-}
-
-func (x ExtensionRangeOptions_VerificationState) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (ExtensionRangeOptions_VerificationState) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor()
-}
-
-func (ExtensionRangeOptions_VerificationState) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[1]
-}
-
-func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *ExtensionRangeOptions_VerificationState) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = ExtensionRangeOptions_VerificationState(num)
- return nil
-}
-
-// Deprecated: Use ExtensionRangeOptions_VerificationState.Descriptor instead.
-func (ExtensionRangeOptions_VerificationState) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{3, 0}
-}
-
-type FieldDescriptorProto_Type int32
-
-const (
- // 0 is reserved for errors.
- // Order is weird for historical reasons.
- FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
- FieldDescriptorProto_TYPE_FLOAT FieldDescriptorProto_Type = 2
- // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
- // negative values are likely.
- FieldDescriptorProto_TYPE_INT64 FieldDescriptorProto_Type = 3
- FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
- // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
- // negative values are likely.
- FieldDescriptorProto_TYPE_INT32 FieldDescriptorProto_Type = 5
- FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
- FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
- FieldDescriptorProto_TYPE_BOOL FieldDescriptorProto_Type = 8
- FieldDescriptorProto_TYPE_STRING FieldDescriptorProto_Type = 9
- // Tag-delimited aggregate.
- // Group type is deprecated and not supported after google.protobuf. However, Proto3
- // implementations should still be able to parse the group wire format and
- // treat group fields as unknown fields. In Editions, the group wire format
- // can be enabled via the `message_encoding` feature.
- FieldDescriptorProto_TYPE_GROUP FieldDescriptorProto_Type = 10
- FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11 // Length-delimited aggregate.
- // New in version 2.
- FieldDescriptorProto_TYPE_BYTES FieldDescriptorProto_Type = 12
- FieldDescriptorProto_TYPE_UINT32 FieldDescriptorProto_Type = 13
- FieldDescriptorProto_TYPE_ENUM FieldDescriptorProto_Type = 14
- FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
- FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
- FieldDescriptorProto_TYPE_SINT32 FieldDescriptorProto_Type = 17 // Uses ZigZag encoding.
- FieldDescriptorProto_TYPE_SINT64 FieldDescriptorProto_Type = 18 // Uses ZigZag encoding.
-)
-
-// Enum value maps for FieldDescriptorProto_Type.
-var (
- FieldDescriptorProto_Type_name = map[int32]string{
- 1: "TYPE_DOUBLE",
- 2: "TYPE_FLOAT",
- 3: "TYPE_INT64",
- 4: "TYPE_UINT64",
- 5: "TYPE_INT32",
- 6: "TYPE_FIXED64",
- 7: "TYPE_FIXED32",
- 8: "TYPE_BOOL",
- 9: "TYPE_STRING",
- 10: "TYPE_GROUP",
- 11: "TYPE_MESSAGE",
- 12: "TYPE_BYTES",
- 13: "TYPE_UINT32",
- 14: "TYPE_ENUM",
- 15: "TYPE_SFIXED32",
- 16: "TYPE_SFIXED64",
- 17: "TYPE_SINT32",
- 18: "TYPE_SINT64",
- }
- FieldDescriptorProto_Type_value = map[string]int32{
- "TYPE_DOUBLE": 1,
- "TYPE_FLOAT": 2,
- "TYPE_INT64": 3,
- "TYPE_UINT64": 4,
- "TYPE_INT32": 5,
- "TYPE_FIXED64": 6,
- "TYPE_FIXED32": 7,
- "TYPE_BOOL": 8,
- "TYPE_STRING": 9,
- "TYPE_GROUP": 10,
- "TYPE_MESSAGE": 11,
- "TYPE_BYTES": 12,
- "TYPE_UINT32": 13,
- "TYPE_ENUM": 14,
- "TYPE_SFIXED32": 15,
- "TYPE_SFIXED64": 16,
- "TYPE_SINT32": 17,
- "TYPE_SINT64": 18,
- }
-)
-
-func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
- p := new(FieldDescriptorProto_Type)
- *p = x
- return p
-}
-
-func (x FieldDescriptorProto_Type) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor()
-}
-
-func (FieldDescriptorProto_Type) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[2]
-}
-
-func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FieldDescriptorProto_Type) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FieldDescriptorProto_Type(num)
- return nil
-}
-
-// Deprecated: Use FieldDescriptorProto_Type.Descriptor instead.
-func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 0}
-}
-
-type FieldDescriptorProto_Label int32
-
-const (
- // 0 is reserved for errors
- FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
- FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
- // The required label is only allowed in google.protobuf. In proto3 and Editions
- // it's explicitly prohibited. In Editions, the `field_presence` feature
- // can be used to get this behavior.
- FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
-)
-
-// Enum value maps for FieldDescriptorProto_Label.
-var (
- FieldDescriptorProto_Label_name = map[int32]string{
- 1: "LABEL_OPTIONAL",
- 3: "LABEL_REPEATED",
- 2: "LABEL_REQUIRED",
- }
- FieldDescriptorProto_Label_value = map[string]int32{
- "LABEL_OPTIONAL": 1,
- "LABEL_REPEATED": 3,
- "LABEL_REQUIRED": 2,
- }
-)
-
-func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
- p := new(FieldDescriptorProto_Label)
- *p = x
- return p
-}
-
-func (x FieldDescriptorProto_Label) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor()
-}
-
-func (FieldDescriptorProto_Label) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[3]
-}
-
-func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FieldDescriptorProto_Label) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FieldDescriptorProto_Label(num)
- return nil
-}
-
-// Deprecated: Use FieldDescriptorProto_Label.Descriptor instead.
-func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4, 1}
-}
-
-// Generated classes can be optimized for speed or code size.
-type FileOptions_OptimizeMode int32
-
-const (
- FileOptions_SPEED FileOptions_OptimizeMode = 1 // Generate complete code for parsing, serialization,
- // etc.
- FileOptions_CODE_SIZE FileOptions_OptimizeMode = 2 // Use ReflectionOps to implement these methods.
- FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3 // Generate code using MessageLite and the lite runtime.
-)
-
-// Enum value maps for FileOptions_OptimizeMode.
-var (
- FileOptions_OptimizeMode_name = map[int32]string{
- 1: "SPEED",
- 2: "CODE_SIZE",
- 3: "LITE_RUNTIME",
- }
- FileOptions_OptimizeMode_value = map[string]int32{
- "SPEED": 1,
- "CODE_SIZE": 2,
- "LITE_RUNTIME": 3,
- }
-)
-
-func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
- p := new(FileOptions_OptimizeMode)
- *p = x
- return p
-}
-
-func (x FileOptions_OptimizeMode) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor()
-}
-
-func (FileOptions_OptimizeMode) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[4]
-}
-
-func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FileOptions_OptimizeMode) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FileOptions_OptimizeMode(num)
- return nil
-}
-
-// Deprecated: Use FileOptions_OptimizeMode.Descriptor instead.
-func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10, 0}
-}
-
-type FieldOptions_CType int32
-
-const (
- // Default mode.
- FieldOptions_STRING FieldOptions_CType = 0
- // The option [ctype=CORD] may be applied to a non-repeated field of type
- // "bytes". It indicates that in C++, the data should be stored in a Cord
- // instead of a string. For very large strings, this may reduce memory
- // fragmentation. It may also allow better performance when parsing from a
- // Cord, or when parsing with aliasing enabled, as the parsed Cord may then
- // alias the original buffer.
- FieldOptions_CORD FieldOptions_CType = 1
- FieldOptions_STRING_PIECE FieldOptions_CType = 2
-)
-
-// Enum value maps for FieldOptions_CType.
-var (
- FieldOptions_CType_name = map[int32]string{
- 0: "STRING",
- 1: "CORD",
- 2: "STRING_PIECE",
- }
- FieldOptions_CType_value = map[string]int32{
- "STRING": 0,
- "CORD": 1,
- "STRING_PIECE": 2,
- }
-)
-
-func (x FieldOptions_CType) Enum() *FieldOptions_CType {
- p := new(FieldOptions_CType)
- *p = x
- return p
-}
-
-func (x FieldOptions_CType) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
-}
-
-func (FieldOptions_CType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[5]
-}
-
-func (x FieldOptions_CType) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FieldOptions_CType) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FieldOptions_CType(num)
- return nil
-}
-
-// Deprecated: Use FieldOptions_CType.Descriptor instead.
-func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 0}
-}
-
-type FieldOptions_JSType int32
-
-const (
- // Use the default type.
- FieldOptions_JS_NORMAL FieldOptions_JSType = 0
- // Use JavaScript strings.
- FieldOptions_JS_STRING FieldOptions_JSType = 1
- // Use JavaScript numbers.
- FieldOptions_JS_NUMBER FieldOptions_JSType = 2
-)
-
-// Enum value maps for FieldOptions_JSType.
-var (
- FieldOptions_JSType_name = map[int32]string{
- 0: "JS_NORMAL",
- 1: "JS_STRING",
- 2: "JS_NUMBER",
- }
- FieldOptions_JSType_value = map[string]int32{
- "JS_NORMAL": 0,
- "JS_STRING": 1,
- "JS_NUMBER": 2,
- }
-)
-
-func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
- p := new(FieldOptions_JSType)
- *p = x
- return p
-}
-
-func (x FieldOptions_JSType) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor()
-}
-
-func (FieldOptions_JSType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[6]
-}
-
-func (x FieldOptions_JSType) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FieldOptions_JSType) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FieldOptions_JSType(num)
- return nil
-}
-
-// Deprecated: Use FieldOptions_JSType.Descriptor instead.
-func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 1}
-}
-
-// If set to RETENTION_SOURCE, the option will be omitted from the binary.
-// Note: as of January 2023, support for this is in progress and does not yet
-// have an effect (b/264593489).
-type FieldOptions_OptionRetention int32
-
-const (
- FieldOptions_RETENTION_UNKNOWN FieldOptions_OptionRetention = 0
- FieldOptions_RETENTION_RUNTIME FieldOptions_OptionRetention = 1
- FieldOptions_RETENTION_SOURCE FieldOptions_OptionRetention = 2
-)
-
-// Enum value maps for FieldOptions_OptionRetention.
-var (
- FieldOptions_OptionRetention_name = map[int32]string{
- 0: "RETENTION_UNKNOWN",
- 1: "RETENTION_RUNTIME",
- 2: "RETENTION_SOURCE",
- }
- FieldOptions_OptionRetention_value = map[string]int32{
- "RETENTION_UNKNOWN": 0,
- "RETENTION_RUNTIME": 1,
- "RETENTION_SOURCE": 2,
- }
-)
-
-func (x FieldOptions_OptionRetention) Enum() *FieldOptions_OptionRetention {
- p := new(FieldOptions_OptionRetention)
- *p = x
- return p
-}
-
-func (x FieldOptions_OptionRetention) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor()
-}
-
-func (FieldOptions_OptionRetention) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[7]
-}
-
-func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FieldOptions_OptionRetention) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FieldOptions_OptionRetention(num)
- return nil
-}
-
-// Deprecated: Use FieldOptions_OptionRetention.Descriptor instead.
-func (FieldOptions_OptionRetention) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 2}
-}
-
-// This indicates the types of entities that the field may apply to when used
-// as an option. If it is unset, then the field may be freely used as an
-// option on any kind of entity. Note: as of January 2023, support for this is
-// in progress and does not yet have an effect (b/264593489).
-type FieldOptions_OptionTargetType int32
-
-const (
- FieldOptions_TARGET_TYPE_UNKNOWN FieldOptions_OptionTargetType = 0
- FieldOptions_TARGET_TYPE_FILE FieldOptions_OptionTargetType = 1
- FieldOptions_TARGET_TYPE_EXTENSION_RANGE FieldOptions_OptionTargetType = 2
- FieldOptions_TARGET_TYPE_MESSAGE FieldOptions_OptionTargetType = 3
- FieldOptions_TARGET_TYPE_FIELD FieldOptions_OptionTargetType = 4
- FieldOptions_TARGET_TYPE_ONEOF FieldOptions_OptionTargetType = 5
- FieldOptions_TARGET_TYPE_ENUM FieldOptions_OptionTargetType = 6
- FieldOptions_TARGET_TYPE_ENUM_ENTRY FieldOptions_OptionTargetType = 7
- FieldOptions_TARGET_TYPE_SERVICE FieldOptions_OptionTargetType = 8
- FieldOptions_TARGET_TYPE_METHOD FieldOptions_OptionTargetType = 9
-)
-
-// Enum value maps for FieldOptions_OptionTargetType.
-var (
- FieldOptions_OptionTargetType_name = map[int32]string{
- 0: "TARGET_TYPE_UNKNOWN",
- 1: "TARGET_TYPE_FILE",
- 2: "TARGET_TYPE_EXTENSION_RANGE",
- 3: "TARGET_TYPE_MESSAGE",
- 4: "TARGET_TYPE_FIELD",
- 5: "TARGET_TYPE_ONEOF",
- 6: "TARGET_TYPE_ENUM",
- 7: "TARGET_TYPE_ENUM_ENTRY",
- 8: "TARGET_TYPE_SERVICE",
- 9: "TARGET_TYPE_METHOD",
- }
- FieldOptions_OptionTargetType_value = map[string]int32{
- "TARGET_TYPE_UNKNOWN": 0,
- "TARGET_TYPE_FILE": 1,
- "TARGET_TYPE_EXTENSION_RANGE": 2,
- "TARGET_TYPE_MESSAGE": 3,
- "TARGET_TYPE_FIELD": 4,
- "TARGET_TYPE_ONEOF": 5,
- "TARGET_TYPE_ENUM": 6,
- "TARGET_TYPE_ENUM_ENTRY": 7,
- "TARGET_TYPE_SERVICE": 8,
- "TARGET_TYPE_METHOD": 9,
- }
-)
-
-func (x FieldOptions_OptionTargetType) Enum() *FieldOptions_OptionTargetType {
- p := new(FieldOptions_OptionTargetType)
- *p = x
- return p
-}
-
-func (x FieldOptions_OptionTargetType) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor()
-}
-
-func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[8]
-}
-
-func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FieldOptions_OptionTargetType) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FieldOptions_OptionTargetType(num)
- return nil
-}
-
-// Deprecated: Use FieldOptions_OptionTargetType.Descriptor instead.
-func (FieldOptions_OptionTargetType) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 3}
-}
-
-// Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
-// or neither? HTTP based RPC implementation may choose GET verb for safe
-// methods, and PUT verb for idempotent methods instead of the default POST.
-type MethodOptions_IdempotencyLevel int32
-
-const (
- MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0
- MethodOptions_NO_SIDE_EFFECTS MethodOptions_IdempotencyLevel = 1 // implies idempotent
- MethodOptions_IDEMPOTENT MethodOptions_IdempotencyLevel = 2 // idempotent, but may have side effects
-)
-
-// Enum value maps for MethodOptions_IdempotencyLevel.
-var (
- MethodOptions_IdempotencyLevel_name = map[int32]string{
- 0: "IDEMPOTENCY_UNKNOWN",
- 1: "NO_SIDE_EFFECTS",
- 2: "IDEMPOTENT",
- }
- MethodOptions_IdempotencyLevel_value = map[string]int32{
- "IDEMPOTENCY_UNKNOWN": 0,
- "NO_SIDE_EFFECTS": 1,
- "IDEMPOTENT": 2,
- }
-)
-
-func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {
- p := new(MethodOptions_IdempotencyLevel)
- *p = x
- return p
-}
-
-func (x MethodOptions_IdempotencyLevel) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor()
-}
-
-func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[9]
-}
-
-func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = MethodOptions_IdempotencyLevel(num)
- return nil
-}
-
-// Deprecated: Use MethodOptions_IdempotencyLevel.Descriptor instead.
-func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17, 0}
-}
-
-type FeatureSet_FieldPresence int32
-
-const (
- FeatureSet_FIELD_PRESENCE_UNKNOWN FeatureSet_FieldPresence = 0
- FeatureSet_EXPLICIT FeatureSet_FieldPresence = 1
- FeatureSet_IMPLICIT FeatureSet_FieldPresence = 2
- FeatureSet_LEGACY_REQUIRED FeatureSet_FieldPresence = 3
-)
-
-// Enum value maps for FeatureSet_FieldPresence.
-var (
- FeatureSet_FieldPresence_name = map[int32]string{
- 0: "FIELD_PRESENCE_UNKNOWN",
- 1: "EXPLICIT",
- 2: "IMPLICIT",
- 3: "LEGACY_REQUIRED",
- }
- FeatureSet_FieldPresence_value = map[string]int32{
- "FIELD_PRESENCE_UNKNOWN": 0,
- "EXPLICIT": 1,
- "IMPLICIT": 2,
- "LEGACY_REQUIRED": 3,
- }
-)
-
-func (x FeatureSet_FieldPresence) Enum() *FeatureSet_FieldPresence {
- p := new(FeatureSet_FieldPresence)
- *p = x
- return p
-}
-
-func (x FeatureSet_FieldPresence) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FeatureSet_FieldPresence) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor()
-}
-
-func (FeatureSet_FieldPresence) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[10]
-}
-
-func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FeatureSet_FieldPresence) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FeatureSet_FieldPresence(num)
- return nil
-}
-
-// Deprecated: Use FeatureSet_FieldPresence.Descriptor instead.
-func (FeatureSet_FieldPresence) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0}
-}
-
-type FeatureSet_EnumType int32
-
-const (
- FeatureSet_ENUM_TYPE_UNKNOWN FeatureSet_EnumType = 0
- FeatureSet_OPEN FeatureSet_EnumType = 1
- FeatureSet_CLOSED FeatureSet_EnumType = 2
-)
-
-// Enum value maps for FeatureSet_EnumType.
-var (
- FeatureSet_EnumType_name = map[int32]string{
- 0: "ENUM_TYPE_UNKNOWN",
- 1: "OPEN",
- 2: "CLOSED",
- }
- FeatureSet_EnumType_value = map[string]int32{
- "ENUM_TYPE_UNKNOWN": 0,
- "OPEN": 1,
- "CLOSED": 2,
- }
-)
-
-func (x FeatureSet_EnumType) Enum() *FeatureSet_EnumType {
- p := new(FeatureSet_EnumType)
- *p = x
- return p
-}
-
-func (x FeatureSet_EnumType) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FeatureSet_EnumType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor()
-}
-
-func (FeatureSet_EnumType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[11]
-}
-
-func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FeatureSet_EnumType) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FeatureSet_EnumType(num)
- return nil
-}
-
-// Deprecated: Use FeatureSet_EnumType.Descriptor instead.
-func (FeatureSet_EnumType) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 1}
-}
-
-type FeatureSet_RepeatedFieldEncoding int32
-
-const (
- FeatureSet_REPEATED_FIELD_ENCODING_UNKNOWN FeatureSet_RepeatedFieldEncoding = 0
- FeatureSet_PACKED FeatureSet_RepeatedFieldEncoding = 1
- FeatureSet_EXPANDED FeatureSet_RepeatedFieldEncoding = 2
-)
-
-// Enum value maps for FeatureSet_RepeatedFieldEncoding.
-var (
- FeatureSet_RepeatedFieldEncoding_name = map[int32]string{
- 0: "REPEATED_FIELD_ENCODING_UNKNOWN",
- 1: "PACKED",
- 2: "EXPANDED",
- }
- FeatureSet_RepeatedFieldEncoding_value = map[string]int32{
- "REPEATED_FIELD_ENCODING_UNKNOWN": 0,
- "PACKED": 1,
- "EXPANDED": 2,
- }
-)
-
-func (x FeatureSet_RepeatedFieldEncoding) Enum() *FeatureSet_RepeatedFieldEncoding {
- p := new(FeatureSet_RepeatedFieldEncoding)
- *p = x
- return p
-}
-
-func (x FeatureSet_RepeatedFieldEncoding) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FeatureSet_RepeatedFieldEncoding) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor()
-}
-
-func (FeatureSet_RepeatedFieldEncoding) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[12]
-}
-
-func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FeatureSet_RepeatedFieldEncoding) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FeatureSet_RepeatedFieldEncoding(num)
- return nil
-}
-
-// Deprecated: Use FeatureSet_RepeatedFieldEncoding.Descriptor instead.
-func (FeatureSet_RepeatedFieldEncoding) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 2}
-}
-
-type FeatureSet_Utf8Validation int32
-
-const (
- FeatureSet_UTF8_VALIDATION_UNKNOWN FeatureSet_Utf8Validation = 0
- FeatureSet_VERIFY FeatureSet_Utf8Validation = 2
- FeatureSet_NONE FeatureSet_Utf8Validation = 3
-)
-
-// Enum value maps for FeatureSet_Utf8Validation.
-var (
- FeatureSet_Utf8Validation_name = map[int32]string{
- 0: "UTF8_VALIDATION_UNKNOWN",
- 2: "VERIFY",
- 3: "NONE",
- }
- FeatureSet_Utf8Validation_value = map[string]int32{
- "UTF8_VALIDATION_UNKNOWN": 0,
- "VERIFY": 2,
- "NONE": 3,
- }
-)
-
-func (x FeatureSet_Utf8Validation) Enum() *FeatureSet_Utf8Validation {
- p := new(FeatureSet_Utf8Validation)
- *p = x
- return p
-}
-
-func (x FeatureSet_Utf8Validation) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FeatureSet_Utf8Validation) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor()
-}
-
-func (FeatureSet_Utf8Validation) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[13]
-}
-
-func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FeatureSet_Utf8Validation) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FeatureSet_Utf8Validation(num)
- return nil
-}
-
-// Deprecated: Use FeatureSet_Utf8Validation.Descriptor instead.
-func (FeatureSet_Utf8Validation) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 3}
-}
-
-type FeatureSet_MessageEncoding int32
-
-const (
- FeatureSet_MESSAGE_ENCODING_UNKNOWN FeatureSet_MessageEncoding = 0
- FeatureSet_LENGTH_PREFIXED FeatureSet_MessageEncoding = 1
- FeatureSet_DELIMITED FeatureSet_MessageEncoding = 2
-)
-
-// Enum value maps for FeatureSet_MessageEncoding.
-var (
- FeatureSet_MessageEncoding_name = map[int32]string{
- 0: "MESSAGE_ENCODING_UNKNOWN",
- 1: "LENGTH_PREFIXED",
- 2: "DELIMITED",
- }
- FeatureSet_MessageEncoding_value = map[string]int32{
- "MESSAGE_ENCODING_UNKNOWN": 0,
- "LENGTH_PREFIXED": 1,
- "DELIMITED": 2,
- }
-)
-
-func (x FeatureSet_MessageEncoding) Enum() *FeatureSet_MessageEncoding {
- p := new(FeatureSet_MessageEncoding)
- *p = x
- return p
-}
-
-func (x FeatureSet_MessageEncoding) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FeatureSet_MessageEncoding) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor()
-}
-
-func (FeatureSet_MessageEncoding) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[14]
-}
-
-func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FeatureSet_MessageEncoding) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FeatureSet_MessageEncoding(num)
- return nil
-}
-
-// Deprecated: Use FeatureSet_MessageEncoding.Descriptor instead.
-func (FeatureSet_MessageEncoding) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 4}
-}
-
-type FeatureSet_JsonFormat int32
-
-const (
- FeatureSet_JSON_FORMAT_UNKNOWN FeatureSet_JsonFormat = 0
- FeatureSet_ALLOW FeatureSet_JsonFormat = 1
- FeatureSet_LEGACY_BEST_EFFORT FeatureSet_JsonFormat = 2
-)
-
-// Enum value maps for FeatureSet_JsonFormat.
-var (
- FeatureSet_JsonFormat_name = map[int32]string{
- 0: "JSON_FORMAT_UNKNOWN",
- 1: "ALLOW",
- 2: "LEGACY_BEST_EFFORT",
- }
- FeatureSet_JsonFormat_value = map[string]int32{
- "JSON_FORMAT_UNKNOWN": 0,
- "ALLOW": 1,
- "LEGACY_BEST_EFFORT": 2,
- }
-)
-
-func (x FeatureSet_JsonFormat) Enum() *FeatureSet_JsonFormat {
- p := new(FeatureSet_JsonFormat)
- *p = x
- return p
-}
-
-func (x FeatureSet_JsonFormat) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FeatureSet_JsonFormat) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor()
-}
-
-func (FeatureSet_JsonFormat) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[15]
-}
-
-func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FeatureSet_JsonFormat) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FeatureSet_JsonFormat(num)
- return nil
-}
-
-// Deprecated: Use FeatureSet_JsonFormat.Descriptor instead.
-func (FeatureSet_JsonFormat) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 5}
-}
-
-// Represents the identified object's effect on the element in the original
-// .proto file.
-type GeneratedCodeInfo_Annotation_Semantic int32
-
-const (
- // There is no effect or the effect is indescribable.
- GeneratedCodeInfo_Annotation_NONE GeneratedCodeInfo_Annotation_Semantic = 0
- // The element is set or otherwise mutated.
- GeneratedCodeInfo_Annotation_SET GeneratedCodeInfo_Annotation_Semantic = 1
- // An alias to the element is returned.
- GeneratedCodeInfo_Annotation_ALIAS GeneratedCodeInfo_Annotation_Semantic = 2
-)
-
-// Enum value maps for GeneratedCodeInfo_Annotation_Semantic.
-var (
- GeneratedCodeInfo_Annotation_Semantic_name = map[int32]string{
- 0: "NONE",
- 1: "SET",
- 2: "ALIAS",
- }
- GeneratedCodeInfo_Annotation_Semantic_value = map[string]int32{
- "NONE": 0,
- "SET": 1,
- "ALIAS": 2,
- }
-)
-
-func (x GeneratedCodeInfo_Annotation_Semantic) Enum() *GeneratedCodeInfo_Annotation_Semantic {
- p := new(GeneratedCodeInfo_Annotation_Semantic)
- *p = x
- return p
-}
-
-func (x GeneratedCodeInfo_Annotation_Semantic) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor()
-}
-
-func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[16]
-}
-
-func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *GeneratedCodeInfo_Annotation_Semantic) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = GeneratedCodeInfo_Annotation_Semantic(num)
- return nil
-}
-
-// Deprecated: Use GeneratedCodeInfo_Annotation_Semantic.Descriptor instead.
-func (GeneratedCodeInfo_Annotation_Semantic) EnumDescriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{22, 0, 0}
-}
-
-// The protocol compiler can output a FileDescriptorSet containing the .proto
-// files it parses.
-type FileDescriptorSet struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- File []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
-}
-
-func (x *FileDescriptorSet) Reset() {
- *x = FileDescriptorSet{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FileDescriptorSet) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FileDescriptorSet) ProtoMessage() {}
-
-func (x *FileDescriptorSet) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FileDescriptorSet.ProtoReflect.Descriptor instead.
-func (*FileDescriptorSet) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *FileDescriptorSet) GetFile() []*FileDescriptorProto {
- if x != nil {
- return x.File
- }
- return nil
-}
-
-// Describes a complete .proto file.
-type FileDescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // file name, relative to root of source tree
- Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"` // e.g. "foo", "foo.bar", etc.
- // Names of files imported by this file.
- Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
- // Indexes of the public imported files in the dependency list above.
- PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
- // Indexes of the weak imported files in the dependency list.
- // For Google-internal migration only. Do not use.
- WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
- // All top-level definitions in this file.
- MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
- EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
- Service []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
- Extension []*FieldDescriptorProto `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
- Options *FileOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
- // This field contains optional information about the original source code.
- // You may safely remove this entire field without harming runtime
- // functionality of the descriptors -- the information is needed only by
- // development tools.
- SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
- // The syntax of the proto file.
- // The supported values are "proto2", "proto3", and "editions".
- //
- // If `edition` is present, this value must be "editions".
- Syntax *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
- // The edition of the proto file.
- Edition *Edition `protobuf:"varint,14,opt,name=edition,enum=google.protobuf.Edition" json:"edition,omitempty"`
-}
-
-func (x *FileDescriptorProto) Reset() {
- *x = FileDescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FileDescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FileDescriptorProto) ProtoMessage() {}
-
-func (x *FileDescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[1]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FileDescriptorProto.ProtoReflect.Descriptor instead.
-func (*FileDescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *FileDescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *FileDescriptorProto) GetPackage() string {
- if x != nil && x.Package != nil {
- return *x.Package
- }
- return ""
-}
-
-func (x *FileDescriptorProto) GetDependency() []string {
- if x != nil {
- return x.Dependency
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetPublicDependency() []int32 {
- if x != nil {
- return x.PublicDependency
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetWeakDependency() []int32 {
- if x != nil {
- return x.WeakDependency
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto {
- if x != nil {
- return x.MessageType
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
- if x != nil {
- return x.EnumType
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
- if x != nil {
- return x.Service
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
- if x != nil {
- return x.Extension
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetOptions() *FileOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
- if x != nil {
- return x.SourceCodeInfo
- }
- return nil
-}
-
-func (x *FileDescriptorProto) GetSyntax() string {
- if x != nil && x.Syntax != nil {
- return *x.Syntax
- }
- return ""
-}
-
-func (x *FileDescriptorProto) GetEdition() Edition {
- if x != nil && x.Edition != nil {
- return *x.Edition
- }
- return Edition_EDITION_UNKNOWN
-}
-
-// Describes a message type.
-type DescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- Field []*FieldDescriptorProto `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
- Extension []*FieldDescriptorProto `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
- NestedType []*DescriptorProto `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
- EnumType []*EnumDescriptorProto `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
- ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
- OneofDecl []*OneofDescriptorProto `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
- Options *MessageOptions `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
- ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
- // Reserved field names, which may not be used by fields in the same message.
- // A given name may only be reserved once.
- ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
-}
-
-func (x *DescriptorProto) Reset() {
- *x = DescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DescriptorProto) ProtoMessage() {}
-
-func (x *DescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[2]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DescriptorProto.ProtoReflect.Descriptor instead.
-func (*DescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *DescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *DescriptorProto) GetField() []*FieldDescriptorProto {
- if x != nil {
- return x.Field
- }
- return nil
-}
-
-func (x *DescriptorProto) GetExtension() []*FieldDescriptorProto {
- if x != nil {
- return x.Extension
- }
- return nil
-}
-
-func (x *DescriptorProto) GetNestedType() []*DescriptorProto {
- if x != nil {
- return x.NestedType
- }
- return nil
-}
-
-func (x *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
- if x != nil {
- return x.EnumType
- }
- return nil
-}
-
-func (x *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
- if x != nil {
- return x.ExtensionRange
- }
- return nil
-}
-
-func (x *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
- if x != nil {
- return x.OneofDecl
- }
- return nil
-}
-
-func (x *DescriptorProto) GetOptions() *MessageOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-func (x *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
- if x != nil {
- return x.ReservedRange
- }
- return nil
-}
-
-func (x *DescriptorProto) GetReservedName() []string {
- if x != nil {
- return x.ReservedName
- }
- return nil
-}
-
-type ExtensionRangeOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
- // For external users: DO NOT USE. We are in the process of open sourcing
- // extension declaration and executing internal cleanups before it can be
- // used externally.
- Declaration []*ExtensionRangeOptions_Declaration `protobuf:"bytes,2,rep,name=declaration" json:"declaration,omitempty"`
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,50,opt,name=features" json:"features,omitempty"`
- // The verification state of the range.
- // TODO: flip the default to DECLARATION once all empty ranges
- // are marked as UNVERIFIED.
- Verification *ExtensionRangeOptions_VerificationState `protobuf:"varint,3,opt,name=verification,enum=google.protobuf.ExtensionRangeOptions_VerificationState,def=1" json:"verification,omitempty"`
-}
-
-// Default values for ExtensionRangeOptions fields.
-const (
- Default_ExtensionRangeOptions_Verification = ExtensionRangeOptions_UNVERIFIED
-)
-
-func (x *ExtensionRangeOptions) Reset() {
- *x = ExtensionRangeOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ExtensionRangeOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ExtensionRangeOptions) ProtoMessage() {}
-
-func (x *ExtensionRangeOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[3]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ExtensionRangeOptions.ProtoReflect.Descriptor instead.
-func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-func (x *ExtensionRangeOptions) GetDeclaration() []*ExtensionRangeOptions_Declaration {
- if x != nil {
- return x.Declaration
- }
- return nil
-}
-
-func (x *ExtensionRangeOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *ExtensionRangeOptions) GetVerification() ExtensionRangeOptions_VerificationState {
- if x != nil && x.Verification != nil {
- return *x.Verification
- }
- return Default_ExtensionRangeOptions_Verification
-}
-
-// Describes a field within a message.
-type FieldDescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- Number *int32 `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
- Label *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
- // If type_name is set, this need not be set. If both this and type_name
- // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
- Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
- // For message and enum types, this is the name of the type. If the name
- // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
- // rules are used to find the type (i.e. first the nested types within this
- // message are searched, then within the parent, on up to the root
- // namespace).
- TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
- // For extensions, this is the name of the type being extended. It is
- // resolved in the same manner as type_name.
- Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
- // For numeric types, contains the original text representation of the value.
- // For booleans, "true" or "false".
- // For strings, contains the default text contents (not escaped in any way).
- // For bytes, contains the C escaped value. All bytes >= 128 are escaped.
- DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
- // If set, gives the index of a oneof in the containing type's oneof_decl
- // list. This field is a member of that oneof.
- OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
- // JSON name of this field. The value is set by protocol compiler. If the
- // user has set a "json_name" option on this field, that option's value
- // will be used. Otherwise, it's deduced from the field's name by converting
- // it to camelCase.
- JsonName *string `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
- Options *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
- // If true, this is a proto3 "optional". When a proto3 field is optional, it
- // tracks presence regardless of field type.
- //
- // When proto3_optional is true, this field must belong to a oneof to signal
- // to old proto3 clients that presence is tracked for this field. This oneof
- // is known as a "synthetic" oneof, and this field must be its sole member
- // (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
- // exist in the descriptor only, and do not generate any API. Synthetic oneofs
- // must be ordered after all "real" oneofs.
- //
- // For message fields, proto3_optional doesn't create any semantic change,
- // since non-repeated message fields always track presence. However it still
- // indicates the semantic detail of whether the user wrote "optional" or not.
- // This can be useful for round-tripping the .proto file. For consistency we
- // give message fields a synthetic oneof also, even though it is not required
- // to track presence. This is especially important because the parser can't
- // tell if a field is a message or an enum, so it must always create a
- // synthetic oneof.
- //
- // Proto2 optional fields do not set this flag, because they already indicate
- // optional with `LABEL_OPTIONAL`.
- Proto3Optional *bool `protobuf:"varint,17,opt,name=proto3_optional,json=proto3Optional" json:"proto3_optional,omitempty"`
-}
-
-func (x *FieldDescriptorProto) Reset() {
- *x = FieldDescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FieldDescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FieldDescriptorProto) ProtoMessage() {}
-
-func (x *FieldDescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[4]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FieldDescriptorProto.ProtoReflect.Descriptor instead.
-func (*FieldDescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *FieldDescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *FieldDescriptorProto) GetNumber() int32 {
- if x != nil && x.Number != nil {
- return *x.Number
- }
- return 0
-}
-
-func (x *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
- if x != nil && x.Label != nil {
- return *x.Label
- }
- return FieldDescriptorProto_LABEL_OPTIONAL
-}
-
-func (x *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
- if x != nil && x.Type != nil {
- return *x.Type
- }
- return FieldDescriptorProto_TYPE_DOUBLE
-}
-
-func (x *FieldDescriptorProto) GetTypeName() string {
- if x != nil && x.TypeName != nil {
- return *x.TypeName
- }
- return ""
-}
-
-func (x *FieldDescriptorProto) GetExtendee() string {
- if x != nil && x.Extendee != nil {
- return *x.Extendee
- }
- return ""
-}
-
-func (x *FieldDescriptorProto) GetDefaultValue() string {
- if x != nil && x.DefaultValue != nil {
- return *x.DefaultValue
- }
- return ""
-}
-
-func (x *FieldDescriptorProto) GetOneofIndex() int32 {
- if x != nil && x.OneofIndex != nil {
- return *x.OneofIndex
- }
- return 0
-}
-
-func (x *FieldDescriptorProto) GetJsonName() string {
- if x != nil && x.JsonName != nil {
- return *x.JsonName
- }
- return ""
-}
-
-func (x *FieldDescriptorProto) GetOptions() *FieldOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-func (x *FieldDescriptorProto) GetProto3Optional() bool {
- if x != nil && x.Proto3Optional != nil {
- return *x.Proto3Optional
- }
- return false
-}
-
-// Describes a oneof.
-type OneofDescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- Options *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
-}
-
-func (x *OneofDescriptorProto) Reset() {
- *x = OneofDescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *OneofDescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*OneofDescriptorProto) ProtoMessage() {}
-
-func (x *OneofDescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[5]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use OneofDescriptorProto.ProtoReflect.Descriptor instead.
-func (*OneofDescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{5}
-}
-
-func (x *OneofDescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *OneofDescriptorProto) GetOptions() *OneofOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-// Describes an enum type.
-type EnumDescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- Value []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
- Options *EnumOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
- // Range of reserved numeric values. Reserved numeric values may not be used
- // by enum values in the same enum declaration. Reserved ranges may not
- // overlap.
- ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
- // Reserved enum value names, which may not be reused. A given name may only
- // be reserved once.
- ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
-}
-
-func (x *EnumDescriptorProto) Reset() {
- *x = EnumDescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EnumDescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EnumDescriptorProto) ProtoMessage() {}
-
-func (x *EnumDescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[6]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EnumDescriptorProto.ProtoReflect.Descriptor instead.
-func (*EnumDescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *EnumDescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
- if x != nil {
- return x.Value
- }
- return nil
-}
-
-func (x *EnumDescriptorProto) GetOptions() *EnumOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-func (x *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange {
- if x != nil {
- return x.ReservedRange
- }
- return nil
-}
-
-func (x *EnumDescriptorProto) GetReservedName() []string {
- if x != nil {
- return x.ReservedName
- }
- return nil
-}
-
-// Describes a value within an enum.
-type EnumValueDescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- Number *int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
- Options *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-}
-
-func (x *EnumValueDescriptorProto) Reset() {
- *x = EnumValueDescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EnumValueDescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EnumValueDescriptorProto) ProtoMessage() {}
-
-func (x *EnumValueDescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[7]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EnumValueDescriptorProto.ProtoReflect.Descriptor instead.
-func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *EnumValueDescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *EnumValueDescriptorProto) GetNumber() int32 {
- if x != nil && x.Number != nil {
- return *x.Number
- }
- return 0
-}
-
-func (x *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-// Describes a service.
-type ServiceDescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- Method []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
- Options *ServiceOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-}
-
-func (x *ServiceDescriptorProto) Reset() {
- *x = ServiceDescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ServiceDescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ServiceDescriptorProto) ProtoMessage() {}
-
-func (x *ServiceDescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[8]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ServiceDescriptorProto.ProtoReflect.Descriptor instead.
-func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *ServiceDescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
- if x != nil {
- return x.Method
- }
- return nil
-}
-
-func (x *ServiceDescriptorProto) GetOptions() *ServiceOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-// Describes a method of a service.
-type MethodDescriptorProto struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
- // Input and output type names. These are resolved in the same way as
- // FieldDescriptorProto.type_name, but must refer to a message type.
- InputType *string `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
- OutputType *string `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
- Options *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
- // Identifies if client streams multiple client messages
- ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
- // Identifies if server streams multiple server messages
- ServerStreaming *bool `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
-}
-
-// Default values for MethodDescriptorProto fields.
-const (
- Default_MethodDescriptorProto_ClientStreaming = bool(false)
- Default_MethodDescriptorProto_ServerStreaming = bool(false)
-)
-
-func (x *MethodDescriptorProto) Reset() {
- *x = MethodDescriptorProto{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[9]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *MethodDescriptorProto) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*MethodDescriptorProto) ProtoMessage() {}
-
-func (x *MethodDescriptorProto) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[9]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use MethodDescriptorProto.ProtoReflect.Descriptor instead.
-func (*MethodDescriptorProto) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{9}
-}
-
-func (x *MethodDescriptorProto) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *MethodDescriptorProto) GetInputType() string {
- if x != nil && x.InputType != nil {
- return *x.InputType
- }
- return ""
-}
-
-func (x *MethodDescriptorProto) GetOutputType() string {
- if x != nil && x.OutputType != nil {
- return *x.OutputType
- }
- return ""
-}
-
-func (x *MethodDescriptorProto) GetOptions() *MethodOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-func (x *MethodDescriptorProto) GetClientStreaming() bool {
- if x != nil && x.ClientStreaming != nil {
- return *x.ClientStreaming
- }
- return Default_MethodDescriptorProto_ClientStreaming
-}
-
-func (x *MethodDescriptorProto) GetServerStreaming() bool {
- if x != nil && x.ServerStreaming != nil {
- return *x.ServerStreaming
- }
- return Default_MethodDescriptorProto_ServerStreaming
-}
-
-type FileOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // Sets the Java package where classes generated from this .proto will be
- // placed. By default, the proto package is used, but this is often
- // inappropriate because proto packages do not normally start with backwards
- // domain names.
- JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
- // Controls the name of the wrapper Java class generated for the .proto file.
- // That class will always contain the .proto file's getDescriptor() method as
- // well as any top-level extensions defined in the .proto file.
- // If java_multiple_files is disabled, then all the other classes from the
- // .proto file will be nested inside the single wrapper outer class.
- JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
- // If enabled, then the Java code generator will generate a separate .java
- // file for each top-level message, enum, and service defined in the .proto
- // file. Thus, these types will *not* be nested inside the wrapper class
- // named by java_outer_classname. However, the wrapper class will still be
- // generated to contain the file's getDescriptor() method as well as any
- // top-level extensions defined in the file.
- JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
- // This option does nothing.
- //
- // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
- JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
- // If set true, then the Java2 code generator will generate code that
- // throws an exception whenever an attempt is made to assign a non-UTF-8
- // byte sequence to a string field.
- // Message reflection will do the same.
- // However, an extension field still accepts non-UTF-8 byte sequences.
- // This option has no effect on when used with the lite runtime.
- JavaStringCheckUtf8 *bool `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
- OptimizeFor *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
- // Sets the Go package where structs generated from this .proto will be
- // placed. If omitted, the Go package will be derived from the following:
- // - The basename of the package import path, if provided.
- // - Otherwise, the package statement in the .proto file, if present.
- // - Otherwise, the basename of the .proto file, without extension.
- GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
- // Should generic services be generated in each language? "Generic" services
- // are not specific to any particular RPC system. They are generated by the
- // main code generators in each language (without additional plugins).
- // Generic services were the only kind of service generation supported by
- // early versions of google.protobuf.
- //
- // Generic services are now considered deprecated in favor of using plugins
- // that generate code specific to your particular RPC system. Therefore,
- // these default to false. Old code which depends on generic services should
- // explicitly set them to true.
- CcGenericServices *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
- JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
- PyGenericServices *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
- // Is this file deprecated?
- // Depending on the target platform, this can emit Deprecated annotations
- // for everything in the file, or it will be completely ignored; in the very
- // least, this is a formalization for deprecating files.
- Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
- // Enables the use of arenas for the proto messages in this file. This applies
- // only to generated classes for C++.
- CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=1" json:"cc_enable_arenas,omitempty"`
- // Sets the objective c class prefix which is prepended to all objective c
- // generated classes from this .proto. There is no default.
- ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
- // Namespace for generated classes; defaults to the package.
- CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
- // By default Swift generators will take the proto package and CamelCase it
- // replacing '.' with underscore and use that to prefix the types/symbols
- // defined. When this options is provided, they will use this value instead
- // to prefix the types/symbols defined.
- SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"`
- // Sets the php class prefix which is prepended to all php generated classes
- // from this .proto. Default is empty.
- PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"`
- // Use this option to change the namespace of php generated classes. Default
- // is empty. When this option is empty, the package name will be used for
- // determining the namespace.
- PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"`
- // Use this option to change the namespace of php generated metadata classes.
- // Default is empty. When this option is empty, the proto file name will be
- // used for determining the namespace.
- PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"`
- // Use this option to change the package of ruby generated classes. Default
- // is empty. When this option is not set, the package name will be used for
- // determining the ruby package.
- RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"`
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,50,opt,name=features" json:"features,omitempty"`
- // The parser stores options it doesn't recognize here.
- // See the documentation for the "Options" section above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-// Default values for FileOptions fields.
-const (
- Default_FileOptions_JavaMultipleFiles = bool(false)
- Default_FileOptions_JavaStringCheckUtf8 = bool(false)
- Default_FileOptions_OptimizeFor = FileOptions_SPEED
- Default_FileOptions_CcGenericServices = bool(false)
- Default_FileOptions_JavaGenericServices = bool(false)
- Default_FileOptions_PyGenericServices = bool(false)
- Default_FileOptions_Deprecated = bool(false)
- Default_FileOptions_CcEnableArenas = bool(true)
-)
-
-func (x *FileOptions) Reset() {
- *x = FileOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[10]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FileOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FileOptions) ProtoMessage() {}
-
-func (x *FileOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[10]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FileOptions.ProtoReflect.Descriptor instead.
-func (*FileOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{10}
-}
-
-func (x *FileOptions) GetJavaPackage() string {
- if x != nil && x.JavaPackage != nil {
- return *x.JavaPackage
- }
- return ""
-}
-
-func (x *FileOptions) GetJavaOuterClassname() string {
- if x != nil && x.JavaOuterClassname != nil {
- return *x.JavaOuterClassname
- }
- return ""
-}
-
-func (x *FileOptions) GetJavaMultipleFiles() bool {
- if x != nil && x.JavaMultipleFiles != nil {
- return *x.JavaMultipleFiles
- }
- return Default_FileOptions_JavaMultipleFiles
-}
-
-// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
-func (x *FileOptions) GetJavaGenerateEqualsAndHash() bool {
- if x != nil && x.JavaGenerateEqualsAndHash != nil {
- return *x.JavaGenerateEqualsAndHash
- }
- return false
-}
-
-func (x *FileOptions) GetJavaStringCheckUtf8() bool {
- if x != nil && x.JavaStringCheckUtf8 != nil {
- return *x.JavaStringCheckUtf8
- }
- return Default_FileOptions_JavaStringCheckUtf8
-}
-
-func (x *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
- if x != nil && x.OptimizeFor != nil {
- return *x.OptimizeFor
- }
- return Default_FileOptions_OptimizeFor
-}
-
-func (x *FileOptions) GetGoPackage() string {
- if x != nil && x.GoPackage != nil {
- return *x.GoPackage
- }
- return ""
-}
-
-func (x *FileOptions) GetCcGenericServices() bool {
- if x != nil && x.CcGenericServices != nil {
- return *x.CcGenericServices
- }
- return Default_FileOptions_CcGenericServices
-}
-
-func (x *FileOptions) GetJavaGenericServices() bool {
- if x != nil && x.JavaGenericServices != nil {
- return *x.JavaGenericServices
- }
- return Default_FileOptions_JavaGenericServices
-}
-
-func (x *FileOptions) GetPyGenericServices() bool {
- if x != nil && x.PyGenericServices != nil {
- return *x.PyGenericServices
- }
- return Default_FileOptions_PyGenericServices
-}
-
-func (x *FileOptions) GetDeprecated() bool {
- if x != nil && x.Deprecated != nil {
- return *x.Deprecated
- }
- return Default_FileOptions_Deprecated
-}
-
-func (x *FileOptions) GetCcEnableArenas() bool {
- if x != nil && x.CcEnableArenas != nil {
- return *x.CcEnableArenas
- }
- return Default_FileOptions_CcEnableArenas
-}
-
-func (x *FileOptions) GetObjcClassPrefix() string {
- if x != nil && x.ObjcClassPrefix != nil {
- return *x.ObjcClassPrefix
- }
- return ""
-}
-
-func (x *FileOptions) GetCsharpNamespace() string {
- if x != nil && x.CsharpNamespace != nil {
- return *x.CsharpNamespace
- }
- return ""
-}
-
-func (x *FileOptions) GetSwiftPrefix() string {
- if x != nil && x.SwiftPrefix != nil {
- return *x.SwiftPrefix
- }
- return ""
-}
-
-func (x *FileOptions) GetPhpClassPrefix() string {
- if x != nil && x.PhpClassPrefix != nil {
- return *x.PhpClassPrefix
- }
- return ""
-}
-
-func (x *FileOptions) GetPhpNamespace() string {
- if x != nil && x.PhpNamespace != nil {
- return *x.PhpNamespace
- }
- return ""
-}
-
-func (x *FileOptions) GetPhpMetadataNamespace() string {
- if x != nil && x.PhpMetadataNamespace != nil {
- return *x.PhpMetadataNamespace
- }
- return ""
-}
-
-func (x *FileOptions) GetRubyPackage() string {
- if x != nil && x.RubyPackage != nil {
- return *x.RubyPackage
- }
- return ""
-}
-
-func (x *FileOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-type MessageOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // Set true to use the old proto1 MessageSet wire format for extensions.
- // This is provided for backwards-compatibility with the MessageSet wire
- // format. You should not use this for any other reason: It's less
- // efficient, has fewer features, and is more complicated.
- //
- // The message must be defined exactly as follows:
- //
- // message Foo {
- // option message_set_wire_format = true;
- // extensions 4 to max;
- // }
- //
- // Note that the message cannot have any defined fields; MessageSets only
- // have extensions.
- //
- // All extensions of your type must be singular messages; e.g. they cannot
- // be int32s, enums, or repeated messages.
- //
- // Because this is an option, the above two restrictions are not enforced by
- // the protocol compiler.
- MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
- // Disables the generation of the standard "descriptor()" accessor, which can
- // conflict with a field of the same name. This is meant to make migration
- // from proto1 easier; new code should avoid fields named "descriptor".
- NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
- // Is this message deprecated?
- // Depending on the target platform, this can emit Deprecated annotations
- // for the message, or it will be completely ignored; in the very least,
- // this is a formalization for deprecating messages.
- Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
- // Whether the message is an automatically generated map entry type for the
- // maps field.
- //
- // For maps fields:
- //
- // map map_field = 1;
- //
- // The parsed descriptor looks like:
- //
- // message MapFieldEntry {
- // option map_entry = true;
- // optional KeyType key = 1;
- // optional ValueType value = 2;
- // }
- // repeated MapFieldEntry map_field = 1;
- //
- // Implementations may choose not to generate the map_entry=true message, but
- // use a native map in the target language to hold the keys and values.
- // The reflection APIs in such implementations still need to work as
- // if the field is a repeated message field.
- //
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
- // instead. The option should only be implicitly set by the proto compiler
- // parser.
- MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
- // Enable the legacy handling of JSON field name conflicts. This lowercases
- // and strips underscored from the fields before comparison in proto3 only.
- // The new behavior takes `json_name` into account and applies to proto2 as
- // well.
- //
- // This should only be used as a temporary measure against broken builds due
- // to the change in behavior for JSON field name conflicts.
- //
- // TODO This is legacy behavior we plan to remove once downstream
- // teams have had time to migrate.
- //
- // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
- DeprecatedLegacyJsonFieldConflicts *bool `protobuf:"varint,11,opt,name=deprecated_legacy_json_field_conflicts,json=deprecatedLegacyJsonFieldConflicts" json:"deprecated_legacy_json_field_conflicts,omitempty"`
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,12,opt,name=features" json:"features,omitempty"`
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-// Default values for MessageOptions fields.
-const (
- Default_MessageOptions_MessageSetWireFormat = bool(false)
- Default_MessageOptions_NoStandardDescriptorAccessor = bool(false)
- Default_MessageOptions_Deprecated = bool(false)
-)
-
-func (x *MessageOptions) Reset() {
- *x = MessageOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[11]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *MessageOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*MessageOptions) ProtoMessage() {}
-
-func (x *MessageOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[11]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use MessageOptions.ProtoReflect.Descriptor instead.
-func (*MessageOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{11}
-}
-
-func (x *MessageOptions) GetMessageSetWireFormat() bool {
- if x != nil && x.MessageSetWireFormat != nil {
- return *x.MessageSetWireFormat
- }
- return Default_MessageOptions_MessageSetWireFormat
-}
-
-func (x *MessageOptions) GetNoStandardDescriptorAccessor() bool {
- if x != nil && x.NoStandardDescriptorAccessor != nil {
- return *x.NoStandardDescriptorAccessor
- }
- return Default_MessageOptions_NoStandardDescriptorAccessor
-}
-
-func (x *MessageOptions) GetDeprecated() bool {
- if x != nil && x.Deprecated != nil {
- return *x.Deprecated
- }
- return Default_MessageOptions_Deprecated
-}
-
-func (x *MessageOptions) GetMapEntry() bool {
- if x != nil && x.MapEntry != nil {
- return *x.MapEntry
- }
- return false
-}
-
-// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
-func (x *MessageOptions) GetDeprecatedLegacyJsonFieldConflicts() bool {
- if x != nil && x.DeprecatedLegacyJsonFieldConflicts != nil {
- return *x.DeprecatedLegacyJsonFieldConflicts
- }
- return false
-}
-
-func (x *MessageOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-type FieldOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // The ctype option instructs the C++ code generator to use a different
- // representation of the field than it normally would. See the specific
- // options below. This option is only implemented to support use of
- // [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
- // type "bytes" in the open source release -- sorry, we'll try to include
- // other types in a future version!
- Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
- // The packed option can be enabled for repeated primitive fields to enable
- // a more efficient representation on the wire. Rather than repeatedly
- // writing the tag and type for each element, the entire array is encoded as
- // a single length-delimited blob. In proto3, only explicit setting it to
- // false will avoid using packed encoding. This option is prohibited in
- // Editions, but the `repeated_field_encoding` feature can be used to control
- // the behavior.
- Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
- // The jstype option determines the JavaScript type used for values of the
- // field. The option is permitted only for 64 bit integral and fixed types
- // (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING
- // is represented as JavaScript string, which avoids loss of precision that
- // can happen when a large value is converted to a floating point JavaScript.
- // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
- // use the JavaScript "number" type. The behavior of the default option
- // JS_NORMAL is implementation dependent.
- //
- // This option is an enum to permit additional types to be added, e.g.
- // goog.math.Integer.
- Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
- // Should this field be parsed lazily? Lazy applies only to message-type
- // fields. It means that when the outer message is initially parsed, the
- // inner message's contents will not be parsed but instead stored in encoded
- // form. The inner message will actually be parsed when it is first accessed.
- //
- // This is only a hint. Implementations are free to choose whether to use
- // eager or lazy parsing regardless of the value of this option. However,
- // setting this option true suggests that the protocol author believes that
- // using lazy parsing on this field is worth the additional bookkeeping
- // overhead typically needed to implement it.
- //
- // This option does not affect the public interface of any generated code;
- // all method signatures remain the same. Furthermore, thread-safety of the
- // interface is not affected by this option; const methods remain safe to
- // call from multiple threads concurrently, while non-const methods continue
- // to require exclusive access.
- //
- // Note that lazy message fields are still eagerly verified to check
- // ill-formed wireformat or missing required fields. Calling IsInitialized()
- // on the outer message would fail if the inner message has missing required
- // fields. Failed verification would result in parsing failure (except when
- // uninitialized messages are acceptable).
- Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
- // unverified_lazy does no correctness checks on the byte stream. This should
- // only be used where lazy with verification is prohibitive for performance
- // reasons.
- UnverifiedLazy *bool `protobuf:"varint,15,opt,name=unverified_lazy,json=unverifiedLazy,def=0" json:"unverified_lazy,omitempty"`
- // Is this field deprecated?
- // Depending on the target platform, this can emit Deprecated annotations
- // for accessors, or it will be completely ignored; in the very least, this
- // is a formalization for deprecating fields.
- Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
- // For Google-internal migration only. Do not use.
- Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
- // Indicate that the field value should not be printed out when using debug
- // formats, e.g. when the field contains sensitive credentials.
- DebugRedact *bool `protobuf:"varint,16,opt,name=debug_redact,json=debugRedact,def=0" json:"debug_redact,omitempty"`
- Retention *FieldOptions_OptionRetention `protobuf:"varint,17,opt,name=retention,enum=google.protobuf.FieldOptions_OptionRetention" json:"retention,omitempty"`
- Targets []FieldOptions_OptionTargetType `protobuf:"varint,19,rep,name=targets,enum=google.protobuf.FieldOptions_OptionTargetType" json:"targets,omitempty"`
- EditionDefaults []*FieldOptions_EditionDefault `protobuf:"bytes,20,rep,name=edition_defaults,json=editionDefaults" json:"edition_defaults,omitempty"`
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,21,opt,name=features" json:"features,omitempty"`
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-// Default values for FieldOptions fields.
-const (
- Default_FieldOptions_Ctype = FieldOptions_STRING
- Default_FieldOptions_Jstype = FieldOptions_JS_NORMAL
- Default_FieldOptions_Lazy = bool(false)
- Default_FieldOptions_UnverifiedLazy = bool(false)
- Default_FieldOptions_Deprecated = bool(false)
- Default_FieldOptions_Weak = bool(false)
- Default_FieldOptions_DebugRedact = bool(false)
-)
-
-func (x *FieldOptions) Reset() {
- *x = FieldOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[12]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FieldOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FieldOptions) ProtoMessage() {}
-
-func (x *FieldOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[12]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FieldOptions.ProtoReflect.Descriptor instead.
-func (*FieldOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12}
-}
-
-func (x *FieldOptions) GetCtype() FieldOptions_CType {
- if x != nil && x.Ctype != nil {
- return *x.Ctype
- }
- return Default_FieldOptions_Ctype
-}
-
-func (x *FieldOptions) GetPacked() bool {
- if x != nil && x.Packed != nil {
- return *x.Packed
- }
- return false
-}
-
-func (x *FieldOptions) GetJstype() FieldOptions_JSType {
- if x != nil && x.Jstype != nil {
- return *x.Jstype
- }
- return Default_FieldOptions_Jstype
-}
-
-func (x *FieldOptions) GetLazy() bool {
- if x != nil && x.Lazy != nil {
- return *x.Lazy
- }
- return Default_FieldOptions_Lazy
-}
-
-func (x *FieldOptions) GetUnverifiedLazy() bool {
- if x != nil && x.UnverifiedLazy != nil {
- return *x.UnverifiedLazy
- }
- return Default_FieldOptions_UnverifiedLazy
-}
-
-func (x *FieldOptions) GetDeprecated() bool {
- if x != nil && x.Deprecated != nil {
- return *x.Deprecated
- }
- return Default_FieldOptions_Deprecated
-}
-
-func (x *FieldOptions) GetWeak() bool {
- if x != nil && x.Weak != nil {
- return *x.Weak
- }
- return Default_FieldOptions_Weak
-}
-
-func (x *FieldOptions) GetDebugRedact() bool {
- if x != nil && x.DebugRedact != nil {
- return *x.DebugRedact
- }
- return Default_FieldOptions_DebugRedact
-}
-
-func (x *FieldOptions) GetRetention() FieldOptions_OptionRetention {
- if x != nil && x.Retention != nil {
- return *x.Retention
- }
- return FieldOptions_RETENTION_UNKNOWN
-}
-
-func (x *FieldOptions) GetTargets() []FieldOptions_OptionTargetType {
- if x != nil {
- return x.Targets
- }
- return nil
-}
-
-func (x *FieldOptions) GetEditionDefaults() []*FieldOptions_EditionDefault {
- if x != nil {
- return x.EditionDefaults
- }
- return nil
-}
-
-func (x *FieldOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-type OneofOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,1,opt,name=features" json:"features,omitempty"`
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-func (x *OneofOptions) Reset() {
- *x = OneofOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[13]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *OneofOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*OneofOptions) ProtoMessage() {}
-
-func (x *OneofOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[13]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use OneofOptions.ProtoReflect.Descriptor instead.
-func (*OneofOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{13}
-}
-
-func (x *OneofOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-type EnumOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // Set this option to true to allow mapping different tag names to the same
- // value.
- AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
- // Is this enum deprecated?
- // Depending on the target platform, this can emit Deprecated annotations
- // for the enum, or it will be completely ignored; in the very least, this
- // is a formalization for deprecating enums.
- Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
- // Enable the legacy handling of JSON field name conflicts. This lowercases
- // and strips underscored from the fields before comparison in proto3 only.
- // The new behavior takes `json_name` into account and applies to proto2 as
- // well.
- // TODO Remove this legacy behavior once downstream teams have
- // had time to migrate.
- //
- // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
- DeprecatedLegacyJsonFieldConflicts *bool `protobuf:"varint,6,opt,name=deprecated_legacy_json_field_conflicts,json=deprecatedLegacyJsonFieldConflicts" json:"deprecated_legacy_json_field_conflicts,omitempty"`
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,7,opt,name=features" json:"features,omitempty"`
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-// Default values for EnumOptions fields.
-const (
- Default_EnumOptions_Deprecated = bool(false)
-)
-
-func (x *EnumOptions) Reset() {
- *x = EnumOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[14]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EnumOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EnumOptions) ProtoMessage() {}
-
-func (x *EnumOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[14]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EnumOptions.ProtoReflect.Descriptor instead.
-func (*EnumOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{14}
-}
-
-func (x *EnumOptions) GetAllowAlias() bool {
- if x != nil && x.AllowAlias != nil {
- return *x.AllowAlias
- }
- return false
-}
-
-func (x *EnumOptions) GetDeprecated() bool {
- if x != nil && x.Deprecated != nil {
- return *x.Deprecated
- }
- return Default_EnumOptions_Deprecated
-}
-
-// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
-func (x *EnumOptions) GetDeprecatedLegacyJsonFieldConflicts() bool {
- if x != nil && x.DeprecatedLegacyJsonFieldConflicts != nil {
- return *x.DeprecatedLegacyJsonFieldConflicts
- }
- return false
-}
-
-func (x *EnumOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-type EnumValueOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // Is this enum value deprecated?
- // Depending on the target platform, this can emit Deprecated annotations
- // for the enum value, or it will be completely ignored; in the very least,
- // this is a formalization for deprecating enum values.
- Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,2,opt,name=features" json:"features,omitempty"`
- // Indicate that fields annotated with this enum value should not be printed
- // out when using debug formats, e.g. when the field contains sensitive
- // credentials.
- DebugRedact *bool `protobuf:"varint,3,opt,name=debug_redact,json=debugRedact,def=0" json:"debug_redact,omitempty"`
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-// Default values for EnumValueOptions fields.
-const (
- Default_EnumValueOptions_Deprecated = bool(false)
- Default_EnumValueOptions_DebugRedact = bool(false)
-)
-
-func (x *EnumValueOptions) Reset() {
- *x = EnumValueOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[15]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EnumValueOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EnumValueOptions) ProtoMessage() {}
-
-func (x *EnumValueOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[15]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EnumValueOptions.ProtoReflect.Descriptor instead.
-func (*EnumValueOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{15}
-}
-
-func (x *EnumValueOptions) GetDeprecated() bool {
- if x != nil && x.Deprecated != nil {
- return *x.Deprecated
- }
- return Default_EnumValueOptions_Deprecated
-}
-
-func (x *EnumValueOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *EnumValueOptions) GetDebugRedact() bool {
- if x != nil && x.DebugRedact != nil {
- return *x.DebugRedact
- }
- return Default_EnumValueOptions_DebugRedact
-}
-
-func (x *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-type ServiceOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,34,opt,name=features" json:"features,omitempty"`
- // Is this service deprecated?
- // Depending on the target platform, this can emit Deprecated annotations
- // for the service, or it will be completely ignored; in the very least,
- // this is a formalization for deprecating services.
- Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-// Default values for ServiceOptions fields.
-const (
- Default_ServiceOptions_Deprecated = bool(false)
-)
-
-func (x *ServiceOptions) Reset() {
- *x = ServiceOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[16]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ServiceOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ServiceOptions) ProtoMessage() {}
-
-func (x *ServiceOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[16]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ServiceOptions.ProtoReflect.Descriptor instead.
-func (*ServiceOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{16}
-}
-
-func (x *ServiceOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *ServiceOptions) GetDeprecated() bool {
- if x != nil && x.Deprecated != nil {
- return *x.Deprecated
- }
- return Default_ServiceOptions_Deprecated
-}
-
-func (x *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-type MethodOptions struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- // Is this method deprecated?
- // Depending on the target platform, this can emit Deprecated annotations
- // for the method, or it will be completely ignored; in the very least,
- // this is a formalization for deprecating methods.
- Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
- IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"`
- // Any features defined in the specific edition.
- Features *FeatureSet `protobuf:"bytes,35,opt,name=features" json:"features,omitempty"`
- // The parser stores options it doesn't recognize here. See above.
- UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-}
-
-// Default values for MethodOptions fields.
-const (
- Default_MethodOptions_Deprecated = bool(false)
- Default_MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN
-)
-
-func (x *MethodOptions) Reset() {
- *x = MethodOptions{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[17]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *MethodOptions) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*MethodOptions) ProtoMessage() {}
-
-func (x *MethodOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[17]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use MethodOptions.ProtoReflect.Descriptor instead.
-func (*MethodOptions) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{17}
-}
-
-func (x *MethodOptions) GetDeprecated() bool {
- if x != nil && x.Deprecated != nil {
- return *x.Deprecated
- }
- return Default_MethodOptions_Deprecated
-}
-
-func (x *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {
- if x != nil && x.IdempotencyLevel != nil {
- return *x.IdempotencyLevel
- }
- return Default_MethodOptions_IdempotencyLevel
-}
-
-func (x *MethodOptions) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-func (x *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
- if x != nil {
- return x.UninterpretedOption
- }
- return nil
-}
-
-// A message representing a option the parser does not recognize. This only
-// appears in options protos created by the compiler::Parser class.
-// DescriptorPool resolves these when building Descriptor objects. Therefore,
-// options protos in descriptor objects (e.g. returned by Descriptor::options(),
-// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
-// in them.
-type UninterpretedOption struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
- // The value of the uninterpreted option, in whatever type the tokenizer
- // identified it as during parsing. Exactly one of these should be set.
- IdentifierValue *string `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
- PositiveIntValue *uint64 `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
- NegativeIntValue *int64 `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
- DoubleValue *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
- StringValue []byte `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
- AggregateValue *string `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
-}
-
-func (x *UninterpretedOption) Reset() {
- *x = UninterpretedOption{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[18]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *UninterpretedOption) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*UninterpretedOption) ProtoMessage() {}
-
-func (x *UninterpretedOption) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[18]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use UninterpretedOption.ProtoReflect.Descriptor instead.
-func (*UninterpretedOption) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18}
-}
-
-func (x *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
- if x != nil {
- return x.Name
- }
- return nil
-}
-
-func (x *UninterpretedOption) GetIdentifierValue() string {
- if x != nil && x.IdentifierValue != nil {
- return *x.IdentifierValue
- }
- return ""
-}
-
-func (x *UninterpretedOption) GetPositiveIntValue() uint64 {
- if x != nil && x.PositiveIntValue != nil {
- return *x.PositiveIntValue
- }
- return 0
-}
-
-func (x *UninterpretedOption) GetNegativeIntValue() int64 {
- if x != nil && x.NegativeIntValue != nil {
- return *x.NegativeIntValue
- }
- return 0
-}
-
-func (x *UninterpretedOption) GetDoubleValue() float64 {
- if x != nil && x.DoubleValue != nil {
- return *x.DoubleValue
- }
- return 0
-}
-
-func (x *UninterpretedOption) GetStringValue() []byte {
- if x != nil {
- return x.StringValue
- }
- return nil
-}
-
-func (x *UninterpretedOption) GetAggregateValue() string {
- if x != nil && x.AggregateValue != nil {
- return *x.AggregateValue
- }
- return ""
-}
-
-// TODO Enums in C++ gencode (and potentially other languages) are
-// not well scoped. This means that each of the feature enums below can clash
-// with each other. The short names we've chosen maximize call-site
-// readability, but leave us very open to this scenario. A future feature will
-// be designed and implemented to handle this, hopefully before we ever hit a
-// conflict here.
-type FeatureSet struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
- extensionFields protoimpl.ExtensionFields
-
- FieldPresence *FeatureSet_FieldPresence `protobuf:"varint,1,opt,name=field_presence,json=fieldPresence,enum=google.protobuf.FeatureSet_FieldPresence" json:"field_presence,omitempty"`
- EnumType *FeatureSet_EnumType `protobuf:"varint,2,opt,name=enum_type,json=enumType,enum=google.protobuf.FeatureSet_EnumType" json:"enum_type,omitempty"`
- RepeatedFieldEncoding *FeatureSet_RepeatedFieldEncoding `protobuf:"varint,3,opt,name=repeated_field_encoding,json=repeatedFieldEncoding,enum=google.protobuf.FeatureSet_RepeatedFieldEncoding" json:"repeated_field_encoding,omitempty"`
- Utf8Validation *FeatureSet_Utf8Validation `protobuf:"varint,4,opt,name=utf8_validation,json=utf8Validation,enum=google.protobuf.FeatureSet_Utf8Validation" json:"utf8_validation,omitempty"`
- MessageEncoding *FeatureSet_MessageEncoding `protobuf:"varint,5,opt,name=message_encoding,json=messageEncoding,enum=google.protobuf.FeatureSet_MessageEncoding" json:"message_encoding,omitempty"`
- JsonFormat *FeatureSet_JsonFormat `protobuf:"varint,6,opt,name=json_format,json=jsonFormat,enum=google.protobuf.FeatureSet_JsonFormat" json:"json_format,omitempty"`
-}
-
-func (x *FeatureSet) Reset() {
- *x = FeatureSet{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[19]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FeatureSet) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FeatureSet) ProtoMessage() {}
-
-func (x *FeatureSet) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[19]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FeatureSet.ProtoReflect.Descriptor instead.
-func (*FeatureSet) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19}
-}
-
-func (x *FeatureSet) GetFieldPresence() FeatureSet_FieldPresence {
- if x != nil && x.FieldPresence != nil {
- return *x.FieldPresence
- }
- return FeatureSet_FIELD_PRESENCE_UNKNOWN
-}
-
-func (x *FeatureSet) GetEnumType() FeatureSet_EnumType {
- if x != nil && x.EnumType != nil {
- return *x.EnumType
- }
- return FeatureSet_ENUM_TYPE_UNKNOWN
-}
-
-func (x *FeatureSet) GetRepeatedFieldEncoding() FeatureSet_RepeatedFieldEncoding {
- if x != nil && x.RepeatedFieldEncoding != nil {
- return *x.RepeatedFieldEncoding
- }
- return FeatureSet_REPEATED_FIELD_ENCODING_UNKNOWN
-}
-
-func (x *FeatureSet) GetUtf8Validation() FeatureSet_Utf8Validation {
- if x != nil && x.Utf8Validation != nil {
- return *x.Utf8Validation
- }
- return FeatureSet_UTF8_VALIDATION_UNKNOWN
-}
-
-func (x *FeatureSet) GetMessageEncoding() FeatureSet_MessageEncoding {
- if x != nil && x.MessageEncoding != nil {
- return *x.MessageEncoding
- }
- return FeatureSet_MESSAGE_ENCODING_UNKNOWN
-}
-
-func (x *FeatureSet) GetJsonFormat() FeatureSet_JsonFormat {
- if x != nil && x.JsonFormat != nil {
- return *x.JsonFormat
- }
- return FeatureSet_JSON_FORMAT_UNKNOWN
-}
-
-// A compiled specification for the defaults of a set of features. These
-// messages are generated from FeatureSet extensions and can be used to seed
-// feature resolution. The resolution with this object becomes a simple search
-// for the closest matching edition, followed by proto merges.
-type FeatureSetDefaults struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Defaults []*FeatureSetDefaults_FeatureSetEditionDefault `protobuf:"bytes,1,rep,name=defaults" json:"defaults,omitempty"`
- // The minimum supported edition (inclusive) when this was constructed.
- // Editions before this will not have defaults.
- MinimumEdition *Edition `protobuf:"varint,4,opt,name=minimum_edition,json=minimumEdition,enum=google.protobuf.Edition" json:"minimum_edition,omitempty"`
- // The maximum known edition (inclusive) when this was constructed. Editions
- // after this will not have reliable defaults.
- MaximumEdition *Edition `protobuf:"varint,5,opt,name=maximum_edition,json=maximumEdition,enum=google.protobuf.Edition" json:"maximum_edition,omitempty"`
-}
-
-func (x *FeatureSetDefaults) Reset() {
- *x = FeatureSetDefaults{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[20]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FeatureSetDefaults) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FeatureSetDefaults) ProtoMessage() {}
-
-func (x *FeatureSetDefaults) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[20]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FeatureSetDefaults.ProtoReflect.Descriptor instead.
-func (*FeatureSetDefaults) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20}
-}
-
-func (x *FeatureSetDefaults) GetDefaults() []*FeatureSetDefaults_FeatureSetEditionDefault {
- if x != nil {
- return x.Defaults
- }
- return nil
-}
-
-func (x *FeatureSetDefaults) GetMinimumEdition() Edition {
- if x != nil && x.MinimumEdition != nil {
- return *x.MinimumEdition
- }
- return Edition_EDITION_UNKNOWN
-}
-
-func (x *FeatureSetDefaults) GetMaximumEdition() Edition {
- if x != nil && x.MaximumEdition != nil {
- return *x.MaximumEdition
- }
- return Edition_EDITION_UNKNOWN
-}
-
-// Encapsulates information about the original source file from which a
-// FileDescriptorProto was generated.
-type SourceCodeInfo struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // A Location identifies a piece of source code in a .proto file which
- // corresponds to a particular definition. This information is intended
- // to be useful to IDEs, code indexers, documentation generators, and similar
- // tools.
- //
- // For example, say we have a file like:
- //
- // message Foo {
- // optional string foo = 1;
- // }
- //
- // Let's look at just the field definition:
- //
- // optional string foo = 1;
- // ^ ^^ ^^ ^ ^^^
- // a bc de f ghi
- //
- // We have the following locations:
- //
- // span path represents
- // [a,i) [ 4, 0, 2, 0 ] The whole field definition.
- // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).
- // [c,d) [ 4, 0, 2, 0, 5 ] The type (string).
- // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).
- // [g,h) [ 4, 0, 2, 0, 3 ] The number (1).
- //
- // Notes:
- // - A location may refer to a repeated field itself (i.e. not to any
- // particular index within it). This is used whenever a set of elements are
- // logically enclosed in a single code segment. For example, an entire
- // extend block (possibly containing multiple extension definitions) will
- // have an outer location whose path refers to the "extensions" repeated
- // field without an index.
- // - Multiple locations may have the same path. This happens when a single
- // logical declaration is spread out across multiple places. The most
- // obvious example is the "extend" block again -- there may be multiple
- // extend blocks in the same scope, each of which will have the same path.
- // - A location's span is not always a subset of its parent's span. For
- // example, the "extendee" of an extension declaration appears at the
- // beginning of the "extend" block and is shared by all extensions within
- // the block.
- // - Just because a location's span is a subset of some other location's span
- // does not mean that it is a descendant. For example, a "group" defines
- // both a type and a field in a single declaration. Thus, the locations
- // corresponding to the type and field and their components will overlap.
- // - Code which tries to interpret locations should probably be designed to
- // ignore those that it doesn't understand, as more types of locations could
- // be recorded in the future.
- Location []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
-}
-
-func (x *SourceCodeInfo) Reset() {
- *x = SourceCodeInfo{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[21]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SourceCodeInfo) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SourceCodeInfo) ProtoMessage() {}
-
-func (x *SourceCodeInfo) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[21]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use SourceCodeInfo.ProtoReflect.Descriptor instead.
-func (*SourceCodeInfo) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{21}
-}
-
-func (x *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
- if x != nil {
- return x.Location
- }
- return nil
-}
-
-// Describes the relationship between generated code and its original source
-// file. A GeneratedCodeInfo message is associated with only one generated
-// source file, but may contain references to different source .proto files.
-type GeneratedCodeInfo struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // An Annotation connects some span of text in generated code to an element
- // of its generating .proto file.
- Annotation []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
-}
-
-func (x *GeneratedCodeInfo) Reset() {
- *x = GeneratedCodeInfo{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[22]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GeneratedCodeInfo) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GeneratedCodeInfo) ProtoMessage() {}
-
-func (x *GeneratedCodeInfo) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[22]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use GeneratedCodeInfo.ProtoReflect.Descriptor instead.
-func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{22}
-}
-
-func (x *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
- if x != nil {
- return x.Annotation
- }
- return nil
-}
-
-type DescriptorProto_ExtensionRange struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive.
- End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive.
- Options *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-}
-
-func (x *DescriptorProto_ExtensionRange) Reset() {
- *x = DescriptorProto_ExtensionRange{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[23]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DescriptorProto_ExtensionRange) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DescriptorProto_ExtensionRange) ProtoMessage() {}
-
-func (x *DescriptorProto_ExtensionRange) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[23]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DescriptorProto_ExtensionRange.ProtoReflect.Descriptor instead.
-func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 0}
-}
-
-func (x *DescriptorProto_ExtensionRange) GetStart() int32 {
- if x != nil && x.Start != nil {
- return *x.Start
- }
- return 0
-}
-
-func (x *DescriptorProto_ExtensionRange) GetEnd() int32 {
- if x != nil && x.End != nil {
- return *x.End
- }
- return 0
-}
-
-func (x *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {
- if x != nil {
- return x.Options
- }
- return nil
-}
-
-// Range of reserved tag numbers. Reserved tag numbers may not be used by
-// fields or extension ranges in the same message. Reserved ranges may
-// not overlap.
-type DescriptorProto_ReservedRange struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive.
- End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Exclusive.
-}
-
-func (x *DescriptorProto_ReservedRange) Reset() {
- *x = DescriptorProto_ReservedRange{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[24]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *DescriptorProto_ReservedRange) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DescriptorProto_ReservedRange) ProtoMessage() {}
-
-func (x *DescriptorProto_ReservedRange) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[24]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DescriptorProto_ReservedRange.ProtoReflect.Descriptor instead.
-func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{2, 1}
-}
-
-func (x *DescriptorProto_ReservedRange) GetStart() int32 {
- if x != nil && x.Start != nil {
- return *x.Start
- }
- return 0
-}
-
-func (x *DescriptorProto_ReservedRange) GetEnd() int32 {
- if x != nil && x.End != nil {
- return *x.End
- }
- return 0
-}
-
-type ExtensionRangeOptions_Declaration struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The extension number declared within the extension range.
- Number *int32 `protobuf:"varint,1,opt,name=number" json:"number,omitempty"`
- // The fully-qualified name of the extension field. There must be a leading
- // dot in front of the full name.
- FullName *string `protobuf:"bytes,2,opt,name=full_name,json=fullName" json:"full_name,omitempty"`
- // The fully-qualified type name of the extension field. Unlike
- // Metadata.type, Declaration.type must have a leading dot for messages
- // and enums.
- Type *string `protobuf:"bytes,3,opt,name=type" json:"type,omitempty"`
- // If true, indicates that the number is reserved in the extension range,
- // and any extension field with the number will fail to compile. Set this
- // when a declared extension field is deleted.
- Reserved *bool `protobuf:"varint,5,opt,name=reserved" json:"reserved,omitempty"`
- // If true, indicates that the extension must be defined as repeated.
- // Otherwise the extension must be defined as optional.
- Repeated *bool `protobuf:"varint,6,opt,name=repeated" json:"repeated,omitempty"`
-}
-
-func (x *ExtensionRangeOptions_Declaration) Reset() {
- *x = ExtensionRangeOptions_Declaration{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[25]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *ExtensionRangeOptions_Declaration) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ExtensionRangeOptions_Declaration) ProtoMessage() {}
-
-func (x *ExtensionRangeOptions_Declaration) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[25]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ExtensionRangeOptions_Declaration.ProtoReflect.Descriptor instead.
-func (*ExtensionRangeOptions_Declaration) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{3, 0}
-}
-
-func (x *ExtensionRangeOptions_Declaration) GetNumber() int32 {
- if x != nil && x.Number != nil {
- return *x.Number
- }
- return 0
-}
-
-func (x *ExtensionRangeOptions_Declaration) GetFullName() string {
- if x != nil && x.FullName != nil {
- return *x.FullName
- }
- return ""
-}
-
-func (x *ExtensionRangeOptions_Declaration) GetType() string {
- if x != nil && x.Type != nil {
- return *x.Type
- }
- return ""
-}
-
-func (x *ExtensionRangeOptions_Declaration) GetReserved() bool {
- if x != nil && x.Reserved != nil {
- return *x.Reserved
- }
- return false
-}
-
-func (x *ExtensionRangeOptions_Declaration) GetRepeated() bool {
- if x != nil && x.Repeated != nil {
- return *x.Repeated
- }
- return false
-}
-
-// Range of reserved numeric values. Reserved values may not be used by
-// entries in the same enum. Reserved ranges may not overlap.
-//
-// Note that this is distinct from DescriptorProto.ReservedRange in that it
-// is inclusive such that it can appropriately represent the entire int32
-// domain.
-type EnumDescriptorProto_EnumReservedRange struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Start *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"` // Inclusive.
- End *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"` // Inclusive.
-}
-
-func (x *EnumDescriptorProto_EnumReservedRange) Reset() {
- *x = EnumDescriptorProto_EnumReservedRange{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[26]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *EnumDescriptorProto_EnumReservedRange) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage() {}
-
-func (x *EnumDescriptorProto_EnumReservedRange) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[26]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EnumDescriptorProto_EnumReservedRange.ProtoReflect.Descriptor instead.
-func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{6, 0}
-}
-
-func (x *EnumDescriptorProto_EnumReservedRange) GetStart() int32 {
- if x != nil && x.Start != nil {
- return *x.Start
- }
- return 0
-}
-
-func (x *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {
- if x != nil && x.End != nil {
- return *x.End
- }
- return 0
-}
-
-type FieldOptions_EditionDefault struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Edition *Edition `protobuf:"varint,3,opt,name=edition,enum=google.protobuf.Edition" json:"edition,omitempty"`
- Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` // Textproto value.
-}
-
-func (x *FieldOptions_EditionDefault) Reset() {
- *x = FieldOptions_EditionDefault{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[27]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FieldOptions_EditionDefault) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FieldOptions_EditionDefault) ProtoMessage() {}
-
-func (x *FieldOptions_EditionDefault) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[27]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FieldOptions_EditionDefault.ProtoReflect.Descriptor instead.
-func (*FieldOptions_EditionDefault) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 0}
-}
-
-func (x *FieldOptions_EditionDefault) GetEdition() Edition {
- if x != nil && x.Edition != nil {
- return *x.Edition
- }
- return Edition_EDITION_UNKNOWN
-}
-
-func (x *FieldOptions_EditionDefault) GetValue() string {
- if x != nil && x.Value != nil {
- return *x.Value
- }
- return ""
-}
-
-// The name of the uninterpreted option. Each string represents a segment in
-// a dot-separated name. is_extension is true iff a segment represents an
-// extension (denoted with parentheses in options specs in .proto files).
-// E.g.,{ ["foo", false], ["bar.baz", true], ["moo", false] } represents
-// "foo.(bar.baz).moo".
-type UninterpretedOption_NamePart struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- NamePart *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
- IsExtension *bool `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
-}
-
-func (x *UninterpretedOption_NamePart) Reset() {
- *x = UninterpretedOption_NamePart{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[28]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *UninterpretedOption_NamePart) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*UninterpretedOption_NamePart) ProtoMessage() {}
-
-func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[28]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use UninterpretedOption_NamePart.ProtoReflect.Descriptor instead.
-func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{18, 0}
-}
-
-func (x *UninterpretedOption_NamePart) GetNamePart() string {
- if x != nil && x.NamePart != nil {
- return *x.NamePart
- }
- return ""
-}
-
-func (x *UninterpretedOption_NamePart) GetIsExtension() bool {
- if x != nil && x.IsExtension != nil {
- return *x.IsExtension
- }
- return false
-}
-
-// A map from every known edition with a unique set of defaults to its
-// defaults. Not all editions may be contained here. For a given edition,
-// the defaults at the closest matching edition ordered at or before it should
-// be used. This field must be in strict ascending order by edition.
-type FeatureSetDefaults_FeatureSetEditionDefault struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- Edition *Edition `protobuf:"varint,3,opt,name=edition,enum=google.protobuf.Edition" json:"edition,omitempty"`
- Features *FeatureSet `protobuf:"bytes,2,opt,name=features" json:"features,omitempty"`
-}
-
-func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
- *x = FeatureSetDefaults_FeatureSetEditionDefault{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[29]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
-
-func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[29]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FeatureSetDefaults_FeatureSetEditionDefault.ProtoReflect.Descriptor instead.
-func (*FeatureSetDefaults_FeatureSetEditionDefault) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{20, 0}
-}
-
-func (x *FeatureSetDefaults_FeatureSetEditionDefault) GetEdition() Edition {
- if x != nil && x.Edition != nil {
- return *x.Edition
- }
- return Edition_EDITION_UNKNOWN
-}
-
-func (x *FeatureSetDefaults_FeatureSetEditionDefault) GetFeatures() *FeatureSet {
- if x != nil {
- return x.Features
- }
- return nil
-}
-
-type SourceCodeInfo_Location struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Identifies which part of the FileDescriptorProto was defined at this
- // location.
- //
- // Each element is a field number or an index. They form a path from
- // the root FileDescriptorProto to the place where the definition appears.
- // For example, this path:
- //
- // [ 4, 3, 2, 7, 1 ]
- //
- // refers to:
- //
- // file.message_type(3) // 4, 3
- // .field(7) // 2, 7
- // .name() // 1
- //
- // This is because FileDescriptorProto.message_type has field number 4:
- //
- // repeated DescriptorProto message_type = 4;
- //
- // and DescriptorProto.field has field number 2:
- //
- // repeated FieldDescriptorProto field = 2;
- //
- // and FieldDescriptorProto.name has field number 1:
- //
- // optional string name = 1;
- //
- // Thus, the above path gives the location of a field name. If we removed
- // the last element:
- //
- // [ 4, 3, 2, 7 ]
- //
- // this path refers to the whole field declaration (from the beginning
- // of the label to the terminating semicolon).
- Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
- // Always has exactly three or four elements: start line, start column,
- // end line (optional, otherwise assumed same as start line), end column.
- // These are packed into a single field for efficiency. Note that line
- // and column numbers are zero-based -- typically you will want to add
- // 1 to each before displaying to a user.
- Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
- // If this SourceCodeInfo represents a complete declaration, these are any
- // comments appearing before and after the declaration which appear to be
- // attached to the declaration.
- //
- // A series of line comments appearing on consecutive lines, with no other
- // tokens appearing on those lines, will be treated as a single comment.
- //
- // leading_detached_comments will keep paragraphs of comments that appear
- // before (but not connected to) the current element. Each paragraph,
- // separated by empty lines, will be one comment element in the repeated
- // field.
- //
- // Only the comment content is provided; comment markers (e.g. //) are
- // stripped out. For block comments, leading whitespace and an asterisk
- // will be stripped from the beginning of each line other than the first.
- // Newlines are included in the output.
- //
- // Examples:
- //
- // optional int32 foo = 1; // Comment attached to foo.
- // // Comment attached to bar.
- // optional int32 bar = 2;
- //
- // optional string baz = 3;
- // // Comment attached to baz.
- // // Another line attached to baz.
- //
- // // Comment attached to moo.
- // //
- // // Another line attached to moo.
- // optional double moo = 4;
- //
- // // Detached comment for corge. This is not leading or trailing comments
- // // to moo or corge because there are blank lines separating it from
- // // both.
- //
- // // Detached comment for corge paragraph 2.
- //
- // optional string corge = 5;
- // /* Block comment attached
- // * to corge. Leading asterisks
- // * will be removed. */
- // /* Block comment attached to
- // * grault. */
- // optional int32 grault = 6;
- //
- // // ignored detached comments.
- LeadingComments *string `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
- TrailingComments *string `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
- LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
-}
-
-func (x *SourceCodeInfo_Location) Reset() {
- *x = SourceCodeInfo_Location{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *SourceCodeInfo_Location) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SourceCodeInfo_Location) ProtoMessage() {}
-
-func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use SourceCodeInfo_Location.ProtoReflect.Descriptor instead.
-func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{21, 0}
-}
-
-func (x *SourceCodeInfo_Location) GetPath() []int32 {
- if x != nil {
- return x.Path
- }
- return nil
-}
-
-func (x *SourceCodeInfo_Location) GetSpan() []int32 {
- if x != nil {
- return x.Span
- }
- return nil
-}
-
-func (x *SourceCodeInfo_Location) GetLeadingComments() string {
- if x != nil && x.LeadingComments != nil {
- return *x.LeadingComments
- }
- return ""
-}
-
-func (x *SourceCodeInfo_Location) GetTrailingComments() string {
- if x != nil && x.TrailingComments != nil {
- return *x.TrailingComments
- }
- return ""
-}
-
-func (x *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
- if x != nil {
- return x.LeadingDetachedComments
- }
- return nil
-}
-
-type GeneratedCodeInfo_Annotation struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Identifies the element in the original source .proto file. This field
- // is formatted the same as SourceCodeInfo.Location.path.
- Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
- // Identifies the filesystem path to the original source .proto.
- SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
- // Identifies the starting offset in bytes in the generated code
- // that relates to the identified object.
- Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
- // Identifies the ending offset in bytes in the generated code that
- // relates to the identified object. The end offset should be one past
- // the last relevant byte (so the length of the text = end - begin).
- End *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
- Semantic *GeneratedCodeInfo_Annotation_Semantic `protobuf:"varint,5,opt,name=semantic,enum=google.protobuf.GeneratedCodeInfo_Annotation_Semantic" json:"semantic,omitempty"`
-}
-
-func (x *GeneratedCodeInfo_Annotation) Reset() {
- *x = GeneratedCodeInfo_Annotation{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GeneratedCodeInfo_Annotation) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
-
-func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use GeneratedCodeInfo_Annotation.ProtoReflect.Descriptor instead.
-func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
- return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{22, 0}
-}
-
-func (x *GeneratedCodeInfo_Annotation) GetPath() []int32 {
- if x != nil {
- return x.Path
- }
- return nil
-}
-
-func (x *GeneratedCodeInfo_Annotation) GetSourceFile() string {
- if x != nil && x.SourceFile != nil {
- return *x.SourceFile
- }
- return ""
-}
-
-func (x *GeneratedCodeInfo_Annotation) GetBegin() int32 {
- if x != nil && x.Begin != nil {
- return *x.Begin
- }
- return 0
-}
-
-func (x *GeneratedCodeInfo_Annotation) GetEnd() int32 {
- if x != nil && x.End != nil {
- return *x.End
- }
- return 0
-}
-
-func (x *GeneratedCodeInfo_Annotation) GetSemantic() GeneratedCodeInfo_Annotation_Semantic {
- if x != nil && x.Semantic != nil {
- return *x.Semantic
- }
- return GeneratedCodeInfo_Annotation_NONE
-}
-
-var File_google_protobuf_descriptor_proto protoreflect.FileDescriptor
-
-var file_google_protobuf_descriptor_proto_rawDesc = []byte{
- 0x0a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x22, 0x4d, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x04, 0x66, 0x69,
- 0x6c, 0x65, 0x22, 0x98, 0x05, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18,
- 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65,
- 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65,
- 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c,
- 0x69, 0x63, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20,
- 0x03, 0x28, 0x05, 0x52, 0x10, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x70, 0x65, 0x6e,
- 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x65, 0x61, 0x6b, 0x5f, 0x64, 0x65,
- 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e,
- 0x77, 0x65, 0x61, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x43,
- 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
- 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54,
- 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e,
- 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f,
- 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74,
- 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
- 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36,
- 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
- 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x12, 0x32, 0x0a, 0x07, 0x65, 0x64, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x06,
- 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74,
- 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63,
- 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x66, 0x69, 0x65,
- 0x6c, 0x64, 0x12, 0x43, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18,
- 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x09, 0x65, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0b, 0x6e, 0x65, 0x73, 0x74, 0x65,
- 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
- 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0a,
- 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x6e,
- 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x52, 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x58, 0x0a,
- 0x0f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65,
- 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
- 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
- 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
- 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
- 0x5f, 0x64, 0x65, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e,
- 0x65, 0x6f, 0x66, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f,
- 0x74, 0x6f, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x63, 0x6c, 0x12, 0x39, 0x0a,
- 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
- 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65,
- 0x72, 0x76, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f,
- 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65,
- 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12,
- 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
- 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x7a, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
- 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03,
- 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x40,
- 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x1a, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67,
- 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xcc, 0x04, 0x0a, 0x15, 0x45, 0x78,
- 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72,
- 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,
- 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65,
- 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x59, 0x0a,
- 0x0b, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61,
- 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0x88, 0x01, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x63,
- 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74,
- 0x75, 0x72, 0x65, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61,
- 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
- 0x73, 0x12, 0x6d, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
- 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
- 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x3a, 0x0a, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x42, 0x03, 0x88,
- 0x01, 0x02, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x1a, 0x94, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c,
- 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c,
- 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73,
- 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73,
- 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
- 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
- 0x64, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x34, 0x0a, 0x11, 0x56, 0x65, 0x72, 0x69, 0x66,
- 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b,
- 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a,
- 0x0a, 0x55, 0x4e, 0x56, 0x45, 0x52, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x01, 0x2a, 0x09, 0x08,
- 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xc1, 0x06, 0x0a, 0x14, 0x46, 0x69, 0x65,
- 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74,
- 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x41, 0x0a,
- 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
- 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72,
- 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c,
- 0x12, 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
- 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
- 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
- 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66,
- 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f,
- 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20,
- 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
- 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xb6,
- 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45,
- 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50,
- 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50,
- 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x36, 0x34, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x54,
- 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32, 0x10, 0x07, 0x12, 0x0d, 0x0a,
- 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b,
- 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x0e, 0x0a,
- 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x0a, 0x12, 0x10, 0x0a,
- 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x0b, 0x12,
- 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0c, 0x12,
- 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x0d,
- 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x0e, 0x12,
- 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45, 0x44, 0x33, 0x32,
- 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x46, 0x49, 0x58, 0x45,
- 0x44, 0x36, 0x34, 0x10, 0x10, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49,
- 0x4e, 0x54, 0x33, 0x32, 0x10, 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53,
- 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x12, 0x22, 0x43, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c,
- 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e,
- 0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f, 0x52, 0x45,
- 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x41, 0x42, 0x45,
- 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x22, 0x63, 0x0a, 0x14,
- 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, 0x6f,
- 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x13, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
- 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
- 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
- 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x36,
- 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76,
- 0x65, 0x64, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
- 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
- 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
- 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65,
- 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x11, 0x45, 0x6e,
- 0x75, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12,
- 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
- 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x45, 0x6e, 0x75, 0x6d,
- 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62,
- 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
- 0x12, 0x3b, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa7, 0x01,
- 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
- 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x06,
- 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d,
- 0x65, 0x74, 0x68, 0x6f, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50,
- 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x39, 0x0a, 0x07,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x15, 0x4d, 0x65, 0x74, 0x68,
- 0x6f, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74,
- 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74,
- 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74,
- 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75,
- 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
- 0x30, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65,
- 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e,
- 0x67, 0x12, 0x30, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c,
- 0x73, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d,
- 0x69, 0x6e, 0x67, 0x22, 0x97, 0x09, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x70, 0x61, 0x63, 0x6b,
- 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x61, 0x76, 0x61, 0x50,
- 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x6f,
- 0x75, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6a, 0x61, 0x76, 0x61, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x43,
- 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x6a, 0x61, 0x76, 0x61,
- 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18,
- 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x6a, 0x61,
- 0x76, 0x61, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12,
- 0x44, 0x0a, 0x1d, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
- 0x5f, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68,
- 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x19, 0x6a, 0x61, 0x76, 0x61,
- 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x41, 0x6e,
- 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x16, 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x73, 0x74,
- 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x18,
- 0x1b, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61,
- 0x76, 0x61, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x74, 0x66,
- 0x38, 0x12, 0x53, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f,
- 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f,
- 0x64, 0x65, 0x3a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6d,
- 0x69, 0x7a, 0x65, 0x46, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x70, 0x61, 0x63,
- 0x6b, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x50, 0x61,
- 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x13, 0x63, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x10, 0x20, 0x01,
- 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x63, 0x63, 0x47, 0x65, 0x6e,
- 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x15,
- 0x6a, 0x61, 0x76, 0x61, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c,
- 0x73, 0x65, 0x52, 0x13, 0x6a, 0x61, 0x76, 0x61, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x70, 0x79, 0x5f, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x12,
- 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x70, 0x79, 0x47,
- 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25,
- 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01,
- 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65,
- 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x63, 0x5f, 0x65, 0x6e, 0x61, 0x62,
- 0x6c, 0x65, 0x5f, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x3a,
- 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x63, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41,
- 0x72, 0x65, 0x6e, 0x61, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x63, 0x5f, 0x63, 0x6c,
- 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x63, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69,
- 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x73, 0x68, 0x61, 0x72, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x73, 0x68,
- 0x61, 0x72, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c,
- 0x73, 0x77, 0x69, 0x66, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x27, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77, 0x69, 0x66, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
- 0x28, 0x0a, 0x10, 0x70, 0x68, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65,
- 0x66, 0x69, 0x78, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x68, 0x70, 0x43, 0x6c,
- 0x61, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x68, 0x70,
- 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0c, 0x70, 0x68, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x34,
- 0x0a, 0x16, 0x70, 0x68, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14,
- 0x70, 0x68, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x73,
- 0x70, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x75, 0x62, 0x79, 0x5f, 0x70, 0x61, 0x63,
- 0x6b, 0x61, 0x67, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x75, 0x62, 0x79,
- 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75,
- 0x72, 0x65, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74,
- 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
- 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65,
- 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72,
- 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x0c, 0x4f, 0x70,
- 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50,
- 0x45, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x49,
- 0x5a, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e,
- 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80,
- 0x02, 0x4a, 0x04, 0x08, 0x2a, 0x10, 0x2b, 0x4a, 0x04, 0x08, 0x26, 0x10, 0x27, 0x22, 0xf4, 0x03,
- 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x12, 0x3c, 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f,
- 0x77, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x14, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x53, 0x65, 0x74, 0x57, 0x69, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4c,
- 0x0a, 0x1f, 0x6e, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65,
- 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f,
- 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x1c,
- 0x6e, 0x6f, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
- 0x70, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0a,
- 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
- 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
- 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x70, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79,
- 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x12, 0x56, 0x0a, 0x26, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c,
- 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
- 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
- 0x42, 0x02, 0x18, 0x01, 0x52, 0x22, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64,
- 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43,
- 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74,
- 0x75, 0x72, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61,
- 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
- 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,
- 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70,
- 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07,
- 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05,
- 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04,
- 0x08, 0x09, 0x10, 0x0a, 0x22, 0xad, 0x0a, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e,
- 0x47, 0x52, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x63, 0x6b,
- 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64,
- 0x12, 0x47, 0x0a, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
- 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x4a, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41,
- 0x4c, 0x52, 0x06, 0x6a, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x04, 0x6c, 0x61, 0x7a,
- 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x04,
- 0x6c, 0x61, 0x7a, 0x79, 0x12, 0x2e, 0x0a, 0x0f, 0x75, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69,
- 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x7a, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66,
- 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0e, 0x75, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
- 0x4c, 0x61, 0x7a, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
- 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52,
- 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x04, 0x77,
- 0x65, 0x61, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65,
- 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x28, 0x0a, 0x0c, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f,
- 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61,
- 0x6c, 0x73, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x64, 0x61, 0x63, 0x74,
- 0x12, 0x4b, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a,
- 0x07, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2e,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07,
- 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x10, 0x65, 0x64, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52,
- 0x0f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73,
- 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52,
- 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69,
- 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74,
- 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
- 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x1a, 0x5a, 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
- 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
- 0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49,
- 0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x10,
- 0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x45, 0x43, 0x45, 0x10, 0x02,
- 0x22, 0x35, 0x0a, 0x06, 0x4a, 0x53, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53,
- 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f,
- 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x53, 0x5f, 0x4e,
- 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x22, 0x55, 0x0a, 0x0f, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45,
- 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
- 0x00, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
- 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x54, 0x45,
- 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x02, 0x22, 0x8c,
- 0x02, 0x0a, 0x10, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54,
- 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
- 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45,
- 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50,
- 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47,
- 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11,
- 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x45, 0x4c,
- 0x44, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59,
- 0x50, 0x45, 0x5f, 0x4f, 0x4e, 0x45, 0x4f, 0x46, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x41,
- 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x06,
- 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13,
- 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56,
- 0x49, 0x43, 0x45, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f,
- 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x09, 0x2a, 0x09, 0x08,
- 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04,
- 0x08, 0x12, 0x10, 0x13, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
- 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
- 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x58,
- 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,
- 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80,
- 0x80, 0x80, 0x02, 0x22, 0xd1, 0x02, 0x0a, 0x0b, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x6c, 0x69,
- 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x41,
- 0x6c, 0x69, 0x61, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
- 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52,
- 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x56, 0x0a, 0x26, 0x64,
- 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79,
- 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
- 0x6c, 0x69, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52,
- 0x22, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x65, 0x67, 0x61, 0x63,
- 0x79, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
- 0x63, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53,
- 0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x14,
- 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e,
- 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80,
- 0x02, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x81, 0x02, 0x0a, 0x10, 0x45, 0x6e, 0x75, 0x6d,
- 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a,
- 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
- 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
- 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53,
- 0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0c,
- 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x72, 0x65, 0x64, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67,
- 0x52, 0x65, 0x64, 0x61, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65,
- 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7,
- 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70,
- 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69,
- 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xd5, 0x01, 0x0a, 0x0e,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37,
- 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08, 0x66,
- 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65,
- 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c,
- 0x73, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x58,
- 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f,
- 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,
- 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80,
- 0x80, 0x80, 0x02, 0x22, 0x99, 0x03, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
- 0x74, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65,
- 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x71, 0x0a, 0x11,
- 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65,
- 0x6c, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
- 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65,
- 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f,
- 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x52, 0x10, 0x69,
- 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
- 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x08,
- 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e,
- 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65,
- 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75,
- 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x10, 0x49, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63,
- 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f,
- 0x54, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
- 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43,
- 0x54, 0x53, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x44, 0x45, 0x4d, 0x50, 0x4f, 0x54, 0x45,
- 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22,
- 0x9a, 0x03, 0x0a, 0x13, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65,
- 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70,
- 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x6d, 0x65,
- 0x50, 0x61, 0x72, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x64,
- 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
- 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
- 0x04, 0x52, 0x10, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61,
- 0x6c, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75,
- 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56,
- 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69,
- 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x67, 0x67, 0x72, 0x65,
- 0x67, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0e, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
- 0x1a, 0x4a, 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09,
- 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52,
- 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f,
- 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52,
- 0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x0a, 0x0a,
- 0x0a, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0e,
- 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
- 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x42,
- 0x39, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45,
- 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x49,
- 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe7, 0x07, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45,
- 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe8, 0x07, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c,
- 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x66, 0x0a, 0x09, 0x65, 0x6e, 0x75,
- 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
- 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79,
- 0x70, 0x65, 0x42, 0x23, 0x88, 0x01, 0x01, 0x98, 0x01, 0x06, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x0b,
- 0x12, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x09, 0x12, 0x04,
- 0x4f, 0x50, 0x45, 0x4e, 0x18, 0xe7, 0x07, 0x52, 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70,
- 0x65, 0x12, 0x92, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66,
- 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74,
- 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e,
- 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x27, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01,
- 0x01, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x18, 0xe6,
- 0x07, 0xa2, 0x01, 0x0b, 0x12, 0x06, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x18, 0xe7, 0x07, 0x52,
- 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e,
- 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x78, 0x0a, 0x0f, 0x75, 0x74, 0x66, 0x38, 0x5f, 0x76,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x55, 0x74, 0x66,
- 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x23, 0x88, 0x01, 0x01,
- 0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x18,
- 0xe6, 0x07, 0xa2, 0x01, 0x0b, 0x12, 0x06, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x18, 0xe7, 0x07,
- 0x52, 0x0e, 0x75, 0x74, 0x66, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x78, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f,
- 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61,
- 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45,
- 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x20, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98,
- 0x01, 0x01, 0xa2, 0x01, 0x14, 0x12, 0x0f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x50, 0x52,
- 0x45, 0x46, 0x49, 0x58, 0x45, 0x44, 0x18, 0xe6, 0x07, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x7c, 0x0a, 0x0b, 0x6a, 0x73,
- 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
- 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x4a, 0x73, 0x6f,
- 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x33, 0x88, 0x01, 0x01, 0x98, 0x01, 0x03, 0x98,
- 0x01, 0x06, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x17, 0x12, 0x12, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59,
- 0x5f, 0x42, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x18, 0xe6, 0x07, 0xa2,
- 0x01, 0x0a, 0x12, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x18, 0xe7, 0x07, 0x52, 0x0a, 0x6a, 0x73,
- 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x5c, 0x0a, 0x0d, 0x46, 0x69, 0x65, 0x6c,
- 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x49, 0x45,
- 0x4c, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e,
- 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49,
- 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10,
- 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55,
- 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x22, 0x37, 0x0a, 0x08, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79,
- 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
- 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45,
- 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x02, 0x22,
- 0x56, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64,
- 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x50, 0x45,
- 0x41, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44,
- 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a,
- 0x06, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50,
- 0x41, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x22, 0x43, 0x0a, 0x0e, 0x55, 0x74, 0x66, 0x38, 0x56,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x54, 0x46,
- 0x38, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b,
- 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59,
- 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x22, 0x53, 0x0a, 0x0f,
- 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12,
- 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44,
- 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a,
- 0x0f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x45, 0x44,
- 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10,
- 0x02, 0x22, 0x48, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12,
- 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55,
- 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f,
- 0x57, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f, 0x42, 0x45,
- 0x53, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x2a, 0x06, 0x08, 0xe8, 0x07,
- 0x10, 0xe9, 0x07, 0x2a, 0x06, 0x08, 0xe9, 0x07, 0x10, 0xea, 0x07, 0x2a, 0x06, 0x08, 0xea, 0x07,
- 0x10, 0xeb, 0x07, 0x2a, 0x06, 0x08, 0x8b, 0x4e, 0x10, 0x90, 0x4e, 0x2a, 0x06, 0x08, 0x90, 0x4e,
- 0x10, 0x91, 0x4e, 0x4a, 0x06, 0x08, 0xe7, 0x07, 0x10, 0xe8, 0x07, 0x22, 0xfe, 0x02, 0x0a, 0x12,
- 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c,
- 0x74, 0x73, 0x12, 0x58, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
- 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
- 0x65, 0x53, 0x65, 0x74, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75,
- 0x6c, 0x74, 0x52, 0x08, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0f,
- 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x41, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x1a, 0x87, 0x01, 0x0a, 0x18, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
- 0x74, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12,
- 0x32, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74,
- 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53,
- 0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xa7, 0x02, 0x0a,
- 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
- 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e,
- 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
- 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70,
- 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70,
- 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
- 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65,
- 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a,
- 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
- 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69,
- 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65,
- 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63,
- 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c,
- 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f,
- 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd0, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a,
- 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65,
- 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xeb, 0x01, 0x0a, 0x0a,
- 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61,
- 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61,
- 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
- 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x52, 0x0a, 0x08, 0x73,
- 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
- 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6d,
- 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x22,
- 0x28, 0x0a, 0x08, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x12, 0x08, 0x0a, 0x04, 0x4e,
- 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x09,
- 0x0a, 0x05, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x10, 0x02, 0x2a, 0x92, 0x02, 0x0a, 0x07, 0x45, 0x64,
- 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e,
- 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0e, 0x45, 0x44,
- 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x32, 0x10, 0xe6, 0x07, 0x12,
- 0x13, 0x0a, 0x0e, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f,
- 0x33, 0x10, 0xe7, 0x07, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
- 0x32, 0x30, 0x32, 0x33, 0x10, 0xe8, 0x07, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x44, 0x49, 0x54, 0x49,
- 0x4f, 0x4e, 0x5f, 0x32, 0x30, 0x32, 0x34, 0x10, 0xe9, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x44,
- 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x31, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c,
- 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x32,
- 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x17,
- 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x37, 0x5f, 0x54, 0x45,
- 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x9d, 0x8d, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x45,
- 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x38, 0x5f, 0x54, 0x45, 0x53,
- 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x9e, 0x8d, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x45, 0x44,
- 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x39, 0x5f, 0x54, 0x45, 0x53, 0x54,
- 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x9f, 0x8d, 0x06, 0x12, 0x13, 0x0a, 0x0b, 0x45, 0x44, 0x49,
- 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0xff, 0xff, 0xff, 0xff, 0x07, 0x42, 0x7e,
- 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
- 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, 0x65, 0x73, 0x63,
- 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50,
- 0x42, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-}
-
-var (
- file_google_protobuf_descriptor_proto_rawDescOnce sync.Once
- file_google_protobuf_descriptor_proto_rawDescData = file_google_protobuf_descriptor_proto_rawDesc
-)
-
-func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte {
- file_google_protobuf_descriptor_proto_rawDescOnce.Do(func() {
- file_google_protobuf_descriptor_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_descriptor_proto_rawDescData)
- })
- return file_google_protobuf_descriptor_proto_rawDescData
-}
-
-var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
-var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
-var file_google_protobuf_descriptor_proto_goTypes = []interface{}{
- (Edition)(0), // 0: google.protobuf.Edition
- (ExtensionRangeOptions_VerificationState)(0), // 1: google.protobuf.ExtensionRangeOptions.VerificationState
- (FieldDescriptorProto_Type)(0), // 2: google.protobuf.FieldDescriptorProto.Type
- (FieldDescriptorProto_Label)(0), // 3: google.protobuf.FieldDescriptorProto.Label
- (FileOptions_OptimizeMode)(0), // 4: google.protobuf.FileOptions.OptimizeMode
- (FieldOptions_CType)(0), // 5: google.protobuf.FieldOptions.CType
- (FieldOptions_JSType)(0), // 6: google.protobuf.FieldOptions.JSType
- (FieldOptions_OptionRetention)(0), // 7: google.protobuf.FieldOptions.OptionRetention
- (FieldOptions_OptionTargetType)(0), // 8: google.protobuf.FieldOptions.OptionTargetType
- (MethodOptions_IdempotencyLevel)(0), // 9: google.protobuf.MethodOptions.IdempotencyLevel
- (FeatureSet_FieldPresence)(0), // 10: google.protobuf.FeatureSet.FieldPresence
- (FeatureSet_EnumType)(0), // 11: google.protobuf.FeatureSet.EnumType
- (FeatureSet_RepeatedFieldEncoding)(0), // 12: google.protobuf.FeatureSet.RepeatedFieldEncoding
- (FeatureSet_Utf8Validation)(0), // 13: google.protobuf.FeatureSet.Utf8Validation
- (FeatureSet_MessageEncoding)(0), // 14: google.protobuf.FeatureSet.MessageEncoding
- (FeatureSet_JsonFormat)(0), // 15: google.protobuf.FeatureSet.JsonFormat
- (GeneratedCodeInfo_Annotation_Semantic)(0), // 16: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
- (*FileDescriptorSet)(nil), // 17: google.protobuf.FileDescriptorSet
- (*FileDescriptorProto)(nil), // 18: google.protobuf.FileDescriptorProto
- (*DescriptorProto)(nil), // 19: google.protobuf.DescriptorProto
- (*ExtensionRangeOptions)(nil), // 20: google.protobuf.ExtensionRangeOptions
- (*FieldDescriptorProto)(nil), // 21: google.protobuf.FieldDescriptorProto
- (*OneofDescriptorProto)(nil), // 22: google.protobuf.OneofDescriptorProto
- (*EnumDescriptorProto)(nil), // 23: google.protobuf.EnumDescriptorProto
- (*EnumValueDescriptorProto)(nil), // 24: google.protobuf.EnumValueDescriptorProto
- (*ServiceDescriptorProto)(nil), // 25: google.protobuf.ServiceDescriptorProto
- (*MethodDescriptorProto)(nil), // 26: google.protobuf.MethodDescriptorProto
- (*FileOptions)(nil), // 27: google.protobuf.FileOptions
- (*MessageOptions)(nil), // 28: google.protobuf.MessageOptions
- (*FieldOptions)(nil), // 29: google.protobuf.FieldOptions
- (*OneofOptions)(nil), // 30: google.protobuf.OneofOptions
- (*EnumOptions)(nil), // 31: google.protobuf.EnumOptions
- (*EnumValueOptions)(nil), // 32: google.protobuf.EnumValueOptions
- (*ServiceOptions)(nil), // 33: google.protobuf.ServiceOptions
- (*MethodOptions)(nil), // 34: google.protobuf.MethodOptions
- (*UninterpretedOption)(nil), // 35: google.protobuf.UninterpretedOption
- (*FeatureSet)(nil), // 36: google.protobuf.FeatureSet
- (*FeatureSetDefaults)(nil), // 37: google.protobuf.FeatureSetDefaults
- (*SourceCodeInfo)(nil), // 38: google.protobuf.SourceCodeInfo
- (*GeneratedCodeInfo)(nil), // 39: google.protobuf.GeneratedCodeInfo
- (*DescriptorProto_ExtensionRange)(nil), // 40: google.protobuf.DescriptorProto.ExtensionRange
- (*DescriptorProto_ReservedRange)(nil), // 41: google.protobuf.DescriptorProto.ReservedRange
- (*ExtensionRangeOptions_Declaration)(nil), // 42: google.protobuf.ExtensionRangeOptions.Declaration
- (*EnumDescriptorProto_EnumReservedRange)(nil), // 43: google.protobuf.EnumDescriptorProto.EnumReservedRange
- (*FieldOptions_EditionDefault)(nil), // 44: google.protobuf.FieldOptions.EditionDefault
- (*UninterpretedOption_NamePart)(nil), // 45: google.protobuf.UninterpretedOption.NamePart
- (*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 46: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
- (*SourceCodeInfo_Location)(nil), // 47: google.protobuf.SourceCodeInfo.Location
- (*GeneratedCodeInfo_Annotation)(nil), // 48: google.protobuf.GeneratedCodeInfo.Annotation
-}
-var file_google_protobuf_descriptor_proto_depIdxs = []int32{
- 18, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
- 19, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
- 23, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
- 25, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
- 21, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
- 27, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
- 38, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
- 0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition
- 21, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
- 21, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
- 19, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
- 23, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
- 40, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
- 22, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
- 28, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
- 41, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
- 35, // 16: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 42, // 17: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
- 36, // 18: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet
- 1, // 19: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState
- 3, // 20: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
- 2, // 21: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
- 29, // 22: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
- 30, // 23: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
- 24, // 24: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
- 31, // 25: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
- 43, // 26: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
- 32, // 27: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
- 26, // 28: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
- 33, // 29: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
- 34, // 30: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
- 4, // 31: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
- 36, // 32: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 33: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 36, // 34: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 35: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 5, // 36: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
- 6, // 37: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
- 7, // 38: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
- 8, // 39: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
- 44, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
- 36, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 42: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 36, // 43: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 44: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 36, // 45: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 46: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 36, // 47: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 48: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 36, // 49: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 50: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 9, // 51: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
- 36, // 52: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
- 35, // 53: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 45, // 54: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
- 10, // 55: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
- 11, // 56: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
- 12, // 57: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
- 13, // 58: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
- 14, // 59: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
- 15, // 60: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
- 46, // 61: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
- 0, // 62: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
- 0, // 63: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
- 47, // 64: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
- 48, // 65: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
- 20, // 66: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
- 0, // 67: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
- 0, // 68: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
- 36, // 69: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features:type_name -> google.protobuf.FeatureSet
- 16, // 70: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
- 71, // [71:71] is the sub-list for method output_type
- 71, // [71:71] is the sub-list for method input_type
- 71, // [71:71] is the sub-list for extension type_name
- 71, // [71:71] is the sub-list for extension extendee
- 0, // [0:71] is the sub-list for field type_name
-}
-
-func init() { file_google_protobuf_descriptor_proto_init() }
-func file_google_protobuf_descriptor_proto_init() {
- if File_google_protobuf_descriptor_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_google_protobuf_descriptor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FileDescriptorSet); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FileDescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ExtensionRangeOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FieldDescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*OneofDescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EnumDescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EnumValueDescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ServiceDescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MethodDescriptorProto); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FileOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MessageOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FieldOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*OneofOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EnumOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EnumValueOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ServiceOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MethodOptions); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UninterpretedOption); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FeatureSet); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- case 3:
- return &v.extensionFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FeatureSetDefaults); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SourceCodeInfo); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GeneratedCodeInfo); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DescriptorProto_ExtensionRange); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DescriptorProto_ReservedRange); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ExtensionRangeOptions_Declaration); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*EnumDescriptorProto_EnumReservedRange); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FieldOptions_EditionDefault); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UninterpretedOption_NamePart); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*FeatureSetDefaults_FeatureSetEditionDefault); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SourceCodeInfo_Location); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- file_google_protobuf_descriptor_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GeneratedCodeInfo_Annotation); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc,
- NumEnums: 17,
- NumMessages: 32,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_google_protobuf_descriptor_proto_goTypes,
- DependencyIndexes: file_google_protobuf_descriptor_proto_depIdxs,
- EnumInfos: file_google_protobuf_descriptor_proto_enumTypes,
- MessageInfos: file_google_protobuf_descriptor_proto_msgTypes,
- }.Build()
- File_google_protobuf_descriptor_proto = out.File
- file_google_protobuf_descriptor_proto_rawDesc = nil
- file_google_protobuf_descriptor_proto_goTypes = nil
- file_google_protobuf_descriptor_proto_depIdxs = nil
-}
diff --git a/vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go b/vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go
deleted file mode 100644
index 25de5ae0..00000000
--- a/vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go
+++ /dev/null
@@ -1,177 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2023 Google Inc. All rights reserved.
-//
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file or at
-// https://developers.google.com/open-source/licenses/bsd
-
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: reflect/protodesc/proto/go_features.proto
-
-package proto
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- descriptorpb "google.golang.org/protobuf/types/descriptorpb"
- reflect "reflect"
- sync "sync"
-)
-
-type GoFeatures struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // Whether or not to generate the deprecated UnmarshalJSON method for enums.
- LegacyUnmarshalJsonEnum *bool `protobuf:"varint,1,opt,name=legacy_unmarshal_json_enum,json=legacyUnmarshalJsonEnum" json:"legacy_unmarshal_json_enum,omitempty"`
-}
-
-func (x *GoFeatures) Reset() {
- *x = GoFeatures{}
- if protoimpl.UnsafeEnabled {
- mi := &file_reflect_protodesc_proto_go_features_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
- }
-}
-
-func (x *GoFeatures) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GoFeatures) ProtoMessage() {}
-
-func (x *GoFeatures) ProtoReflect() protoreflect.Message {
- mi := &file_reflect_protodesc_proto_go_features_proto_msgTypes[0]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use GoFeatures.ProtoReflect.Descriptor instead.
-func (*GoFeatures) Descriptor() ([]byte, []int) {
- return file_reflect_protodesc_proto_go_features_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *GoFeatures) GetLegacyUnmarshalJsonEnum() bool {
- if x != nil && x.LegacyUnmarshalJsonEnum != nil {
- return *x.LegacyUnmarshalJsonEnum
- }
- return false
-}
-
-var file_reflect_protodesc_proto_go_features_proto_extTypes = []protoimpl.ExtensionInfo{
- {
- ExtendedType: (*descriptorpb.FeatureSet)(nil),
- ExtensionType: (*GoFeatures)(nil),
- Field: 1002,
- Name: "google.protobuf.go",
- Tag: "bytes,1002,opt,name=go",
- Filename: "reflect/protodesc/proto/go_features.proto",
- },
-}
-
-// Extension fields to descriptorpb.FeatureSet.
-var (
- // optional google.protobuf.GoFeatures go = 1002;
- E_Go = &file_reflect_protodesc_proto_go_features_proto_extTypes[0]
-)
-
-var File_reflect_protodesc_proto_go_features_proto protoreflect.FileDescriptor
-
-var file_reflect_protodesc_proto_go_features_proto_rawDesc = []byte{
- 0x0a, 0x29, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x64,
- 0x65, 0x73, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61,
- 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x1a, 0x20, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65,
- 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a,
- 0x0a, 0x0a, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x1a,
- 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c,
- 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
- 0x42, 0x1f, 0x88, 0x01, 0x01, 0x98, 0x01, 0x06, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x74, 0x72, 0x75,
- 0x65, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0a, 0x12, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0xe7,
- 0x07, 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68,
- 0x61, 0x6c, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x49, 0x0a, 0x02, 0x67, 0x6f,
- 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x18, 0xea, 0x07,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
- 0x73, 0x52, 0x02, 0x67, 0x6f, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x64, 0x65, 0x73, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-}
-
-var (
- file_reflect_protodesc_proto_go_features_proto_rawDescOnce sync.Once
- file_reflect_protodesc_proto_go_features_proto_rawDescData = file_reflect_protodesc_proto_go_features_proto_rawDesc
-)
-
-func file_reflect_protodesc_proto_go_features_proto_rawDescGZIP() []byte {
- file_reflect_protodesc_proto_go_features_proto_rawDescOnce.Do(func() {
- file_reflect_protodesc_proto_go_features_proto_rawDescData = protoimpl.X.CompressGZIP(file_reflect_protodesc_proto_go_features_proto_rawDescData)
- })
- return file_reflect_protodesc_proto_go_features_proto_rawDescData
-}
-
-var file_reflect_protodesc_proto_go_features_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_reflect_protodesc_proto_go_features_proto_goTypes = []interface{}{
- (*GoFeatures)(nil), // 0: google.protobuf.GoFeatures
- (*descriptorpb.FeatureSet)(nil), // 1: google.protobuf.FeatureSet
-}
-var file_reflect_protodesc_proto_go_features_proto_depIdxs = []int32{
- 1, // 0: google.protobuf.go:extendee -> google.protobuf.FeatureSet
- 0, // 1: google.protobuf.go:type_name -> google.protobuf.GoFeatures
- 2, // [2:2] is the sub-list for method output_type
- 2, // [2:2] is the sub-list for method input_type
- 1, // [1:2] is the sub-list for extension type_name
- 0, // [0:1] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
-}
-
-func init() { file_reflect_protodesc_proto_go_features_proto_init() }
-func file_reflect_protodesc_proto_go_features_proto_init() {
- if File_reflect_protodesc_proto_go_features_proto != nil {
- return
- }
- if !protoimpl.UnsafeEnabled {
- file_reflect_protodesc_proto_go_features_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GoFeatures); i {
- case 0:
- return &v.state
- case 1:
- return &v.sizeCache
- case 2:
- return &v.unknownFields
- default:
- return nil
- }
- }
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_reflect_protodesc_proto_go_features_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 1,
- NumExtensions: 1,
- NumServices: 0,
- },
- GoTypes: file_reflect_protodesc_proto_go_features_proto_goTypes,
- DependencyIndexes: file_reflect_protodesc_proto_go_features_proto_depIdxs,
- MessageInfos: file_reflect_protodesc_proto_go_features_proto_msgTypes,
- ExtensionInfos: file_reflect_protodesc_proto_go_features_proto_extTypes,
- }.Build()
- File_reflect_protodesc_proto_go_features_proto = out.File
- file_reflect_protodesc_proto_go_features_proto_rawDesc = nil
- file_reflect_protodesc_proto_go_features_proto_goTypes = nil
- file_reflect_protodesc_proto_go_features_proto_depIdxs = nil
-}
diff --git a/vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto b/vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto
deleted file mode 100644
index d2465712..00000000
--- a/vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto
+++ /dev/null
@@ -1,28 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2023 Google Inc. All rights reserved.
-//
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file or at
-// https://developers.google.com/open-source/licenses/bsd
-
-syntax = "proto2";
-
-package google.protobuf;
-
-import "google/protobuf/descriptor.proto";
-
-option go_package = "google.golang.org/protobuf/types/gofeaturespb";
-
-extend google.protobuf.FeatureSet {
- optional GoFeatures go = 1002;
-}
-
-message GoFeatures {
- // Whether or not to generate the deprecated UnmarshalJSON method for enums.
- optional bool legacy_unmarshal_json_enum = 1 [
- retention = RETENTION_RUNTIME,
- targets = TARGET_TYPE_ENUM,
- edition_defaults = { edition: EDITION_PROTO2, value: "true" },
- edition_defaults = { edition: EDITION_PROTO3, value: "false" }
- ];
-}
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 74aa471d..6377ee4c 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -6,7 +6,6 @@ github.com/GeoNet/kit/cfg
github.com/GeoNet/kit/metrics
github.com/GeoNet/kit/sc3ml
github.com/GeoNet/kit/seis/ms
-github.com/GeoNet/kit/seis/sl
github.com/GeoNet/kit/weft
github.com/GeoNet/kit/weft/wefttest
github.com/GeoNet/kit/wgs84
@@ -143,16 +142,6 @@ github.com/aws/smithy-go/time
github.com/aws/smithy-go/transport/http
github.com/aws/smithy-go/transport/http/internal/io
github.com/aws/smithy-go/waiter
-# github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
-## explicit
-github.com/golang/groupcache
-github.com/golang/groupcache/consistenthash
-github.com/golang/groupcache/groupcachepb
-github.com/golang/groupcache/lru
-github.com/golang/groupcache/singleflight
-# github.com/golang/protobuf v1.5.4
-## explicit; go 1.17
-github.com/golang/protobuf/proto
# github.com/gorilla/schema v1.2.0
## explicit
github.com/gorilla/schema
@@ -164,34 +153,3 @@ github.com/jmespath/go-jmespath
github.com/lib/pq
github.com/lib/pq/oid
github.com/lib/pq/scram
-# google.golang.org/protobuf v1.33.0
-## explicit; go 1.17
-google.golang.org/protobuf/encoding/prototext
-google.golang.org/protobuf/encoding/protowire
-google.golang.org/protobuf/internal/descfmt
-google.golang.org/protobuf/internal/descopts
-google.golang.org/protobuf/internal/detrand
-google.golang.org/protobuf/internal/editiondefaults
-google.golang.org/protobuf/internal/encoding/defval
-google.golang.org/protobuf/internal/encoding/messageset
-google.golang.org/protobuf/internal/encoding/tag
-google.golang.org/protobuf/internal/encoding/text
-google.golang.org/protobuf/internal/errors
-google.golang.org/protobuf/internal/filedesc
-google.golang.org/protobuf/internal/filetype
-google.golang.org/protobuf/internal/flags
-google.golang.org/protobuf/internal/genid
-google.golang.org/protobuf/internal/impl
-google.golang.org/protobuf/internal/order
-google.golang.org/protobuf/internal/pragma
-google.golang.org/protobuf/internal/set
-google.golang.org/protobuf/internal/strs
-google.golang.org/protobuf/internal/version
-google.golang.org/protobuf/proto
-google.golang.org/protobuf/reflect/protodesc
-google.golang.org/protobuf/reflect/protoreflect
-google.golang.org/protobuf/reflect/protoregistry
-google.golang.org/protobuf/runtime/protoiface
-google.golang.org/protobuf/runtime/protoimpl
-google.golang.org/protobuf/types/descriptorpb
-google.golang.org/protobuf/types/gofeaturespb