))
-http.Handle("/", fileserver)
+// Convert it to a standard library fs.FS (read-only view)
+var myIoFs fs.FS = afero.NewIOFS(myAferoFs)
```
-## Composite Backends
+## Third-Party Backends & Ecosystem
-Afero provides the ability have two filesystems (or more) act as a single
-file system.
+The Afero community has developed numerous backends and tools that extend the library's capabilities. Below are curated, well-maintained options organized by maturity and reliability.
-### CacheOnReadFs
+### Featured Community Backends
-The CacheOnReadFs will lazily make copies of any accessed files from the base
-layer into the overlay. Subsequent reads will be pulled from the overlay
-directly permitting the request is within the cache duration of when it was
-created in the overlay.
+These are mature, reliable backends that we can confidently recommend for production use:
-If the base filesystem is writeable, any changes to files will be
-done first to the base, then to the overlay layer. Write calls to open file
-handles like `Write()` or `Truncate()` to the overlay first.
+#### **Amazon S3** - [`fclairamb/afero-s3`](https://github.com/fclairamb/afero-s3)
+Production-ready S3 backend built on the official AWS SDK for Go.
-To writing files to the overlay only, you can use the overlay Fs directly (not
-via the union Fs).
+```go
+import "github.com/fclairamb/afero-s3"
-Cache files in the layer for the given time.Duration, a cache duration of 0
-means "forever" meaning the file will not be re-requested from the base ever.
+s3fs := s3.NewFs(bucket, session)
+```
-A read-only base will make the overlay also read-only but still copy files
-from the base to the overlay when they're not present (or outdated) in the
-caching layer.
+#### **MinIO** - [`cpyun/afero-minio`](https://github.com/cpyun/afero-minio)
+MinIO object storage backend providing S3-compatible object storage with deduplication and optimization features.
```go
-base := afero.NewOsFs()
-layer := afero.NewMemMapFs()
-ufs := afero.NewCacheOnReadFs(base, layer, 100 * time.Second)
+import "github.com/cpyun/afero-minio"
+
+minioFs := miniofs.NewMinioFs(ctx, "minio://endpoint/bucket")
```
-### CopyOnWriteFs()
+### Community & Specialized Backends
-The CopyOnWriteFs is a read only base file system with a potentially
-writeable layer on top.
+#### Cloud Storage
-Read operations will first look in the overlay and if not found there, will
-serve the file from the base.
+- **Google Drive** - [`fclairamb/afero-gdrive`](https://github.com/fclairamb/afero-gdrive)
+ Streaming support; no write-seeking or POSIX permissions; no files listing cache
-Changes to the file system will only be made in the overlay.
+- **Dropbox** - [`fclairamb/afero-dropbox`](https://github.com/fclairamb/afero-dropbox)
+ Streaming support; no write-seeking or POSIX permissions
-Any attempt to modify a file found only in the base will copy the file to the
-overlay layer before modification (including opening a file with a writable
-handle).
+#### Version Control Systems
-Removing and Renaming files present only in the base layer is not currently
-permitted. If a file is present in the base layer and the overlay, only the
-overlay will be removed/renamed.
+- **Git Repositories** - [`tobiash/go-gitfs`](https://github.com/tobiash/go-gitfs)
+ Read-only filesystem abstraction for Git repositories. Works with bare repositories and provides filesystem view of any git reference. Uses go-git for repository access.
-```go
- base := afero.NewOsFs()
- roBase := afero.NewReadOnlyFs(base)
- ufs := afero.NewCopyOnWriteFs(roBase, afero.NewMemMapFs())
+#### Container and Remote Systems
- fh, _ = ufs.Create("/home/test/file2.txt")
- fh.WriteString("This is a test")
- fh.Close()
-```
+- **Docker Containers** - [`unmango/aferox`](https://github.com/unmango/aferox)
+ Access Docker container filesystems as if they were local filesystems
+
+- **GitHub API** - [`unmango/aferox`](https://github.com/unmango/aferox)
+ Turn GitHub repositories, releases, and assets into browsable filesystems
-In this example all write operations will only occur in memory (MemMapFs)
-leaving the base filesystem (OsFs) untouched.
+#### FUSE Integration
+- **Generic FUSE** - [`JakWai01/sile-fystem`](https://github.com/JakWai01/sile-fystem)
+ Mount any Afero filesystem as a FUSE filesystem, allowing any Afero backend to be used as a real mounted filesystem
-## Desired/possible backends
+#### Specialized Filesystems
-The following is a short list of possible backends we hope someone will
-implement:
+- **FAT32 Support** - [`aligator/GoFAT`](https://github.com/aligator/GoFAT)
+ Pure Go FAT filesystem implementation (currently read-only)
-* SSH
-* S3
+### Interface Adapters & Utilities
-# About the project
+**Cross-Interface Compatibility:**
+- [`jfontan/go-billy-desfacer`](https://github.com/jfontan/go-billy-desfacer) - Adapter between Afero and go-billy interfaces (for go-git compatibility)
+- [`Maldris/go-billy-afero`](https://github.com/Maldris/go-billy-afero) - Alternative wrapper for using Afero with go-billy
+- [`c4milo/afero2billy`](https://github.com/c4milo/afero2billy) - Another Afero to billy filesystem adapter
-## What's in the name
+**Working Directory Management:**
+- [`carolynvs/aferox`](https://github.com/carolynvs/aferox) - Working directory-aware filesystem wrapper
-Afero comes from the latin roots Ad-Facere.
+**Advanced Filtering:**
+- [`unmango/aferox`](https://github.com/unmango/aferox) includes multiple specialized filesystems:
+ - **FilterFs** - Predicate-based file filtering
+ - **IgnoreFs** - .gitignore-aware filtering
+ - **WriterFs** - Dump writes to io.Writer for debugging
-**"Ad"** is a prefix meaning "to".
+#### Developer Tools & Utilities
-**"Facere"** is a form of the root "faciō" making "make or do".
+**nhatthm Utility Suite** - Essential tools for Afero development:
+- [`nhatthm/aferocopy`](https://github.com/nhatthm/aferocopy) - Copy files between any Afero filesystems
+- [`nhatthm/aferomock`](https://github.com/nhatthm/aferomock) - Mocking toolkit for testing
+- [`nhatthm/aferoassert`](https://github.com/nhatthm/aferoassert) - Assertion helpers for filesystem testing
-The literal meaning of afero is "to make" or "to do" which seems very fitting
-for a library that allows one to make files and directories and do things with them.
+### Ecosystem Showcase
-The English word that shares the same roots as Afero is "affair". Affair shares
-the same concept but as a noun it means "something that is made or done" or "an
-object of a particular type".
+**Windows Virtual Drives** - [`balazsgrill/potatodrive`](https://github.com/balazsgrill/potatodrive)
+Mount any Afero filesystem as a Windows drive letter. Brilliant demonstration of Afero's power!
-It's also nice that unlike some of my other libraries (hugo, cobra, viper) it
-Googles very well.
+### Modern Asset Embedding (Go 1.16+)
-## Release Notes
+Instead of third-party tools, use Go's native `//go:embed` with Afero:
-See the [Releases Page](https://github.com/spf13/afero/releases).
+```go
+import (
+ "embed"
+ "github.com/spf13/afero"
+)
+
+//go:embed assets/*
+var assetsFS embed.FS
+
+func main() {
+ // Convert embedded files to Afero filesystem
+ fs := afero.FromIOFS(assetsFS)
+
+ // Use like any other Afero filesystem
+ content, _ := afero.ReadFile(fs, "assets/config.json")
+}
+```
## Contributing
-1. Fork it
+We welcome contributions! The project is mature, but we are actively looking for contributors to help implement and stabilize network/cloud backends.
+
+* 🔥 **Microsoft Azure Blob Storage**
+* 🔒 **Modern Encryption Backend** - Built on secure, contemporary crypto (not legacy EncFS)
+* 🐙 **Canonical go-git Adapter** - Unified solution for Git integration
+* 📡 **SSH/SCP Backend** - Secure remote file operations
+* Stabilization of existing experimental backends (GCS, SFTP)
+
+To contribute:
+1. Fork the repository
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
-5. Create new Pull Request
-
-## Releasing
-
-As of version 1.14.0, Afero moved implementations with third-party libraries to
-their own submodules.
-
-Releasing a new version now requires a few steps:
-
-```
-VERSION=X.Y.Z
-git tag -a v$VERSION -m "Release $VERSION"
-git push origin v$VERSION
-
-cd gcsfs
-go get github.com/spf13/afero@v$VERSION
-go mod tidy
-git commit -am "Update afero to v$VERSION"
-git tag -a gcsfs/v$VERSION -m "Release gcsfs $VERSION"
-git push origin gcsfs/v$VERSION
-cd ..
-
-cd sftpfs
-go get github.com/spf13/afero@v$VERSION
-go mod tidy
-git commit -am "Update afero to v$VERSION"
-git tag -a sftpfs/v$VERSION -m "Release sftpfs $VERSION"
-git push origin sftpfs/v$VERSION
-cd ..
-
-git push
-```
+5. Create a new Pull Request
-TODO: move these instructions to a Makefile or something
+## 📄 License
-## Contributors
+Afero is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) for details.
-Names in no particular order:
+## 🔗 Additional Resources
-* [spf13](https://github.com/spf13)
-* [jaqx0r](https://github.com/jaqx0r)
-* [mbertschler](https://github.com/mbertschler)
-* [xor-gate](https://github.com/xor-gate)
+- [📖 Full API Documentation](https://pkg.go.dev/github.com/spf13/afero)
+- [🎯 Examples Repository](https://github.com/spf13/afero/tree/master/examples)
+- [📋 Release Notes](https://github.com/spf13/afero/releases)
+- [❓ GitHub Discussions](https://github.com/spf13/afero/discussions)
-## License
+---
-Afero is released under the Apache 2.0 license. See
-[LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt)
+*Afero comes from the Latin roots Ad-Facere, meaning "to make" or "to do" - fitting for a library that empowers you to make and do amazing things with filesystems.*
diff --git a/vendor/github.com/spf13/afero/copyOnWriteFs.go b/vendor/github.com/spf13/afero/copyOnWriteFs.go
index 184d6dd..aba2879 100644
--- a/vendor/github.com/spf13/afero/copyOnWriteFs.go
+++ b/vendor/github.com/spf13/afero/copyOnWriteFs.go
@@ -34,7 +34,8 @@ func (u *CopyOnWriteFs) isBaseFile(name string) (bool, error) {
_, err := u.base.Stat(name)
if err != nil {
if oerr, ok := err.(*os.PathError); ok {
- if oerr.Err == os.ErrNotExist || oerr.Err == syscall.ENOENT || oerr.Err == syscall.ENOTDIR {
+ if oerr.Err == os.ErrNotExist || oerr.Err == syscall.ENOENT ||
+ oerr.Err == syscall.ENOTDIR {
return false, nil
}
}
@@ -237,7 +238,11 @@ func (u *CopyOnWriteFs) OpenFile(name string, flag int, perm os.FileMode) (File,
return u.layer.OpenFile(name, flag, perm)
}
- return nil, &os.PathError{Op: "open", Path: name, Err: syscall.ENOTDIR} // ...or os.ErrNotExist?
+ return nil, &os.PathError{
+ Op: "open",
+ Path: name,
+ Err: syscall.ENOTDIR,
+ } // ...or os.ErrNotExist?
}
if b {
return u.base.OpenFile(name, flag, perm)
diff --git a/vendor/github.com/spf13/afero/iofs.go b/vendor/github.com/spf13/afero/iofs.go
index b13155c..57ba567 100644
--- a/vendor/github.com/spf13/afero/iofs.go
+++ b/vendor/github.com/spf13/afero/iofs.go
@@ -137,7 +137,7 @@ type readDirFile struct {
var _ fs.ReadDirFile = readDirFile{}
func (r readDirFile) ReadDir(n int) ([]fs.DirEntry, error) {
- items, err := r.File.Readdir(n)
+ items, err := r.Readdir(n)
if err != nil {
return nil, err
}
@@ -161,7 +161,12 @@ var _ Fs = FromIOFS{}
func (f FromIOFS) Create(name string) (File, error) { return nil, notImplemented("create", name) }
-func (f FromIOFS) Mkdir(name string, perm os.FileMode) error { return notImplemented("mkdir", name) }
+func (f FromIOFS) Mkdir(
+ name string,
+ perm os.FileMode,
+) error {
+ return notImplemented("mkdir", name)
+}
func (f FromIOFS) MkdirAll(path string, perm os.FileMode) error {
return notImplemented("mkdirall", path)
diff --git a/vendor/github.com/spf13/afero/lstater.go b/vendor/github.com/spf13/afero/lstater.go
index 89c1bfc..2dcbdb1 100644
--- a/vendor/github.com/spf13/afero/lstater.go
+++ b/vendor/github.com/spf13/afero/lstater.go
@@ -19,9 +19,9 @@ import (
// Lstater is an optional interface in Afero. It is only implemented by the
// filesystems saying so.
-// It will call Lstat if the filesystem iself is, or it delegates to, the os filesystem.
+// It will call Lstat if the filesystem itself is, or it delegates to, the os filesystem.
// Else it will call Stat.
-// In addtion to the FileInfo, it will return a boolean telling whether Lstat was called or not.
+// In addition to the FileInfo, it will return a boolean telling whether Lstat was called or not.
type Lstater interface {
LstatIfPossible(name string) (os.FileInfo, bool, error)
}
diff --git a/vendor/github.com/spf13/afero/mem/file.go b/vendor/github.com/spf13/afero/mem/file.go
index 62fe449..c77fcd4 100644
--- a/vendor/github.com/spf13/afero/mem/file.go
+++ b/vendor/github.com/spf13/afero/mem/file.go
@@ -150,7 +150,11 @@ func (f *File) Sync() error {
func (f *File) Readdir(count int) (res []os.FileInfo, err error) {
if !f.fileData.dir {
- return nil, &os.PathError{Op: "readdir", Path: f.fileData.name, Err: errors.New("not a dir")}
+ return nil, &os.PathError{
+ Op: "readdir",
+ Path: f.fileData.name,
+ Err: errors.New("not a dir"),
+ }
}
var outLength int64
@@ -236,7 +240,11 @@ func (f *File) Truncate(size int64) error {
return ErrFileClosed
}
if f.readOnly {
- return &os.PathError{Op: "truncate", Path: f.fileData.name, Err: errors.New("file handle is read only")}
+ return &os.PathError{
+ Op: "truncate",
+ Path: f.fileData.name,
+ Err: errors.New("file handle is read only"),
+ }
}
if size < 0 {
return ErrOutOfRange
@@ -273,7 +281,11 @@ func (f *File) Write(b []byte) (n int, err error) {
return 0, ErrFileClosed
}
if f.readOnly {
- return 0, &os.PathError{Op: "write", Path: f.fileData.name, Err: errors.New("file handle is read only")}
+ return 0, &os.PathError{
+ Op: "write",
+ Path: f.fileData.name,
+ Err: errors.New("file handle is read only"),
+ }
}
n = len(b)
cur := atomic.LoadInt64(&f.at)
@@ -285,7 +297,9 @@ func (f *File) Write(b []byte) (n int, err error) {
tail = f.fileData.data[n+int(cur):]
}
if diff > 0 {
- f.fileData.data = append(f.fileData.data, append(bytes.Repeat([]byte{0o0}, int(diff)), b...)...)
+ f.fileData.data = append(
+ f.fileData.data,
+ append(bytes.Repeat([]byte{0o0}, int(diff)), b...)...)
f.fileData.data = append(f.fileData.data, tail...)
} else {
f.fileData.data = append(f.fileData.data[:cur], b...)
diff --git a/vendor/github.com/spf13/afero/unionFile.go b/vendor/github.com/spf13/afero/unionFile.go
index 62dd6c9..2e2253f 100644
--- a/vendor/github.com/spf13/afero/unionFile.go
+++ b/vendor/github.com/spf13/afero/unionFile.go
@@ -92,7 +92,8 @@ func (f *UnionFile) Seek(o int64, w int) (pos int64, err error) {
func (f *UnionFile) Write(s []byte) (n int, err error) {
if f.Layer != nil {
n, err = f.Layer.Write(s)
- if err == nil && f.Base != nil { // hmm, do we have fixed size files where a write may hit the EOF mark?
+ if err == nil &&
+ f.Base != nil { // hmm, do we have fixed size files where a write may hit the EOF mark?
_, err = f.Base.Write(s)
}
return n, err
@@ -157,7 +158,7 @@ var defaultUnionMergeDirsFn = func(lofi, bofi []os.FileInfo) ([]os.FileInfo, err
// return a single view of the overlayed directories.
// At the end of the directory view, the error is io.EOF if c > 0.
func (f *UnionFile) Readdir(c int) (ofi []os.FileInfo, err error) {
- var merge DirsMerger = f.Merger
+ merge := f.Merger
if merge == nil {
merge = defaultUnionMergeDirsFn
}
diff --git a/vendor/github.com/spf13/afero/util.go b/vendor/github.com/spf13/afero/util.go
index 9e4cba2..2317688 100644
--- a/vendor/github.com/spf13/afero/util.go
+++ b/vendor/github.com/spf13/afero/util.go
@@ -113,11 +113,11 @@ func GetTempDir(fs Fs, subPath string) string {
if subPath != "" {
// preserve windows backslash :-(
if FilePathSeparator == "\\" {
- subPath = strings.Replace(subPath, "\\", "____", -1)
+ subPath = strings.ReplaceAll(subPath, "\\", "____")
}
dir = dir + UnicodeSanitize((subPath))
if FilePathSeparator == "\\" {
- dir = strings.Replace(dir, "____", "\\", -1)
+ dir = strings.ReplaceAll(dir, "____", "\\")
}
if exists, _ := Exists(fs, dir); exists {
diff --git a/vendor/golang.org/x/mod/module/module.go b/vendor/golang.org/x/mod/module/module.go
index 2a364b2..739c13f 100644
--- a/vendor/golang.org/x/mod/module/module.go
+++ b/vendor/golang.org/x/mod/module/module.go
@@ -96,10 +96,11 @@ package module
// Changes to the semantics in this file require approval from rsc.
import (
+ "cmp"
"errors"
"fmt"
"path"
- "sort"
+ "slices"
"strings"
"unicode"
"unicode/utf8"
@@ -260,7 +261,7 @@ func modPathOK(r rune) bool {
// importPathOK reports whether r can appear in a package import path element.
//
-// Import paths are intermediate between module paths and file paths: we allow
+// Import paths are intermediate between module paths and file paths: we
// disallow characters that would be confusing or ambiguous as arguments to
// 'go get' (such as '@' and ' ' ), but allow certain characters that are
// otherwise-unambiguous on the command line and historically used for some
@@ -657,17 +658,15 @@ func CanonicalVersion(v string) string {
// optionally followed by a tie-breaking suffix introduced by a slash character,
// like in "v0.0.1/go.mod".
func Sort(list []Version) {
- sort.Slice(list, func(i, j int) bool {
- mi := list[i]
- mj := list[j]
- if mi.Path != mj.Path {
- return mi.Path < mj.Path
+ slices.SortFunc(list, func(i, j Version) int {
+ if i.Path != j.Path {
+ return strings.Compare(i.Path, j.Path)
}
// To help go.sum formatting, allow version/file.
// Compare semver prefix by semver rules,
// file by string order.
- vi := mi.Version
- vj := mj.Version
+ vi := i.Version
+ vj := j.Version
var fi, fj string
if k := strings.Index(vi, "/"); k >= 0 {
vi, fi = vi[:k], vi[k:]
@@ -676,9 +675,9 @@ func Sort(list []Version) {
vj, fj = vj[:k], vj[k:]
}
if vi != vj {
- return semver.Compare(vi, vj) < 0
+ return semver.Compare(vi, vj)
}
- return fi < fj
+ return cmp.Compare(fi, fj)
})
}
@@ -803,8 +802,8 @@ func MatchPrefixPatterns(globs, target string) bool {
for globs != "" {
// Extract next non-empty glob in comma-separated list.
var glob string
- if i := strings.Index(globs, ","); i >= 0 {
- glob, globs = globs[:i], globs[i+1:]
+ if before, after, ok := strings.Cut(globs, ","); ok {
+ glob, globs = before, after
} else {
glob, globs = globs, ""
}
diff --git a/vendor/golang.org/x/mod/semver/semver.go b/vendor/golang.org/x/mod/semver/semver.go
index 9a2dfd3..824b282 100644
--- a/vendor/golang.org/x/mod/semver/semver.go
+++ b/vendor/golang.org/x/mod/semver/semver.go
@@ -22,7 +22,10 @@
// as shorthands for vMAJOR.0.0 and vMAJOR.MINOR.0.
package semver
-import "sort"
+import (
+ "slices"
+ "strings"
+)
// parsed returns the parsed form of a semantic version string.
type parsed struct {
@@ -42,8 +45,8 @@ func IsValid(v string) bool {
// Canonical returns the canonical formatting of the semantic version v.
// It fills in any missing .MINOR or .PATCH and discards build metadata.
-// Two semantic versions compare equal only if their canonical formattings
-// are identical strings.
+// Two semantic versions compare equal only if their canonical formatting
+// is an identical string.
// The canonical invalid semantic version is the empty string.
func Canonical(v string) string {
p, ok := parse(v)
@@ -154,19 +157,22 @@ func Max(v, w string) string {
// ByVersion implements [sort.Interface] for sorting semantic version strings.
type ByVersion []string
-func (vs ByVersion) Len() int { return len(vs) }
-func (vs ByVersion) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] }
-func (vs ByVersion) Less(i, j int) bool {
- cmp := Compare(vs[i], vs[j])
- if cmp != 0 {
- return cmp < 0
- }
- return vs[i] < vs[j]
-}
+func (vs ByVersion) Len() int { return len(vs) }
+func (vs ByVersion) Swap(i, j int) { vs[i], vs[j] = vs[j], vs[i] }
+func (vs ByVersion) Less(i, j int) bool { return compareVersion(vs[i], vs[j]) < 0 }
-// Sort sorts a list of semantic version strings using [ByVersion].
+// Sort sorts a list of semantic version strings using [Compare] and falls back
+// to use [strings.Compare] if both versions are considered equal.
func Sort(list []string) {
- sort.Sort(ByVersion(list))
+ slices.SortFunc(list, compareVersion)
+}
+
+func compareVersion(a, b string) int {
+ cmp := Compare(a, b)
+ if cmp != 0 {
+ return cmp
+ }
+ return strings.Compare(a, b)
}
func parse(v string) (p parsed, ok bool) {
diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go
index cfafed5..f69fd75 100644
--- a/vendor/golang.org/x/sync/errgroup/errgroup.go
+++ b/vendor/golang.org/x/sync/errgroup/errgroup.go
@@ -3,7 +3,7 @@
// license that can be found in the LICENSE file.
// Package errgroup provides synchronization, error propagation, and Context
-// cancelation for groups of goroutines working on subtasks of a common task.
+// cancellation for groups of goroutines working on subtasks of a common task.
//
// [errgroup.Group] is related to [sync.WaitGroup] but adds handling of tasks
// returning errors.
@@ -12,8 +12,6 @@ package errgroup
import (
"context"
"fmt"
- "runtime"
- "runtime/debug"
"sync"
)
@@ -33,10 +31,6 @@ type Group struct {
errOnce sync.Once
err error
-
- mu sync.Mutex
- panicValue any // = PanicError | PanicValue; non-nil if some Group.Go goroutine panicked.
- abnormal bool // some Group.Go goroutine terminated abnormally (panic or goexit).
}
func (g *Group) done() {
@@ -56,80 +50,47 @@ func WithContext(ctx context.Context) (*Group, context.Context) {
return &Group{cancel: cancel}, ctx
}
-// Wait blocks until all function calls from the Go method have returned
-// normally, then returns the first non-nil error (if any) from them.
-//
-// If any of the calls panics, Wait panics with a [PanicValue];
-// and if any of them calls [runtime.Goexit], Wait calls runtime.Goexit.
+// Wait blocks until all function calls from the Go method have returned, then
+// returns the first non-nil error (if any) from them.
func (g *Group) Wait() error {
g.wg.Wait()
if g.cancel != nil {
g.cancel(g.err)
}
- if g.panicValue != nil {
- panic(g.panicValue)
- }
- if g.abnormal {
- runtime.Goexit()
- }
return g.err
}
// Go calls the given function in a new goroutine.
-// The first call to Go must happen before a Wait.
-// It blocks until the new goroutine can be added without the number of
-// active goroutines in the group exceeding the configured limit.
//
+// The first call to Go must happen before a Wait.
// It blocks until the new goroutine can be added without the number of
// goroutines in the group exceeding the configured limit.
//
-// The first goroutine in the group that returns a non-nil error, panics, or
-// invokes [runtime.Goexit] will cancel the associated Context, if any.
+// The first goroutine in the group that returns a non-nil error will
+// cancel the associated Context, if any. The error will be returned
+// by Wait.
func (g *Group) Go(f func() error) {
if g.sem != nil {
g.sem <- token{}
}
- g.add(f)
-}
-
-func (g *Group) add(f func() error) {
g.wg.Add(1)
go func() {
defer g.done()
- normalReturn := false
- defer func() {
- if normalReturn {
- return
- }
- v := recover()
- g.mu.Lock()
- defer g.mu.Unlock()
- if !g.abnormal {
- if g.cancel != nil {
- g.cancel(g.err)
- }
- g.abnormal = true
- }
- if v != nil && g.panicValue == nil {
- switch v := v.(type) {
- case error:
- g.panicValue = PanicError{
- Recovered: v,
- Stack: debug.Stack(),
- }
- default:
- g.panicValue = PanicValue{
- Recovered: v,
- Stack: debug.Stack(),
- }
- }
- }
- }()
- err := f()
- normalReturn = true
- if err != nil {
+ // It is tempting to propagate panics from f()
+ // up to the goroutine that calls Wait, but
+ // it creates more problems than it solves:
+ // - it delays panics arbitrarily,
+ // making bugs harder to detect;
+ // - it turns f's panic stack into a mere value,
+ // hiding it from crash-monitoring tools;
+ // - it risks deadlocks that hide the panic entirely,
+ // if f's panic leaves the program in a state
+ // that prevents the Wait call from being reached.
+ // See #53757, #74275, #74304, #74306.
+
+ if err := f(); err != nil {
g.errOnce.Do(func() {
g.err = err
if g.cancel != nil {
@@ -154,7 +115,19 @@ func (g *Group) TryGo(f func() error) bool {
}
}
- g.add(f)
+ g.wg.Add(1)
+ go func() {
+ defer g.done()
+
+ if err := f(); err != nil {
+ g.errOnce.Do(func() {
+ g.err = err
+ if g.cancel != nil {
+ g.cancel(g.err)
+ }
+ })
+ }
+ }()
return true
}
@@ -171,38 +144,8 @@ func (g *Group) SetLimit(n int) {
g.sem = nil
return
}
- if len(g.sem) != 0 {
- panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", len(g.sem)))
+ if active := len(g.sem); active != 0 {
+ panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", active))
}
g.sem = make(chan token, n)
}
-
-// PanicError wraps an error recovered from an unhandled panic
-// when calling a function passed to Go or TryGo.
-type PanicError struct {
- Recovered error
- Stack []byte // result of call to [debug.Stack]
-}
-
-func (p PanicError) Error() string {
- // A Go Error method conventionally does not include a stack dump, so omit it
- // here. (Callers who care can extract it from the Stack field.)
- return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered)
-}
-
-func (p PanicError) Unwrap() error { return p.Recovered }
-
-// PanicValue wraps a value that does not implement the error interface,
-// recovered from an unhandled panic when calling a function passed to Go or
-// TryGo.
-type PanicValue struct {
- Recovered any
- Stack []byte // result of call to [debug.Stack]
-}
-
-func (p PanicValue) String() string {
- if len(p.Stack) > 0 {
- return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack)
- }
- return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered)
-}
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go b/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go
index 6e34df4..0fb4e7e 100644
--- a/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go
+++ b/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go
@@ -113,7 +113,7 @@ func PathEnclosingInterval(root *ast.File, start, end token.Pos) (path []ast.Nod
// childrenOf elides the FuncType node beneath FuncDecl.
// Add it back here for TypeParams, Params, Results,
// all FieldLists). But we don't add it back for the "func" token
- // even though it is is the tree at FuncDecl.Type.Func.
+ // even though it is the tree at FuncDecl.Type.Func.
if decl, ok := node.(*ast.FuncDecl); ok {
if fields, ok := child.(*ast.FieldList); ok && fields != decl.Recv {
path = append(path, decl.Type)
@@ -207,6 +207,9 @@ func childrenOf(n ast.Node) []ast.Node {
return false // no recursion
})
+ // TODO(adonovan): be more careful about missing (!Pos.Valid)
+ // tokens in trees produced from invalid input.
+
// Then add fake Nodes for bare tokens.
switch n := n.(type) {
case *ast.ArrayType:
@@ -226,9 +229,12 @@ func childrenOf(n ast.Node) []ast.Node {
children = append(children, tok(n.OpPos, len(n.Op.String())))
case *ast.BlockStmt:
- children = append(children,
- tok(n.Lbrace, len("{")),
- tok(n.Rbrace, len("}")))
+ if n.Lbrace.IsValid() {
+ children = append(children, tok(n.Lbrace, len("{")))
+ }
+ if n.Rbrace.IsValid() {
+ children = append(children, tok(n.Rbrace, len("}")))
+ }
case *ast.BranchStmt:
children = append(children,
@@ -304,9 +310,12 @@ func childrenOf(n ast.Node) []ast.Node {
// TODO(adonovan): Field.{Doc,Comment,Tag}?
case *ast.FieldList:
- children = append(children,
- tok(n.Opening, len("(")), // or len("[")
- tok(n.Closing, len(")"))) // or len("]")
+ if n.Opening.IsValid() {
+ children = append(children, tok(n.Opening, len("(")))
+ }
+ if n.Closing.IsValid() {
+ children = append(children, tok(n.Closing, len(")")))
+ }
case *ast.File:
// TODO test: Doc
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/imports.go b/vendor/golang.org/x/tools/go/ast/astutil/imports.go
index 5e5601a..adb4711 100644
--- a/vendor/golang.org/x/tools/go/ast/astutil/imports.go
+++ b/vendor/golang.org/x/tools/go/ast/astutil/imports.go
@@ -9,6 +9,7 @@ import (
"fmt"
"go/ast"
"go/token"
+ "reflect"
"slices"
"strconv"
"strings"
@@ -149,7 +150,7 @@ func AddNamedImport(fset *token.FileSet, f *ast.File, name, path string) (added
if newImport.Name != nil {
newImport.Name.NamePos = pos
}
- newImport.Path.ValuePos = pos
+ updateBasicLitPos(newImport.Path, pos)
newImport.EndPos = pos
// Clean up parens. impDecl contains at least one spec.
@@ -184,7 +185,7 @@ func AddNamedImport(fset *token.FileSet, f *ast.File, name, path string) (added
first.Lparen = first.Pos()
// Move the imports of the other import declaration to the first one.
for _, spec := range gen.Specs {
- spec.(*ast.ImportSpec).Path.ValuePos = first.Pos()
+ updateBasicLitPos(spec.(*ast.ImportSpec).Path, first.Pos())
first.Specs = append(first.Specs, spec)
}
f.Decls = slices.Delete(f.Decls, i, i+1)
@@ -209,48 +210,46 @@ func DeleteImport(fset *token.FileSet, f *ast.File, path string) (deleted bool)
// DeleteNamedImport deletes the import with the given name and path from the file f, if present.
// If there are duplicate import declarations, all matching ones are deleted.
func DeleteNamedImport(fset *token.FileSet, f *ast.File, name, path string) (deleted bool) {
- var delspecs []*ast.ImportSpec
- var delcomments []*ast.CommentGroup
+ var (
+ delspecs = make(map[*ast.ImportSpec]bool)
+ delcomments = make(map[*ast.CommentGroup]bool)
+ )
// Find the import nodes that import path, if any.
for i := 0; i < len(f.Decls); i++ {
- decl := f.Decls[i]
- gen, ok := decl.(*ast.GenDecl)
+ gen, ok := f.Decls[i].(*ast.GenDecl)
if !ok || gen.Tok != token.IMPORT {
continue
}
for j := 0; j < len(gen.Specs); j++ {
- spec := gen.Specs[j]
- impspec := spec.(*ast.ImportSpec)
+ impspec := gen.Specs[j].(*ast.ImportSpec)
if importName(impspec) != name || importPath(impspec) != path {
continue
}
// We found an import spec that imports path.
// Delete it.
- delspecs = append(delspecs, impspec)
+ delspecs[impspec] = true
deleted = true
- copy(gen.Specs[j:], gen.Specs[j+1:])
- gen.Specs = gen.Specs[:len(gen.Specs)-1]
+ gen.Specs = slices.Delete(gen.Specs, j, j+1)
// If this was the last import spec in this decl,
// delete the decl, too.
if len(gen.Specs) == 0 {
- copy(f.Decls[i:], f.Decls[i+1:])
- f.Decls = f.Decls[:len(f.Decls)-1]
+ f.Decls = slices.Delete(f.Decls, i, i+1)
i--
break
} else if len(gen.Specs) == 1 {
if impspec.Doc != nil {
- delcomments = append(delcomments, impspec.Doc)
+ delcomments[impspec.Doc] = true
}
if impspec.Comment != nil {
- delcomments = append(delcomments, impspec.Comment)
+ delcomments[impspec.Comment] = true
}
for _, cg := range f.Comments {
// Found comment on the same line as the import spec.
if cg.End() < impspec.Pos() && fset.Position(cg.End()).Line == fset.Position(impspec.Pos()).Line {
- delcomments = append(delcomments, cg)
+ delcomments[cg] = true
break
}
}
@@ -294,38 +293,21 @@ func DeleteNamedImport(fset *token.FileSet, f *ast.File, name, path string) (del
}
// Delete imports from f.Imports.
- for i := 0; i < len(f.Imports); i++ {
- imp := f.Imports[i]
- for j, del := range delspecs {
- if imp == del {
- copy(f.Imports[i:], f.Imports[i+1:])
- f.Imports = f.Imports[:len(f.Imports)-1]
- copy(delspecs[j:], delspecs[j+1:])
- delspecs = delspecs[:len(delspecs)-1]
- i--
- break
- }
- }
+ before := len(f.Imports)
+ f.Imports = slices.DeleteFunc(f.Imports, func(imp *ast.ImportSpec) bool {
+ _, ok := delspecs[imp]
+ return ok
+ })
+ if len(f.Imports)+len(delspecs) != before {
+ // This can happen when the AST is invalid (i.e. imports differ between f.Decls and f.Imports).
+ panic(fmt.Sprintf("deleted specs from Decls but not Imports: %v", delspecs))
}
// Delete comments from f.Comments.
- for i := 0; i < len(f.Comments); i++ {
- cg := f.Comments[i]
- for j, del := range delcomments {
- if cg == del {
- copy(f.Comments[i:], f.Comments[i+1:])
- f.Comments = f.Comments[:len(f.Comments)-1]
- copy(delcomments[j:], delcomments[j+1:])
- delcomments = delcomments[:len(delcomments)-1]
- i--
- break
- }
- }
- }
-
- if len(delspecs) > 0 {
- panic(fmt.Sprintf("deleted specs from Decls but not Imports: %v", delspecs))
- }
+ f.Comments = slices.DeleteFunc(f.Comments, func(cg *ast.CommentGroup) bool {
+ _, ok := delcomments[cg]
+ return ok
+ })
return
}
@@ -489,3 +471,17 @@ func Imports(fset *token.FileSet, f *ast.File) [][]*ast.ImportSpec {
return groups
}
+
+// updateBasicLitPos updates lit.Pos,
+// ensuring that lit.End (if set) is displaced by the same amount.
+// (See https://go.dev/issue/76395.)
+func updateBasicLitPos(lit *ast.BasicLit, pos token.Pos) {
+ len := lit.End() - lit.Pos()
+ lit.ValuePos = pos
+ // TODO(adonovan): after go1.26, simplify to:
+ // lit.ValueEnd = pos + len
+ v := reflect.ValueOf(lit).Elem().FieldByName("ValueEnd")
+ if v.IsValid() && v.Int() != 0 {
+ v.SetInt(int64(pos + len))
+ }
+}
diff --git a/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go b/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go
index 5c8dbbb..4ad0549 100644
--- a/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go
+++ b/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go
@@ -67,6 +67,10 @@ var abort = new(int) // singleton, to signal termination of Apply
//
// The methods Replace, Delete, InsertBefore, and InsertAfter
// can be used to change the AST without disrupting Apply.
+//
+// This type is not to be confused with [inspector.Cursor] from
+// package [golang.org/x/tools/go/ast/inspector], which provides
+// stateless navigation of immutable syntax trees.
type Cursor struct {
parent ast.Node
name string
diff --git a/vendor/golang.org/x/tools/imports/forward.go b/vendor/golang.org/x/tools/imports/forward.go
index cb6db88..5d120d0 100644
--- a/vendor/golang.org/x/tools/imports/forward.go
+++ b/vendor/golang.org/x/tools/imports/forward.go
@@ -71,7 +71,7 @@ func Process(filename string, src []byte, opt *Options) ([]byte, error) {
}
// VendorlessPath returns the devendorized version of the import path ipath.
-// For example, VendorlessPath("foo/bar/vendor/a/b") returns "a/b".
+// For example, VendorlessPath("foo/barbendor/a/b") return "a/b".
func VendorlessPath(ipath string) string {
return intimp.VendorlessPath(ipath)
}
diff --git a/vendor/golang.org/x/tools/internal/event/core/event.go b/vendor/golang.org/x/tools/internal/event/core/event.go
index a6cf0e6..ade5d1e 100644
--- a/vendor/golang.org/x/tools/internal/event/core/event.go
+++ b/vendor/golang.org/x/tools/internal/event/core/event.go
@@ -28,11 +28,6 @@ type Event struct {
dynamic []label.Label // dynamically sized storage for remaining labels
}
-// eventLabelMap implements label.Map for a the labels of an Event.
-type eventLabelMap struct {
- event Event
-}
-
func (ev Event) At() time.Time { return ev.at }
func (ev Event) Format(f fmt.State, r rune) {
diff --git a/vendor/golang.org/x/tools/internal/event/core/export.go b/vendor/golang.org/x/tools/internal/event/core/export.go
index 05f3a9a..16ae6bb 100644
--- a/vendor/golang.org/x/tools/internal/event/core/export.go
+++ b/vendor/golang.org/x/tools/internal/event/core/export.go
@@ -8,7 +8,6 @@ import (
"context"
"sync/atomic"
"time"
- "unsafe"
"golang.org/x/tools/internal/event/label"
)
@@ -17,23 +16,21 @@ import (
// It may return a modified context and event.
type Exporter func(context.Context, Event, label.Map) context.Context
-var (
- exporter unsafe.Pointer
-)
+var exporter atomic.Pointer[Exporter]
// SetExporter sets the global exporter function that handles all events.
// The exporter is called synchronously from the event call site, so it should
// return quickly so as not to hold up user code.
func SetExporter(e Exporter) {
- p := unsafe.Pointer(&e)
if e == nil {
// &e is always valid, and so p is always valid, but for the early abort
// of ProcessEvent to be efficient it needs to make the nil check on the
// pointer without having to dereference it, so we make the nil function
// also a nil pointer
- p = nil
+ exporter.Store(nil)
+ } else {
+ exporter.Store(&e)
}
- atomic.StorePointer(&exporter, p)
}
// deliver is called to deliver an event to the supplied exporter.
@@ -48,7 +45,7 @@ func deliver(ctx context.Context, exporter Exporter, ev Event) context.Context {
// Export is called to deliver an event to the global exporter if set.
func Export(ctx context.Context, ev Event) context.Context {
// get the global exporter and abort early if there is not one
- exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
+ exporterPtr := exporter.Load()
if exporterPtr == nil {
return ctx
}
@@ -61,7 +58,7 @@ func Export(ctx context.Context, ev Event) context.Context {
// It will fill in the time.
func ExportPair(ctx context.Context, begin, end Event) (context.Context, func()) {
// get the global exporter and abort early if there is not one
- exporterPtr := (*Exporter)(atomic.LoadPointer(&exporter))
+ exporterPtr := exporter.Load()
if exporterPtr == nil {
return ctx, func() {}
}
diff --git a/vendor/golang.org/x/tools/internal/event/label/label.go b/vendor/golang.org/x/tools/internal/event/label/label.go
index 92a3910..c37584a 100644
--- a/vendor/golang.org/x/tools/internal/event/label/label.go
+++ b/vendor/golang.org/x/tools/internal/event/label/label.go
@@ -7,7 +7,6 @@ package label
import (
"fmt"
"io"
- "reflect"
"slices"
"unsafe"
)
@@ -103,11 +102,10 @@ type stringptr unsafe.Pointer
// This method is for implementing new key types, label creation should
// normally be done with the Of method of the key.
func OfString(k Key, v string) Label {
- hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
return Label{
key: k,
- packed: uint64(hdr.Len),
- untyped: stringptr(hdr.Data),
+ packed: uint64(len(v)),
+ untyped: stringptr(unsafe.StringData(v)),
}
}
@@ -116,11 +114,7 @@ func OfString(k Key, v string) Label {
// This method is for implementing new key types, for type safety normal
// access should be done with the From method of the key.
func (t Label) UnpackString() string {
- var v string
- hdr := (*reflect.StringHeader)(unsafe.Pointer(&v))
- hdr.Data = uintptr(t.untyped.(stringptr))
- hdr.Len = int(t.packed)
- return v
+ return unsafe.String((*byte)(t.untyped.(stringptr)), int(t.packed))
}
// Valid returns true if the Label is a valid one (it has a key).
diff --git a/vendor/golang.org/x/tools/internal/imports/fix.go b/vendor/golang.org/x/tools/internal/imports/fix.go
index 89b9638..1b4dc0c 100644
--- a/vendor/golang.org/x/tools/internal/imports/fix.go
+++ b/vendor/golang.org/x/tools/internal/imports/fix.go
@@ -16,6 +16,7 @@ import (
"go/types"
"io/fs"
"io/ioutil"
+ "maps"
"os"
"path"
"path/filepath"
@@ -32,7 +33,6 @@ import (
"golang.org/x/tools/internal/gocommand"
"golang.org/x/tools/internal/gopathwalk"
"golang.org/x/tools/internal/stdlib"
- "maps"
)
// importToGroup is a list of functions which map from an import path to
@@ -42,7 +42,7 @@ var importToGroup = []func(localPrefix, importPath string) (num int, ok bool){
if localPrefix == "" {
return
}
- for _, p := range strings.Split(localPrefix, ",") {
+ for p := range strings.SplitSeq(localPrefix, ",") {
if strings.HasPrefix(importPath, p) || strings.TrimSuffix(p, "/") == importPath {
return 3, true
}
@@ -290,8 +290,8 @@ func (p *pass) loadPackageNames(ctx context.Context, imports []*ImportInfo) erro
return nil
}
-// if there is a trailing major version, remove it
-func withoutVersion(nm string) string {
+// WithoutVersion removes a trailing major version, if there is one.
+func WithoutVersion(nm string) string {
if v := path.Base(nm); len(v) > 0 && v[0] == 'v' {
if _, err := strconv.Atoi(v[1:]); err == nil {
// this is, for instance, called with rand/v2 and returns rand
@@ -313,7 +313,7 @@ func (p *pass) importIdentifier(imp *ImportInfo) string {
}
known := p.knownPackages[imp.ImportPath]
if known != nil && known.Name != "" {
- return withoutVersion(known.Name)
+ return WithoutVersion(known.Name)
}
return ImportPathToAssumedName(imp.ImportPath)
}
@@ -1250,7 +1250,6 @@ func ImportPathToAssumedName(importPath string) string {
// gopathResolver implements resolver for GOPATH workspaces.
type gopathResolver struct {
env *ProcessEnv
- walked bool
cache *DirInfoCache
scanSema chan struct{} // scanSema prevents concurrent scans.
}
diff --git a/vendor/golang.org/x/tools/internal/imports/imports.go b/vendor/golang.org/x/tools/internal/imports/imports.go
index 2215a12..b5f5218 100644
--- a/vendor/golang.org/x/tools/internal/imports/imports.go
+++ b/vendor/golang.org/x/tools/internal/imports/imports.go
@@ -93,7 +93,7 @@ func FixImports(ctx context.Context, filename string, src []byte, goroot string,
// env is needed.
func ApplyFixes(fixes []*ImportFix, filename string, src []byte, opt *Options, extraMode parser.Mode) (formatted []byte, err error) {
// Don't use parse() -- we don't care about fragments or statement lists
- // here, and we need to work with unparseable files.
+ // here, and we need to work with unparsable files.
fileSet := token.NewFileSet()
parserMode := parser.SkipObjectResolution
if opt.Comments {
diff --git a/vendor/golang.org/x/tools/internal/imports/sortimports.go b/vendor/golang.org/x/tools/internal/imports/sortimports.go
index 67c17bc..f390be9 100644
--- a/vendor/golang.org/x/tools/internal/imports/sortimports.go
+++ b/vendor/golang.org/x/tools/internal/imports/sortimports.go
@@ -11,6 +11,7 @@ import (
"go/ast"
"go/token"
"log"
+ "reflect"
"slices"
"sort"
"strconv"
@@ -65,7 +66,7 @@ func sortImports(localPrefix string, tokFile *token.File, f *ast.File) {
}
// mergeImports merges all the import declarations into the first one.
-// Taken from golang.org/x/tools/ast/astutil.
+// Taken from golang.org/x/tools/go/ast/astutil.
// This does not adjust line numbers properly
func mergeImports(f *ast.File) {
if len(f.Decls) <= 1 {
@@ -89,7 +90,7 @@ func mergeImports(f *ast.File) {
first.Lparen = first.Pos()
// Move the imports of the other import declaration to the first one.
for _, spec := range gen.Specs {
- spec.(*ast.ImportSpec).Path.ValuePos = first.Pos()
+ updateBasicLitPos(spec.(*ast.ImportSpec).Path, first.Pos())
first.Specs = append(first.Specs, spec)
}
f.Decls = slices.Delete(f.Decls, i, i+1)
@@ -98,7 +99,7 @@ func mergeImports(f *ast.File) {
}
// declImports reports whether gen contains an import of path.
-// Taken from golang.org/x/tools/ast/astutil.
+// Taken from golang.org/x/tools/go/ast/astutil.
func declImports(gen *ast.GenDecl, path string) bool {
if gen.Tok != token.IMPORT {
return false
@@ -221,7 +222,7 @@ func sortSpecs(localPrefix string, tokFile *token.File, f *ast.File, specs []ast
if s.Name != nil {
s.Name.NamePos = pos[i].Start
}
- s.Path.ValuePos = pos[i].Start
+ updateBasicLitPos(s.Path, pos[i].Start)
s.EndPos = pos[i].End
nextSpecPos := pos[i].End
@@ -296,3 +297,17 @@ type byCommentPos []*ast.CommentGroup
func (x byCommentPos) Len() int { return len(x) }
func (x byCommentPos) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
func (x byCommentPos) Less(i, j int) bool { return x[i].Pos() < x[j].Pos() }
+
+// updateBasicLitPos updates lit.Pos,
+// ensuring that lit.End (if set) is displaced by the same amount.
+// (See https://go.dev/issue/76395.)
+func updateBasicLitPos(lit *ast.BasicLit, pos token.Pos) {
+ len := lit.End() - lit.Pos()
+ lit.ValuePos = pos
+ // TODO(adonovan): after go1.26, simplify to:
+ // lit.ValueEnd = pos + len
+ v := reflect.ValueOf(lit).Elem().FieldByName("ValueEnd")
+ if v.IsValid() && v.Int() != 0 {
+ v.SetInt(int64(pos + len))
+ }
+}
diff --git a/vendor/golang.org/x/tools/internal/imports/source_modindex.go b/vendor/golang.org/x/tools/internal/imports/source_modindex.go
index 05229f0..ca745d4 100644
--- a/vendor/golang.org/x/tools/internal/imports/source_modindex.go
+++ b/vendor/golang.org/x/tools/internal/imports/source_modindex.go
@@ -15,6 +15,10 @@ import (
// This code is here rather than in the modindex package
// to avoid import loops
+// TODO(adonovan): this code is only used by a test in this package.
+// Can we delete it? Or is there a plan to call NewIndexSource from
+// cmd/goimports?
+
// implements Source using modindex, so only for module cache.
//
// this is perhaps over-engineered. A new Index is read at first use.
@@ -22,8 +26,8 @@ import (
// is read if the index changed. It is not clear the Mutex is needed.
type IndexSource struct {
modcachedir string
- mutex sync.Mutex
- ix *modindex.Index
+ mu sync.Mutex
+ index *modindex.Index // (access via getIndex)
expires time.Time
}
@@ -39,13 +43,14 @@ func (s *IndexSource) LoadPackageNames(ctx context.Context, srcDir string, paths
}
func (s *IndexSource) ResolveReferences(ctx context.Context, filename string, missing References) ([]*Result, error) {
- if err := s.maybeReadIndex(); err != nil {
+ index, err := s.getIndex()
+ if err != nil {
return nil, err
}
var cs []modindex.Candidate
for pkg, nms := range missing {
for nm := range nms {
- x := s.ix.Lookup(pkg, nm, false)
+ x := index.Lookup(pkg, nm, false)
cs = append(cs, x...)
}
}
@@ -74,30 +79,22 @@ func (s *IndexSource) ResolveReferences(ctx context.Context, filename string, mi
return ans, nil
}
-func (s *IndexSource) maybeReadIndex() error {
- s.mutex.Lock()
- defer s.mutex.Unlock()
-
- var readIndex bool
- if time.Now().After(s.expires) {
- ok, err := modindex.Update(s.modcachedir)
- if err != nil {
- return err
- }
- if ok {
- readIndex = true
- }
- }
+func (s *IndexSource) getIndex() (*modindex.Index, error) {
+ s.mu.Lock()
+ defer s.mu.Unlock()
- if readIndex || s.ix == nil {
- ix, err := modindex.ReadIndex(s.modcachedir)
+ // (s.index = nil => s.expires is zero,
+ // so the first condition is strictly redundant.
+ // But it makes the postcondition very clear.)
+ if s.index == nil || time.Now().After(s.expires) {
+ index, err := modindex.Update(s.modcachedir)
if err != nil {
- return err
+ return nil, err
}
- s.ix = ix
- // for now refresh every 15 minutes
- s.expires = time.Now().Add(time.Minute * 15)
+ s.index = index
+ s.expires = index.ValidAt.Add(15 * time.Minute) // (refresh period)
}
+ // Inv: s.index != nil
- return nil
+ return s.index, nil
}
diff --git a/vendor/golang.org/x/tools/internal/modindex/directories.go b/vendor/golang.org/x/tools/internal/modindex/directories.go
index 1e1a02f..9a96374 100644
--- a/vendor/golang.org/x/tools/internal/modindex/directories.go
+++ b/vendor/golang.org/x/tools/internal/modindex/directories.go
@@ -10,7 +10,6 @@ import (
"os"
"path/filepath"
"regexp"
- "slices"
"strings"
"sync"
"time"
@@ -20,50 +19,48 @@ import (
)
type directory struct {
- path Relpath
+ path string // relative to GOMODCACHE
importPath string
version string // semantic version
- syms []symbol
}
-// filterDirs groups the directories by import path,
-// sorting the ones with the same import path by semantic version,
-// most recent first.
-func byImportPath(dirs []Relpath) (map[string][]*directory, error) {
- ans := make(map[string][]*directory) // key is import path
- for _, d := range dirs {
- ip, sv, err := DirToImportPathVersion(d)
+// bestDirByImportPath returns the best directory for each import
+// path, where "best" means most recent semantic version. These import
+// paths are inferred from the GOMODCACHE-relative dir names in dirs.
+func bestDirByImportPath(dirs []string) (map[string]directory, error) {
+ dirsByPath := make(map[string]directory)
+ for _, dir := range dirs {
+ importPath, version, err := dirToImportPathVersion(dir)
if err != nil {
return nil, err
}
- ans[ip] = append(ans[ip], &directory{
- path: d,
- importPath: ip,
- version: sv,
- })
- }
- for k, v := range ans {
- semanticSort(v)
- ans[k] = v
+ new := directory{
+ path: dir,
+ importPath: importPath,
+ version: version,
+ }
+ if old, ok := dirsByPath[importPath]; !ok || compareDirectory(new, old) < 0 {
+ dirsByPath[importPath] = new
+ }
}
- return ans, nil
+ return dirsByPath, nil
}
-// sort the directories by semantic version, latest first
-func semanticSort(v []*directory) {
- slices.SortFunc(v, func(l, r *directory) int {
- if n := semver.Compare(l.version, r.version); n != 0 {
- return -n // latest first
- }
- return strings.Compare(string(l.path), string(r.path))
- })
+// compareDirectory defines an ordering of path@version directories,
+// by descending version, then by ascending path.
+func compareDirectory(x, y directory) int {
+ if sign := -semver.Compare(x.version, y.version); sign != 0 {
+ return sign // latest first
+ }
+ return strings.Compare(string(x.path), string(y.path))
}
// modCacheRegexp splits a relpathpath into module, module version, and package.
var modCacheRegexp = regexp.MustCompile(`(.*)@([^/\\]*)(.*)`)
-// DirToImportPathVersion computes import path and semantic version
-func DirToImportPathVersion(dir Relpath) (string, string, error) {
+// dirToImportPathVersion computes import path and semantic version
+// from a GOMODCACHE-relative directory name.
+func dirToImportPathVersion(dir string) (string, string, error) {
m := modCacheRegexp.FindStringSubmatch(string(dir))
// m[1] is the module path
// m[2] is the version major.minor.patch(- 1 && flds[1][1] == 'D',
}
diff --git a/vendor/golang.org/x/tools/internal/modindex/modindex.go b/vendor/golang.org/x/tools/internal/modindex/modindex.go
index 355a53e..5fa285d 100644
--- a/vendor/golang.org/x/tools/internal/modindex/modindex.go
+++ b/vendor/golang.org/x/tools/internal/modindex/modindex.go
@@ -2,17 +2,21 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// Package modindex contains code for building and searching an index to
-// the Go module cache. The directory containing the index, returned by
-// IndexDir(), contains a file index-name- that contains the name
+// Package modindex contains code for building and searching an
+// [Index] of the Go module cache.
+package modindex
+
+// The directory containing the index, returned by
+// [IndexDir], contains a file index-name- that contains the name
// of the current index. We believe writing that short file is atomic.
-// ReadIndex reads that file to get the file name of the index.
+// [Read] reads that file to get the file name of the index.
// WriteIndex writes an index with a unique name and then
// writes that name into a new version of index-name-.
// ( stands for the CurrentVersion of the index format.)
-package modindex
import (
+ "maps"
+ "os"
"path/filepath"
"slices"
"strings"
@@ -21,144 +25,95 @@ import (
"golang.org/x/mod/semver"
)
-// Create always creates a new index for the go module cache that is in cachedir.
-func Create(cachedir string) error {
- _, err := indexModCache(cachedir, true)
- return err
-}
-
-// Update the index for the go module cache that is in cachedir,
-// If there is no existing index it will build one.
-// If there are changed directories since the last index, it will
-// write a new one and return true. Otherwise it returns false.
-func Update(cachedir string) (bool, error) {
- return indexModCache(cachedir, false)
+// Update updates the index for the specified Go
+// module cache directory, creating it as needed.
+// On success it returns the current index.
+func Update(gomodcache string) (*Index, error) {
+ prev, err := Read(gomodcache)
+ if err != nil {
+ if !os.IsNotExist(err) {
+ return nil, err
+ }
+ prev = nil
+ }
+ return update(gomodcache, prev)
}
-// indexModCache writes an index current as of when it is called.
-// If clear is true the index is constructed from all of GOMODCACHE
-// otherwise the index is constructed from the last previous index
-// and the updates to the cache. It returns true if it wrote an index,
-// false otherwise.
-func indexModCache(cachedir string, clear bool) (bool, error) {
- cachedir, err := filepath.Abs(cachedir)
+// update builds, writes, and returns the current index.
+//
+// If old is nil, the new index is built from all of GOMODCACHE;
+// otherwise it is built from the old index plus cache updates
+// since the previous index's time.
+func update(gomodcache string, old *Index) (*Index, error) {
+ gomodcache, err := filepath.Abs(gomodcache)
if err != nil {
- return false, err
+ return nil, err
}
- cd := Abspath(cachedir)
- future := time.Now().Add(24 * time.Hour) // safely in the future
- ok, err := modindexTimed(future, cd, clear)
+ new, changed, err := build(gomodcache, old)
if err != nil {
- return false, err
+ return nil, err
}
- return ok, nil
-}
-
-// modindexTimed writes an index current as of onlyBefore.
-// If clear is true the index is constructed from all of GOMODCACHE
-// otherwise the index is constructed from the last previous index
-// and all the updates to the cache before onlyBefore.
-// It returns true if it wrote a new index, false if it wrote nothing.
-func modindexTimed(onlyBefore time.Time, cachedir Abspath, clear bool) (bool, error) {
- var curIndex *Index
- if !clear {
- var err error
- curIndex, err = ReadIndex(string(cachedir))
- if clear && err != nil {
- return false, err
+ if old == nil || changed {
+ if err := write(gomodcache, new); err != nil {
+ return nil, err
}
- // TODO(pjw): check that most of those directories still exist
- }
- cfg := &work{
- onlyBefore: onlyBefore,
- oldIndex: curIndex,
- cacheDir: cachedir,
- }
- if curIndex != nil {
- cfg.onlyAfter = curIndex.Changed
- }
- if err := cfg.buildIndex(); err != nil {
- return false, err
}
- if len(cfg.newIndex.Entries) == 0 && curIndex != nil {
- // no changes from existing curIndex, don't write a new index
- return false, nil
- }
- if err := cfg.writeIndex(); err != nil {
- return false, err
- }
- return true, nil
-}
-
-type work struct {
- onlyBefore time.Time // do not use directories later than this
- onlyAfter time.Time // only interested in directories after this
- // directories from before onlyAfter come from oldIndex
- oldIndex *Index
- newIndex *Index
- cacheDir Abspath
+ return new, nil
}
-func (w *work) buildIndex() error {
- // The effective date of the new index should be at least
- // slightly earlier than when the directories are scanned
- // so set it now.
- w.newIndex = &Index{Changed: time.Now(), Cachedir: w.cacheDir}
- dirs := findDirs(string(w.cacheDir), w.onlyAfter, w.onlyBefore)
- if len(dirs) == 0 {
- return nil
+// build returns a new index for the specified Go module cache (an
+// absolute path).
+//
+// If an old index is provided, only directories more recent than it
+// that it are scanned; older directories are provided by the old
+// Index.
+//
+// The boolean result indicates whether new entries were found.
+func build(gomodcache string, old *Index) (*Index, bool, error) {
+ // Set the time window.
+ var start time.Time // = dawn of time
+ if old != nil {
+ start = old.ValidAt
}
- newdirs, err := byImportPath(dirs)
+ now := time.Now()
+ end := now.Add(24 * time.Hour) // safely in the future
+
+ // Enumerate GOMODCACHE package directories.
+ // Choose the best (latest) package for each import path.
+ pkgDirs := findDirs(gomodcache, start, end)
+ dirByPath, err := bestDirByImportPath(pkgDirs)
if err != nil {
- return err
+ return nil, false, err
}
- // for each import path it might occur only in newdirs,
- // only in w.oldIndex, or in both.
- // If it occurs in both, use the semantically later one
- if w.oldIndex != nil {
- for _, e := range w.oldIndex.Entries {
- found, ok := newdirs[e.ImportPath]
- if !ok {
- w.newIndex.Entries = append(w.newIndex.Entries, e)
- continue // use this one, there is no new one
- }
- if semver.Compare(found[0].version, e.Version) > 0 {
- // use the new one
- } else {
- // use the old one, forget the new one
- w.newIndex.Entries = append(w.newIndex.Entries, e)
- delete(newdirs, e.ImportPath)
+
+ // For each import path it might occur only in
+ // dirByPath, only in old, or in both.
+ // If both, use the semantically later one.
+ var entries []Entry
+ if old != nil {
+ for _, entry := range old.Entries {
+ dir, ok := dirByPath[entry.ImportPath]
+ if !ok || semver.Compare(dir.version, entry.Version) <= 0 {
+ // New dir is missing or not more recent; use old entry.
+ entries = append(entries, entry)
+ delete(dirByPath, entry.ImportPath)
}
}
}
- // get symbol information for all the new diredtories
- getSymbols(w.cacheDir, newdirs)
- // assemble the new index entries
- for k, v := range newdirs {
- d := v[0]
- pkg, names := processSyms(d.syms)
- if pkg == "" {
- continue // PJW: does this ever happen?
- }
- entry := Entry{
- PkgName: pkg,
- Dir: d.path,
- ImportPath: k,
- Version: d.version,
- Names: names,
- }
- w.newIndex.Entries = append(w.newIndex.Entries, entry)
- }
- // sort the entries in the new index
- slices.SortFunc(w.newIndex.Entries, func(l, r Entry) int {
- if n := strings.Compare(l.PkgName, r.PkgName); n != 0 {
+
+ // Extract symbol information for all the new directories.
+ newEntries := extractSymbols(gomodcache, maps.Values(dirByPath))
+ entries = append(entries, newEntries...)
+ slices.SortFunc(entries, func(x, y Entry) int {
+ if n := strings.Compare(x.PkgName, y.PkgName); n != 0 {
return n
}
- return strings.Compare(l.ImportPath, r.ImportPath)
+ return strings.Compare(x.ImportPath, y.ImportPath)
})
- return nil
-}
-func (w *work) writeIndex() error {
- return writeIndex(w.cacheDir, w.newIndex)
+ return &Index{
+ GOMODCACHE: gomodcache,
+ ValidAt: now, // time before the directories were scanned
+ Entries: entries,
+ }, len(newEntries) > 0, nil
}
diff --git a/vendor/golang.org/x/tools/internal/modindex/symbols.go b/vendor/golang.org/x/tools/internal/modindex/symbols.go
index b918529..8e9702d 100644
--- a/vendor/golang.org/x/tools/internal/modindex/symbols.go
+++ b/vendor/golang.org/x/tools/internal/modindex/symbols.go
@@ -10,11 +10,13 @@ import (
"go/parser"
"go/token"
"go/types"
+ "iter"
"os"
"path/filepath"
"runtime"
"slices"
"strings"
+ "sync"
"golang.org/x/sync/errgroup"
)
@@ -30,45 +32,69 @@ import (
type symbol struct {
pkg string // name of the symbols's package
name string // declared name
- kind string // T, C, V, or F, follwed by D if deprecated
+ kind string // T, C, V, or F, followed by D if deprecated
sig string // signature information, for F
}
-// find the symbols for the best directories
-func getSymbols(cd Abspath, dirs map[string][]*directory) {
+// extractSymbols returns a (new, unordered) array of Entries, one for
+// each provided package directory, describing its exported symbols.
+func extractSymbols(cwd string, dirs iter.Seq[directory]) []Entry {
+ var (
+ mu sync.Mutex
+ entries []Entry
+ )
+
var g errgroup.Group
g.SetLimit(max(2, runtime.GOMAXPROCS(0)/2))
- for _, vv := range dirs {
- // throttling some day?
- d := vv[0]
+ for dir := range dirs {
g.Go(func() error {
- thedir := filepath.Join(string(cd), string(d.path))
+ thedir := filepath.Join(cwd, string(dir.path))
mode := parser.SkipObjectResolution | parser.ParseComments
- fi, err := os.ReadDir(thedir)
+ // Parse all Go files in dir and extract symbols.
+ dirents, err := os.ReadDir(thedir)
if err != nil {
return nil // log this someday?
}
- for _, fx := range fi {
- if !strings.HasSuffix(fx.Name(), ".go") || strings.HasSuffix(fx.Name(), "_test.go") {
+ var syms []symbol
+ for _, dirent := range dirents {
+ if !strings.HasSuffix(dirent.Name(), ".go") ||
+ strings.HasSuffix(dirent.Name(), "_test.go") {
continue
}
- fname := filepath.Join(thedir, fx.Name())
+ fname := filepath.Join(thedir, dirent.Name())
tr, err := parser.ParseFile(token.NewFileSet(), fname, nil, mode)
if err != nil {
continue // ignore errors, someday log them?
}
- d.syms = append(d.syms, getFileExports(tr)...)
+ syms = append(syms, getFileExports(tr)...)
+ }
+
+ // Create an entry for the package.
+ pkg, names := processSyms(syms)
+ if pkg != "" {
+ mu.Lock()
+ defer mu.Unlock()
+ entries = append(entries, Entry{
+ PkgName: pkg,
+ Dir: dir.path,
+ ImportPath: dir.importPath,
+ Version: dir.version,
+ Names: names,
+ })
}
+
return nil
})
}
- g.Wait()
+ g.Wait() // ignore error
+
+ return entries
}
func getFileExports(f *ast.File) []symbol {
pkg := f.Name.Name
- if pkg == "main" {
+ if pkg == "main" || pkg == "" {
return nil
}
var ans []symbol
@@ -110,7 +136,7 @@ func getFileExports(f *ast.File) []symbol {
// The only place a $ can occur seems to be in a struct tag, which
// can be an arbitrary string literal, and ExprString does not presently
// print struct tags. So for this to happen the type of a formal parameter
- // has to be a explict struct, e.g. foo(x struct{a int "$"}) and ExprString
+ // has to be a explicit struct, e.g. foo(x struct{a int "$"}) and ExprString
// would have to show the struct tag. Even testing for this case seems
// a waste of effort, but let's remember the possibility
if strings.Contains(tp, "$") {
@@ -180,8 +206,7 @@ func isDeprecated(doc *ast.CommentGroup) bool {
// go.dev/wiki/Deprecated Paragraph starting 'Deprecated:'
// This code fails for /* Deprecated: */, but it's the code from
// gopls/internal/analysis/deprecated
- lines := strings.Split(doc.Text(), "\n\n")
- for _, line := range lines {
+ for line := range strings.SplitSeq(doc.Text(), "\n\n") {
if strings.HasPrefix(line, "Deprecated:") {
return true
}
@@ -202,17 +227,18 @@ func processSyms(syms []symbol) (string, []string) {
pkg := syms[0].pkg
var names []string
for _, s := range syms {
+ if s.pkg != pkg {
+ // Symbols came from two files in same dir
+ // with different package declarations.
+ continue
+ }
var nx string
- if s.pkg == pkg {
- if s.sig != "" {
- nx = fmt.Sprintf("%s %s %s", s.name, s.kind, s.sig)
- } else {
- nx = fmt.Sprintf("%s %s", s.name, s.kind)
- }
- names = append(names, nx)
+ if s.sig != "" {
+ nx = fmt.Sprintf("%s %s %s", s.name, s.kind, s.sig)
} else {
- continue // PJW: do we want to keep track of these?
+ nx = fmt.Sprintf("%s %s", s.name, s.kind)
}
+ names = append(names, nx)
}
return pkg, names
}
diff --git a/vendor/golang.org/x/tools/internal/modindex/types.go b/vendor/golang.org/x/tools/internal/modindex/types.go
deleted file mode 100644
index ece4488..0000000
--- a/vendor/golang.org/x/tools/internal/modindex/types.go
+++ /dev/null
@@ -1,25 +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 modindex
-
-import (
- "strings"
-)
-
-// some special types to avoid confusions
-
-// distinguish various types of directory names. It's easy to get confused.
-type Abspath string // absolute paths
-type Relpath string // paths with GOMODCACHE prefix removed
-
-func toRelpath(cachedir Abspath, s string) Relpath {
- if strings.HasPrefix(s, string(cachedir)) {
- if s == string(cachedir) {
- return Relpath("")
- }
- return Relpath(s[len(cachedir)+1:])
- }
- return Relpath(s)
-}
diff --git a/vendor/golang.org/x/tools/internal/stdlib/deps.go b/vendor/golang.org/x/tools/internal/stdlib/deps.go
index 77cf8d2..f41431c 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/deps.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/deps.go
@@ -12,348 +12,516 @@ type pkginfo struct {
}
var deps = [...]pkginfo{
- {"archive/tar", "\x03j\x03E5\x01\v\x01#\x01\x01\x02\x05\n\x02\x01\x02\x02\v"},
- {"archive/zip", "\x02\x04`\a\x16\x0205\x01+\x05\x01\x11\x03\x02\r\x04"},
- {"bufio", "\x03j}F\x13"},
- {"bytes", "m+R\x03\fH\x02\x02"},
+ {"archive/tar", "\x03q\x03F=\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\r"},
+ {"archive/zip", "\x02\x04g\a\x03\x13\x021=\x01+\x05\x01\x0f\x03\x02\x0f\x04"},
+ {"bufio", "\x03q\x86\x01D\x15"},
+ {"bytes", "t+[\x03\fH\x02\x02"},
{"cmp", ""},
- {"compress/bzip2", "\x02\x02\xe6\x01C"},
- {"compress/flate", "\x02k\x03z\r\x025\x01\x03"},
- {"compress/gzip", "\x02\x04`\a\x03\x15eU"},
- {"compress/lzw", "\x02k\x03z"},
- {"compress/zlib", "\x02\x04`\a\x03\x13\x01f"},
- {"container/heap", "\xae\x02"},
+ {"compress/bzip2", "\x02\x02\xf6\x01A"},
+ {"compress/flate", "\x02r\x03\x83\x01\f\x033\x01\x03"},
+ {"compress/gzip", "\x02\x04g\a\x03\x15nU"},
+ {"compress/lzw", "\x02r\x03\x83\x01"},
+ {"compress/zlib", "\x02\x04g\a\x03\x13\x01o"},
+ {"container/heap", "\xbc\x02"},
{"container/list", ""},
{"container/ring", ""},
- {"context", "m\\i\x01\f"},
- {"crypto", "\x83\x01gE"},
- {"crypto/aes", "\x10\n\a\x8e\x02"},
- {"crypto/cipher", "\x03\x1e\x01\x01\x1d\x11\x1c,Q"},
- {"crypto/des", "\x10\x13\x1d-,\x96\x01\x03"},
- {"crypto/dsa", "@\x04)}\x0e"},
- {"crypto/ecdh", "\x03\v\f\x0e\x04\x14\x04\r\x1c}"},
- {"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\x16\x01\x04\f\x01\x1c}\x0e\x04L\x01"},
- {"crypto/ed25519", "\x0e\x1c\x16\n\a\x1c}E"},
- {"crypto/elliptic", "0=}\x0e:"},
- {"crypto/fips140", " \x05\x90\x01"},
- {"crypto/hkdf", "-\x12\x01-\x16"},
- {"crypto/hmac", "\x1a\x14\x11\x01\x112"},
- {"crypto/internal/boring", "\x0e\x02\rf"},
- {"crypto/internal/boring/bbig", "\x1a\xde\x01M"},
- {"crypto/internal/boring/bcache", "\xb3\x02\x12"},
+ {"context", "t\\p\x01\x0e"},
+ {"crypto", "\x8a\x01pC"},
+ {"crypto/aes", "\x10\v\t\x99\x02"},
+ {"crypto/cipher", "\x03!\x01\x01 \x12\x1c,Z"},
+ {"crypto/des", "\x10\x16 .,\x9d\x01\x03"},
+ {"crypto/dsa", "F\x03+\x86\x01\r"},
+ {"crypto/ecdh", "\x03\v\r\x10\x04\x17\x03\x0f\x1c\x86\x01"},
+ {"crypto/ecdsa", "\x0e\x05\x03\x05\x01\x10\b\v\x06\x01\x03\x0e\x01\x1c\x86\x01\r\x05L\x01"},
+ {"crypto/ed25519", "\x0e\x1f\x12\a\x03\b\a\x1cI=C"},
+ {"crypto/elliptic", "4@\x86\x01\r9"},
+ {"crypto/fips140", "#\x05\x95\x01\x98\x01"},
+ {"crypto/hkdf", "0\x15\x01.\x16"},
+ {"crypto/hmac", "\x1b\x16\x14\x01\x122"},
+ {"crypto/hpke", "\x03\v\x02\x03\x04\x01\f\x01\x05\x1f\x05\a\x01\x01\x1d\x03\x13\x16\x9b\x01\x1c"},
+ {"crypto/internal/boring", "\x0e\x02\x0el"},
+ {"crypto/internal/boring/bbig", "\x1b\xec\x01N"},
+ {"crypto/internal/boring/bcache", "\xc1\x02\x14"},
{"crypto/internal/boring/sig", ""},
- {"crypto/internal/cryptotest", "\x03\r\n)\x0e\x19\x06\x13\x12#\a\t\x11\x11\x11\x1b\x01\f\r\x05\n"},
- {"crypto/internal/entropy", "E"},
- {"crypto/internal/fips140", ">/}9\r\x15"},
- {"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x04\x01\x01\x05*\x8c\x016"},
- {"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x04\x01\x06*\x8a\x01"},
- {"crypto/internal/fips140/alias", "\xc5\x02"},
- {"crypto/internal/fips140/bigmod", "%\x17\x01\x06*\x8c\x01"},
- {"crypto/internal/fips140/check", " \x0e\x06\b\x02\xac\x01["},
- {"crypto/internal/fips140/check/checktest", "%\xfe\x01\""},
- {"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x04\b\x01(}\x0f9"},
- {"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\f1}\x0f9"},
- {"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x067}H"},
- {"crypto/internal/fips140/ed25519", "\x03\x1d\x05\x02\x04\v7\xc2\x01\x03"},
- {"crypto/internal/fips140/edwards25519", "%\a\f\x041\x8c\x019"},
- {"crypto/internal/fips140/edwards25519/field", "%\x13\x041\x8c\x01"},
- {"crypto/internal/fips140/hkdf", "\x03\x1d\x05\t\x069"},
- {"crypto/internal/fips140/hmac", "\x03\x1d\x14\x01\x017"},
- {"crypto/internal/fips140/mlkem", "\x03\x1d\x05\x02\x0e\x03\x041"},
- {"crypto/internal/fips140/nistec", "%\f\a\x041\x8c\x01*\x0f\x13"},
- {"crypto/internal/fips140/nistec/fiat", "%\x135\x8c\x01"},
- {"crypto/internal/fips140/pbkdf2", "\x03\x1d\x05\t\x069"},
- {"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x025}H"},
- {"crypto/internal/fips140/sha256", "\x03\x1d\x1c\x01\x06*\x8c\x01"},
- {"crypto/internal/fips140/sha3", "\x03\x1d\x18\x04\x010\x8c\x01L"},
- {"crypto/internal/fips140/sha512", "\x03\x1d\x1c\x01\x06*\x8c\x01"},
- {"crypto/internal/fips140/ssh", " \x05"},
- {"crypto/internal/fips140/subtle", "#"},
- {"crypto/internal/fips140/tls12", "\x03\x1d\x05\t\x06\x027"},
- {"crypto/internal/fips140/tls13", "\x03\x1d\x05\b\a\b1"},
+ {"crypto/internal/constanttime", ""},
+ {"crypto/internal/cryptotest", "\x03\r\v\b%\x10\x19\x06\x13\x12 \x04\x06\t\x19\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\f"},
+ {"crypto/internal/entropy", "K"},
+ {"crypto/internal/entropy/v1.0.0", "D0\x95\x018\x14"},
+ {"crypto/internal/fips140", "C1\xbf\x01\v\x17"},
+ {"crypto/internal/fips140/aes", "\x03 \x03\x02\x14\x05\x01\x01\x05,\x95\x014"},
+ {"crypto/internal/fips140/aes/gcm", "#\x01\x02\x02\x02\x12\x05\x01\x06,\x92\x01"},
+ {"crypto/internal/fips140/alias", "\xd5\x02"},
+ {"crypto/internal/fips140/bigmod", "(\x19\x01\x06,\x95\x01"},
+ {"crypto/internal/fips140/check", "#\x0e\a\t\x02\xb7\x01["},
+ {"crypto/internal/fips140/check/checktest", "(\x8b\x02\""},
+ {"crypto/internal/fips140/drbg", "\x03\x1f\x01\x01\x04\x14\x05\n)\x86\x01\x0f7\x01"},
+ {"crypto/internal/fips140/ecdh", "\x03 \x05\x02\n\r3\x86\x01\x0f7"},
+ {"crypto/internal/fips140/ecdsa", "\x03 \x04\x01\x02\a\x03\x06:\x16pF"},
+ {"crypto/internal/fips140/ed25519", "\x03 \x05\x02\x04\f:\xc9\x01\x03"},
+ {"crypto/internal/fips140/edwards25519", "\x1f\t\a\x123\x95\x017"},
+ {"crypto/internal/fips140/edwards25519/field", "(\x14\x053\x95\x01"},
+ {"crypto/internal/fips140/hkdf", "\x03 \x05\t\a<\x16"},
+ {"crypto/internal/fips140/hmac", "\x03 \x15\x01\x01:\x16"},
+ {"crypto/internal/fips140/mldsa", "\x03\x1c\x04\x05\x02\x0e\x01\x03\x053\x95\x017"},
+ {"crypto/internal/fips140/mlkem", "\x03 \x05\x02\x0f\x03\x053\xcc\x01"},
+ {"crypto/internal/fips140/nistec", "\x1f\t\r\f3\x95\x01*\r\x15"},
+ {"crypto/internal/fips140/nistec/fiat", "(\x148\x95\x01"},
+ {"crypto/internal/fips140/pbkdf2", "\x03 \x05\t\a<\x16"},
+ {"crypto/internal/fips140/rsa", "\x03\x1c\x04\x04\x01\x02\x0e\x01\x01\x028\x16pF"},
+ {"crypto/internal/fips140/sha256", "\x03 \x1e\x01\x06,\x16\x7f"},
+ {"crypto/internal/fips140/sha3", "\x03 \x19\x05\x012\x95\x01L"},
+ {"crypto/internal/fips140/sha512", "\x03 \x1e\x01\x06,\x16\x7f"},
+ {"crypto/internal/fips140/ssh", "(b"},
+ {"crypto/internal/fips140/subtle", "\x1f\a\x1b\xc8\x01"},
+ {"crypto/internal/fips140/tls12", "\x03 \x05\t\a\x02:\x16"},
+ {"crypto/internal/fips140/tls13", "\x03 \x05\b\b\t3\x16"},
+ {"crypto/internal/fips140cache", "\xb3\x02\r'"},
{"crypto/internal/fips140deps", ""},
- {"crypto/internal/fips140deps/byteorder", "\x99\x01"},
- {"crypto/internal/fips140deps/cpu", "\xad\x01\a"},
- {"crypto/internal/fips140deps/godebug", "\xb5\x01"},
- {"crypto/internal/fips140hash", "5\x1a4\xc2\x01"},
- {"crypto/internal/fips140only", "'\r\x01\x01M25"},
+ {"crypto/internal/fips140deps/byteorder", "\xa0\x01"},
+ {"crypto/internal/fips140deps/cpu", "\xb5\x01\a"},
+ {"crypto/internal/fips140deps/godebug", "\xbd\x01"},
+ {"crypto/internal/fips140deps/time", "\xcf\x02"},
+ {"crypto/internal/fips140hash", "9\x1d4\xcb\x01"},
+ {"crypto/internal/fips140only", "\x17\x13\x0e\x01\x01Pp"},
{"crypto/internal/fips140test", ""},
- {"crypto/internal/hpke", "\x0e\x01\x01\x03\x1a\x1d#,`N"},
- {"crypto/internal/impl", "\xb0\x02"},
- {"crypto/internal/randutil", "\xea\x01\x12"},
- {"crypto/internal/sysrand", "mi!\x1f\r\x0f\x01\x01\v\x06"},
- {"crypto/internal/sysrand/internal/seccomp", "m"},
- {"crypto/md5", "\x0e2-\x16\x16`"},
- {"crypto/mlkem", "/"},
- {"crypto/pbkdf2", "2\r\x01-\x16"},
- {"crypto/rand", "\x1a\x06\a\x19\x04\x01(}\x0eM"},
- {"crypto/rc4", "#\x1d-\xc2\x01"},
- {"crypto/rsa", "\x0e\f\x01\t\x0f\f\x01\x04\x06\a\x1c\x03\x1325\r\x01"},
- {"crypto/sha1", "\x0e\f&-\x16\x16\x14L"},
- {"crypto/sha256", "\x0e\f\x1aO"},
- {"crypto/sha3", "\x0e'N\xc2\x01"},
- {"crypto/sha512", "\x0e\f\x1cM"},
- {"crypto/subtle", "8\x96\x01U"},
- {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x03\x01\a\x01\v\x02\n\x01\b\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x14\b5\x16\x16\r\n\x01\x01\x01\x02\x01\f\x06\x02\x01"},
- {"crypto/tls/internal/fips140tls", " \x93\x02"},
- {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x011\x03\x02\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x032\x01\x02\t\x01\x01\x01\a\x10\x05\x01\x06\x02\x05\f\x01\x02\r\x02\x01\x01\x02\x03\x01"},
- {"crypto/x509/pkix", "c\x06\a\x88\x01G"},
- {"database/sql", "\x03\nJ\x16\x03z\f\x06\"\x05\n\x02\x03\x01\f\x02\x02\x02"},
- {"database/sql/driver", "\r`\x03\xae\x01\x11\x10"},
- {"debug/buildinfo", "\x03W\x02\x01\x01\b\a\x03`\x18\x02\x01+\x0f "},
- {"debug/dwarf", "\x03c\a\x03z1\x13\x01\x01"},
- {"debug/elf", "\x03\x06P\r\a\x03`\x19\x01,\x19\x01\x15"},
- {"debug/gosym", "\x03c\n\xbe\x01\x01\x01\x02"},
- {"debug/macho", "\x03\x06P\r\n`\x1a,\x19\x01"},
- {"debug/pe", "\x03\x06P\r\a\x03`\x1a,\x19\x01\x15"},
- {"debug/plan9obj", "f\a\x03`\x1a,"},
- {"embed", "m+:\x18\x01T"},
+ {"crypto/internal/impl", "\xbe\x02"},
+ {"crypto/internal/rand", "\x1b\x0f s=["},
+ {"crypto/internal/randutil", "\xfa\x01\x12"},
+ {"crypto/internal/sysrand", "tq! \r\r\x01\x01\r\x06"},
+ {"crypto/internal/sysrand/internal/seccomp", "t"},
+ {"crypto/md5", "\x0e8.\x16\x16i"},
+ {"crypto/mlkem", "\x0e%"},
+ {"crypto/mlkem/mlkemtest", "3\x13\b&"},
+ {"crypto/pbkdf2", "6\x0f\x01.\x16"},
+ {"crypto/rand", "\x1b\x0f\x1c\x03+\x86\x01\rN"},
+ {"crypto/rc4", "& .\xc9\x01"},
+ {"crypto/rsa", "\x0e\r\x01\v\x10\x0e\x01\x03\b\a\x1c\x03\x133=\f\x01"},
+ {"crypto/sha1", "\x0e\r+\x02,\x16\x16\x15T"},
+ {"crypto/sha256", "\x0e\r\x1dR"},
+ {"crypto/sha3", "\x0e+Q\xcb\x01"},
+ {"crypto/sha512", "\x0e\r\x1fP"},
+ {"crypto/subtle", "\x1f\x1d\x9f\x01z"},
+ {"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\x01\t\x01\x18\x01\x0f\x01\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x15\b=\x16\x16\r\b\x01\x01\x01\x02\x01\x0e\x06\x02\x01\x0f"},
+ {"crypto/tls/internal/fips140tls", "\x17\xaa\x02"},
+ {"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x017\x06\x01\x01\x02\x05\x0e\x06\x02\x02\x03F\x03:\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\a\b\x02\x01\x02\x0f\x02\x01\x01\x02\x03\x01"},
+ {"crypto/x509/pkix", "j\x06\a\x90\x01H"},
+ {"database/sql", "\x03\nQ\x16\x03\x83\x01\v\a\"\x05\b\x02\x03\x01\x0e\x02\x02\x02"},
+ {"database/sql/driver", "\rg\x03\xb7\x01\x0f\x12"},
+ {"debug/buildinfo", "\x03^\x02\x01\x01\b\a\x03g\x1a\x02\x01+\x0f "},
+ {"debug/dwarf", "\x03j\a\x03\x83\x011\x11\x01\x01"},
+ {"debug/elf", "\x03\x06W\r\a\x03g\x1b\x01\f \x17\x01\x17"},
+ {"debug/gosym", "\x03j\n$\xa1\x01\x01\x01\x02"},
+ {"debug/macho", "\x03\x06W\r\ng\x1c,\x17\x01"},
+ {"debug/pe", "\x03\x06W\r\a\x03g\x1c,\x17\x01\x17"},
+ {"debug/plan9obj", "m\a\x03g\x1c,"},
+ {"embed", "t+B\x19\x01T"},
{"embed/internal/embedtest", ""},
{"encoding", ""},
- {"encoding/ascii85", "\xea\x01E"},
- {"encoding/asn1", "\x03j\x03\x87\x01\x01&\x0f\x02\x01\x0f\x03\x01"},
- {"encoding/base32", "\xea\x01C\x02"},
- {"encoding/base64", "\x99\x01QC\x02"},
- {"encoding/binary", "m}\r'\x0f\x05"},
- {"encoding/csv", "\x02\x01j\x03zF\x11\x02"},
- {"encoding/gob", "\x02_\x05\a\x03`\x1a\f\x01\x02\x1d\b\x14\x01\x0e\x02"},
- {"encoding/hex", "m\x03zC\x03"},
- {"encoding/json", "\x03\x01]\x04\b\x03z\r'\x0f\x02\x01\x02\x0f\x01\x01\x02"},
- {"encoding/pem", "\x03b\b}C\x03"},
- {"encoding/xml", "\x02\x01^\f\x03z4\x05\f\x01\x02\x0f\x02"},
- {"errors", "\xc9\x01|"},
- {"expvar", "jK9\t\n\x15\r\n\x02\x03\x01\x10"},
- {"flag", "a\f\x03z,\b\x05\n\x02\x01\x0f"},
- {"fmt", "mE8\r\x1f\b\x0f\x02\x03\x11"},
- {"go/ast", "\x03\x01l\x0f\x01j\x03)\b\x0f\x02\x01"},
- {"go/ast/internal/tests", ""},
- {"go/build", "\x02\x01j\x03\x01\x03\x02\a\x02\x01\x17\x1e\x04\x02\t\x14\x12\x01+\x01\x04\x01\a\n\x02\x01\x11\x02\x02"},
- {"go/build/constraint", "m\xc2\x01\x01\x11\x02"},
- {"go/constant", "p\x10w\x01\x016\x01\x02\x11"},
- {"go/doc", "\x04l\x01\x06\t=-1\x12\x02\x01\x11\x02"},
- {"go/doc/comment", "\x03m\xbd\x01\x01\x01\x01\x11\x02"},
- {"go/format", "\x03m\x01\f\x01\x02jF"},
- {"go/importer", "s\a\x01\x01\x04\x01i9"},
- {"go/internal/gccgoimporter", "\x02\x01W\x13\x03\x05\v\x01g\x02,\x01\x05\x13\x01\v\b"},
- {"go/internal/gcimporter", "\x02n\x10\x01/\x05\x0e',\x17\x03\x02"},
- {"go/internal/srcimporter", "p\x01\x02\n\x03\x01i,\x01\x05\x14\x02\x13"},
- {"go/parser", "\x03j\x03\x01\x03\v\x01j\x01+\x06\x14"},
- {"go/printer", "p\x01\x03\x03\tj\r\x1f\x17\x02\x01\x02\n\x05\x02"},
- {"go/scanner", "\x03m\x10j2\x12\x01\x12\x02"},
- {"go/token", "\x04l\xbd\x01\x02\x03\x01\x0e\x02"},
- {"go/types", "\x03\x01\x06c\x03\x01\x04\b\x03\x02\x15\x1e\x06+\x04\x03\n%\a\n\x01\x01\x01\x02\x01\x0e\x02\x02"},
- {"go/version", "\xba\x01v"},
- {"hash", "\xea\x01"},
- {"hash/adler32", "m\x16\x16"},
- {"hash/crc32", "m\x16\x16\x14\x85\x01\x01\x12"},
- {"hash/crc64", "m\x16\x16\x99\x01"},
- {"hash/fnv", "m\x16\x16`"},
- {"hash/maphash", "\x94\x01\x05\x1b\x03@N"},
- {"html", "\xb0\x02\x02\x11"},
- {"html/template", "\x03g\x06\x19,5\x01\v \x05\x01\x02\x03\x0e\x01\x02\v\x01\x03\x02"},
- {"image", "\x02k\x1f^\x0f6\x03\x01"},
+ {"encoding/ascii85", "\xfa\x01C"},
+ {"encoding/asn1", "\x03q\x03g(\x01'\r\x02\x01\x11\x03\x01"},
+ {"encoding/base32", "\xfa\x01A\x02"},
+ {"encoding/base64", "\xa0\x01ZA\x02"},
+ {"encoding/binary", "t\x86\x01\f(\r\x05"},
+ {"encoding/csv", "\x02\x01q\x03\x83\x01D\x13\x02"},
+ {"encoding/gob", "\x02f\x05\a\x03g\x1c\v\x01\x03\x1d\b\x12\x01\x10\x02"},
+ {"encoding/hex", "t\x03\x83\x01A\x03"},
+ {"encoding/json", "\x03\x01d\x04\b\x03\x83\x01\f(\r\x02\x01\x02\x11\x01\x01\x02"},
+ {"encoding/pem", "\x03i\b\x86\x01A\x03"},
+ {"encoding/xml", "\x02\x01e\f\x03\x83\x014\x05\n\x01\x02\x11\x02"},
+ {"errors", "\xd0\x01\x85\x01"},
+ {"expvar", "qLA\b\v\x15\r\b\x02\x03\x01\x12"},
+ {"flag", "h\f\x03\x83\x01,\b\x05\b\x02\x01\x11"},
+ {"fmt", "tF'\x19\f \b\r\x02\x03\x13"},
+ {"go/ast", "\x03\x01s\x0f\x01s\x03)\b\r\x02\x01\x13\x02"},
+ {"go/build", "\x02\x01q\x03\x01\x02\x02\b\x02\x01\x17\x1f\x04\x02\b\x1c\x13\x01+\x01\x04\x01\a\b\x02\x01\x13\x02\x02"},
+ {"go/build/constraint", "t\xc9\x01\x01\x13\x02"},
+ {"go/constant", "w\x10\x7f\x01\x024\x01\x02\x13"},
+ {"go/doc", "\x04s\x01\x05\n=61\x10\x02\x01\x13\x02"},
+ {"go/doc/comment", "\x03t\xc4\x01\x01\x01\x01\x13\x02"},
+ {"go/format", "\x03t\x01\f\x01\x02sD"},
+ {"go/importer", "y\a\x01\x02\x04\x01r9"},
+ {"go/internal/gccgoimporter", "\x02\x01^\x13\x03\x04\f\x01p\x02,\x01\x05\x11\x01\r\b"},
+ {"go/internal/gcimporter", "\x02u\x10\x010\x05\r0,\x15\x03\x02"},
+ {"go/internal/scannerhooks", "\x87\x01"},
+ {"go/internal/srcimporter", "w\x01\x01\v\x03\x01r,\x01\x05\x12\x02\x15"},
+ {"go/parser", "\x03q\x03\x01\x02\b\x04\x01s\x01+\x06\x12"},
+ {"go/printer", "w\x01\x02\x03\ns\f \x15\x02\x01\x02\f\x05\x02"},
+ {"go/scanner", "\x03t\v\x05s2\x10\x01\x14\x02"},
+ {"go/token", "\x04s\x86\x01>\x02\x03\x01\x10\x02"},
+ {"go/types", "\x03\x01\x06j\x03\x01\x03\t\x03\x024\x063\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x10\x02\x02"},
+ {"go/version", "\xc2\x01|"},
+ {"hash", "\xfa\x01"},
+ {"hash/adler32", "t\x16\x16"},
+ {"hash/crc32", "t\x16\x16\x15\x8b\x01\x01\x14"},
+ {"hash/crc64", "t\x16\x16\xa0\x01"},
+ {"hash/fnv", "t\x16\x16i"},
+ {"hash/maphash", "\x8a\x01\x11<~"},
+ {"html", "\xbe\x02\x02\x13"},
+ {"html/template", "\x03n\x06\x19-=\x01\n!\x05\x01\x02\x03\f\x01\x02\r\x01\x03\x02"},
+ {"image", "\x02r\x1fg\x0f4\x03\x01"},
{"image/color", ""},
- {"image/color/palette", "\x8c\x01"},
- {"image/draw", "\x8b\x01\x01\x04"},
- {"image/gif", "\x02\x01\x05e\x03\x1b\x01\x01\x01\vQ"},
- {"image/internal/imageutil", "\x8b\x01"},
- {"image/jpeg", "\x02k\x1e\x01\x04Z"},
- {"image/png", "\x02\a]\n\x13\x02\x06\x01^E"},
- {"index/suffixarray", "\x03c\a}\r*\f\x01"},
- {"internal/abi", "\xb4\x01\x91\x01"},
- {"internal/asan", "\xc5\x02"},
- {"internal/bisect", "\xa3\x02\x0f\x01"},
- {"internal/buildcfg", "pG_\x06\x02\x05\f\x01"},
- {"internal/bytealg", "\xad\x01\x98\x01"},
+ {"image/color/palette", "\x93\x01"},
+ {"image/draw", "\x92\x01\x01\x04"},
+ {"image/gif", "\x02\x01\x05l\x03\x1b\x01\x01\x01\vZ\x0f"},
+ {"image/internal/imageutil", "\x92\x01"},
+ {"image/jpeg", "\x02r\x1e\x01\x04c"},
+ {"image/png", "\x02\ad\n\x13\x02\x06\x01gC"},
+ {"index/suffixarray", "\x03j\a\x86\x01\f+\n\x01"},
+ {"internal/abi", "\xbc\x01\x99\x01"},
+ {"internal/asan", "\xd5\x02"},
+ {"internal/bisect", "\xb3\x02\r\x01"},
+ {"internal/buildcfg", "wHg\x06\x02\x05\n\x01"},
+ {"internal/bytealg", "\xb5\x01\xa0\x01"},
{"internal/byteorder", ""},
{"internal/cfg", ""},
- {"internal/chacha8rand", "\x99\x01\x1b\x91\x01"},
+ {"internal/cgrouptest", "w[T\x06\x0f\x02\x01\x04\x01"},
+ {"internal/chacha8rand", "\xa0\x01\x15\a\x99\x01"},
{"internal/copyright", ""},
{"internal/coverage", ""},
{"internal/coverage/calloc", ""},
- {"internal/coverage/cfile", "j\x06\x17\x16\x01\x02\x01\x01\x01\x01\x01\x01\x01#\x01\x1f,\x06\a\f\x01\x03\f\x06"},
- {"internal/coverage/cformat", "\x04l-\x04I\f7\x01\x02\f"},
- {"internal/coverage/cmerge", "p-Z"},
- {"internal/coverage/decodecounter", "f\n-\v\x02@,\x19\x16"},
- {"internal/coverage/decodemeta", "\x02d\n\x17\x16\v\x02@,"},
- {"internal/coverage/encodecounter", "\x02d\n-\f\x01\x02>\f \x17"},
- {"internal/coverage/encodemeta", "\x02\x01c\n\x13\x04\x16\r\x02>,/"},
- {"internal/coverage/pods", "\x04l-y\x06\x05\f\x02\x01"},
- {"internal/coverage/rtcov", "\xc5\x02"},
- {"internal/coverage/slicereader", "f\nz["},
- {"internal/coverage/slicewriter", "pz"},
- {"internal/coverage/stringtab", "p8\x04>"},
+ {"internal/coverage/cfile", "q\x06\x17\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01\"\x02',\x06\a\n\x01\x03\x0e\x06"},
+ {"internal/coverage/cformat", "\x04s.\x04Q\v6\x01\x02\x0e"},
+ {"internal/coverage/cmerge", "w.a"},
+ {"internal/coverage/decodecounter", "m\n.\v\x02H,\x17\x18"},
+ {"internal/coverage/decodemeta", "\x02k\n\x17\x17\v\x02H,"},
+ {"internal/coverage/encodecounter", "\x02k\n.\f\x01\x02F\v!\x15"},
+ {"internal/coverage/encodemeta", "\x02\x01j\n\x13\x04\x17\r\x02F,/"},
+ {"internal/coverage/pods", "\x04s.\x81\x01\x06\x05\n\x02\x01"},
+ {"internal/coverage/rtcov", "\xd5\x02"},
+ {"internal/coverage/slicereader", "m\n\x83\x01["},
+ {"internal/coverage/slicewriter", "w\x83\x01"},
+ {"internal/coverage/stringtab", "w9\x04F"},
{"internal/coverage/test", ""},
{"internal/coverage/uleb128", ""},
- {"internal/cpu", "\xc5\x02"},
- {"internal/dag", "\x04l\xbd\x01\x03"},
- {"internal/diff", "\x03m\xbe\x01\x02"},
- {"internal/exportdata", "\x02\x01j\x03\x03]\x1a,\x01\x05\x13\x01\x02"},
- {"internal/filepathlite", "m+:\x19B"},
- {"internal/fmtsort", "\x04\x9a\x02\x0f"},
- {"internal/fuzz", "\x03\nA\x18\x04\x03\x03\x01\f\x0355\r\x02\x1d\x01\x05\x02\x05\f\x01\x02\x01\x01\v\x04\x02"},
+ {"internal/cpu", "\xd5\x02"},
+ {"internal/dag", "\x04s\xc4\x01\x03"},
+ {"internal/diff", "\x03t\xc5\x01\x02"},
+ {"internal/exportdata", "\x02\x01q\x03\x02e\x1c,\x01\x05\x11\x01\x02"},
+ {"internal/filepathlite", "t+B\x1a@"},
+ {"internal/fmtsort", "\x04\xaa\x02\r"},
+ {"internal/fuzz", "\x03\nH\x18\x04\x03\x03\x01\f\x036=\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\r\x04\x02"},
{"internal/goarch", ""},
- {"internal/godebug", "\x96\x01 |\x01\x12"},
+ {"internal/godebug", "\x9d\x01!\x82\x01\x01\x14"},
{"internal/godebugs", ""},
{"internal/goexperiment", ""},
{"internal/goos", ""},
- {"internal/goroot", "\x96\x02\x01\x05\x14\x02"},
+ {"internal/goroot", "\xa6\x02\x01\x05\x12\x02"},
{"internal/gover", "\x04"},
{"internal/goversion", ""},
- {"internal/itoa", ""},
- {"internal/lazyregexp", "\x96\x02\v\x0f\x02"},
- {"internal/lazytemplate", "\xea\x01,\x1a\x02\v"},
- {"internal/msan", "\xc5\x02"},
+ {"internal/lazyregexp", "\xa6\x02\v\r\x02"},
+ {"internal/lazytemplate", "\xfa\x01,\x18\x02\r"},
+ {"internal/msan", "\xd5\x02"},
{"internal/nettrace", ""},
- {"internal/obscuretestdata", "e\x85\x01,"},
- {"internal/oserror", "m"},
- {"internal/pkgbits", "\x03K\x18\a\x03\x05\vj\x0e\x1e\r\f\x01"},
+ {"internal/obscuretestdata", "l\x8e\x01,"},
+ {"internal/oserror", "t"},
+ {"internal/pkgbits", "\x03R\x18\a\x03\x04\fs\r\x1f\r\n\x01"},
{"internal/platform", ""},
- {"internal/poll", "mO\x1a\x149\x0f\x01\x01\v\x06"},
- {"internal/profile", "\x03\x04f\x03z7\r\x01\x01\x0f"},
+ {"internal/poll", "tl\x05\x159\r\x01\x01\r\x06"},
+ {"internal/profile", "\x03\x04m\x03\x83\x017\n\x01\x01\x01\x11"},
{"internal/profilerecord", ""},
- {"internal/race", "\x94\x01\xb1\x01"},
- {"internal/reflectlite", "\x94\x01 3<\""},
- {"internal/runtime/atomic", "\xc5\x02"},
- {"internal/runtime/exithook", "\xca\x01{"},
- {"internal/runtime/maps", "\x94\x01\x01\x1f\v\t\x05\x01w"},
- {"internal/runtime/math", "\xb4\x01"},
- {"internal/runtime/sys", "\xb4\x01\x04"},
- {"internal/runtime/syscall", "\xc5\x02"},
- {"internal/saferio", "\xea\x01["},
- {"internal/singleflight", "\xb2\x02"},
- {"internal/stringslite", "\x98\x01\xad\x01"},
- {"internal/sync", "\x94\x01 \x14k\x12"},
- {"internal/synctest", "\xc5\x02"},
- {"internal/syscall/execenv", "\xb4\x02"},
- {"internal/syscall/unix", "\xa3\x02\x10\x01\x11"},
- {"internal/sysinfo", "\x02\x01\xaa\x01=,\x1a\x02"},
+ {"internal/race", "\x9b\x01\xba\x01"},
+ {"internal/reflectlite", "\x9b\x01!;<\""},
+ {"internal/runtime/atomic", "\xbc\x01\x99\x01"},
+ {"internal/runtime/cgroup", "\x9f\x01=\x04u"},
+ {"internal/runtime/exithook", "\xd1\x01\x84\x01"},
+ {"internal/runtime/gc", "\xbc\x01"},
+ {"internal/runtime/gc/internal/gen", "\nc\n\x18k\x04\v\x1d\b\x10\x02"},
+ {"internal/runtime/gc/scan", "\xb5\x01\a\x18\az"},
+ {"internal/runtime/maps", "\x9b\x01\x01 \n\t\t\x03z"},
+ {"internal/runtime/math", "\xbc\x01"},
+ {"internal/runtime/pprof/label", ""},
+ {"internal/runtime/startlinetest", ""},
+ {"internal/runtime/sys", "\xbc\x01\x04"},
+ {"internal/runtime/syscall/linux", "\xbc\x01\x99\x01"},
+ {"internal/runtime/wasitest", ""},
+ {"internal/saferio", "\xfa\x01["},
+ {"internal/singleflight", "\xc0\x02"},
+ {"internal/strconv", "\x89\x02L"},
+ {"internal/stringslite", "\x9f\x01\xb6\x01"},
+ {"internal/sync", "\x9b\x01!\x13r\x14"},
+ {"internal/synctest", "\x9b\x01\xba\x01"},
+ {"internal/syscall/execenv", "\xc2\x02"},
+ {"internal/syscall/unix", "\xb3\x02\x0e\x01\x13"},
+ {"internal/sysinfo", "\x02\x01\xb2\x01E,\x18\x02"},
{"internal/syslist", ""},
- {"internal/testenv", "\x03\n`\x02\x01*\x1a\x10'+\x01\x05\a\f\x01\x02\x02\x01\n"},
- {"internal/testlog", "\xb2\x02\x01\x12"},
- {"internal/testpty", "m\x03\xa6\x01"},
- {"internal/trace", "\x02\x01\x01\x06\\\a\x03n\x03\x03\x06\x03\n6\x01\x02\x0f\x06"},
- {"internal/trace/internal/testgen", "\x03c\nl\x03\x02\x03\x011\v\x0f"},
- {"internal/trace/internal/tracev1", "\x03\x01b\a\x03t\x06\r6\x01"},
- {"internal/trace/raw", "\x02d\nq\x03\x06E\x01\x11"},
- {"internal/trace/testtrace", "\x02\x01j\x03l\x03\x06\x057\f\x02\x01"},
+ {"internal/testenv", "\x03\ng\x02\x01*\x1b\x0f0+\x01\x05\a\n\x01\x02\x02\x01\f"},
+ {"internal/testhash", "\x03\x87\x01p\x118\f"},
+ {"internal/testlog", "\xc0\x02\x01\x14"},
+ {"internal/testpty", "t\x03\xaf\x01"},
+ {"internal/trace", "\x02\x01\x01\x06c\a\x03w\x03\x03\x06\x03\t+\n\x01\x01\x01\x11\x06"},
+ {"internal/trace/internal/testgen", "\x03j\nu\x03\x02\x03\x011\v\r\x11"},
+ {"internal/trace/internal/tracev1", "\x03\x01i\a\x03}\x06\f5\x01"},
+ {"internal/trace/raw", "\x02k\nz\x03\x06C\x01\x13"},
+ {"internal/trace/testtrace", "\x02\x01q\x03q\x04\x03\x05\x01\x05,\v\x02\b\x02\x01\x05"},
{"internal/trace/tracev2", ""},
- {"internal/trace/traceviewer", "\x02]\v\x06\x1a<\x16\a\a\x04\t\n\x15\x01\x05\a\f\x01\x02\r"},
+ {"internal/trace/traceviewer", "\x02d\v\x06\x1a<\x1f\a\a\x04\b\v\x15\x01\x05\a\n\x01\x02\x0f"},
{"internal/trace/traceviewer/format", ""},
- {"internal/trace/version", "pq\t"},
- {"internal/txtar", "\x03m\xa6\x01\x1a"},
- {"internal/types/errors", "\xaf\x02"},
- {"internal/unsafeheader", "\xc5\x02"},
- {"internal/xcoff", "Y\r\a\x03`\x1a,\x19\x01"},
- {"internal/zstd", "f\a\x03z\x0f"},
- {"io", "m\xc5\x01"},
- {"io/fs", "m+*(1\x12\x12\x04"},
- {"io/ioutil", "\xea\x01\x01+\x17\x03"},
- {"iter", "\xc8\x01[\""},
- {"log", "pz\x05'\r\x0f\x01\f"},
+ {"internal/trace/version", "wz\t"},
+ {"internal/txtar", "\x03t\xaf\x01\x18"},
+ {"internal/types/errors", "\xbd\x02"},
+ {"internal/unsafeheader", "\xd5\x02"},
+ {"internal/xcoff", "`\r\a\x03g\x1c,\x17\x01"},
+ {"internal/zstd", "m\a\x03\x83\x01\x0f"},
+ {"io", "t\xcc\x01"},
+ {"io/fs", "t+*11\x10\x14\x04"},
+ {"io/ioutil", "\xfa\x01\x01+\x15\x03"},
+ {"iter", "\xcf\x01d\""},
+ {"log", "w\x83\x01\x05'\r\r\x01\x0e"},
{"log/internal", ""},
- {"log/slog", "\x03\nT\t\x03\x03z\x04\x01\x02\x02\x04'\x05\n\x02\x01\x02\x01\f\x02\x02\x02"},
+ {"log/slog", "\x03\n[\t\x03\x03\x83\x01\x04\x01\x02\x02\x03(\x05\b\x02\x01\x02\x01\x0e\x02\x02\x02"},
{"log/slog/internal", ""},
- {"log/slog/internal/benchmarks", "\r`\x03z\x06\x03<\x10"},
- {"log/slog/internal/buffer", "\xb2\x02"},
- {"log/slog/internal/slogtest", "\xf0\x01"},
- {"log/syslog", "m\x03~\x12\x16\x1a\x02\r"},
- {"maps", "\xed\x01X"},
- {"math", "\xad\x01LL"},
- {"math/big", "\x03j\x03)\x14=\r\x02\x024\x01\x02\x13"},
- {"math/bits", "\xc5\x02"},
- {"math/cmplx", "\xf7\x01\x02"},
- {"math/rand", "\xb5\x01B;\x01\x12"},
- {"math/rand/v2", "m,\x02\\\x02L"},
- {"mime", "\x02\x01b\b\x03z\f \x17\x03\x02\x0f\x02"},
- {"mime/multipart", "\x02\x01G#\x03E5\f\x01\x06\x02\x15\x02\x06\x11\x02\x01\x15"},
- {"mime/quotedprintable", "\x02\x01mz"},
- {"net", "\x04\t`+\x1d\a\x04\x05\f\x01\x04\x14\x01%\x06\r\n\x05\x01\x01\v\x06\a"},
- {"net/http", "\x02\x01\x04\x04\x02=\b\x13\x01\a\x03E5\x01\x03\b\x01\x02\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\n\x01\x01\x01\x02\x01\x01\v\x02\x02\x02\b\x01\x01\x01"},
- {"net/http/cgi", "\x02P\x1b\x03z\x04\b\n\x01\x13\x01\x01\x01\x04\x01\x05\x02\n\x02\x01\x0f\x0e"},
- {"net/http/cookiejar", "\x04i\x03\x90\x01\x01\b\f\x18\x03\x02\r\x04"},
- {"net/http/fcgi", "\x02\x01\nY\a\x03z\x16\x01\x01\x14\x1a\x02\r"},
- {"net/http/httptest", "\x02\x01\nE\x02\x1b\x01z\x04\x12\x01\n\t\x02\x19\x01\x02\r\x0e"},
- {"net/http/httptrace", "\rEn@\x14\n!"},
- {"net/http/httputil", "\x02\x01\n`\x03z\x04\x0f\x03\x01\x05\x02\x01\v\x01\x1b\x02\r\x0e"},
- {"net/http/internal", "\x02\x01j\x03z"},
- {"net/http/internal/ascii", "\xb0\x02\x11"},
- {"net/http/internal/httpcommon", "\r`\x03\x96\x01\x0e\x01\x19\x01\x01\x02\x1b\x02"},
- {"net/http/internal/testcert", "\xb0\x02"},
- {"net/http/pprof", "\x02\x01\nc\x19,\x11$\x04\x13\x14\x01\r\x06\x03\x01\x02\x01\x0f"},
+ {"log/slog/internal/benchmarks", "\rg\x03\x83\x01\x06\x03:\x12"},
+ {"log/slog/internal/buffer", "\xc0\x02"},
+ {"log/syslog", "t\x03\x87\x01\x12\x16\x18\x02\x0f"},
+ {"maps", "\xfd\x01X"},
+ {"math", "\xb5\x01TL"},
+ {"math/big", "\x03q\x03)\x15E\f\x03\x020\x02\x01\x02\x15"},
+ {"math/big/internal/asmgen", "\x03\x01s\x92\x012\x03"},
+ {"math/bits", "\xd5\x02"},
+ {"math/cmplx", "\x86\x02\x03"},
+ {"math/rand", "\xbd\x01I:\x01\x14"},
+ {"math/rand/v2", "t,\x03c\x03L"},
+ {"mime", "\x02\x01i\b\x03\x83\x01\v!\x15\x03\x02\x11\x02"},
+ {"mime/multipart", "\x02\x01N#\x03F=\v\x01\a\x02\x15\x02\x06\x0f\x02\x01\x17"},
+ {"mime/quotedprintable", "\x02\x01t\x83\x01"},
+ {"net", "\x04\tg+\x1e\n\x05\x13\x01\x01\x04\x15\x01%\x06\r\b\x05\x01\x01\r\x06\a"},
+ {"net/http", "\x02\x01\x03\x01\x04\x02D\b\x13\x01\a\x03F=\x01\x03\a\x01\x03\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\b\x01\x01\x01\x02\x01\x0e\x02\x02\x02\b\x01\x01\x01"},
+ {"net/http/cgi", "\x02W\x1b\x03\x83\x01\x04\a\v\x01\x13\x01\x01\x01\x04\x01\x05\x02\b\x02\x01\x11\x0e"},
+ {"net/http/cookiejar", "\x04p\x03\x99\x01\x01\b\a\x05\x16\x03\x02\x0f\x04"},
+ {"net/http/fcgi", "\x02\x01\n`\a\x03\x83\x01\x16\x01\x01\x14\x18\x02\x0f"},
+ {"net/http/httptest", "\x02\x01\nL\x02\x1b\x01\x83\x01\x04\x12\x01\n\t\x02\x17\x01\x02\x0f\x0e"},
+ {"net/http/httptrace", "\rLnI\x14\n!"},
+ {"net/http/httputil", "\x02\x01\ng\x03\x83\x01\x04\x0f\x03\x01\x05\x02\x01\v\x01\x19\x02\x01\x0e\x0e"},
+ {"net/http/internal", "\x02\x01q\x03\x83\x01"},
+ {"net/http/internal/ascii", "\xbe\x02\x13"},
+ {"net/http/internal/httpcommon", "\rg\x03\x9f\x01\x0e\x01\x17\x01\x01\x02\x1d\x02"},
+ {"net/http/internal/testcert", "\xbe\x02"},
+ {"net/http/pprof", "\x02\x01\nj\x19-\x02\x0e-\x04\x13\x14\x01\r\x04\x03\x01\x02\x01\x11"},
{"net/internal/cgotest", ""},
- {"net/internal/socktest", "p\xc2\x01\x02"},
- {"net/mail", "\x02k\x03z\x04\x0f\x03\x14\x1c\x02\r\x04"},
- {"net/netip", "\x04i+\x01#;\x026\x15"},
- {"net/rpc", "\x02f\x05\x03\x10\n`\x04\x12\x01\x1d\x0f\x03\x02"},
- {"net/rpc/jsonrpc", "j\x03\x03z\x16\x11!"},
- {"net/smtp", "\x19.\v\x13\b\x03z\x16\x14\x1c"},
- {"net/textproto", "\x02\x01j\x03z\r\t/\x01\x02\x13"},
- {"net/url", "m\x03\x86\x01%\x12\x02\x01\x15"},
- {"os", "m+\x01\x18\x03\b\t\r\x03\x01\x04\x10\x018\n\x05\x01\x01\v\x06"},
- {"os/exec", "\x03\n`H \x01\x14\x01+\x06\a\f\x01\x04\v"},
- {"os/exec/internal/fdtest", "\xb4\x02"},
- {"os/signal", "\r\x89\x02\x17\x05\x02"},
- {"os/user", "\x02\x01j\x03z,\r\f\x01\x02"},
- {"path", "m+\xab\x01"},
- {"path/filepath", "m+\x19:+\r\n\x03\x04\x0f"},
- {"plugin", "m"},
- {"reflect", "m'\x04\x1c\b\f\x04\x02\x19\x10,\f\x03\x0f\x02\x02"},
+ {"net/internal/socktest", "w\xc9\x01\x02"},
+ {"net/mail", "\x02r\x03\x83\x01\x04\x0f\x03\x14\x1a\x02\x0f\x04"},
+ {"net/netip", "\x04p+\x01f\x034\x17"},
+ {"net/rpc", "\x02m\x05\x03\x10\ni\x04\x12\x01\x1d\r\x03\x02"},
+ {"net/rpc/jsonrpc", "q\x03\x03\x83\x01\x16\x11\x1f"},
+ {"net/smtp", "\x194\f\x13\b\x03\x83\x01\x16\x14\x1a"},
+ {"net/textproto", "\x02\x01q\x03\x83\x01\f\n-\x01\x02\x15"},
+ {"net/url", "t\x03Fc\v\x10\x02\x01\x17"},
+ {"os", "t+\x01\x19\x03\x10\x14\x01\x03\x01\x05\x10\x018\b\x05\x01\x01\r\x06"},
+ {"os/exec", "\x03\ngI'\x01\x15\x01+\x06\a\n\x01\x04\r"},
+ {"os/exec/internal/fdtest", "\xc2\x02"},
+ {"os/signal", "\r\x99\x02\x15\x05\x02"},
+ {"os/user", "\x02\x01q\x03\x83\x01,\r\n\x01\x02"},
+ {"path", "t+\xb4\x01"},
+ {"path/filepath", "t+\x1aB+\r\b\x03\x04\x11"},
+ {"plugin", "t"},
+ {"reflect", "t'\x04\x1d\x13\b\x04\x05\x17\x06\t-\n\x03\x11\x02\x02"},
{"reflect/internal/example1", ""},
{"reflect/internal/example2", ""},
- {"regexp", "\x03\xe7\x018\v\x02\x01\x02\x0f\x02"},
- {"regexp/syntax", "\xad\x02\x01\x01\x01\x11\x02"},
- {"runtime", "\x94\x01\x04\x01\x02\f\x06\a\x02\x01\x01\x0f\x03\x01\x01\x01\x01\x01\x03\x0fd"},
- {"runtime/coverage", "\x9f\x01K"},
- {"runtime/debug", "pUQ\r\n\x02\x01\x0f\x06"},
- {"runtime/internal/startlinetest", ""},
- {"runtime/internal/wasitest", ""},
- {"runtime/metrics", "\xb6\x01A,\""},
- {"runtime/pprof", "\x02\x01\x01\x03\x06Y\a\x03$3#\r\x1f\r\n\x01\x01\x01\x02\x02\b\x03\x06"},
- {"runtime/race", "\xab\x02"},
+ {"regexp", "\x03\xf7\x018\t\x02\x01\x02\x11\x02"},
+ {"regexp/syntax", "\xbb\x02\x01\x01\x01\x02\x11\x02"},
+ {"runtime", "\x9b\x01\x04\x01\x03\f\x06\a\x02\x01\x01\x0e\x03\x01\x01\x01\x02\x01\x01\x01\x02\x01\x04\x01\x10\x18L"},
+ {"runtime/coverage", "\xa7\x01S"},
+ {"runtime/debug", "wUZ\r\b\x02\x01\x11\x06"},
+ {"runtime/metrics", "\xbe\x01H-\""},
+ {"runtime/pprof", "\x02\x01\x01\x03\x06`\a\x03$$\x0f\v!\f \r\b\x01\x01\x01\x02\x02\n\x03\x06"},
+ {"runtime/race", "\xb9\x02"},
{"runtime/race/internal/amd64v1", ""},
- {"runtime/trace", "\rcz9\x0f\x01\x12"},
- {"slices", "\x04\xe9\x01\fL"},
- {"sort", "\xc9\x0104"},
- {"strconv", "m+:%\x02J"},
- {"strings", "m'\x04:\x18\x03\f9\x0f\x02\x02"},
+ {"runtime/trace", "\rg\x03z\t9\b\x05\x01\x0e\x06"},
+ {"slices", "\x04\xf9\x01\fL"},
+ {"sort", "\xd0\x0192"},
+ {"strconv", "t+A\x01r"},
+ {"strings", "t'\x04B\x19\x03\f7\x11\x02\x02"},
{"structs", ""},
- {"sync", "\xc8\x01\vP\x10\x12"},
- {"sync/atomic", "\xc5\x02"},
- {"syscall", "m(\x03\x01\x1b\b\x03\x03\x06\aT\n\x05\x01\x12"},
- {"testing", "\x03\n`\x02\x01X\x0f\x13\r\x04\x1b\x06\x02\x05\x02\a\x01\x02\x01\x02\x01\f\x02\x02\x02"},
- {"testing/fstest", "m\x03z\x01\v%\x12\x03\b\a"},
- {"testing/internal/testdeps", "\x02\v\xa6\x01'\x10,\x03\x05\x03\b\a\x02\r"},
- {"testing/iotest", "\x03j\x03z\x04"},
- {"testing/quick", "o\x01\x87\x01\x04#\x12\x0f"},
- {"testing/slogtest", "\r`\x03\x80\x01.\x05\x12\n"},
- {"text/scanner", "\x03mz,+\x02"},
- {"text/tabwriter", "pzY"},
- {"text/template", "m\x03B8\x01\v\x1f\x01\x05\x01\x02\x05\r\x02\f\x03\x02"},
- {"text/template/parse", "\x03m\xb3\x01\f\x01\x11\x02"},
- {"time", "m+\x1d\x1d'*\x0f\x02\x11"},
- {"time/tzdata", "m\xc7\x01\x11"},
+ {"sync", "\xcf\x01\x13\x01P\x0e\x14"},
+ {"sync/atomic", "\xd5\x02"},
+ {"syscall", "t(\x03\x01\x1c\n\x03\x06\r\x04S\b\x05\x01\x14"},
+ {"testing", "\x03\ng\x02\x01X\x17\x14\f\x05\x1b\x06\x02\x05\x02\x05\x01\x02\x01\x02\x01\x0e\x02\x04"},
+ {"testing/cryptotest", "QOZ\x124\x03\x12"},
+ {"testing/fstest", "t\x03\x83\x01\x01\n&\x10\x03\t\b"},
+ {"testing/internal/testdeps", "\x02\v\xae\x01/\x10,\x03\x05\x03\x06\a\x02\x0f"},
+ {"testing/iotest", "\x03q\x03\x83\x01\x04"},
+ {"testing/quick", "v\x01\x8f\x01\x05#\x10\x11"},
+ {"testing/slogtest", "\rg\x03\x89\x01.\x05\x10\f"},
+ {"testing/synctest", "\xe3\x01`\x12"},
+ {"text/scanner", "\x03t\x83\x01,+\x02"},
+ {"text/tabwriter", "w\x83\x01Y"},
+ {"text/template", "t\x03C@\x01\n \x01\x05\x01\x02\x05\v\x02\x0e\x03\x02"},
+ {"text/template/parse", "\x03t\xbc\x01\n\x01\x13\x02"},
+ {"time", "t+\x1e$(*\r\x02\x13"},
+ {"time/tzdata", "t\xce\x01\x13"},
{"unicode", ""},
{"unicode/utf16", ""},
{"unicode/utf8", ""},
- {"unique", "\x94\x01>\x01P\x0f\x13\x12"},
+ {"unique", "\x9b\x01!%\x01Q\r\x01\x14\x12"},
{"unsafe", ""},
- {"vendor/golang.org/x/crypto/chacha20", "\x10V\a\x8c\x01*'"},
- {"vendor/golang.org/x/crypto/chacha20poly1305", "\x10V\a\xd9\x01\x04\x01\a"},
- {"vendor/golang.org/x/crypto/cryptobyte", "c\n\x03\x88\x01&!\n"},
+ {"vendor/golang.org/x/crypto/chacha20", "\x10]\a\x95\x01*'"},
+ {"vendor/golang.org/x/crypto/chacha20poly1305", "\x10\aV\a\xe2\x01\x04\x01\a"},
+ {"vendor/golang.org/x/crypto/cryptobyte", "j\n\x03\x90\x01'!\n"},
{"vendor/golang.org/x/crypto/cryptobyte/asn1", ""},
- {"vendor/golang.org/x/crypto/internal/alias", "\xc5\x02"},
- {"vendor/golang.org/x/crypto/internal/poly1305", "Q\x15\x93\x01"},
- {"vendor/golang.org/x/net/dns/dnsmessage", "m"},
- {"vendor/golang.org/x/net/http/httpguts", "\x80\x02\x14\x1c\x13\r"},
- {"vendor/golang.org/x/net/http/httpproxy", "m\x03\x90\x01\x15\x01\x1a\x13\r"},
- {"vendor/golang.org/x/net/http2/hpack", "\x03j\x03zH"},
- {"vendor/golang.org/x/net/idna", "p\x87\x019\x13\x10\x02\x01"},
- {"vendor/golang.org/x/net/nettest", "\x03c\a\x03z\x11\x05\x16\x01\f\f\x01\x02\x02\x01\n"},
- {"vendor/golang.org/x/sys/cpu", "\x96\x02\r\f\x01\x15"},
- {"vendor/golang.org/x/text/secure/bidirule", "m\xd6\x01\x11\x01"},
- {"vendor/golang.org/x/text/transform", "\x03j}Y"},
- {"vendor/golang.org/x/text/unicode/bidi", "\x03\be~@\x15"},
- {"vendor/golang.org/x/text/unicode/norm", "f\nzH\x11\x11"},
- {"weak", "\x94\x01\x8f\x01\""},
+ {"vendor/golang.org/x/crypto/internal/alias", "\xd5\x02"},
+ {"vendor/golang.org/x/crypto/internal/poly1305", "X\x15\x9c\x01"},
+ {"vendor/golang.org/x/net/dns/dnsmessage", "t\xc7\x01"},
+ {"vendor/golang.org/x/net/http/httpguts", "\x90\x02\x14\x1a\x15\r"},
+ {"vendor/golang.org/x/net/http/httpproxy", "t\x03\x99\x01\x10\x05\x01\x18\x15\r"},
+ {"vendor/golang.org/x/net/http2/hpack", "\x03q\x03\x83\x01F"},
+ {"vendor/golang.org/x/net/idna", "w\x8f\x018\x15\x10\x02\x01"},
+ {"vendor/golang.org/x/net/nettest", "\x03j\a\x03\x83\x01\x11\x05\x16\x01\f\n\x01\x02\x02\x01\f"},
+ {"vendor/golang.org/x/sys/cpu", "\xa6\x02\r\n\x01\x17"},
+ {"vendor/golang.org/x/text/secure/bidirule", "t\xdf\x01\x11\x01"},
+ {"vendor/golang.org/x/text/transform", "\x03q\x86\x01Y"},
+ {"vendor/golang.org/x/text/unicode/bidi", "\x03\bl\x87\x01>\x17"},
+ {"vendor/golang.org/x/text/unicode/norm", "m\n\x83\x01F\x13\x11"},
+ {"weak", "\x9b\x01\x98\x01\""},
}
+
+// bootstrap is the list of bootstrap packages extracted from cmd/dist.
+var bootstrap = map[string]bool{
+ "cmp": true,
+ "cmd/asm": true,
+ "cmd/asm/internal/arch": true,
+ "cmd/asm/internal/asm": true,
+ "cmd/asm/internal/flags": true,
+ "cmd/asm/internal/lex": true,
+ "cmd/cgo": true,
+ "cmd/compile": true,
+ "cmd/compile/internal/abi": true,
+ "cmd/compile/internal/abt": true,
+ "cmd/compile/internal/amd64": true,
+ "cmd/compile/internal/arm": true,
+ "cmd/compile/internal/arm64": true,
+ "cmd/compile/internal/base": true,
+ "cmd/compile/internal/bitvec": true,
+ "cmd/compile/internal/bloop": true,
+ "cmd/compile/internal/compare": true,
+ "cmd/compile/internal/coverage": true,
+ "cmd/compile/internal/deadlocals": true,
+ "cmd/compile/internal/devirtualize": true,
+ "cmd/compile/internal/dwarfgen": true,
+ "cmd/compile/internal/escape": true,
+ "cmd/compile/internal/gc": true,
+ "cmd/compile/internal/importer": true,
+ "cmd/compile/internal/inline": true,
+ "cmd/compile/internal/inline/inlheur": true,
+ "cmd/compile/internal/inline/interleaved": true,
+ "cmd/compile/internal/ir": true,
+ "cmd/compile/internal/liveness": true,
+ "cmd/compile/internal/logopt": true,
+ "cmd/compile/internal/loong64": true,
+ "cmd/compile/internal/loopvar": true,
+ "cmd/compile/internal/mips": true,
+ "cmd/compile/internal/mips64": true,
+ "cmd/compile/internal/noder": true,
+ "cmd/compile/internal/objw": true,
+ "cmd/compile/internal/pgoir": true,
+ "cmd/compile/internal/pkginit": true,
+ "cmd/compile/internal/ppc64": true,
+ "cmd/compile/internal/rangefunc": true,
+ "cmd/compile/internal/reflectdata": true,
+ "cmd/compile/internal/riscv64": true,
+ "cmd/compile/internal/rttype": true,
+ "cmd/compile/internal/s390x": true,
+ "cmd/compile/internal/slice": true,
+ "cmd/compile/internal/ssa": true,
+ "cmd/compile/internal/ssagen": true,
+ "cmd/compile/internal/staticdata": true,
+ "cmd/compile/internal/staticinit": true,
+ "cmd/compile/internal/syntax": true,
+ "cmd/compile/internal/test": true,
+ "cmd/compile/internal/typebits": true,
+ "cmd/compile/internal/typecheck": true,
+ "cmd/compile/internal/types": true,
+ "cmd/compile/internal/types2": true,
+ "cmd/compile/internal/walk": true,
+ "cmd/compile/internal/wasm": true,
+ "cmd/compile/internal/x86": true,
+ "cmd/internal/archive": true,
+ "cmd/internal/bio": true,
+ "cmd/internal/codesign": true,
+ "cmd/internal/dwarf": true,
+ "cmd/internal/edit": true,
+ "cmd/internal/gcprog": true,
+ "cmd/internal/goobj": true,
+ "cmd/internal/hash": true,
+ "cmd/internal/macho": true,
+ "cmd/internal/obj": true,
+ "cmd/internal/obj/arm": true,
+ "cmd/internal/obj/arm64": true,
+ "cmd/internal/obj/loong64": true,
+ "cmd/internal/obj/mips": true,
+ "cmd/internal/obj/ppc64": true,
+ "cmd/internal/obj/riscv": true,
+ "cmd/internal/obj/s390x": true,
+ "cmd/internal/obj/wasm": true,
+ "cmd/internal/obj/x86": true,
+ "cmd/internal/objabi": true,
+ "cmd/internal/par": true,
+ "cmd/internal/pgo": true,
+ "cmd/internal/pkgpath": true,
+ "cmd/internal/quoted": true,
+ "cmd/internal/src": true,
+ "cmd/internal/sys": true,
+ "cmd/internal/telemetry": true,
+ "cmd/internal/telemetry/counter": true,
+ "cmd/link": true,
+ "cmd/link/internal/amd64": true,
+ "cmd/link/internal/arm": true,
+ "cmd/link/internal/arm64": true,
+ "cmd/link/internal/benchmark": true,
+ "cmd/link/internal/dwtest": true,
+ "cmd/link/internal/ld": true,
+ "cmd/link/internal/loadelf": true,
+ "cmd/link/internal/loader": true,
+ "cmd/link/internal/loadmacho": true,
+ "cmd/link/internal/loadpe": true,
+ "cmd/link/internal/loadxcoff": true,
+ "cmd/link/internal/loong64": true,
+ "cmd/link/internal/mips": true,
+ "cmd/link/internal/mips64": true,
+ "cmd/link/internal/ppc64": true,
+ "cmd/link/internal/riscv64": true,
+ "cmd/link/internal/s390x": true,
+ "cmd/link/internal/sym": true,
+ "cmd/link/internal/wasm": true,
+ "cmd/link/internal/x86": true,
+ "compress/flate": true,
+ "compress/zlib": true,
+ "container/heap": true,
+ "debug/dwarf": true,
+ "debug/elf": true,
+ "debug/macho": true,
+ "debug/pe": true,
+ "go/build/constraint": true,
+ "go/constant": true,
+ "go/version": true,
+ "internal/abi": true,
+ "internal/coverage": true,
+ "cmd/internal/cov/covcmd": true,
+ "internal/bisect": true,
+ "internal/buildcfg": true,
+ "internal/exportdata": true,
+ "internal/goarch": true,
+ "internal/godebugs": true,
+ "internal/goexperiment": true,
+ "internal/goroot": true,
+ "internal/gover": true,
+ "internal/goversion": true,
+ "internal/lazyregexp": true,
+ "internal/pkgbits": true,
+ "internal/platform": true,
+ "internal/profile": true,
+ "internal/race": true,
+ "internal/runtime/gc": true,
+ "internal/saferio": true,
+ "internal/syscall/unix": true,
+ "internal/types/errors": true,
+ "internal/unsafeheader": true,
+ "internal/xcoff": true,
+ "internal/zstd": true,
+ "math/bits": true,
+ "sort": true,
+}
+
+// BootstrapVersion is the minor version of Go used during toolchain
+// bootstrapping. Packages for which [IsBootstrapPackage] must not use
+// features of Go newer than this version.
+const BootstrapVersion = Version(24) // go1.24.6
diff --git a/vendor/golang.org/x/tools/internal/stdlib/import.go b/vendor/golang.org/x/tools/internal/stdlib/import.go
index f690987..8ecc672 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/import.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/import.go
@@ -87,3 +87,11 @@ func find(pkg string) (int, bool) {
return strings.Compare(p.name, n)
})
}
+
+// IsBootstrapPackage reports whether pkg is one of the low-level
+// packages in the Go distribution that must compile with the older
+// language version specified by [BootstrapVersion] during toolchain
+// bootstrapping; see golang.org/s/go15bootstrap.
+func IsBootstrapPackage(pkg string) bool {
+ return bootstrap[pkg]
+}
diff --git a/vendor/golang.org/x/tools/internal/stdlib/manifest.go b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
index 64f0326..33e4f50 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/manifest.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/manifest.go
@@ -16,6 +16,14 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).Flush", Method, 0, ""},
{"(*Writer).Write", Method, 0, ""},
{"(*Writer).WriteHeader", Method, 0, ""},
+ {"(FileInfoNames).Gname", Method, 23, ""},
+ {"(FileInfoNames).IsDir", Method, 23, ""},
+ {"(FileInfoNames).ModTime", Method, 23, ""},
+ {"(FileInfoNames).Mode", Method, 23, ""},
+ {"(FileInfoNames).Name", Method, 23, ""},
+ {"(FileInfoNames).Size", Method, 23, ""},
+ {"(FileInfoNames).Sys", Method, 23, ""},
+ {"(FileInfoNames).Uname", Method, 23, ""},
{"(Format).String", Method, 10, ""},
{"ErrFieldTooLong", Var, 0, ""},
{"ErrHeader", Var, 0, ""},
@@ -225,6 +233,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Buffer).Grow", Method, 1, ""},
{"(*Buffer).Len", Method, 0, ""},
{"(*Buffer).Next", Method, 0, ""},
+ {"(*Buffer).Peek", Method, 26, ""},
{"(*Buffer).Read", Method, 0, ""},
{"(*Buffer).ReadByte", Method, 0, ""},
{"(*Buffer).ReadBytes", Method, 0, ""},
@@ -337,6 +346,9 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).Write", Method, 0, ""},
{"(CorruptInputError).Error", Method, 0, ""},
{"(InternalError).Error", Method, 0, ""},
+ {"(Reader).Read", Method, 0, ""},
+ {"(Reader).ReadByte", Method, 0, ""},
+ {"(Resetter).Reset", Method, 4, ""},
{"BestCompression", Const, 0, ""},
{"BestSpeed", Const, 0, ""},
{"CorruptInputError", Type, 0, ""},
@@ -408,6 +420,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).Flush", Method, 0, ""},
{"(*Writer).Reset", Method, 2, ""},
{"(*Writer).Write", Method, 0, ""},
+ {"(Resetter).Reset", Method, 4, ""},
{"BestCompression", Const, 0, ""},
{"BestSpeed", Const, 0, ""},
{"DefaultCompression", Const, 0, ""},
@@ -425,6 +438,11 @@ var PackageSymbols = map[string][]Symbol{
{"Writer", Type, 0, ""},
},
"container/heap": {
+ {"(Interface).Len", Method, 0, ""},
+ {"(Interface).Less", Method, 0, ""},
+ {"(Interface).Pop", Method, 0, ""},
+ {"(Interface).Push", Method, 0, ""},
+ {"(Interface).Swap", Method, 0, ""},
{"Fix", Func, 2, "func(h Interface, i int)"},
{"Init", Func, 0, "func(h Interface)"},
{"Interface", Type, 0, ""},
@@ -468,6 +486,10 @@ var PackageSymbols = map[string][]Symbol{
{"Ring.Value", Field, 0, ""},
},
"context": {
+ {"(Context).Deadline", Method, 7, ""},
+ {"(Context).Done", Method, 7, ""},
+ {"(Context).Err", Method, 7, ""},
+ {"(Context).Value", Method, 7, ""},
{"AfterFunc", Func, 21, "func(ctx Context, f func()) (stop func() bool)"},
{"Background", Func, 7, "func() Context"},
{"CancelCauseFunc", Type, 20, ""},
@@ -487,21 +509,36 @@ var PackageSymbols = map[string][]Symbol{
{"WithoutCancel", Func, 21, "func(parent Context) Context"},
},
"crypto": {
+ {"(Decapsulator).Decapsulate", Method, 26, ""},
+ {"(Decapsulator).Encapsulator", Method, 26, ""},
+ {"(Decrypter).Decrypt", Method, 5, ""},
+ {"(Decrypter).Public", Method, 5, ""},
+ {"(Encapsulator).Bytes", Method, 26, ""},
+ {"(Encapsulator).Encapsulate", Method, 26, ""},
{"(Hash).Available", Method, 0, ""},
{"(Hash).HashFunc", Method, 4, ""},
{"(Hash).New", Method, 0, ""},
{"(Hash).Size", Method, 0, ""},
{"(Hash).String", Method, 15, ""},
+ {"(MessageSigner).Public", Method, 25, ""},
+ {"(MessageSigner).Sign", Method, 25, ""},
+ {"(MessageSigner).SignMessage", Method, 25, ""},
+ {"(Signer).Public", Method, 4, ""},
+ {"(Signer).Sign", Method, 4, ""},
+ {"(SignerOpts).HashFunc", Method, 4, ""},
{"BLAKE2b_256", Const, 9, ""},
{"BLAKE2b_384", Const, 9, ""},
{"BLAKE2b_512", Const, 9, ""},
{"BLAKE2s_256", Const, 9, ""},
+ {"Decapsulator", Type, 26, ""},
{"Decrypter", Type, 5, ""},
{"DecrypterOpts", Type, 5, ""},
+ {"Encapsulator", Type, 26, ""},
{"Hash", Type, 0, ""},
{"MD4", Const, 0, ""},
{"MD5", Const, 0, ""},
{"MD5SHA1", Const, 0, ""},
+ {"MessageSigner", Type, 25, ""},
{"PrivateKey", Type, 0, ""},
{"PublicKey", Type, 2, ""},
{"RIPEMD160", Const, 0, ""},
@@ -517,6 +554,7 @@ var PackageSymbols = map[string][]Symbol{
{"SHA512", Const, 0, ""},
{"SHA512_224", Const, 5, ""},
{"SHA512_256", Const, 5, ""},
+ {"SignMessage", Func, 25, "func(signer Signer, rand io.Reader, msg []byte, opts SignerOpts) (signature []byte, err error)"},
{"Signer", Type, 4, ""},
{"SignerOpts", Type, 4, ""},
},
@@ -527,6 +565,16 @@ var PackageSymbols = map[string][]Symbol{
{"NewCipher", Func, 0, "func(key []byte) (cipher.Block, error)"},
},
"crypto/cipher": {
+ {"(AEAD).NonceSize", Method, 2, ""},
+ {"(AEAD).Open", Method, 2, ""},
+ {"(AEAD).Overhead", Method, 2, ""},
+ {"(AEAD).Seal", Method, 2, ""},
+ {"(Block).BlockSize", Method, 0, ""},
+ {"(Block).Decrypt", Method, 0, ""},
+ {"(Block).Encrypt", Method, 0, ""},
+ {"(BlockMode).BlockSize", Method, 0, ""},
+ {"(BlockMode).CryptBlocks", Method, 0, ""},
+ {"(Stream).XORKeyStream", Method, 0, ""},
{"(StreamReader).Read", Method, 0, ""},
{"(StreamWriter).Close", Method, 0, ""},
{"(StreamWriter).Write", Method, 0, ""},
@@ -578,7 +626,7 @@ var PackageSymbols = map[string][]Symbol{
{"PublicKey", Type, 0, ""},
{"PublicKey.Parameters", Field, 0, ""},
{"PublicKey.Y", Field, 0, ""},
- {"Sign", Func, 0, "func(rand io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"},
+ {"Sign", Func, 0, "func(random io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"},
{"Verify", Func, 0, "func(pub *PublicKey, hash []byte, r *big.Int, s *big.Int) bool"},
},
"crypto/ecdh": {
@@ -591,7 +639,13 @@ var PackageSymbols = map[string][]Symbol{
{"(*PublicKey).Bytes", Method, 20, ""},
{"(*PublicKey).Curve", Method, 20, ""},
{"(*PublicKey).Equal", Method, 20, ""},
- {"Curve", Type, 20, ""},
+ {"(Curve).GenerateKey", Method, 20, ""},
+ {"(Curve).NewPrivateKey", Method, 20, ""},
+ {"(Curve).NewPublicKey", Method, 20, ""},
+ {"(KeyExchanger).Curve", Method, 26, ""},
+ {"(KeyExchanger).ECDH", Method, 26, ""},
+ {"(KeyExchanger).PublicKey", Method, 26, ""},
+ {"KeyExchanger", Type, 26, ""},
{"P256", Func, 20, "func() Curve"},
{"P384", Func, 20, "func() Curve"},
{"P521", Func, 20, "func() Curve"},
@@ -600,10 +654,12 @@ var PackageSymbols = map[string][]Symbol{
{"X25519", Func, 20, "func() Curve"},
},
"crypto/ecdsa": {
+ {"(*PrivateKey).Bytes", Method, 25, ""},
{"(*PrivateKey).ECDH", Method, 20, ""},
{"(*PrivateKey).Equal", Method, 15, ""},
{"(*PrivateKey).Public", Method, 4, ""},
{"(*PrivateKey).Sign", Method, 4, ""},
+ {"(*PublicKey).Bytes", Method, 25, ""},
{"(*PublicKey).ECDH", Method, 20, ""},
{"(*PublicKey).Equal", Method, 15, ""},
{"(PrivateKey).Add", Method, 0, ""},
@@ -618,7 +674,9 @@ var PackageSymbols = map[string][]Symbol{
{"(PublicKey).Params", Method, 0, ""},
{"(PublicKey).ScalarBaseMult", Method, 0, ""},
{"(PublicKey).ScalarMult", Method, 0, ""},
- {"GenerateKey", Func, 0, "func(c elliptic.Curve, rand io.Reader) (*PrivateKey, error)"},
+ {"GenerateKey", Func, 0, "func(c elliptic.Curve, r io.Reader) (*PrivateKey, error)"},
+ {"ParseRawPrivateKey", Func, 25, "func(curve elliptic.Curve, data []byte) (*PrivateKey, error)"},
+ {"ParseUncompressedPublicKey", Func, 25, "func(curve elliptic.Curve, data []byte) (*PublicKey, error)"},
{"PrivateKey", Type, 0, ""},
{"PrivateKey.D", Field, 0, ""},
{"PrivateKey.PublicKey", Field, 0, ""},
@@ -627,7 +685,7 @@ var PackageSymbols = map[string][]Symbol{
{"PublicKey.X", Field, 0, ""},
{"PublicKey.Y", Field, 0, ""},
{"Sign", Func, 0, "func(rand io.Reader, priv *PrivateKey, hash []byte) (r *big.Int, s *big.Int, err error)"},
- {"SignASN1", Func, 15, "func(rand io.Reader, priv *PrivateKey, hash []byte) ([]byte, error)"},
+ {"SignASN1", Func, 15, "func(r io.Reader, priv *PrivateKey, hash []byte) ([]byte, error)"},
{"Verify", Func, 0, "func(pub *PublicKey, hash []byte, r *big.Int, s *big.Int) bool"},
{"VerifyASN1", Func, 15, "func(pub *PublicKey, hash []byte, sig []byte) bool"},
},
@@ -638,7 +696,7 @@ var PackageSymbols = map[string][]Symbol{
{"(PrivateKey).Seed", Method, 13, ""},
{"(PrivateKey).Sign", Method, 13, ""},
{"(PublicKey).Equal", Method, 15, ""},
- {"GenerateKey", Func, 13, "func(rand io.Reader) (PublicKey, PrivateKey, error)"},
+ {"GenerateKey", Func, 13, "func(random io.Reader) (PublicKey, PrivateKey, error)"},
{"NewKeyFromSeed", Func, 13, "func(seed []byte) PrivateKey"},
{"Options", Type, 20, ""},
{"Options.Context", Field, 20, ""},
@@ -660,6 +718,12 @@ var PackageSymbols = map[string][]Symbol{
{"(*CurveParams).Params", Method, 0, ""},
{"(*CurveParams).ScalarBaseMult", Method, 0, ""},
{"(*CurveParams).ScalarMult", Method, 0, ""},
+ {"(Curve).Add", Method, 0, ""},
+ {"(Curve).Double", Method, 0, ""},
+ {"(Curve).IsOnCurve", Method, 0, ""},
+ {"(Curve).Params", Method, 0, ""},
+ {"(Curve).ScalarBaseMult", Method, 0, ""},
+ {"(Curve).ScalarMult", Method, 0, ""},
{"Curve", Type, 0, ""},
{"CurveParams", Type, 0, ""},
{"CurveParams.B", Field, 0, ""},
@@ -681,6 +745,9 @@ var PackageSymbols = map[string][]Symbol{
},
"crypto/fips140": {
{"Enabled", Func, 24, "func() bool"},
+ {"Enforced", Func, 26, "func() bool"},
+ {"Version", Func, 26, "func() string"},
+ {"WithoutEnforcement", Func, 26, "func(f func())"},
},
"crypto/hkdf": {
{"Expand", Func, 24, "func[H hash.Hash](h func() H, pseudorandomKey []byte, info string, keyLength int) ([]byte, error)"},
@@ -691,6 +758,54 @@ var PackageSymbols = map[string][]Symbol{
{"Equal", Func, 1, "func(mac1 []byte, mac2 []byte) bool"},
{"New", Func, 0, "func(h func() hash.Hash, key []byte) hash.Hash"},
},
+ "crypto/hpke": {
+ {"(*Recipient).Export", Method, 26, ""},
+ {"(*Recipient).Open", Method, 26, ""},
+ {"(*Sender).Export", Method, 26, ""},
+ {"(*Sender).Seal", Method, 26, ""},
+ {"(AEAD).ID", Method, 26, ""},
+ {"(KDF).ID", Method, 26, ""},
+ {"(KEM).DeriveKeyPair", Method, 26, ""},
+ {"(KEM).GenerateKey", Method, 26, ""},
+ {"(KEM).ID", Method, 26, ""},
+ {"(KEM).NewPrivateKey", Method, 26, ""},
+ {"(KEM).NewPublicKey", Method, 26, ""},
+ {"(PrivateKey).Bytes", Method, 26, ""},
+ {"(PrivateKey).KEM", Method, 26, ""},
+ {"(PrivateKey).PublicKey", Method, 26, ""},
+ {"(PublicKey).Bytes", Method, 26, ""},
+ {"(PublicKey).KEM", Method, 26, ""},
+ {"AES128GCM", Func, 26, "func() AEAD"},
+ {"AES256GCM", Func, 26, "func() AEAD"},
+ {"ChaCha20Poly1305", Func, 26, "func() AEAD"},
+ {"DHKEM", Func, 26, "func(curve ecdh.Curve) KEM"},
+ {"ExportOnly", Func, 26, "func() AEAD"},
+ {"HKDFSHA256", Func, 26, "func() KDF"},
+ {"HKDFSHA384", Func, 26, "func() KDF"},
+ {"HKDFSHA512", Func, 26, "func() KDF"},
+ {"MLKEM1024", Func, 26, "func() KEM"},
+ {"MLKEM1024P384", Func, 26, "func() KEM"},
+ {"MLKEM768", Func, 26, "func() KEM"},
+ {"MLKEM768P256", Func, 26, "func() KEM"},
+ {"MLKEM768X25519", Func, 26, "func() KEM"},
+ {"NewAEAD", Func, 26, "func(id uint16) (AEAD, error)"},
+ {"NewDHKEMPrivateKey", Func, 26, "func(priv ecdh.KeyExchanger) (PrivateKey, error)"},
+ {"NewDHKEMPublicKey", Func, 26, "func(pub *ecdh.PublicKey) (PublicKey, error)"},
+ {"NewHybridPrivateKey", Func, 26, "func(pq crypto.Decapsulator, t ecdh.KeyExchanger) (PrivateKey, error)"},
+ {"NewHybridPublicKey", Func, 26, "func(pq crypto.Encapsulator, t *ecdh.PublicKey) (PublicKey, error)"},
+ {"NewKDF", Func, 26, "func(id uint16) (KDF, error)"},
+ {"NewKEM", Func, 26, "func(id uint16) (KEM, error)"},
+ {"NewMLKEMPrivateKey", Func, 26, "func(priv crypto.Decapsulator) (PrivateKey, error)"},
+ {"NewMLKEMPublicKey", Func, 26, "func(pub crypto.Encapsulator) (PublicKey, error)"},
+ {"NewRecipient", Func, 26, "func(enc []byte, k PrivateKey, kdf KDF, aead AEAD, info []byte) (*Recipient, error)"},
+ {"NewSender", Func, 26, "func(pk PublicKey, kdf KDF, aead AEAD, info []byte) (enc []byte, s *Sender, err error)"},
+ {"Open", Func, 26, "func(k PrivateKey, kdf KDF, aead AEAD, info []byte, ciphertext []byte) ([]byte, error)"},
+ {"Recipient", Type, 26, ""},
+ {"SHAKE128", Func, 26, "func() KDF"},
+ {"SHAKE256", Func, 26, "func() KDF"},
+ {"Seal", Func, 26, "func(pk PublicKey, kdf KDF, aead AEAD, info []byte, plaintext []byte) ([]byte, error)"},
+ {"Sender", Type, 26, ""},
+ },
"crypto/md5": {
{"BlockSize", Const, 0, ""},
{"New", Func, 0, "func() hash.Hash"},
@@ -701,9 +816,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*DecapsulationKey1024).Bytes", Method, 24, ""},
{"(*DecapsulationKey1024).Decapsulate", Method, 24, ""},
{"(*DecapsulationKey1024).EncapsulationKey", Method, 24, ""},
+ {"(*DecapsulationKey1024).Encapsulator", Method, 26, ""},
{"(*DecapsulationKey768).Bytes", Method, 24, ""},
{"(*DecapsulationKey768).Decapsulate", Method, 24, ""},
{"(*DecapsulationKey768).EncapsulationKey", Method, 24, ""},
+ {"(*DecapsulationKey768).Encapsulator", Method, 26, ""},
{"(*EncapsulationKey1024).Bytes", Method, 24, ""},
{"(*EncapsulationKey1024).Encapsulate", Method, 24, ""},
{"(*EncapsulationKey768).Bytes", Method, 24, ""},
@@ -725,12 +842,16 @@ var PackageSymbols = map[string][]Symbol{
{"SeedSize", Const, 24, ""},
{"SharedKeySize", Const, 24, ""},
},
+ "crypto/mlkem/mlkemtest": {
+ {"Encapsulate1024", Func, 26, "func(ek *mlkem.EncapsulationKey1024, random []byte) (sharedKey []byte, ciphertext []byte, err error)"},
+ {"Encapsulate768", Func, 26, "func(ek *mlkem.EncapsulationKey768, random []byte) (sharedKey []byte, ciphertext []byte, err error)"},
+ },
"crypto/pbkdf2": {
{"Key", Func, 24, "func[Hash hash.Hash](h func() Hash, password string, salt []byte, iter int, keyLength int) ([]byte, error)"},
},
"crypto/rand": {
{"Int", Func, 0, "func(rand io.Reader, max *big.Int) (n *big.Int, err error)"},
- {"Prime", Func, 0, "func(rand io.Reader, bits int) (*big.Int, error)"},
+ {"Prime", Func, 0, "func(r io.Reader, bits int) (*big.Int, error)"},
{"Read", Func, 0, "func(b []byte) (n int, err error)"},
{"Reader", Var, 0, ""},
{"Text", Func, 24, "func() string"},
@@ -762,6 +883,7 @@ var PackageSymbols = map[string][]Symbol{
{"DecryptPKCS1v15", Func, 0, "func(random io.Reader, priv *PrivateKey, ciphertext []byte) ([]byte, error)"},
{"DecryptPKCS1v15SessionKey", Func, 0, "func(random io.Reader, priv *PrivateKey, ciphertext []byte, key []byte) error"},
{"EncryptOAEP", Func, 0, "func(hash hash.Hash, random io.Reader, pub *PublicKey, msg []byte, label []byte) ([]byte, error)"},
+ {"EncryptOAEPWithOptions", Func, 26, "func(random io.Reader, pub *PublicKey, msg []byte, opts *OAEPOptions) ([]byte, error)"},
{"EncryptPKCS1v15", Func, 0, "func(random io.Reader, pub *PublicKey, msg []byte) ([]byte, error)"},
{"ErrDecryption", Var, 0, ""},
{"ErrMessageTooLong", Var, 0, ""},
@@ -793,7 +915,7 @@ var PackageSymbols = map[string][]Symbol{
{"PublicKey.E", Field, 0, ""},
{"PublicKey.N", Field, 0, ""},
{"SignPKCS1v15", Func, 0, "func(random io.Reader, priv *PrivateKey, hash crypto.Hash, hashed []byte) ([]byte, error)"},
- {"SignPSS", Func, 2, "func(rand io.Reader, priv *PrivateKey, hash crypto.Hash, digest []byte, opts *PSSOptions) ([]byte, error)"},
+ {"SignPSS", Func, 2, "func(random io.Reader, priv *PrivateKey, hash crypto.Hash, digest []byte, opts *PSSOptions) ([]byte, error)"},
{"VerifyPKCS1v15", Func, 0, "func(pub *PublicKey, hash crypto.Hash, hashed []byte, sig []byte) error"},
{"VerifyPSS", Func, 2, "func(pub *PublicKey, hash crypto.Hash, digest []byte, sig []byte, opts *PSSOptions) error"},
},
@@ -815,6 +937,7 @@ var PackageSymbols = map[string][]Symbol{
"crypto/sha3": {
{"(*SHA3).AppendBinary", Method, 24, ""},
{"(*SHA3).BlockSize", Method, 24, ""},
+ {"(*SHA3).Clone", Method, 25, ""},
{"(*SHA3).MarshalBinary", Method, 24, ""},
{"(*SHA3).Reset", Method, 24, ""},
{"(*SHA3).Size", Method, 24, ""},
@@ -913,6 +1036,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*SessionState).Bytes", Method, 21, ""},
{"(AlertError).Error", Method, 21, ""},
{"(ClientAuthType).String", Method, 15, ""},
+ {"(ClientSessionCache).Get", Method, 3, ""},
+ {"(ClientSessionCache).Put", Method, 3, ""},
{"(CurveID).String", Method, 15, ""},
{"(QUICEncryptionLevel).String", Method, 21, ""},
{"(RecordHeaderError).Error", Method, 6, ""},
@@ -945,6 +1070,7 @@ var PackageSymbols = map[string][]Symbol{
{"ClientHelloInfo.CipherSuites", Field, 4, ""},
{"ClientHelloInfo.Conn", Field, 8, ""},
{"ClientHelloInfo.Extensions", Field, 24, ""},
+ {"ClientHelloInfo.HelloRetryRequest", Field, 26, ""},
{"ClientHelloInfo.ServerName", Field, 4, ""},
{"ClientHelloInfo.SignatureSchemes", Field, 8, ""},
{"ClientHelloInfo.SupportedCurves", Field, 4, ""},
@@ -967,6 +1093,7 @@ var PackageSymbols = map[string][]Symbol{
{"Config.GetCertificate", Field, 4, ""},
{"Config.GetClientCertificate", Field, 8, ""},
{"Config.GetConfigForClient", Field, 8, ""},
+ {"Config.GetEncryptedClientHelloKeys", Field, 25, ""},
{"Config.InsecureSkipVerify", Field, 0, ""},
{"Config.KeyLogWriter", Field, 8, ""},
{"Config.MaxVersion", Field, 2, ""},
@@ -992,6 +1119,7 @@ var PackageSymbols = map[string][]Symbol{
{"ConnectionState.DidResume", Field, 1, ""},
{"ConnectionState.ECHAccepted", Field, 23, ""},
{"ConnectionState.HandshakeComplete", Field, 0, ""},
+ {"ConnectionState.HelloRetryRequest", Field, 26, ""},
{"ConnectionState.NegotiatedProtocol", Field, 0, ""},
{"ConnectionState.NegotiatedProtocolIsMutual", Field, 0, ""},
{"ConnectionState.OCSPResponse", Field, 5, ""},
@@ -1046,8 +1174,10 @@ var PackageSymbols = map[string][]Symbol{
{"QUICEncryptionLevelEarly", Const, 21, ""},
{"QUICEncryptionLevelHandshake", Const, 21, ""},
{"QUICEncryptionLevelInitial", Const, 21, ""},
+ {"QUICErrorEvent", Const, 26, ""},
{"QUICEvent", Type, 21, ""},
{"QUICEvent.Data", Field, 21, ""},
+ {"QUICEvent.Err", Field, 26, ""},
{"QUICEvent.Kind", Field, 21, ""},
{"QUICEvent.Level", Field, 21, ""},
{"QUICEvent.SessionState", Field, 23, ""},
@@ -1078,6 +1208,8 @@ var PackageSymbols = map[string][]Symbol{
{"RequestClientCert", Const, 0, ""},
{"RequireAndVerifyClientCert", Const, 0, ""},
{"RequireAnyClientCert", Const, 0, ""},
+ {"SecP256r1MLKEM768", Const, 26, ""},
+ {"SecP384r1MLKEM1024", Const, 26, ""},
{"Server", Func, 0, "func(conn net.Conn, config *Config) *Conn"},
{"SessionState", Type, 21, ""},
{"SessionState.EarlyData", Field, 21, ""},
@@ -1142,8 +1274,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*RevocationList).CheckSignatureFrom", Method, 19, ""},
{"(CertificateInvalidError).Error", Method, 0, ""},
{"(ConstraintViolationError).Error", Method, 0, ""},
+ {"(ExtKeyUsage).OID", Method, 26, ""},
+ {"(ExtKeyUsage).String", Method, 26, ""},
{"(HostnameError).Error", Method, 0, ""},
{"(InsecureAlgorithmError).Error", Method, 6, ""},
+ {"(KeyUsage).String", Method, 26, ""},
{"(OID).AppendBinary", Method, 24, ""},
{"(OID).AppendText", Method, 24, ""},
{"(OID).Equal", Method, 22, ""},
@@ -1298,6 +1433,7 @@ var PackageSymbols = map[string][]Symbol{
{"NoValidChains", Const, 24, ""},
{"NotAuthorizedToSign", Const, 0, ""},
{"OID", Type, 22, ""},
+ {"OIDFromASN1OID", Func, 26, "func(asn1OID asn1.ObjectIdentifier) (OID, error)"},
{"OIDFromInts", Func, 22, "func(oid []uint64) (OID, error)"},
{"PEMCipher", Type, 1, ""},
{"PEMCipher3DES", Const, 1, ""},
@@ -1507,6 +1643,9 @@ var PackageSymbols = map[string][]Symbol{
{"(NullInt64).Value", Method, 0, ""},
{"(NullString).Value", Method, 0, ""},
{"(NullTime).Value", Method, 13, ""},
+ {"(Result).LastInsertId", Method, 0, ""},
+ {"(Result).RowsAffected", Method, 0, ""},
+ {"(Scanner).Scan", Method, 0, ""},
{"ColumnType", Type, 8, ""},
{"Conn", Type, 9, ""},
{"DB", Type, 0, ""},
@@ -1538,8 +1677,6 @@ var PackageSymbols = map[string][]Symbol{
{"NamedArg.Name", Field, 8, ""},
{"NamedArg.Value", Field, 8, ""},
{"Null", Type, 22, ""},
- {"Null.V", Field, 22, ""},
- {"Null.Valid", Field, 22, ""},
{"NullBool", Type, 0, ""},
{"NullBool.Bool", Field, 0, ""},
{"NullBool.Valid", Field, 0, ""},
@@ -1582,10 +1719,68 @@ var PackageSymbols = map[string][]Symbol{
{"TxOptions.ReadOnly", Field, 8, ""},
},
"database/sql/driver": {
+ {"(ColumnConverter).ColumnConverter", Method, 0, ""},
+ {"(Conn).Begin", Method, 0, ""},
+ {"(Conn).Close", Method, 0, ""},
+ {"(Conn).Prepare", Method, 0, ""},
+ {"(ConnBeginTx).BeginTx", Method, 8, ""},
+ {"(ConnPrepareContext).PrepareContext", Method, 8, ""},
+ {"(Connector).Connect", Method, 10, ""},
+ {"(Connector).Driver", Method, 10, ""},
+ {"(Driver).Open", Method, 0, ""},
+ {"(DriverContext).OpenConnector", Method, 10, ""},
+ {"(Execer).Exec", Method, 0, ""},
+ {"(ExecerContext).ExecContext", Method, 8, ""},
+ {"(NamedValueChecker).CheckNamedValue", Method, 9, ""},
{"(NotNull).ConvertValue", Method, 0, ""},
{"(Null).ConvertValue", Method, 0, ""},
+ {"(Pinger).Ping", Method, 8, ""},
+ {"(Queryer).Query", Method, 1, ""},
+ {"(QueryerContext).QueryContext", Method, 8, ""},
+ {"(Result).LastInsertId", Method, 0, ""},
+ {"(Result).RowsAffected", Method, 0, ""},
+ {"(Rows).Close", Method, 0, ""},
+ {"(Rows).Columns", Method, 0, ""},
+ {"(Rows).Next", Method, 0, ""},
{"(RowsAffected).LastInsertId", Method, 0, ""},
{"(RowsAffected).RowsAffected", Method, 0, ""},
+ {"(RowsColumnTypeDatabaseTypeName).Close", Method, 8, ""},
+ {"(RowsColumnTypeDatabaseTypeName).ColumnTypeDatabaseTypeName", Method, 8, ""},
+ {"(RowsColumnTypeDatabaseTypeName).Columns", Method, 8, ""},
+ {"(RowsColumnTypeDatabaseTypeName).Next", Method, 8, ""},
+ {"(RowsColumnTypeLength).Close", Method, 8, ""},
+ {"(RowsColumnTypeLength).ColumnTypeLength", Method, 8, ""},
+ {"(RowsColumnTypeLength).Columns", Method, 8, ""},
+ {"(RowsColumnTypeLength).Next", Method, 8, ""},
+ {"(RowsColumnTypeNullable).Close", Method, 8, ""},
+ {"(RowsColumnTypeNullable).ColumnTypeNullable", Method, 8, ""},
+ {"(RowsColumnTypeNullable).Columns", Method, 8, ""},
+ {"(RowsColumnTypeNullable).Next", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).Close", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).ColumnTypePrecisionScale", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).Columns", Method, 8, ""},
+ {"(RowsColumnTypePrecisionScale).Next", Method, 8, ""},
+ {"(RowsColumnTypeScanType).Close", Method, 8, ""},
+ {"(RowsColumnTypeScanType).ColumnTypeScanType", Method, 8, ""},
+ {"(RowsColumnTypeScanType).Columns", Method, 8, ""},
+ {"(RowsColumnTypeScanType).Next", Method, 8, ""},
+ {"(RowsNextResultSet).Close", Method, 8, ""},
+ {"(RowsNextResultSet).Columns", Method, 8, ""},
+ {"(RowsNextResultSet).HasNextResultSet", Method, 8, ""},
+ {"(RowsNextResultSet).Next", Method, 8, ""},
+ {"(RowsNextResultSet).NextResultSet", Method, 8, ""},
+ {"(SessionResetter).ResetSession", Method, 10, ""},
+ {"(Stmt).Close", Method, 0, ""},
+ {"(Stmt).Exec", Method, 0, ""},
+ {"(Stmt).NumInput", Method, 0, ""},
+ {"(Stmt).Query", Method, 0, ""},
+ {"(StmtExecContext).ExecContext", Method, 8, ""},
+ {"(StmtQueryContext).QueryContext", Method, 8, ""},
+ {"(Tx).Commit", Method, 0, ""},
+ {"(Tx).Rollback", Method, 0, ""},
+ {"(Validator).IsValid", Method, 15, ""},
+ {"(ValueConverter).ConvertValue", Method, 0, ""},
+ {"(Valuer).Value", Method, 0, ""},
{"Bool", Var, 0, ""},
{"ColumnConverter", Type, 0, ""},
{"Conn", Type, 0, ""},
@@ -1746,6 +1941,9 @@ var PackageSymbols = map[string][]Symbol{
{"(DecodeError).Error", Method, 0, ""},
{"(Tag).GoString", Method, 0, ""},
{"(Tag).String", Method, 0, ""},
+ {"(Type).Common", Method, 0, ""},
+ {"(Type).Size", Method, 0, ""},
+ {"(Type).String", Method, 0, ""},
{"AddrType", Type, 0, ""},
{"AddrType.BasicType", Field, 0, ""},
{"ArrayType", Type, 0, ""},
@@ -3153,6 +3351,7 @@ var PackageSymbols = map[string][]Symbol{
{"R_LARCH_B16", Const, 20, ""},
{"R_LARCH_B21", Const, 20, ""},
{"R_LARCH_B26", Const, 20, ""},
+ {"R_LARCH_CALL36", Const, 26, ""},
{"R_LARCH_CFA", Const, 22, ""},
{"R_LARCH_COPY", Const, 19, ""},
{"R_LARCH_DELETE", Const, 22, ""},
@@ -3210,11 +3409,25 @@ var PackageSymbols = map[string][]Symbol{
{"R_LARCH_SUB64", Const, 19, ""},
{"R_LARCH_SUB8", Const, 19, ""},
{"R_LARCH_SUB_ULEB128", Const, 22, ""},
+ {"R_LARCH_TLS_DESC32", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_HI12", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_LO20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_PC_HI12", Const, 26, ""},
+ {"R_LARCH_TLS_DESC64_PC_LO20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_CALL", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_HI20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_LD", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_LO12", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_PCREL20_S2", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_PC_HI20", Const, 26, ""},
+ {"R_LARCH_TLS_DESC_PC_LO12", Const, 26, ""},
{"R_LARCH_TLS_DTPMOD32", Const, 19, ""},
{"R_LARCH_TLS_DTPMOD64", Const, 19, ""},
{"R_LARCH_TLS_DTPREL32", Const, 19, ""},
{"R_LARCH_TLS_DTPREL64", Const, 19, ""},
{"R_LARCH_TLS_GD_HI20", Const, 20, ""},
+ {"R_LARCH_TLS_GD_PCREL20_S2", Const, 26, ""},
{"R_LARCH_TLS_GD_PC_HI20", Const, 20, ""},
{"R_LARCH_TLS_IE64_HI12", Const, 20, ""},
{"R_LARCH_TLS_IE64_LO20", Const, 20, ""},
@@ -3225,11 +3438,15 @@ var PackageSymbols = map[string][]Symbol{
{"R_LARCH_TLS_IE_PC_HI20", Const, 20, ""},
{"R_LARCH_TLS_IE_PC_LO12", Const, 20, ""},
{"R_LARCH_TLS_LD_HI20", Const, 20, ""},
+ {"R_LARCH_TLS_LD_PCREL20_S2", Const, 26, ""},
{"R_LARCH_TLS_LD_PC_HI20", Const, 20, ""},
{"R_LARCH_TLS_LE64_HI12", Const, 20, ""},
{"R_LARCH_TLS_LE64_LO20", Const, 20, ""},
+ {"R_LARCH_TLS_LE_ADD_R", Const, 26, ""},
{"R_LARCH_TLS_LE_HI20", Const, 20, ""},
+ {"R_LARCH_TLS_LE_HI20_R", Const, 26, ""},
{"R_LARCH_TLS_LE_LO12", Const, 20, ""},
+ {"R_LARCH_TLS_LE_LO12_R", Const, 26, ""},
{"R_LARCH_TLS_TPREL32", Const, 19, ""},
{"R_LARCH_TLS_TPREL64", Const, 19, ""},
{"R_MIPS", Type, 6, ""},
@@ -3934,6 +4151,7 @@ var PackageSymbols = map[string][]Symbol{
{"(FatArch).ImportedSymbols", Method, 3, ""},
{"(FatArch).Section", Method, 3, ""},
{"(FatArch).Segment", Method, 3, ""},
+ {"(Load).Raw", Method, 0, ""},
{"(LoadBytes).Raw", Method, 0, ""},
{"(LoadCmd).GoString", Method, 0, ""},
{"(LoadCmd).String", Method, 0, ""},
@@ -4580,6 +4798,12 @@ var PackageSymbols = map[string][]Symbol{
{"FS", Type, 16, ""},
},
"encoding": {
+ {"(BinaryAppender).AppendBinary", Method, 24, ""},
+ {"(BinaryMarshaler).MarshalBinary", Method, 2, ""},
+ {"(BinaryUnmarshaler).UnmarshalBinary", Method, 2, ""},
+ {"(TextAppender).AppendText", Method, 24, ""},
+ {"(TextMarshaler).MarshalText", Method, 2, ""},
+ {"(TextUnmarshaler).UnmarshalText", Method, 2, ""},
{"BinaryAppender", Type, 24, ""},
{"BinaryMarshaler", Type, 2, ""},
{"BinaryUnmarshaler", Type, 2, ""},
@@ -4695,6 +4919,17 @@ var PackageSymbols = map[string][]Symbol{
{"URLEncoding", Var, 0, ""},
},
"encoding/binary": {
+ {"(AppendByteOrder).AppendUint16", Method, 19, ""},
+ {"(AppendByteOrder).AppendUint32", Method, 19, ""},
+ {"(AppendByteOrder).AppendUint64", Method, 19, ""},
+ {"(AppendByteOrder).String", Method, 19, ""},
+ {"(ByteOrder).PutUint16", Method, 0, ""},
+ {"(ByteOrder).PutUint32", Method, 0, ""},
+ {"(ByteOrder).PutUint64", Method, 0, ""},
+ {"(ByteOrder).String", Method, 0, ""},
+ {"(ByteOrder).Uint16", Method, 0, ""},
+ {"(ByteOrder).Uint32", Method, 0, ""},
+ {"(ByteOrder).Uint64", Method, 0, ""},
{"Append", Func, 23, "func(buf []byte, order ByteOrder, data any) ([]byte, error)"},
{"AppendByteOrder", Type, 19, ""},
{"AppendUvarint", Func, 19, "func(buf []byte, x uint64) []byte"},
@@ -4757,6 +4992,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*Decoder).DecodeValue", Method, 0, ""},
{"(*Encoder).Encode", Method, 0, ""},
{"(*Encoder).EncodeValue", Method, 0, ""},
+ {"(GobDecoder).GobDecode", Method, 0, ""},
+ {"(GobEncoder).GobEncode", Method, 0, ""},
{"CommonType", Type, 0, ""},
{"CommonType.Id", Field, 0, ""},
{"CommonType.Name", Field, 0, ""},
@@ -4809,10 +5046,12 @@ var PackageSymbols = map[string][]Symbol{
{"(*UnsupportedTypeError).Error", Method, 0, ""},
{"(*UnsupportedValueError).Error", Method, 0, ""},
{"(Delim).String", Method, 5, ""},
+ {"(Marshaler).MarshalJSON", Method, 0, ""},
{"(Number).Float64", Method, 1, ""},
{"(Number).Int64", Method, 1, ""},
{"(Number).String", Method, 1, ""},
{"(RawMessage).MarshalJSON", Method, 8, ""},
+ {"(Unmarshaler).UnmarshalJSON", Method, 0, ""},
{"Compact", Func, 0, "func(dst *bytes.Buffer, src []byte) error"},
{"Decoder", Type, 0, ""},
{"Delim", Type, 5, ""},
@@ -4884,10 +5123,15 @@ var PackageSymbols = map[string][]Symbol{
{"(CharData).Copy", Method, 0, ""},
{"(Comment).Copy", Method, 0, ""},
{"(Directive).Copy", Method, 0, ""},
+ {"(Marshaler).MarshalXML", Method, 2, ""},
+ {"(MarshalerAttr).MarshalXMLAttr", Method, 2, ""},
{"(ProcInst).Copy", Method, 0, ""},
{"(StartElement).Copy", Method, 0, ""},
{"(StartElement).End", Method, 2, ""},
+ {"(TokenReader).Token", Method, 10, ""},
{"(UnmarshalError).Error", Method, 0, ""},
+ {"(Unmarshaler).UnmarshalXML", Method, 2, ""},
+ {"(UnmarshalerAttr).UnmarshalXMLAttr", Method, 2, ""},
{"Attr", Type, 0, ""},
{"Attr.Name", Field, 0, ""},
{"Attr.Value", Field, 0, ""},
@@ -4945,6 +5189,7 @@ var PackageSymbols = map[string][]Symbol{
},
"errors": {
{"As", Func, 13, "func(err error, target any) bool"},
+ {"AsType", Func, 26, "func[E error](err error) (E, bool)"},
{"ErrUnsupported", Var, 21, ""},
{"Is", Func, 13, "func(err error, target error) bool"},
{"Join", Func, 20, "func(errs ...error) error"},
@@ -4973,6 +5218,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*String).Value", Method, 8, ""},
{"(Func).String", Method, 0, ""},
{"(Func).Value", Method, 8, ""},
+ {"(Var).String", Method, 0, ""},
{"Do", Func, 0, "func(f func(KeyValue))"},
{"Float", Type, 0, ""},
{"Func", Type, 0, ""},
@@ -5028,6 +5274,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*FlagSet).Var", Method, 0, ""},
{"(*FlagSet).Visit", Method, 0, ""},
{"(*FlagSet).VisitAll", Method, 0, ""},
+ {"(Getter).Get", Method, 2, ""},
+ {"(Getter).Set", Method, 2, ""},
+ {"(Getter).String", Method, 2, ""},
+ {"(Value).Set", Method, 0, ""},
+ {"(Value).String", Method, 0, ""},
{"Arg", Func, 0, "func(i int) string"},
{"Args", Func, 0, "func() []string"},
{"Bool", Func, 0, "func(name string, value bool, usage string) *bool"},
@@ -5079,10 +5330,24 @@ var PackageSymbols = map[string][]Symbol{
{"VisitAll", Func, 0, "func(fn func(*Flag))"},
},
"fmt": {
+ {"(Formatter).Format", Method, 0, ""},
+ {"(GoStringer).GoString", Method, 0, ""},
+ {"(ScanState).Read", Method, 0, ""},
+ {"(ScanState).ReadRune", Method, 0, ""},
+ {"(ScanState).SkipSpace", Method, 0, ""},
+ {"(ScanState).Token", Method, 0, ""},
+ {"(ScanState).UnreadRune", Method, 0, ""},
+ {"(ScanState).Width", Method, 0, ""},
+ {"(Scanner).Scan", Method, 0, ""},
+ {"(State).Flag", Method, 0, ""},
+ {"(State).Precision", Method, 0, ""},
+ {"(State).Width", Method, 0, ""},
+ {"(State).Write", Method, 0, ""},
+ {"(Stringer).String", Method, 0, ""},
{"Append", Func, 19, "func(b []byte, a ...any) []byte"},
{"Appendf", Func, 19, "func(b []byte, format string, a ...any) []byte"},
{"Appendln", Func, 19, "func(b []byte, a ...any) []byte"},
- {"Errorf", Func, 0, "func(format string, a ...any) error"},
+ {"Errorf", Func, 0, "func(format string, a ...any) (err error)"},
{"FormatString", Func, 20, "func(state State, verb rune) string"},
{"Formatter", Type, 0, ""},
{"Fprint", Func, 0, "func(w io.Writer, a ...any) (n int, err error)"},
@@ -5147,6 +5412,9 @@ var PackageSymbols = map[string][]Symbol{
{"(*DeclStmt).Pos", Method, 0, ""},
{"(*DeferStmt).End", Method, 0, ""},
{"(*DeferStmt).Pos", Method, 0, ""},
+ {"(*Directive).End", Method, 26, ""},
+ {"(*Directive).ParseArgs", Method, 26, ""},
+ {"(*Directive).Pos", Method, 26, ""},
{"(*Ellipsis).End", Method, 0, ""},
{"(*Ellipsis).Pos", Method, 0, ""},
{"(*EmptyStmt).End", Method, 0, ""},
@@ -5234,7 +5502,18 @@ var PackageSymbols = map[string][]Symbol{
{"(CommentMap).Filter", Method, 1, ""},
{"(CommentMap).String", Method, 1, ""},
{"(CommentMap).Update", Method, 1, ""},
+ {"(Decl).End", Method, 0, ""},
+ {"(Decl).Pos", Method, 0, ""},
+ {"(Expr).End", Method, 0, ""},
+ {"(Expr).Pos", Method, 0, ""},
+ {"(Node).End", Method, 0, ""},
+ {"(Node).Pos", Method, 0, ""},
{"(ObjKind).String", Method, 0, ""},
+ {"(Spec).End", Method, 0, ""},
+ {"(Spec).Pos", Method, 0, ""},
+ {"(Stmt).End", Method, 0, ""},
+ {"(Stmt).Pos", Method, 0, ""},
+ {"(Visitor).Visit", Method, 0, ""},
{"ArrayType", Type, 0, ""},
{"ArrayType.Elt", Field, 0, ""},
{"ArrayType.Lbrack", Field, 0, ""},
@@ -5257,6 +5536,7 @@ var PackageSymbols = map[string][]Symbol{
{"BasicLit", Type, 0, ""},
{"BasicLit.Kind", Field, 0, ""},
{"BasicLit.Value", Field, 0, ""},
+ {"BasicLit.ValueEnd", Field, 26, ""},
{"BasicLit.ValuePos", Field, 0, ""},
{"BinaryExpr", Type, 0, ""},
{"BinaryExpr.Op", Field, 0, ""},
@@ -5306,19 +5586,26 @@ var PackageSymbols = map[string][]Symbol{
{"CompositeLit.Rbrace", Field, 0, ""},
{"CompositeLit.Type", Field, 0, ""},
{"Con", Const, 0, ""},
- {"Decl", Type, 0, ""},
{"DeclStmt", Type, 0, ""},
{"DeclStmt.Decl", Field, 0, ""},
{"DeferStmt", Type, 0, ""},
{"DeferStmt.Call", Field, 0, ""},
{"DeferStmt.Defer", Field, 0, ""},
+ {"Directive", Type, 26, ""},
+ {"Directive.Args", Field, 26, ""},
+ {"Directive.ArgsPos", Field, 26, ""},
+ {"Directive.Name", Field, 26, ""},
+ {"Directive.Slash", Field, 26, ""},
+ {"Directive.Tool", Field, 26, ""},
+ {"DirectiveArg", Type, 26, ""},
+ {"DirectiveArg.Arg", Field, 26, ""},
+ {"DirectiveArg.Pos", Field, 26, ""},
{"Ellipsis", Type, 0, ""},
{"Ellipsis.Ellipsis", Field, 0, ""},
{"Ellipsis.Elt", Field, 0, ""},
{"EmptyStmt", Type, 0, ""},
{"EmptyStmt.Implicit", Field, 5, ""},
{"EmptyStmt.Semicolon", Field, 0, ""},
- {"Expr", Type, 0, ""},
{"ExprStmt", Type, 0, ""},
{"ExprStmt.X", Field, 0, ""},
{"Field", Type, 0, ""},
@@ -5461,8 +5748,10 @@ var PackageSymbols = map[string][]Symbol{
{"ParenExpr.Lparen", Field, 0, ""},
{"ParenExpr.Rparen", Field, 0, ""},
{"ParenExpr.X", Field, 0, ""},
+ {"ParseDirective", Func, 26, "func(pos token.Pos, c string) (Directive, bool)"},
{"Pkg", Const, 0, ""},
{"Preorder", Func, 23, "func(root Node) iter.Seq[Node]"},
+ {"PreorderStack", Func, 25, "func(root Node, stack []Node, f func(n Node, stack []Node) bool)"},
{"Print", Func, 0, "func(fset *token.FileSet, x any) error"},
{"RECV", Const, 0, ""},
{"RangeStmt", Type, 0, ""},
@@ -5500,11 +5789,9 @@ var PackageSymbols = map[string][]Symbol{
{"SliceExpr.Slice3", Field, 2, ""},
{"SliceExpr.X", Field, 0, ""},
{"SortImports", Func, 0, "func(fset *token.FileSet, f *File)"},
- {"Spec", Type, 0, ""},
{"StarExpr", Type, 0, ""},
{"StarExpr.Star", Field, 0, ""},
{"StarExpr.X", Field, 0, ""},
- {"Stmt", Type, 0, ""},
{"StructType", Type, 0, ""},
{"StructType.Fields", Field, 0, ""},
{"StructType.Incomplete", Field, 0, ""},
@@ -5659,10 +5946,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*SyntaxError).Error", Method, 16, ""},
{"(*TagExpr).Eval", Method, 16, ""},
{"(*TagExpr).String", Method, 16, ""},
+ {"(Expr).Eval", Method, 16, ""},
+ {"(Expr).String", Method, 16, ""},
{"AndExpr", Type, 16, ""},
{"AndExpr.X", Field, 16, ""},
{"AndExpr.Y", Field, 16, ""},
- {"Expr", Type, 16, ""},
{"GoVersion", Func, 21, "func(x Expr) string"},
{"IsGoBuild", Func, 16, "func(line string) bool"},
{"IsPlusBuild", Func, 16, "func(line string) bool"},
@@ -5681,6 +5969,9 @@ var PackageSymbols = map[string][]Symbol{
},
"go/constant": {
{"(Kind).String", Method, 18, ""},
+ {"(Value).ExactString", Method, 6, ""},
+ {"(Value).Kind", Method, 5, ""},
+ {"(Value).String", Method, 5, ""},
{"BinaryOp", Func, 5, "func(x_ Value, op token.Token, y_ Value) Value"},
{"BitLen", Func, 5, "func(x Value) int"},
{"Bool", Const, 5, ""},
@@ -5719,7 +6010,6 @@ var PackageSymbols = map[string][]Symbol{
{"UnaryOp", Func, 5, "func(op token.Token, y Value, prec uint) Value"},
{"Unknown", Const, 5, ""},
{"Val", Func, 13, "func(x Value) any"},
- {"Value", Type, 5, ""},
},
"go/doc": {
{"(*Package).Filter", Method, 0, ""},
@@ -5803,7 +6093,6 @@ var PackageSymbols = map[string][]Symbol{
{"(*Printer).HTML", Method, 19, ""},
{"(*Printer).Markdown", Method, 19, ""},
{"(*Printer).Text", Method, 19, ""},
- {"Block", Type, 19, ""},
{"Code", Type, 19, ""},
{"Code.Text", Field, 19, ""},
{"DefaultLookupPackage", Func, 19, "func(name string) (importPath string, ok bool)"},
@@ -5848,7 +6137,6 @@ var PackageSymbols = map[string][]Symbol{
{"Printer.TextCodePrefix", Field, 19, ""},
{"Printer.TextPrefix", Field, 19, ""},
{"Printer.TextWidth", Field, 19, ""},
- {"Text", Type, 19, ""},
},
"go/format": {
{"Node", Func, 1, "func(dst io.Writer, fset *token.FileSet, node any) error"},
@@ -5920,6 +6208,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*File).AddLineColumnInfo", Method, 11, ""},
{"(*File).AddLineInfo", Method, 0, ""},
{"(*File).Base", Method, 0, ""},
+ {"(*File).End", Method, 26, ""},
{"(*File).Line", Method, 0, ""},
{"(*File).LineCount", Method, 0, ""},
{"(*File).LineStart", Method, 12, ""},
@@ -5933,6 +6222,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*File).SetLines", Method, 0, ""},
{"(*File).SetLinesForContent", Method, 0, ""},
{"(*File).Size", Method, 0, ""},
+ {"(*FileSet).AddExistingFiles", Method, 25, ""},
{"(*FileSet).AddFile", Method, 0, ""},
{"(*FileSet).Base", Method, 0, ""},
{"(*FileSet).File", Method, 0, ""},
@@ -6281,6 +6571,22 @@ var PackageSymbols = map[string][]Symbol{
{"(Checker).PkgNameOf", Method, 22, ""},
{"(Checker).TypeOf", Method, 5, ""},
{"(Error).Error", Method, 5, ""},
+ {"(Importer).Import", Method, 5, ""},
+ {"(ImporterFrom).Import", Method, 6, ""},
+ {"(ImporterFrom).ImportFrom", Method, 6, ""},
+ {"(Object).Exported", Method, 5, ""},
+ {"(Object).Id", Method, 5, ""},
+ {"(Object).Name", Method, 5, ""},
+ {"(Object).Parent", Method, 5, ""},
+ {"(Object).Pkg", Method, 5, ""},
+ {"(Object).Pos", Method, 5, ""},
+ {"(Object).String", Method, 5, ""},
+ {"(Object).Type", Method, 5, ""},
+ {"(Sizes).Alignof", Method, 5, ""},
+ {"(Sizes).Offsetsof", Method, 5, ""},
+ {"(Sizes).Sizeof", Method, 5, ""},
+ {"(Type).String", Method, 5, ""},
+ {"(Type).Underlying", Method, 5, ""},
{"(TypeAndValue).Addressable", Method, 5, ""},
{"(TypeAndValue).Assignable", Method, 5, ""},
{"(TypeAndValue).HasOk", Method, 5, ""},
@@ -6382,7 +6688,7 @@ var PackageSymbols = map[string][]Symbol{
{"Label", Type, 5, ""},
{"LocalVar", Const, 25, ""},
{"LookupFieldOrMethod", Func, 5, "func(T Type, addressable bool, pkg *Package, name string) (obj Object, index []int, indirect bool)"},
- {"LookupSelection", Func, 25, ""},
+ {"LookupSelection", Func, 25, "func(T Type, addressable bool, pkg *Package, name string) (Selection, bool)"},
{"Map", Type, 5, ""},
{"MethodExpr", Const, 5, ""},
{"MethodSet", Type, 5, ""},
@@ -6419,7 +6725,6 @@ var PackageSymbols = map[string][]Symbol{
{"NewUnion", Func, 18, "func(terms []*Term) *Union"},
{"NewVar", Func, 5, "func(pos token.Pos, pkg *Package, name string, typ Type) *Var"},
{"Nil", Type, 5, ""},
- {"Object", Type, 5, ""},
{"ObjectString", Func, 5, "func(obj Object, qf Qualifier) string"},
{"Package", Type, 5, ""},
{"PackageVar", Const, 25, ""},
@@ -6490,9 +6795,38 @@ var PackageSymbols = map[string][]Symbol{
{"Lang", Func, 22, "func(x string) string"},
},
"hash": {
+ {"(Cloner).BlockSize", Method, 25, ""},
+ {"(Cloner).Clone", Method, 25, ""},
+ {"(Cloner).Reset", Method, 25, ""},
+ {"(Cloner).Size", Method, 25, ""},
+ {"(Cloner).Sum", Method, 25, ""},
+ {"(Cloner).Write", Method, 25, ""},
+ {"(Hash).BlockSize", Method, 0, ""},
+ {"(Hash).Reset", Method, 0, ""},
+ {"(Hash).Size", Method, 0, ""},
+ {"(Hash).Sum", Method, 0, ""},
+ {"(Hash).Write", Method, 0, ""},
+ {"(Hash32).BlockSize", Method, 0, ""},
+ {"(Hash32).Reset", Method, 0, ""},
+ {"(Hash32).Size", Method, 0, ""},
+ {"(Hash32).Sum", Method, 0, ""},
+ {"(Hash32).Sum32", Method, 0, ""},
+ {"(Hash32).Write", Method, 0, ""},
+ {"(Hash64).BlockSize", Method, 0, ""},
+ {"(Hash64).Reset", Method, 0, ""},
+ {"(Hash64).Size", Method, 0, ""},
+ {"(Hash64).Sum", Method, 0, ""},
+ {"(Hash64).Sum64", Method, 0, ""},
+ {"(Hash64).Write", Method, 0, ""},
+ {"(XOF).BlockSize", Method, 25, ""},
+ {"(XOF).Read", Method, 25, ""},
+ {"(XOF).Reset", Method, 25, ""},
+ {"(XOF).Write", Method, 25, ""},
+ {"Cloner", Type, 25, ""},
{"Hash", Type, 0, ""},
{"Hash32", Type, 0, ""},
{"Hash64", Type, 0, ""},
+ {"XOF", Type, 25, ""},
},
"hash/adler32": {
{"Checksum", Func, 0, "func(data []byte) uint32"},
@@ -6533,6 +6867,7 @@ var PackageSymbols = map[string][]Symbol{
},
"hash/maphash": {
{"(*Hash).BlockSize", Method, 14, ""},
+ {"(*Hash).Clone", Method, 25, ""},
{"(*Hash).Reset", Method, 14, ""},
{"(*Hash).Seed", Method, 14, ""},
{"(*Hash).SetSeed", Method, 14, ""},
@@ -6752,6 +7087,13 @@ var PackageSymbols = map[string][]Symbol{
{"(*YCbCr).SubImage", Method, 0, ""},
{"(*YCbCr).YCbCrAt", Method, 4, ""},
{"(*YCbCr).YOffset", Method, 0, ""},
+ {"(Image).At", Method, 0, ""},
+ {"(Image).Bounds", Method, 0, ""},
+ {"(Image).ColorModel", Method, 0, ""},
+ {"(PalettedImage).At", Method, 0, ""},
+ {"(PalettedImage).Bounds", Method, 0, ""},
+ {"(PalettedImage).ColorIndexAt", Method, 0, ""},
+ {"(PalettedImage).ColorModel", Method, 0, ""},
{"(Point).Add", Method, 0, ""},
{"(Point).Div", Method, 0, ""},
{"(Point).Eq", Method, 0, ""},
@@ -6760,6 +7102,10 @@ var PackageSymbols = map[string][]Symbol{
{"(Point).Mul", Method, 0, ""},
{"(Point).String", Method, 0, ""},
{"(Point).Sub", Method, 0, ""},
+ {"(RGBA64Image).At", Method, 17, ""},
+ {"(RGBA64Image).Bounds", Method, 17, ""},
+ {"(RGBA64Image).ColorModel", Method, 17, ""},
+ {"(RGBA64Image).RGBA64At", Method, 17, ""},
{"(Rectangle).Add", Method, 0, ""},
{"(Rectangle).At", Method, 5, ""},
{"(Rectangle).Bounds", Method, 5, ""},
@@ -6884,8 +7230,10 @@ var PackageSymbols = map[string][]Symbol{
{"(Alpha).RGBA", Method, 0, ""},
{"(Alpha16).RGBA", Method, 0, ""},
{"(CMYK).RGBA", Method, 5, ""},
+ {"(Color).RGBA", Method, 0, ""},
{"(Gray).RGBA", Method, 0, ""},
{"(Gray16).RGBA", Method, 0, ""},
+ {"(Model).Convert", Method, 0, ""},
{"(NRGBA).RGBA", Method, 0, ""},
{"(NRGBA64).RGBA", Method, 0, ""},
{"(NYCbCrA).RGBA", Method, 6, ""},
@@ -6963,7 +7311,19 @@ var PackageSymbols = map[string][]Symbol{
{"WebSafe", Var, 2, ""},
},
"image/draw": {
+ {"(Drawer).Draw", Method, 2, ""},
+ {"(Image).At", Method, 0, ""},
+ {"(Image).Bounds", Method, 0, ""},
+ {"(Image).ColorModel", Method, 0, ""},
+ {"(Image).Set", Method, 0, ""},
{"(Op).Draw", Method, 2, ""},
+ {"(Quantizer).Quantize", Method, 2, ""},
+ {"(RGBA64Image).At", Method, 17, ""},
+ {"(RGBA64Image).Bounds", Method, 17, ""},
+ {"(RGBA64Image).ColorModel", Method, 17, ""},
+ {"(RGBA64Image).RGBA64At", Method, 17, ""},
+ {"(RGBA64Image).Set", Method, 17, ""},
+ {"(RGBA64Image).SetRGBA64", Method, 17, ""},
{"Draw", Func, 0, "func(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op)"},
{"DrawMask", Func, 0, "func(dst Image, r image.Rectangle, src image.Image, sp image.Point, mask image.Image, mp image.Point, op Op)"},
{"Drawer", Type, 2, ""},
@@ -6998,6 +7358,8 @@ var PackageSymbols = map[string][]Symbol{
},
"image/jpeg": {
{"(FormatError).Error", Method, 0, ""},
+ {"(Reader).Read", Method, 0, ""},
+ {"(Reader).ReadByte", Method, 0, ""},
{"(UnsupportedError).Error", Method, 0, ""},
{"Decode", Func, 0, "func(r io.Reader) (image.Image, error)"},
{"DecodeConfig", Func, 0, "func(r io.Reader) (image.Config, error)"},
@@ -7011,6 +7373,8 @@ var PackageSymbols = map[string][]Symbol{
},
"image/png": {
{"(*Encoder).Encode", Method, 4, ""},
+ {"(EncoderBufferPool).Get", Method, 9, ""},
+ {"(EncoderBufferPool).Put", Method, 9, ""},
{"(FormatError).Error", Method, 0, ""},
{"(UnsupportedError).Error", Method, 0, ""},
{"BestCompression", Const, 4, ""},
@@ -7054,6 +7418,41 @@ var PackageSymbols = map[string][]Symbol{
{"(*SectionReader).ReadAt", Method, 0, ""},
{"(*SectionReader).Seek", Method, 0, ""},
{"(*SectionReader).Size", Method, 0, ""},
+ {"(ByteReader).ReadByte", Method, 0, ""},
+ {"(ByteScanner).ReadByte", Method, 0, ""},
+ {"(ByteScanner).UnreadByte", Method, 0, ""},
+ {"(ByteWriter).WriteByte", Method, 1, ""},
+ {"(Closer).Close", Method, 0, ""},
+ {"(ReadCloser).Close", Method, 0, ""},
+ {"(ReadCloser).Read", Method, 0, ""},
+ {"(ReadSeekCloser).Close", Method, 16, ""},
+ {"(ReadSeekCloser).Read", Method, 16, ""},
+ {"(ReadSeekCloser).Seek", Method, 16, ""},
+ {"(ReadSeeker).Read", Method, 0, ""},
+ {"(ReadSeeker).Seek", Method, 0, ""},
+ {"(ReadWriteCloser).Close", Method, 0, ""},
+ {"(ReadWriteCloser).Read", Method, 0, ""},
+ {"(ReadWriteCloser).Write", Method, 0, ""},
+ {"(ReadWriteSeeker).Read", Method, 0, ""},
+ {"(ReadWriteSeeker).Seek", Method, 0, ""},
+ {"(ReadWriteSeeker).Write", Method, 0, ""},
+ {"(ReadWriter).Read", Method, 0, ""},
+ {"(ReadWriter).Write", Method, 0, ""},
+ {"(Reader).Read", Method, 0, ""},
+ {"(ReaderAt).ReadAt", Method, 0, ""},
+ {"(ReaderFrom).ReadFrom", Method, 0, ""},
+ {"(RuneReader).ReadRune", Method, 0, ""},
+ {"(RuneScanner).ReadRune", Method, 0, ""},
+ {"(RuneScanner).UnreadRune", Method, 0, ""},
+ {"(Seeker).Seek", Method, 0, ""},
+ {"(StringWriter).WriteString", Method, 12, ""},
+ {"(WriteCloser).Close", Method, 0, ""},
+ {"(WriteCloser).Write", Method, 0, ""},
+ {"(WriteSeeker).Seek", Method, 0, ""},
+ {"(WriteSeeker).Write", Method, 0, ""},
+ {"(Writer).Write", Method, 0, ""},
+ {"(WriterAt).WriteAt", Method, 0, ""},
+ {"(WriterTo).WriteTo", Method, 0, ""},
{"ByteReader", Type, 0, ""},
{"ByteScanner", Type, 0, ""},
{"ByteWriter", Type, 1, ""},
@@ -7113,11 +7512,42 @@ var PackageSymbols = map[string][]Symbol{
{"(*PathError).Error", Method, 16, ""},
{"(*PathError).Timeout", Method, 16, ""},
{"(*PathError).Unwrap", Method, 16, ""},
+ {"(DirEntry).Info", Method, 16, ""},
+ {"(DirEntry).IsDir", Method, 16, ""},
+ {"(DirEntry).Name", Method, 16, ""},
+ {"(DirEntry).Type", Method, 16, ""},
+ {"(FS).Open", Method, 16, ""},
+ {"(File).Close", Method, 16, ""},
+ {"(File).Read", Method, 16, ""},
+ {"(File).Stat", Method, 16, ""},
+ {"(FileInfo).IsDir", Method, 16, ""},
+ {"(FileInfo).ModTime", Method, 16, ""},
+ {"(FileInfo).Mode", Method, 16, ""},
+ {"(FileInfo).Name", Method, 16, ""},
+ {"(FileInfo).Size", Method, 16, ""},
+ {"(FileInfo).Sys", Method, 16, ""},
{"(FileMode).IsDir", Method, 16, ""},
{"(FileMode).IsRegular", Method, 16, ""},
{"(FileMode).Perm", Method, 16, ""},
{"(FileMode).String", Method, 16, ""},
{"(FileMode).Type", Method, 16, ""},
+ {"(GlobFS).Glob", Method, 16, ""},
+ {"(GlobFS).Open", Method, 16, ""},
+ {"(ReadDirFS).Open", Method, 16, ""},
+ {"(ReadDirFS).ReadDir", Method, 16, ""},
+ {"(ReadDirFile).Close", Method, 16, ""},
+ {"(ReadDirFile).Read", Method, 16, ""},
+ {"(ReadDirFile).ReadDir", Method, 16, ""},
+ {"(ReadDirFile).Stat", Method, 16, ""},
+ {"(ReadFileFS).Open", Method, 16, ""},
+ {"(ReadFileFS).ReadFile", Method, 16, ""},
+ {"(ReadLinkFS).Lstat", Method, 25, ""},
+ {"(ReadLinkFS).Open", Method, 25, ""},
+ {"(ReadLinkFS).ReadLink", Method, 25, ""},
+ {"(StatFS).Open", Method, 16, ""},
+ {"(StatFS).Stat", Method, 16, ""},
+ {"(SubFS).Open", Method, 16, ""},
+ {"(SubFS).Sub", Method, 16, ""},
{"DirEntry", Type, 16, ""},
{"ErrClosed", Var, 16, ""},
{"ErrExist", Var, 16, ""},
@@ -7133,7 +7563,7 @@ var PackageSymbols = map[string][]Symbol{
{"FormatFileInfo", Func, 21, "func(info FileInfo) string"},
{"Glob", Func, 16, "func(fsys FS, pattern string) (matches []string, err error)"},
{"GlobFS", Type, 16, ""},
- {"Lstat", Func, 25, ""},
+ {"Lstat", Func, 25, "func(fsys FS, name string) (FileInfo, error)"},
{"ModeAppend", Const, 16, ""},
{"ModeCharDevice", Const, 16, ""},
{"ModeDevice", Const, 16, ""},
@@ -7158,7 +7588,7 @@ var PackageSymbols = map[string][]Symbol{
{"ReadDirFile", Type, 16, ""},
{"ReadFile", Func, 16, "func(fsys FS, name string) ([]byte, error)"},
{"ReadFileFS", Type, 16, ""},
- {"ReadLink", Func, 25, ""},
+ {"ReadLink", Func, 25, "func(fsys FS, name string) (string, error)"},
{"ReadLinkFS", Type, 25, ""},
{"SkipAll", Var, 20, ""},
{"SkipDir", Var, 16, ""},
@@ -7258,6 +7688,10 @@ var PackageSymbols = map[string][]Symbol{
{"(*Logger).WarnContext", Method, 21, ""},
{"(*Logger).With", Method, 21, ""},
{"(*Logger).WithGroup", Method, 21, ""},
+ {"(*MultiHandler).Enabled", Method, 26, ""},
+ {"(*MultiHandler).Handle", Method, 26, ""},
+ {"(*MultiHandler).WithAttrs", Method, 26, ""},
+ {"(*MultiHandler).WithGroup", Method, 26, ""},
{"(*Record).Add", Method, 21, ""},
{"(*Record).AddAttrs", Method, 21, ""},
{"(*TextHandler).Enabled", Method, 21, ""},
@@ -7266,15 +7700,22 @@ var PackageSymbols = map[string][]Symbol{
{"(*TextHandler).WithGroup", Method, 21, ""},
{"(Attr).Equal", Method, 21, ""},
{"(Attr).String", Method, 21, ""},
+ {"(Handler).Enabled", Method, 21, ""},
+ {"(Handler).Handle", Method, 21, ""},
+ {"(Handler).WithAttrs", Method, 21, ""},
+ {"(Handler).WithGroup", Method, 21, ""},
{"(Kind).String", Method, 21, ""},
{"(Level).AppendText", Method, 24, ""},
{"(Level).Level", Method, 21, ""},
{"(Level).MarshalJSON", Method, 21, ""},
{"(Level).MarshalText", Method, 21, ""},
{"(Level).String", Method, 21, ""},
+ {"(Leveler).Level", Method, 21, ""},
+ {"(LogValuer).LogValue", Method, 21, ""},
{"(Record).Attrs", Method, 21, ""},
{"(Record).Clone", Method, 21, ""},
{"(Record).NumAttrs", Method, 21, ""},
+ {"(Record).Source", Method, 25, ""},
{"(Value).Any", Method, 21, ""},
{"(Value).Bool", Method, 21, ""},
{"(Value).Duration", Method, 21, ""},
@@ -7306,6 +7747,7 @@ var PackageSymbols = map[string][]Symbol{
{"Float64", Func, 21, "func(key string, v float64) Attr"},
{"Float64Value", Func, 21, "func(v float64) Value"},
{"Group", Func, 21, "func(key string, args ...any) Attr"},
+ {"GroupAttrs", Func, 25, "func(key string, attrs ...Attr) Attr"},
{"GroupValue", Func, 21, "func(as ...Attr) Value"},
{"Handler", Type, 21, ""},
{"HandlerOptions", Type, 21, ""},
@@ -7343,9 +7785,11 @@ var PackageSymbols = map[string][]Symbol{
{"LogValuer", Type, 21, ""},
{"Logger", Type, 21, ""},
{"MessageKey", Const, 21, ""},
+ {"MultiHandler", Type, 26, ""},
{"New", Func, 21, "func(h Handler) *Logger"},
{"NewJSONHandler", Func, 21, "func(w io.Writer, opts *HandlerOptions) *JSONHandler"},
{"NewLogLogger", Func, 21, "func(h Handler, level Level) *log.Logger"},
+ {"NewMultiHandler", Func, 26, "func(handlers ...Handler) *MultiHandler"},
{"NewRecord", Func, 21, "func(t time.Time, level Level, msg string, pc uintptr) Record"},
{"NewTextHandler", Func, 21, "func(w io.Writer, opts *HandlerOptions) *TextHandler"},
{"Record", Type, 21, ""},
@@ -7500,7 +7944,7 @@ var PackageSymbols = map[string][]Symbol{
{"MinInt64", Const, 0, ""},
{"MinInt8", Const, 0, ""},
{"Mod", Func, 0, "func(x float64, y float64) float64"},
- {"Modf", Func, 0, "func(f float64) (int float64, frac float64)"},
+ {"Modf", Func, 0, "func(f float64) (integer float64, fractional float64)"},
{"NaN", Func, 0, "func() float64"},
{"Nextafter", Func, 0, "func(x float64, y float64) (r float64)"},
{"Nextafter32", Func, 4, "func(x float32, y float32) (r float32)"},
@@ -7796,6 +8240,11 @@ var PackageSymbols = map[string][]Symbol{
{"(*Rand).Uint32", Method, 0, ""},
{"(*Rand).Uint64", Method, 8, ""},
{"(*Zipf).Uint64", Method, 0, ""},
+ {"(Source).Int63", Method, 0, ""},
+ {"(Source).Seed", Method, 0, ""},
+ {"(Source64).Int63", Method, 8, ""},
+ {"(Source64).Seed", Method, 8, ""},
+ {"(Source64).Uint64", Method, 8, ""},
{"ExpFloat64", Func, 0, "func() float64"},
{"Float32", Func, 0, "func() float32"},
{"Float64", Func, 0, "func() float64"},
@@ -7851,6 +8300,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Rand).Uint64N", Method, 22, ""},
{"(*Rand).UintN", Method, 22, ""},
{"(*Zipf).Uint64", Method, 22, ""},
+ {"(Source).Uint64", Method, 22, ""},
{"ChaCha8", Type, 22, ""},
{"ExpFloat64", Func, 22, "func() float64"},
{"Float32", Func, 22, "func() float32"},
@@ -7914,9 +8364,13 @@ var PackageSymbols = map[string][]Symbol{
{"(*Writer).FormDataContentType", Method, 0, ""},
{"(*Writer).SetBoundary", Method, 1, ""},
{"(*Writer).WriteField", Method, 0, ""},
+ {"(File).Close", Method, 0, ""},
+ {"(File).Read", Method, 0, ""},
+ {"(File).ReadAt", Method, 0, ""},
+ {"(File).Seek", Method, 0, ""},
{"ErrMessageTooLarge", Var, 9, ""},
{"File", Type, 0, ""},
- {"FileContentDisposition", Func, 25, ""},
+ {"FileContentDisposition", Func, 25, "func(fieldname string, filename string) string"},
{"FileHeader", Type, 0, ""},
{"FileHeader.Filename", Field, 0, ""},
{"FileHeader.Header", Field, 0, ""},
@@ -7957,6 +8411,10 @@ var PackageSymbols = map[string][]Symbol{
{"(*DNSError).Unwrap", Method, 23, ""},
{"(*Dialer).Dial", Method, 1, ""},
{"(*Dialer).DialContext", Method, 7, ""},
+ {"(*Dialer).DialIP", Method, 26, ""},
+ {"(*Dialer).DialTCP", Method, 26, ""},
+ {"(*Dialer).DialUDP", Method, 26, ""},
+ {"(*Dialer).DialUnix", Method, 26, ""},
{"(*Dialer).MultipathTCP", Method, 21, ""},
{"(*Dialer).SetMultipathTCP", Method, 21, ""},
{"(*IP).UnmarshalText", Method, 2, ""},
@@ -8094,6 +8552,19 @@ var PackageSymbols = map[string][]Symbol{
{"(*UnixListener).SetDeadline", Method, 0, ""},
{"(*UnixListener).SetUnlinkOnClose", Method, 8, ""},
{"(*UnixListener).SyscallConn", Method, 10, ""},
+ {"(Addr).Network", Method, 0, ""},
+ {"(Addr).String", Method, 0, ""},
+ {"(Conn).Close", Method, 0, ""},
+ {"(Conn).LocalAddr", Method, 0, ""},
+ {"(Conn).Read", Method, 0, ""},
+ {"(Conn).RemoteAddr", Method, 0, ""},
+ {"(Conn).SetDeadline", Method, 0, ""},
+ {"(Conn).SetReadDeadline", Method, 0, ""},
+ {"(Conn).SetWriteDeadline", Method, 0, ""},
+ {"(Conn).Write", Method, 0, ""},
+ {"(Error).Error", Method, 0, ""},
+ {"(Error).Temporary", Method, 0, ""},
+ {"(Error).Timeout", Method, 0, ""},
{"(Flags).String", Method, 0, ""},
{"(HardwareAddr).String", Method, 0, ""},
{"(IP).AppendText", Method, 24, ""},
@@ -8117,6 +8588,16 @@ var PackageSymbols = map[string][]Symbol{
{"(InvalidAddrError).Error", Method, 0, ""},
{"(InvalidAddrError).Temporary", Method, 0, ""},
{"(InvalidAddrError).Timeout", Method, 0, ""},
+ {"(Listener).Accept", Method, 0, ""},
+ {"(Listener).Addr", Method, 0, ""},
+ {"(Listener).Close", Method, 0, ""},
+ {"(PacketConn).Close", Method, 0, ""},
+ {"(PacketConn).LocalAddr", Method, 0, ""},
+ {"(PacketConn).ReadFrom", Method, 0, ""},
+ {"(PacketConn).SetDeadline", Method, 0, ""},
+ {"(PacketConn).SetReadDeadline", Method, 0, ""},
+ {"(PacketConn).SetWriteDeadline", Method, 0, ""},
+ {"(PacketConn).WriteTo", Method, 0, ""},
{"(UnknownNetworkError).Error", Method, 0, ""},
{"(UnknownNetworkError).Temporary", Method, 0, ""},
{"(UnknownNetworkError).Timeout", Method, 0, ""},
@@ -8292,8 +8773,21 @@ var PackageSymbols = map[string][]Symbol{
{"(*Client).Head", Method, 0, ""},
{"(*Client).Post", Method, 0, ""},
{"(*Client).PostForm", Method, 0, ""},
+ {"(*ClientConn).Available", Method, 26, ""},
+ {"(*ClientConn).Close", Method, 26, ""},
+ {"(*ClientConn).Err", Method, 26, ""},
+ {"(*ClientConn).InFlight", Method, 26, ""},
+ {"(*ClientConn).Release", Method, 26, ""},
+ {"(*ClientConn).Reserve", Method, 26, ""},
+ {"(*ClientConn).RoundTrip", Method, 26, ""},
+ {"(*ClientConn).SetStateHook", Method, 26, ""},
{"(*Cookie).String", Method, 0, ""},
{"(*Cookie).Valid", Method, 18, ""},
+ {"(*CrossOriginProtection).AddInsecureBypassPattern", Method, 25, ""},
+ {"(*CrossOriginProtection).AddTrustedOrigin", Method, 25, ""},
+ {"(*CrossOriginProtection).Check", Method, 25, ""},
+ {"(*CrossOriginProtection).Handler", Method, 25, ""},
+ {"(*CrossOriginProtection).SetDenyHandler", Method, 25, ""},
{"(*MaxBytesError).Error", Method, 19, ""},
{"(*ProtocolError).Error", Method, 0, ""},
{"(*ProtocolError).Is", Method, 21, ""},
@@ -8346,10 +8840,22 @@ var PackageSymbols = map[string][]Symbol{
{"(*Transport).CancelRequest", Method, 1, ""},
{"(*Transport).Clone", Method, 13, ""},
{"(*Transport).CloseIdleConnections", Method, 0, ""},
+ {"(*Transport).NewClientConn", Method, 26, ""},
{"(*Transport).RegisterProtocol", Method, 0, ""},
{"(*Transport).RoundTrip", Method, 0, ""},
+ {"(CloseNotifier).CloseNotify", Method, 1, ""},
{"(ConnState).String", Method, 3, ""},
+ {"(CookieJar).Cookies", Method, 0, ""},
+ {"(CookieJar).SetCookies", Method, 0, ""},
{"(Dir).Open", Method, 0, ""},
+ {"(File).Close", Method, 0, ""},
+ {"(File).Read", Method, 0, ""},
+ {"(File).Readdir", Method, 0, ""},
+ {"(File).Seek", Method, 0, ""},
+ {"(File).Stat", Method, 0, ""},
+ {"(FileSystem).Open", Method, 0, ""},
+ {"(Flusher).Flush", Method, 0, ""},
+ {"(Handler).ServeHTTP", Method, 0, ""},
{"(HandlerFunc).ServeHTTP", Method, 0, ""},
{"(Header).Add", Method, 0, ""},
{"(Header).Clone", Method, 13, ""},
@@ -8359,10 +8865,16 @@ var PackageSymbols = map[string][]Symbol{
{"(Header).Values", Method, 14, ""},
{"(Header).Write", Method, 0, ""},
{"(Header).WriteSubset", Method, 0, ""},
+ {"(Hijacker).Hijack", Method, 0, ""},
{"(Protocols).HTTP1", Method, 24, ""},
{"(Protocols).HTTP2", Method, 24, ""},
{"(Protocols).String", Method, 24, ""},
{"(Protocols).UnencryptedHTTP2", Method, 24, ""},
+ {"(Pusher).Push", Method, 8, ""},
+ {"(ResponseWriter).Header", Method, 0, ""},
+ {"(ResponseWriter).Write", Method, 0, ""},
+ {"(ResponseWriter).WriteHeader", Method, 0, ""},
+ {"(RoundTripper).RoundTrip", Method, 0, ""},
{"AllowQuerySemicolons", Func, 17, "func(h Handler) Handler"},
{"CanonicalHeaderKey", Func, 0, "func(s string) string"},
{"Client", Type, 0, ""},
@@ -8370,6 +8882,7 @@ var PackageSymbols = map[string][]Symbol{
{"Client.Jar", Field, 0, ""},
{"Client.Timeout", Field, 3, ""},
{"Client.Transport", Field, 0, ""},
+ {"ClientConn", Type, 26, ""},
{"CloseNotifier", Type, 1, ""},
{"ConnState", Type, 3, ""},
{"Cookie", Type, 0, ""},
@@ -8388,6 +8901,7 @@ var PackageSymbols = map[string][]Symbol{
{"Cookie.Unparsed", Field, 0, ""},
{"Cookie.Value", Field, 0, ""},
{"CookieJar", Type, 0, ""},
+ {"CrossOriginProtection", Type, 25, ""},
{"DefaultClient", Var, 0, ""},
{"DefaultMaxHeaderBytes", Const, 0, ""},
{"DefaultMaxIdleConnsPerHost", Const, 0, ""},
@@ -8436,6 +8950,7 @@ var PackageSymbols = map[string][]Symbol{
{"HTTP2Config.PermitProhibitedCipherSuites", Field, 24, ""},
{"HTTP2Config.PingTimeout", Field, 24, ""},
{"HTTP2Config.SendPingTimeout", Field, 24, ""},
+ {"HTTP2Config.StrictMaxConcurrentRequests", Field, 26, ""},
{"HTTP2Config.WriteByteTimeout", Field, 24, ""},
{"Handle", Func, 0, "func(pattern string, handler Handler)"},
{"HandleFunc", Func, 0, "func(pattern string, handler func(ResponseWriter, *Request))"},
@@ -8460,6 +8975,7 @@ var PackageSymbols = map[string][]Symbol{
{"MethodPost", Const, 6, ""},
{"MethodPut", Const, 6, ""},
{"MethodTrace", Const, 6, ""},
+ {"NewCrossOriginProtection", Func, 25, "func() *CrossOriginProtection"},
{"NewFileTransport", Func, 0, "func(fs FileSystem) RoundTripper"},
{"NewFileTransportFS", Func, 22, "func(fsys fs.FS) RoundTripper"},
{"NewRequest", Func, 0, "func(method string, url string, body io.Reader) (*Request, error)"},
@@ -8677,6 +9193,8 @@ var PackageSymbols = map[string][]Symbol{
"net/http/cookiejar": {
{"(*Jar).Cookies", Method, 1, ""},
{"(*Jar).SetCookies", Method, 1, ""},
+ {"(PublicSuffixList).PublicSuffix", Method, 1, ""},
+ {"(PublicSuffixList).String", Method, 1, ""},
{"Jar", Type, 1, ""},
{"New", Func, 1, "func(o *Options) (*Jar, error)"},
{"Options", Type, 1, ""},
@@ -8770,6 +9288,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*ServerConn).Pending", Method, 0, ""},
{"(*ServerConn).Read", Method, 0, ""},
{"(*ServerConn).Write", Method, 0, ""},
+ {"(BufferPool).Get", Method, 6, ""},
+ {"(BufferPool).Put", Method, 6, ""},
{"BufferPool", Type, 6, ""},
{"ClientConn", Type, 0, ""},
{"DumpRequest", Func, 0, "func(req *http.Request, body bool) ([]byte, error)"},
@@ -8882,6 +9402,7 @@ var PackageSymbols = map[string][]Symbol{
{"(Prefix).AppendText", Method, 24, ""},
{"(Prefix).AppendTo", Method, 18, ""},
{"(Prefix).Bits", Method, 18, ""},
+ {"(Prefix).Compare", Method, 26, ""},
{"(Prefix).Contains", Method, 18, ""},
{"(Prefix).IsSingleIP", Method, 18, ""},
{"(Prefix).IsValid", Method, 18, ""},
@@ -8922,6 +9443,14 @@ var PackageSymbols = map[string][]Symbol{
{"(*Server).ServeConn", Method, 0, ""},
{"(*Server).ServeHTTP", Method, 0, ""},
{"(*Server).ServeRequest", Method, 0, ""},
+ {"(ClientCodec).Close", Method, 0, ""},
+ {"(ClientCodec).ReadResponseBody", Method, 0, ""},
+ {"(ClientCodec).ReadResponseHeader", Method, 0, ""},
+ {"(ClientCodec).WriteRequest", Method, 0, ""},
+ {"(ServerCodec).Close", Method, 0, ""},
+ {"(ServerCodec).ReadRequestBody", Method, 0, ""},
+ {"(ServerCodec).ReadRequestHeader", Method, 0, ""},
+ {"(ServerCodec).WriteResponse", Method, 0, ""},
{"(ServerError).Error", Method, 0, ""},
{"Accept", Func, 0, "func(lis net.Listener)"},
{"Call", Type, 0, ""},
@@ -8980,6 +9509,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*Client).StartTLS", Method, 0, ""},
{"(*Client).TLSConnectionState", Method, 5, ""},
{"(*Client).Verify", Method, 0, ""},
+ {"(Auth).Next", Method, 0, ""},
+ {"(Auth).Start", Method, 0, ""},
{"Auth", Type, 0, ""},
{"CRAMMD5Auth", Func, 0, "func(username string, secret string) Auth"},
{"Client", Type, 0, ""},
@@ -9155,6 +9686,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*Process).Release", Method, 0, ""},
{"(*Process).Signal", Method, 0, ""},
{"(*Process).Wait", Method, 0, ""},
+ {"(*Process).WithHandle", Method, 26, ""},
{"(*ProcessState).ExitCode", Method, 12, ""},
{"(*ProcessState).Exited", Method, 0, ""},
{"(*ProcessState).Pid", Method, 0, ""},
@@ -9174,22 +9706,34 @@ var PackageSymbols = map[string][]Symbol{
{"(*Root).Link", Method, 25, ""},
{"(*Root).Lstat", Method, 24, ""},
{"(*Root).Mkdir", Method, 24, ""},
+ {"(*Root).MkdirAll", Method, 25, ""},
{"(*Root).Name", Method, 24, ""},
{"(*Root).Open", Method, 24, ""},
{"(*Root).OpenFile", Method, 24, ""},
{"(*Root).OpenRoot", Method, 24, ""},
+ {"(*Root).ReadFile", Method, 25, ""},
{"(*Root).Readlink", Method, 25, ""},
{"(*Root).Remove", Method, 24, ""},
+ {"(*Root).RemoveAll", Method, 25, ""},
{"(*Root).Rename", Method, 25, ""},
{"(*Root).Stat", Method, 24, ""},
{"(*Root).Symlink", Method, 25, ""},
+ {"(*Root).WriteFile", Method, 25, ""},
{"(*SyscallError).Error", Method, 0, ""},
{"(*SyscallError).Timeout", Method, 10, ""},
{"(*SyscallError).Unwrap", Method, 13, ""},
+ {"(FileInfo).IsDir", Method, 0, ""},
+ {"(FileInfo).ModTime", Method, 0, ""},
+ {"(FileInfo).Mode", Method, 0, ""},
+ {"(FileInfo).Name", Method, 0, ""},
+ {"(FileInfo).Size", Method, 0, ""},
+ {"(FileInfo).Sys", Method, 0, ""},
{"(FileMode).IsDir", Method, 0, ""},
{"(FileMode).IsRegular", Method, 1, ""},
{"(FileMode).Perm", Method, 0, ""},
{"(FileMode).String", Method, 0, ""},
+ {"(Signal).Signal", Method, 0, ""},
+ {"(Signal).String", Method, 0, ""},
{"Args", Var, 0, ""},
{"Chdir", Func, 0, "func(dir string) error"},
{"Chmod", Func, 0, "func(name string, mode FileMode) error"},
@@ -9208,6 +9752,7 @@ var PackageSymbols = map[string][]Symbol{
{"ErrExist", Var, 0, ""},
{"ErrInvalid", Var, 0, ""},
{"ErrNoDeadline", Var, 10, ""},
+ {"ErrNoHandle", Var, 26, ""},
{"ErrNotExist", Var, 0, ""},
{"ErrPermission", Var, 0, ""},
{"ErrProcessDone", Var, 16, ""},
@@ -9435,7 +9980,7 @@ var PackageSymbols = map[string][]Symbol{
{"ListSeparator", Const, 0, ""},
{"Localize", Func, 23, "func(path string) (string, error)"},
{"Match", Func, 0, "func(pattern string, name string) (matched bool, err error)"},
- {"Rel", Func, 0, "func(basepath string, targpath string) (string, error)"},
+ {"Rel", Func, 0, "func(basePath string, targPath string) (string, error)"},
{"Separator", Const, 0, ""},
{"SkipAll", Var, 20, ""},
{"SkipDir", Var, 0, ""},
@@ -9465,6 +10010,45 @@ var PackageSymbols = map[string][]Symbol{
{"(StructField).IsExported", Method, 17, ""},
{"(StructTag).Get", Method, 0, ""},
{"(StructTag).Lookup", Method, 7, ""},
+ {"(Type).Align", Method, 0, ""},
+ {"(Type).AssignableTo", Method, 0, ""},
+ {"(Type).Bits", Method, 0, ""},
+ {"(Type).CanSeq", Method, 23, ""},
+ {"(Type).CanSeq2", Method, 23, ""},
+ {"(Type).ChanDir", Method, 0, ""},
+ {"(Type).Comparable", Method, 4, ""},
+ {"(Type).ConvertibleTo", Method, 1, ""},
+ {"(Type).Elem", Method, 0, ""},
+ {"(Type).Field", Method, 0, ""},
+ {"(Type).FieldAlign", Method, 0, ""},
+ {"(Type).FieldByIndex", Method, 0, ""},
+ {"(Type).FieldByName", Method, 0, ""},
+ {"(Type).FieldByNameFunc", Method, 0, ""},
+ {"(Type).Fields", Method, 26, ""},
+ {"(Type).Implements", Method, 0, ""},
+ {"(Type).In", Method, 0, ""},
+ {"(Type).Ins", Method, 26, ""},
+ {"(Type).IsVariadic", Method, 0, ""},
+ {"(Type).Key", Method, 0, ""},
+ {"(Type).Kind", Method, 0, ""},
+ {"(Type).Len", Method, 0, ""},
+ {"(Type).Method", Method, 0, ""},
+ {"(Type).MethodByName", Method, 0, ""},
+ {"(Type).Methods", Method, 26, ""},
+ {"(Type).Name", Method, 0, ""},
+ {"(Type).NumField", Method, 0, ""},
+ {"(Type).NumIn", Method, 0, ""},
+ {"(Type).NumMethod", Method, 0, ""},
+ {"(Type).NumOut", Method, 0, ""},
+ {"(Type).Out", Method, 0, ""},
+ {"(Type).Outs", Method, 26, ""},
+ {"(Type).OverflowComplex", Method, 23, ""},
+ {"(Type).OverflowFloat", Method, 23, ""},
+ {"(Type).OverflowInt", Method, 23, ""},
+ {"(Type).OverflowUint", Method, 23, ""},
+ {"(Type).PkgPath", Method, 0, ""},
+ {"(Type).Size", Method, 0, ""},
+ {"(Type).String", Method, 0, ""},
{"(Value).Addr", Method, 0, ""},
{"(Value).Bool", Method, 0, ""},
{"(Value).Bytes", Method, 0, ""},
@@ -9491,6 +10075,7 @@ var PackageSymbols = map[string][]Symbol{
{"(Value).FieldByIndexErr", Method, 18, ""},
{"(Value).FieldByName", Method, 0, ""},
{"(Value).FieldByNameFunc", Method, 0, ""},
+ {"(Value).Fields", Method, 26, ""},
{"(Value).Float", Method, 0, ""},
{"(Value).Grow", Method, 20, ""},
{"(Value).Index", Method, 0, ""},
@@ -9507,6 +10092,7 @@ var PackageSymbols = map[string][]Symbol{
{"(Value).MapRange", Method, 12, ""},
{"(Value).Method", Method, 0, ""},
{"(Value).MethodByName", Method, 0, ""},
+ {"(Value).Methods", Method, 26, ""},
{"(Value).NumField", Method, 0, ""},
{"(Value).NumMethod", Method, 0, ""},
{"(Value).OverflowComplex", Method, 0, ""},
@@ -9622,7 +10208,7 @@ var PackageSymbols = map[string][]Symbol{
{"StructOf", Func, 7, "func(fields []StructField) Type"},
{"StructTag", Type, 0, ""},
{"Swapper", Func, 8, "func(slice any) func(i int, j int)"},
- {"Type", Type, 0, ""},
+ {"TypeAssert", Func, 25, "func[T any](v Value) (T, bool)"},
{"TypeFor", Func, 22, "func[T any]() Type"},
{"TypeOf", Func, 0, "func(i any) Type"},
{"Uint", Const, 0, ""},
@@ -9823,6 +10409,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*TypeAssertionError).Error", Method, 0, ""},
{"(*TypeAssertionError).RuntimeError", Method, 0, ""},
{"(Cleanup).Stop", Method, 24, ""},
+ {"(Error).Error", Method, 0, ""},
+ {"(Error).RuntimeError", Method, 0, ""},
{"AddCleanup", Func, 24, "func[T, S any](ptr *T, cleanup func(S), arg S) Cleanup"},
{"BlockProfile", Func, 1, "func(p []BlockProfileRecord) (n int, ok bool)"},
{"BlockProfileRecord", Type, 1, ""},
@@ -9905,10 +10493,11 @@ var PackageSymbols = map[string][]Symbol{
{"PanicNilError", Type, 21, ""},
{"Pinner", Type, 21, ""},
{"ReadMemStats", Func, 0, "func(m *MemStats)"},
- {"ReadTrace", Func, 5, "func() []byte"},
+ {"ReadTrace", Func, 5, "func() (buf []byte)"},
{"SetBlockProfileRate", Func, 1, "func(rate int)"},
{"SetCPUProfileRate", Func, 0, "func(hz int)"},
{"SetCgoTraceback", Func, 7, "func(version int, traceback unsafe.Pointer, context unsafe.Pointer, symbolizer unsafe.Pointer)"},
+ {"SetDefaultGOMAXPROCS", Func, 25, "func()"},
{"SetFinalizer", Func, 0, "func(obj any, finalizer any)"},
{"SetMutexProfileFraction", Func, 8, "func(rate int) int"},
{"Stack", Func, 0, "func(buf []byte, all bool) int"},
@@ -10021,11 +10610,20 @@ var PackageSymbols = map[string][]Symbol{
{"WriteHeapProfile", Func, 0, "func(w io.Writer) error"},
},
"runtime/trace": {
+ {"(*FlightRecorder).Enabled", Method, 25, ""},
+ {"(*FlightRecorder).Start", Method, 25, ""},
+ {"(*FlightRecorder).Stop", Method, 25, ""},
+ {"(*FlightRecorder).WriteTo", Method, 25, ""},
{"(*Region).End", Method, 11, ""},
{"(*Task).End", Method, 11, ""},
+ {"FlightRecorder", Type, 25, ""},
+ {"FlightRecorderConfig", Type, 25, ""},
+ {"FlightRecorderConfig.MaxBytes", Field, 25, ""},
+ {"FlightRecorderConfig.MinAge", Field, 25, ""},
{"IsEnabled", Func, 11, "func() bool"},
{"Log", Func, 11, "func(ctx context.Context, category string, message string)"},
{"Logf", Func, 11, "func(ctx context.Context, category string, format string, args ...any)"},
+ {"NewFlightRecorder", Func, 25, "func(cfg FlightRecorderConfig) *FlightRecorder"},
{"NewTask", Func, 11, "func(pctx context.Context, taskType string) (ctx context.Context, task *Task)"},
{"Region", Type, 11, ""},
{"Start", Func, 5, "func(w io.Writer) error"},
@@ -10087,6 +10685,9 @@ var PackageSymbols = map[string][]Symbol{
{"(IntSlice).Search", Method, 0, ""},
{"(IntSlice).Sort", Method, 0, ""},
{"(IntSlice).Swap", Method, 0, ""},
+ {"(Interface).Len", Method, 0, ""},
+ {"(Interface).Less", Method, 0, ""},
+ {"(Interface).Swap", Method, 0, ""},
{"(StringSlice).Len", Method, 0, ""},
{"(StringSlice).Less", Method, 0, ""},
{"(StringSlice).Search", Method, 0, ""},
@@ -10278,6 +10879,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*WaitGroup).Done", Method, 0, ""},
{"(*WaitGroup).Go", Method, 25, ""},
{"(*WaitGroup).Wait", Method, 0, ""},
+ {"(Locker).Lock", Method, 0, ""},
+ {"(Locker).Unlock", Method, 0, ""},
{"Cond", Type, 0, ""},
{"Cond.L", Field, 0, ""},
{"Locker", Type, 0, ""},
@@ -10419,10 +11022,14 @@ var PackageSymbols = map[string][]Symbol{
{"(*Timeval).Nano", Method, 0, ""},
{"(*Timeval).Nanoseconds", Method, 0, ""},
{"(*Timeval).Unix", Method, 0, ""},
+ {"(Conn).SyscallConn", Method, 9, ""},
{"(Errno).Error", Method, 0, ""},
{"(Errno).Is", Method, 13, ""},
{"(Errno).Temporary", Method, 0, ""},
{"(Errno).Timeout", Method, 0, ""},
+ {"(RawConn).Control", Method, 9, ""},
+ {"(RawConn).Read", Method, 9, ""},
+ {"(RawConn).Write", Method, 9, ""},
{"(Signal).Signal", Method, 0, ""},
{"(Signal).String", Method, 0, ""},
{"(Token).Close", Method, 0, ""},
@@ -14342,7 +14949,7 @@ var PackageSymbols = map[string][]Symbol{
{"RouteMessage.Data", Field, 0, ""},
{"RouteMessage.Header", Field, 0, ""},
{"RouteRIB", Func, 0, ""},
- {"RoutingMessage", Type, 0, ""},
+ {"RoutingMessage", Type, 14, ""},
{"RtAttr", Type, 0, ""},
{"RtAttr.Len", Field, 0, ""},
{"RtAttr.Type", Field, 0, ""},
@@ -15828,7 +16435,6 @@ var PackageSymbols = map[string][]Symbol{
{"SockFprog.Filter", Field, 0, ""},
{"SockFprog.Len", Field, 0, ""},
{"SockFprog.Pad_cgo_0", Field, 0, ""},
- {"Sockaddr", Type, 0, ""},
{"SockaddrDatalink", Type, 0, ""},
{"SockaddrDatalink.Alen", Field, 0, ""},
{"SockaddrDatalink.Data", Field, 0, ""},
@@ -16642,6 +17248,8 @@ var PackageSymbols = map[string][]Symbol{
{"ValueOf", Func, 0, ""},
},
"testing": {
+ {"(*B).ArtifactDir", Method, 26, ""},
+ {"(*B).Attr", Method, 25, ""},
{"(*B).Chdir", Method, 24, ""},
{"(*B).Cleanup", Method, 14, ""},
{"(*B).Context", Method, 24, ""},
@@ -16658,6 +17266,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*B).Logf", Method, 0, ""},
{"(*B).Loop", Method, 24, ""},
{"(*B).Name", Method, 8, ""},
+ {"(*B).Output", Method, 25, ""},
{"(*B).ReportAllocs", Method, 1, ""},
{"(*B).ReportMetric", Method, 13, ""},
{"(*B).ResetTimer", Method, 0, ""},
@@ -16674,6 +17283,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*B).StopTimer", Method, 0, ""},
{"(*B).TempDir", Method, 15, ""},
{"(*F).Add", Method, 18, ""},
+ {"(*F).ArtifactDir", Method, 26, ""},
+ {"(*F).Attr", Method, 25, ""},
{"(*F).Chdir", Method, 24, ""},
{"(*F).Cleanup", Method, 18, ""},
{"(*F).Context", Method, 24, ""},
@@ -16689,6 +17300,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*F).Log", Method, 18, ""},
{"(*F).Logf", Method, 18, ""},
{"(*F).Name", Method, 18, ""},
+ {"(*F).Output", Method, 25, ""},
{"(*F).Setenv", Method, 18, ""},
{"(*F).Skip", Method, 18, ""},
{"(*F).SkipNow", Method, 18, ""},
@@ -16697,6 +17309,8 @@ var PackageSymbols = map[string][]Symbol{
{"(*F).TempDir", Method, 18, ""},
{"(*M).Run", Method, 4, ""},
{"(*PB).Next", Method, 3, ""},
+ {"(*T).ArtifactDir", Method, 26, ""},
+ {"(*T).Attr", Method, 25, ""},
{"(*T).Chdir", Method, 24, ""},
{"(*T).Cleanup", Method, 14, ""},
{"(*T).Context", Method, 24, ""},
@@ -16712,6 +17326,7 @@ var PackageSymbols = map[string][]Symbol{
{"(*T).Log", Method, 0, ""},
{"(*T).Logf", Method, 0, ""},
{"(*T).Name", Method, 8, ""},
+ {"(*T).Output", Method, 25, ""},
{"(*T).Parallel", Method, 0, ""},
{"(*T).Run", Method, 7, ""},
{"(*T).Setenv", Method, 17, ""},
@@ -16725,6 +17340,29 @@ var PackageSymbols = map[string][]Symbol{
{"(BenchmarkResult).MemString", Method, 1, ""},
{"(BenchmarkResult).NsPerOp", Method, 0, ""},
{"(BenchmarkResult).String", Method, 0, ""},
+ {"(TB).ArtifactDir", Method, 26, ""},
+ {"(TB).Attr", Method, 25, ""},
+ {"(TB).Chdir", Method, 24, ""},
+ {"(TB).Cleanup", Method, 14, ""},
+ {"(TB).Context", Method, 24, ""},
+ {"(TB).Error", Method, 2, ""},
+ {"(TB).Errorf", Method, 2, ""},
+ {"(TB).Fail", Method, 2, ""},
+ {"(TB).FailNow", Method, 2, ""},
+ {"(TB).Failed", Method, 2, ""},
+ {"(TB).Fatal", Method, 2, ""},
+ {"(TB).Fatalf", Method, 2, ""},
+ {"(TB).Helper", Method, 9, ""},
+ {"(TB).Log", Method, 2, ""},
+ {"(TB).Logf", Method, 2, ""},
+ {"(TB).Name", Method, 8, ""},
+ {"(TB).Output", Method, 25, ""},
+ {"(TB).Setenv", Method, 17, ""},
+ {"(TB).Skip", Method, 2, ""},
+ {"(TB).SkipNow", Method, 2, ""},
+ {"(TB).Skipf", Method, 2, ""},
+ {"(TB).Skipped", Method, 2, ""},
+ {"(TB).TempDir", Method, 15, ""},
{"AllocsPerRun", Func, 1, "func(runs int, f func()) (avg float64)"},
{"B", Type, 0, ""},
{"B.N", Field, 0, ""},
@@ -16775,10 +17413,12 @@ var PackageSymbols = map[string][]Symbol{
{"RunTests", Func, 0, "func(matchString func(pat string, str string) (bool, error), tests []InternalTest) (ok bool)"},
{"Short", Func, 0, "func() bool"},
{"T", Type, 0, ""},
- {"TB", Type, 2, ""},
{"Testing", Func, 21, "func() bool"},
{"Verbose", Func, 1, "func() bool"},
},
+ "testing/cryptotest": {
+ {"SetGlobalRandom", Func, 26, "func(t *testing.T, seed uint64)"},
+ },
"testing/fstest": {
{"(MapFS).Glob", Method, 16, ""},
{"(MapFS).Lstat", Method, 25, ""},
@@ -16811,6 +17451,7 @@ var PackageSymbols = map[string][]Symbol{
"testing/quick": {
{"(*CheckEqualError).Error", Method, 0, ""},
{"(*CheckError).Error", Method, 0, ""},
+ {"(Generator).Generate", Method, 0, ""},
{"(SetupError).Error", Method, 0, ""},
{"Check", Func, 0, "func(f any, config *Config) error"},
{"CheckEqual", Func, 0, "func(f any, g any, config *Config) error"},
@@ -16834,6 +17475,10 @@ var PackageSymbols = map[string][]Symbol{
{"Run", Func, 22, "func(t *testing.T, newHandler func(*testing.T) slog.Handler, result func(*testing.T) map[string]any)"},
{"TestHandler", Func, 21, "func(h slog.Handler, results func() []map[string]any) error"},
},
+ "testing/synctest": {
+ {"Test", Func, 25, "func(t *testing.T, f func(*testing.T))"},
+ {"Wait", Func, 25, "func()"},
+ },
"text/scanner": {
{"(*Position).IsValid", Method, 0, ""},
{"(*Scanner).Init", Method, 0, ""},
@@ -17013,6 +17658,10 @@ var PackageSymbols = map[string][]Symbol{
{"(ListNode).Position", Method, 1, ""},
{"(ListNode).Type", Method, 0, ""},
{"(NilNode).Position", Method, 1, ""},
+ {"(Node).Copy", Method, 0, ""},
+ {"(Node).Position", Method, 1, ""},
+ {"(Node).String", Method, 0, ""},
+ {"(Node).Type", Method, 0, ""},
{"(NodeType).Type", Method, 0, ""},
{"(NumberNode).Position", Method, 1, ""},
{"(NumberNode).Type", Method, 0, ""},
@@ -17347,6 +17996,7 @@ var PackageSymbols = map[string][]Symbol{
{"CaseRange.Lo", Field, 0, ""},
{"CaseRanges", Var, 0, ""},
{"Categories", Var, 0, ""},
+ {"CategoryAliases", Var, 25, ""},
{"Caucasian_Albanian", Var, 4, ""},
{"Cc", Var, 0, ""},
{"Cf", Var, 0, ""},
@@ -17354,6 +18004,7 @@ var PackageSymbols = map[string][]Symbol{
{"Cham", Var, 0, ""},
{"Cherokee", Var, 0, ""},
{"Chorasmian", Var, 16, ""},
+ {"Cn", Var, 25, ""},
{"Co", Var, 0, ""},
{"Common", Var, 0, ""},
{"Coptic", Var, 0, ""},
@@ -17432,6 +18083,7 @@ var PackageSymbols = map[string][]Symbol{
{"Khojki", Var, 4, ""},
{"Khudawadi", Var, 4, ""},
{"L", Var, 0, ""},
+ {"LC", Var, 25, ""},
{"Lao", Var, 0, ""},
{"Latin", Var, 0, ""},
{"Lepcha", Var, 0, ""},
diff --git a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
index e223e0f..59a5de3 100644
--- a/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
+++ b/vendor/golang.org/x/tools/internal/stdlib/stdlib.go
@@ -39,7 +39,7 @@ const (
Var // "EOF"
Const // "Pi"
Field // "Point.X"
- Method // "(*Buffer).Grow"
+ Method // "(*Buffer).Grow" or "(Reader).Read"
)
func (kind Kind) String() string {
diff --git a/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/main.go b/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/main.go
index e29f52b..cd22f14 100644
--- a/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/main.go
+++ b/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/main.go
@@ -817,6 +817,7 @@ func genExtensions(g *protogen.GeneratedFile, f *fileInfo) {
leadingComments = appendDeprecationSuffix(leadingComments,
x.Desc.ParentFile(),
x.Desc.Options().(*descriptorpb.FieldOptions).GetDeprecated())
+ g.AnnotateSymbol("E_"+x.GoIdent.GoName, protogen.Annotation{Location: x.Location})
g.P(leadingComments,
"E_", x.GoIdent, " = &", extensionTypesVarName(f), "[", allExtensionsByPtr[x], "]",
trailingComment(x.Comments.Trailing))
diff --git a/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/opaque.go b/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/opaque.go
index 999a251..bfbafbe 100644
--- a/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/opaque.go
+++ b/vendor/google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo/opaque.go
@@ -11,6 +11,7 @@ import (
"unicode/utf8"
"google.golang.org/protobuf/compiler/protogen"
+ "google.golang.org/protobuf/internal/filedesc"
"google.golang.org/protobuf/internal/genid"
"google.golang.org/protobuf/reflect/protoreflect"
@@ -279,8 +280,7 @@ func isLazy(field *protogen.Field) bool {
}
// Was the field marked as [lazy = true] in the .proto file?
- fopts := field.Desc.Options().(*descriptorpb.FieldOptions)
- return fopts.GetLazy()
+ return field.Desc.(interface{ IsLazy() bool }).IsLazy()
}
// opaqueGenGet generates a Get method for a field.
@@ -573,16 +573,8 @@ func usePresence(message *messageInfo, field *protogen.Field) bool {
if !message.isOpaque() {
return false
}
- return opaqueFieldNeedsPresenceArray(message, field)
-}
-
-func opaqueFieldNeedsPresenceArray(message *messageInfo, field *protogen.Field) bool {
- // Non optional fields need presence if truly lazy field, i.e. are message fields.
- if isLazy(field) {
- return true
- }
- isNotOneof := field.Desc.ContainingOneof() == nil || field.Desc.ContainingOneof().IsSynthetic()
- return field.Desc.HasPresence() && field.Message == nil && isNotOneof
+ usePresence, _ := filedesc.UsePresenceForField(field.Desc)
+ return usePresence
}
// opaqueGenHas generates a Has method for a field.
@@ -804,10 +796,12 @@ func opaqueGenWhichOneof(g *protogen.GeneratedFile, f *fileInfo, message *messag
caseType := opaqueOneofCaseTypeName(oneof)
g.P("const ", message.GoIdent.GoName, "_", oneof.GoName, "_not_set_case ", caseType, " = ", 0)
for _, f := range oneof.Fields {
+ g.AnnotateSymbol(message.GoIdent.GoName+"_"+f.GoName+"_case", protogen.Annotation{Location: f.Location})
g.P("const ", message.GoIdent.GoName, "_", f.GoName, "_case ", caseType, " = ", f.Desc.Number())
}
fieldtrackNoInterface(g, message.noInterface)
whicherName := oneof.MethodName("Which")
+ g.AnnotateSymbol(message.GoIdent.GoName+"."+whicherName, protogen.Annotation{Location: oneof.Location})
g.P("func (x *", message.GoIdent, ") ", whicherName, "() ", caseType, " {")
g.P("if x == nil {")
g.P("return ", message.GoIdent.GoName, "_", oneof.GoName, "_not_set_case ")
@@ -832,7 +826,7 @@ func opaqueNeedsPresenceArray(message *messageInfo) bool {
return false
}
for _, field := range message.Fields {
- if opaqueFieldNeedsPresenceArray(message, field) {
+ if usePresence, _ := filedesc.UsePresenceForField(field.Desc); usePresence {
return true
}
}
diff --git a/vendor/google.golang.org/protobuf/compiler/protogen/protogen.go b/vendor/google.golang.org/protobuf/compiler/protogen/protogen.go
index f7f295a..f68418b 100644
--- a/vendor/google.golang.org/protobuf/compiler/protogen/protogen.go
+++ b/vendor/google.golang.org/protobuf/compiler/protogen/protogen.go
@@ -267,6 +267,12 @@ func (opts Options) New(req *pluginpb.CodeGeneratorRequest) (*Plugin, error) {
return nil, fmt.Errorf("cannot use module= with paths=source_relative")
}
+ // Instead of generating each gen.Request.ProtoFile,
+ // generate gen.Request.FileToGenerate and its transitive dependencies.
+ //
+ // This effectively filters out 'import option' dependencies.
+ files := gatherTransitiveDependencies(gen.Request)
+
// Figure out the import path and package name for each file.
//
// The rules here are complicated and have grown organically over time.
@@ -281,7 +287,7 @@ func (opts Options) New(req *pluginpb.CodeGeneratorRequest) (*Plugin, error) {
//
// Alternatively, build systems which want to exert full control over
// import paths may specify M= flags.
- for _, fdesc := range gen.Request.ProtoFile {
+ for _, fdesc := range files {
filename := fdesc.GetName()
// The "M" command-line flags take precedence over
// the "go_package" option in the .proto source file.
@@ -351,7 +357,7 @@ func (opts Options) New(req *pluginpb.CodeGeneratorRequest) (*Plugin, error) {
// The extracted types from the full import set
typeRegistry := newExtensionRegistry()
- for _, fdesc := range gen.Request.ProtoFile {
+ for _, fdesc := range files {
filename := fdesc.GetName()
if gen.FilesByPath[filename] != nil {
return nil, fmt.Errorf("duplicate file name: %q", filename)
@@ -390,6 +396,50 @@ func (opts Options) New(req *pluginpb.CodeGeneratorRequest) (*Plugin, error) {
return gen, nil
}
+type transitiveDependencies struct {
+ files map[string]*descriptorpb.FileDescriptorProto
+ deps map[string]bool
+ sortedDeps []*descriptorpb.FileDescriptorProto
+}
+
+func newTransitiveDependencies(req *pluginpb.CodeGeneratorRequest) *transitiveDependencies {
+ files := make(map[string]*descriptorpb.FileDescriptorProto)
+ for _, f := range req.GetProtoFile() {
+ files[f.GetName()] = f
+ }
+ return &transitiveDependencies{
+ files: files,
+ deps: make(map[string]bool),
+ }
+}
+
+func (td *transitiveDependencies) add(name string) {
+ if td.deps[name] {
+ return
+ }
+ f := td.files[name]
+ if f == nil {
+ // This shouldn't happen, but will fail later if it does.
+ return
+ }
+ td.deps[name] = true
+ for _, dep := range f.GetDependency() {
+ td.add(dep)
+ }
+ td.sortedDeps = append(td.sortedDeps, f)
+}
+
+func gatherTransitiveDependencies(req *pluginpb.CodeGeneratorRequest) []*descriptorpb.FileDescriptorProto {
+ if len(req.GetFileToGenerate()) == 0 {
+ return req.GetProtoFile()
+ }
+ td := newTransitiveDependencies(req)
+ for _, f := range req.GetFileToGenerate() {
+ td.add(f)
+ }
+ return td.sortedDeps
+}
+
// InternalStripForEditionsDiff returns whether or not to strip non-functional
// codegen for editions diff testing.
//
diff --git a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
index e942bc9..743bfb8 100644
--- a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
+++ b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
@@ -371,7 +371,31 @@ func ConsumeVarint(b []byte) (v uint64, n int) {
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
+ //
+ // The Go compiler can translate the bits.LeadingZeros64 call into the LZCNT
+ // instruction, which is very fast on CPUs from the last few years. The
+ // specific way of expressing the calculation matches C++ Protobuf, see
+ // https://godbolt.org/z/4P3h53oM4 for the C++ code and how gcc/clang
+ // optimize that function for GOAMD64=v1 and GOAMD64=v3 (-march=haswell).
+
+ // By OR'ing v with 1, we guarantee that v is never 0, without changing the
+ // result of SizeVarint. LZCNT is not defined for 0, meaning the compiler
+ // needs to add extra instructions to handle that case.
+ //
+ // The Go compiler currently (go1.24.4) does not make use of this knowledge.
+ // This opportunity (removing the XOR instruction, which handles the 0 case)
+ // results in a small (1%) performance win across CPU architectures.
+ //
+ // Independently of avoiding the 0 case, we need the v |= 1 line because
+ // it allows the Go compiler to eliminate an extra XCHGL barrier.
+ v |= 1
+
+ // It would be clearer to write log2value := 63 - uint32(...), but
+ // writing uint32(...) ^ 63 is much more efficient (-14% ARM, -20% Intel).
+ // Proof of identity for our value range [0..63]:
+ // https://go.dev/play/p/Pdn9hEWYakX
+ log2value := uint32(bits.LeadingZeros64(v)) ^ 63
+ return int((log2value*9 + (64 + 9)) / 64)
}
// AppendFixed32 appends v to b as a little-endian uint32.
diff --git a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
index 323829d..0469635 100644
Binary files a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb and b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb differ
diff --git a/vendor/google.golang.org/protobuf/internal/editionssupport/editions.go b/vendor/google.golang.org/protobuf/internal/editionssupport/editions.go
index bf1aba0..7b9f01a 100644
--- a/vendor/google.golang.org/protobuf/internal/editionssupport/editions.go
+++ b/vendor/google.golang.org/protobuf/internal/editionssupport/editions.go
@@ -9,7 +9,7 @@ import "google.golang.org/protobuf/types/descriptorpb"
const (
Minimum = descriptorpb.Edition_EDITION_PROTO2
- Maximum = descriptorpb.Edition_EDITION_2023
+ Maximum = descriptorpb.Edition_EDITION_2024
// MaximumKnown is the maximum edition that is known to Go Protobuf, but not
// declared as supported. In other words: end users cannot use it, but
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go b/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go
index 669133d..c96e448 100644
--- a/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go
+++ b/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go
@@ -32,7 +32,7 @@ var byteType = reflect.TypeOf(byte(0))
func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescriptors) protoreflect.FieldDescriptor {
f := new(filedesc.Field)
f.L0.ParentFile = filedesc.SurrogateProto2
- f.L1.EditionFeatures = f.L0.ParentFile.L1.EditionFeatures
+ packed := false
for len(tag) > 0 {
i := strings.IndexByte(tag, ',')
if i < 0 {
@@ -108,7 +108,7 @@ func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescri
f.L1.StringName.InitJSON(jsonName)
}
case s == "packed":
- f.L1.EditionFeatures.IsPacked = true
+ packed = true
case strings.HasPrefix(s, "def="):
// The default tag is special in that everything afterwards is the
// default regardless of the presence of commas.
@@ -121,6 +121,13 @@ func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescri
tag = strings.TrimPrefix(tag[i:], ",")
}
+ // Update EditionFeatures after the loop and after we know whether this is
+ // a proto2 or proto3 field.
+ f.L1.EditionFeatures = f.L0.ParentFile.L1.EditionFeatures
+ if packed {
+ f.L1.EditionFeatures.IsPacked = true
+ }
+
// 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 {
diff --git a/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go b/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
index 099b2bf..9aa7a9b 100644
--- a/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
+++ b/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go
@@ -424,27 +424,34 @@ func (d *Decoder) parseFieldName() (tok Token, err error) {
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.
+// parseTypeName parses an Any type URL or an extension field name. The name is
+// enclosed in [ and ] characters. We allow almost arbitrary type URL prefixes,
+// closely following the text-format spec [1,2]. We implement "ExtensionName |
+// AnyName" as follows (with some exceptions for backwards compatibility):
+//
+// char = [-_a-zA-Z0-9]
+// url_char = char | [.~!$&'()*+,;=] | "%", hex, hex
+//
+// Ident = char, { char }
+// TypeName = Ident, { ".", Ident } ;
+// UrlPrefix = url_char, { url_char | "/" } ;
+// ExtensionName = "[", TypeName, "]" ;
+// AnyName = "[", UrlPrefix, "/", TypeName, "]" ;
+//
+// Additionally, we allow arbitrary whitespace and comments between [ and ].
+//
+// [1] https://protobuf.dev/reference/protobuf/textformat-spec/#characters
+// [2] https://protobuf.dev/reference/protobuf/textformat-spec/#field-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.
+ // Caller already checks for [ as first character (d.in[0] == '[').
s := consume(d.in[1:], 0)
if len(s) == 0 {
return Token{}, ErrUnexpectedEOF
}
+ // Collect everything between [ and ] in name.
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 {
@@ -452,23 +459,20 @@ func (d *Decoder) parseTypeName() (Token, error) {
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])
- }
+ case s[0] == '/' || isTypeNameChar(s[0]) || isUrlExtraChar(s[0]):
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[1:], 0)
+
+ // URL percent-encoded chars
+ case s[0] == '%':
+ if len(s) < 3 || !isHexChar(s[1]) || !isHexChar(s[2]) {
+ return Token{}, d.parseTypeNameError(s, 3)
}
- s = consume(s, 0)
+ name = append(name, s[0], s[1], s[2])
+ s = consume(s[3:], 0)
default:
- return Token{}, d.newSyntaxError(
- "invalid type URL/extension field name: %s", d.orig[startPos:len(d.orig)-len(s)+1])
+ return Token{}, d.parseTypeNameError(s, 1)
}
}
@@ -476,15 +480,38 @@ func (d *Decoder) parseTypeName() (Token, error) {
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)])
+ // Split collected name on last '/' into urlPrefix and typeName (if '/' is
+ // present).
+ typeName := name
+ if i := bytes.LastIndexByte(name, '/'); i != -1 {
+ urlPrefix := name[:i]
+ typeName = name[i+1:]
+
+ // urlPrefix may be empty (for backwards compatibility).
+ // If non-empty, it must not start with '/'.
+ if len(urlPrefix) > 0 && urlPrefix[0] == '/' {
+ return Token{}, d.parseTypeNameError(s, 0)
+ }
}
+ // typeName must not be empty (note: "" splits to [""]) and all identifier
+ // parts must not be empty.
+ for _, ident := range bytes.Split(typeName, []byte{'.'}) {
+ if len(ident) == 0 {
+ return Token{}, d.parseTypeNameError(s, 0)
+ }
+ }
+
+ // typeName must not contain any percent-encoded or special URL chars.
+ for _, b := range typeName {
+ if b == '%' || (b != '.' && isUrlExtraChar(b)) {
+ return Token{}, d.parseTypeNameError(s, 0)
+ }
+ }
+
+ startPos := len(d.orig) - len(d.in)
+ endPos := len(d.orig) - len(s)
d.in = s
- endPos := len(d.orig) - len(d.in)
d.consume(0)
return Token{
@@ -496,16 +523,32 @@ func (d *Decoder) parseTypeName() (Token, error) {
}, nil
}
+func (d *Decoder) parseTypeNameError(s []byte, numUnconsumedChars int) error {
+ return d.newSyntaxError(
+ "invalid type URL/extension field name: %s",
+ d.in[:len(d.in)-len(s)+min(numUnconsumedChars, len(s))],
+ )
+}
+
+func isHexChar(b byte) bool {
+ return ('0' <= b && b <= '9') ||
+ ('a' <= b && b <= 'f') ||
+ ('A' <= b && b <= 'F')
+}
+
func isTypeNameChar(b byte) bool {
- return (b == '-' || b == '_' ||
+ return b == '-' || b == '_' ||
('0' <= b && b <= '9') ||
('a' <= b && b <= 'z') ||
- ('A' <= b && b <= 'Z'))
+ ('A' <= b && b <= 'Z')
}
-func isWhiteSpace(b byte) bool {
+// isUrlExtraChar complements isTypeNameChar with extra characters that we allow
+// in URLs but not in type names. Note that '/' is not included so that it can
+// be treated specially.
+func isUrlExtraChar(b byte) bool {
switch b {
- case ' ', '\n', '\r', '\t':
+ case '.', '~', '!', '$', '&', '(', ')', '*', '+', ',', ';', '=':
return true
default:
return false
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc.go
index 688aabe..c775e58 100644
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc.go
+++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc.go
@@ -32,6 +32,7 @@ const (
EditionProto3 Edition = 999
Edition2023 Edition = 1000
Edition2024 Edition = 1001
+ EditionUnstable Edition = 9999
EditionUnsupported Edition = 100000
)
@@ -72,9 +73,10 @@ type (
EditionFeatures EditionFeatures
}
FileL2 struct {
- Options func() protoreflect.ProtoMessage
- Imports FileImports
- Locations SourceLocations
+ Options func() protoreflect.ProtoMessage
+ Imports FileImports
+ OptionImports func() protoreflect.FileImports
+ Locations SourceLocations
}
// EditionFeatures is a frequently-instantiated struct, so please take care
@@ -126,12 +128,9 @@ 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 }
-
-// Not exported and just used to reconstruct the original FileDescriptor proto
-func (fd *File) Edition() int32 { return int32(fd.L1.Edition) }
-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) 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()
@@ -150,6 +149,16 @@ func (fd *File) Format(s fmt.State, r rune) { descfmt.FormatD
func (fd *File) ProtoType(protoreflect.FileDescriptor) {}
func (fd *File) ProtoInternal(pragma.DoNotImplement) {}
+// The next two are not part of the FileDescriptor interface. They are just used to reconstruct
+// the original FileDescriptor proto.
+func (fd *File) Edition() int32 { return int32(fd.L1.Edition) }
+func (fd *File) OptionImports() protoreflect.FileImports {
+ if f := fd.lazyInit().OptionImports; f != nil {
+ return f()
+ }
+ return emptyFiles
+}
+
func (fd *File) lazyInit() *FileL2 {
if atomic.LoadUint32(&fd.once) == 0 {
fd.lazyInitOnce()
@@ -182,9 +191,9 @@ type (
L2 *EnumL2 // protected by fileDesc.once
}
EnumL1 struct {
- eagerValues bool // controls whether EnumL2.Values is already populated
-
EditionFeatures EditionFeatures
+ Visibility int32
+ eagerValues bool // controls whether EnumL2.Values is already populated
}
EnumL2 struct {
Options func() protoreflect.ProtoMessage
@@ -219,6 +228,11 @@ func (ed *Enum) ReservedNames() protoreflect.Names { return &ed.lazyInit()
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) {}
+
+// This is not part of the EnumDescriptor interface. It is just used to reconstruct
+// the original FileDescriptor proto.
+func (ed *Enum) Visibility() int32 { return ed.L1.Visibility }
+
func (ed *Enum) lazyInit() *EnumL2 {
ed.L0.ParentFile.lazyInit() // implicitly initializes L2
return ed.L2
@@ -244,13 +258,13 @@ type (
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
-
+ Enums Enums
+ Messages Messages
+ Extensions Extensions
EditionFeatures EditionFeatures
+ Visibility int32
+ IsMapEntry bool // promoted from google.protobuf.MessageOptions
+ IsMessageSet bool // promoted from google.protobuf.MessageOptions
}
MessageL2 struct {
Options func() protoreflect.ProtoMessage
@@ -319,6 +333,11 @@ func (md *Message) Messages() protoreflect.MessageDescriptors { return &md.L
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) }
+
+// This is not part of the MessageDescriptor interface. It is just used to reconstruct
+// the original FileDescriptor proto.
+func (md *Message) Visibility() int32 { return md.L1.Visibility }
+
func (md *Message) lazyInit() *MessageL2 {
md.L0.ParentFile.lazyInit() // implicitly initializes L2
return md.L2
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
index d2f5494..e91860f 100644
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
+++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
@@ -284,6 +284,13 @@ func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protorefl
case genid.EnumDescriptorProto_Value_field_number:
numValues++
}
+ case protowire.VarintType:
+ v, m := protowire.ConsumeVarint(b)
+ b = b[m:]
+ switch num {
+ case genid.EnumDescriptorProto_Visibility_field_number:
+ ed.L1.Visibility = int32(v)
+ }
default:
m := protowire.ConsumeFieldValue(num, typ, b)
b = b[m:]
@@ -365,6 +372,13 @@ func (md *Message) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protor
md.unmarshalSeedOptions(v)
}
prevField = num
+ case protowire.VarintType:
+ v, m := protowire.ConsumeVarint(b)
+ b = b[m:]
+ switch num {
+ case genid.DescriptorProto_Visibility_field_number:
+ md.L1.Visibility = int32(v)
+ }
default:
m := protowire.ConsumeFieldValue(num, typ, b)
b = b[m:]
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
index d4c9445..78f02b1 100644
--- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
+++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
@@ -134,6 +134,7 @@ func (fd *File) unmarshalFull(b []byte) {
var enumIdx, messageIdx, extensionIdx, serviceIdx int
var rawOptions []byte
+ var optionImports []string
fd.L2 = new(FileL2)
for len(b) > 0 {
num, typ, n := protowire.ConsumeTag(b)
@@ -157,6 +158,8 @@ func (fd *File) unmarshalFull(b []byte) {
imp = PlaceholderFile(path)
}
fd.L2.Imports = append(fd.L2.Imports, protoreflect.FileImport{FileDescriptor: imp})
+ case genid.FileDescriptorProto_OptionDependency_field_number:
+ optionImports = append(optionImports, sb.MakeString(v))
case genid.FileDescriptorProto_EnumType_field_number:
fd.L1.Enums.List[enumIdx].unmarshalFull(v, sb)
enumIdx++
@@ -178,6 +181,23 @@ func (fd *File) unmarshalFull(b []byte) {
}
}
fd.L2.Options = fd.builder.optionsUnmarshaler(&descopts.File, rawOptions)
+ if len(optionImports) > 0 {
+ var imps FileImports
+ var once sync.Once
+ fd.L2.OptionImports = func() protoreflect.FileImports {
+ once.Do(func() {
+ imps = make(FileImports, len(optionImports))
+ for i, path := range optionImports {
+ imp, _ := fd.builder.FileRegistry.FindFileByPath(path)
+ if imp == nil {
+ imp = PlaceholderFile(path)
+ }
+ imps[i] = protoreflect.FileImport{FileDescriptor: imp}
+ }
+ })
+ return &imps
+ }
+ }
}
func (ed *Enum) unmarshalFull(b []byte, sb *strs.Builder) {
@@ -310,7 +330,6 @@ func (md *Message) unmarshalFull(b []byte, sb *strs.Builder) {
md.L1.Extensions.List[extensionIdx].unmarshalFull(v, sb)
extensionIdx++
case genid.DescriptorProto_Options_field_number:
- md.unmarshalOptions(v)
rawOptions = appendOptions(rawOptions, v)
}
default:
@@ -336,27 +355,6 @@ func (md *Message) unmarshalFull(b []byte, sb *strs.Builder) {
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)
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go b/vendor/google.golang.org/protobuf/internal/filedesc/editions.go
index b08b718..66ba906 100644
--- a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go
+++ b/vendor/google.golang.org/protobuf/internal/filedesc/editions.go
@@ -13,8 +13,10 @@ import (
"google.golang.org/protobuf/reflect/protoreflect"
)
-var defaultsCache = make(map[Edition]EditionFeatures)
-var defaultsKeys = []Edition{}
+var (
+ defaultsCache = make(map[Edition]EditionFeatures)
+ defaultsKeys = []Edition{}
+)
func init() {
unmarshalEditionDefaults(editiondefaults.Defaults)
@@ -41,7 +43,7 @@ func unmarshalGoFeature(b []byte, parent EditionFeatures) EditionFeatures {
b = b[m:]
parent.StripEnumPrefix = int(v)
default:
- panic(fmt.Sprintf("unkown field number %d while unmarshalling GoFeatures", num))
+ panic(fmt.Sprintf("unknown field number %d while unmarshalling GoFeatures", num))
}
}
return parent
@@ -72,8 +74,11 @@ func unmarshalFeatureSet(b []byte, parent EditionFeatures) EditionFeatures {
case genid.FeatureSet_EnforceNamingStyle_field_number:
// EnforceNamingStyle is enforced in protoc, languages other than C++
// are not supposed to do anything with this feature.
+ case genid.FeatureSet_DefaultSymbolVisibility_field_number:
+ // DefaultSymbolVisibility is enforced in protoc, runtimes should not
+ // inspect this value.
default:
- panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
+ panic(fmt.Sprintf("unknown field number %d while unmarshalling FeatureSet", num))
}
case protowire.BytesType:
v, m := protowire.ConsumeBytes(b)
@@ -147,7 +152,7 @@ func unmarshalEditionDefaults(b []byte) {
_, m := protowire.ConsumeVarint(b)
b = b[m:]
default:
- panic(fmt.Sprintf("unkown field number %d while unmarshalling EditionDefault", num))
+ panic(fmt.Sprintf("unknown field number %d while unmarshalling EditionDefault", num))
}
}
}
diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/presence.go b/vendor/google.golang.org/protobuf/internal/filedesc/presence.go
new file mode 100644
index 0000000..a12ec97
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/internal/filedesc/presence.go
@@ -0,0 +1,33 @@
+// Copyright 2025 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/reflect/protoreflect"
+
+// UsePresenceForField reports whether the presence bitmap should be used for
+// the specified field.
+func UsePresenceForField(fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) {
+ switch {
+ case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
+ // Oneof fields never use the presence bitmap.
+ //
+ // Synthetic oneofs are an exception: Those are used to implement proto3
+ // optional fields and hence should follow non-oneof field semantics.
+ return false, false
+
+ case fd.IsMap():
+ // Map-typed fields never use the presence bitmap.
+ return false, false
+
+ case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind:
+ // Lazy fields always use the presence bitmap (only messages can be lazy).
+ isLazy := fd.(interface{ IsLazy() bool }).IsLazy()
+ return isLazy, isLazy
+
+ default:
+ // If the field has presence, use the presence bitmap.
+ return fd.HasPresence(), false
+ }
+}
diff --git a/vendor/google.golang.org/protobuf/internal/genid/api_gen.go b/vendor/google.golang.org/protobuf/internal/genid/api_gen.go
index df8f918..3ceb6fa 100644
--- a/vendor/google.golang.org/protobuf/internal/genid/api_gen.go
+++ b/vendor/google.golang.org/protobuf/internal/genid/api_gen.go
@@ -27,6 +27,7 @@ const (
Api_SourceContext_field_name protoreflect.Name = "source_context"
Api_Mixins_field_name protoreflect.Name = "mixins"
Api_Syntax_field_name protoreflect.Name = "syntax"
+ Api_Edition_field_name protoreflect.Name = "edition"
Api_Name_field_fullname protoreflect.FullName = "google.protobuf.Api.name"
Api_Methods_field_fullname protoreflect.FullName = "google.protobuf.Api.methods"
@@ -35,6 +36,7 @@ const (
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"
+ Api_Edition_field_fullname protoreflect.FullName = "google.protobuf.Api.edition"
)
// Field numbers for google.protobuf.Api.
@@ -46,6 +48,7 @@ const (
Api_SourceContext_field_number protoreflect.FieldNumber = 5
Api_Mixins_field_number protoreflect.FieldNumber = 6
Api_Syntax_field_number protoreflect.FieldNumber = 7
+ Api_Edition_field_number protoreflect.FieldNumber = 8
)
// Names for google.protobuf.Method.
@@ -63,6 +66,7 @@ const (
Method_ResponseStreaming_field_name protoreflect.Name = "response_streaming"
Method_Options_field_name protoreflect.Name = "options"
Method_Syntax_field_name protoreflect.Name = "syntax"
+ Method_Edition_field_name protoreflect.Name = "edition"
Method_Name_field_fullname protoreflect.FullName = "google.protobuf.Method.name"
Method_RequestTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.request_type_url"
@@ -71,6 +75,7 @@ const (
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"
+ Method_Edition_field_fullname protoreflect.FullName = "google.protobuf.Method.edition"
)
// Field numbers for google.protobuf.Method.
@@ -82,6 +87,7 @@ const (
Method_ResponseStreaming_field_number protoreflect.FieldNumber = 5
Method_Options_field_number protoreflect.FieldNumber = 6
Method_Syntax_field_number protoreflect.FieldNumber = 7
+ Method_Edition_field_number protoreflect.FieldNumber = 8
)
// Names for google.protobuf.Mixin.
diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
index 3952478..65aaf4d 100644
--- a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
+++ b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
@@ -26,6 +26,7 @@ const (
Edition_EDITION_PROTO3_enum_value = 999
Edition_EDITION_2023_enum_value = 1000
Edition_EDITION_2024_enum_value = 1001
+ Edition_EDITION_UNSTABLE_enum_value = 9999
Edition_EDITION_1_TEST_ONLY_enum_value = 1
Edition_EDITION_2_TEST_ONLY_enum_value = 2
Edition_EDITION_99997_TEST_ONLY_enum_value = 99997
@@ -34,6 +35,19 @@ const (
Edition_EDITION_MAX_enum_value = 2147483647
)
+// Full and short names for google.protobuf.SymbolVisibility.
+const (
+ SymbolVisibility_enum_fullname = "google.protobuf.SymbolVisibility"
+ SymbolVisibility_enum_name = "SymbolVisibility"
+)
+
+// Enum values for google.protobuf.SymbolVisibility.
+const (
+ SymbolVisibility_VISIBILITY_UNSET_enum_value = 0
+ SymbolVisibility_VISIBILITY_LOCAL_enum_value = 1
+ SymbolVisibility_VISIBILITY_EXPORT_enum_value = 2
+)
+
// Names for google.protobuf.FileDescriptorSet.
const (
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
@@ -65,6 +79,7 @@ const (
FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency"
FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency"
FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency"
+ FileDescriptorProto_OptionDependency_field_name protoreflect.Name = "option_dependency"
FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type"
FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type"
FileDescriptorProto_Service_field_name protoreflect.Name = "service"
@@ -79,6 +94,7 @@ const (
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_OptionDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.option_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"
@@ -96,6 +112,7 @@ const (
FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3
FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10
FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11
+ FileDescriptorProto_OptionDependency_field_number protoreflect.FieldNumber = 15
FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4
FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5
FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6
@@ -124,6 +141,7 @@ const (
DescriptorProto_Options_field_name protoreflect.Name = "options"
DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
+ DescriptorProto_Visibility_field_name protoreflect.Name = "visibility"
DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name"
DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field"
@@ -135,6 +153,7 @@ const (
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"
+ DescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.visibility"
)
// Field numbers for google.protobuf.DescriptorProto.
@@ -149,6 +168,7 @@ const (
DescriptorProto_Options_field_number protoreflect.FieldNumber = 7
DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9
DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10
+ DescriptorProto_Visibility_field_number protoreflect.FieldNumber = 11
)
// Names for google.protobuf.DescriptorProto.ExtensionRange.
@@ -388,12 +408,14 @@ const (
EnumDescriptorProto_Options_field_name protoreflect.Name = "options"
EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
+ EnumDescriptorProto_Visibility_field_name protoreflect.Name = "visibility"
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"
+ EnumDescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.visibility"
)
// Field numbers for google.protobuf.EnumDescriptorProto.
@@ -403,6 +425,7 @@ const (
EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4
EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5
+ EnumDescriptorProto_Visibility_field_number protoreflect.FieldNumber = 6
)
// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
@@ -1008,32 +1031,35 @@ const (
// 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_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style"
-
- 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"
- FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style"
+ 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_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style"
+ FeatureSet_DefaultSymbolVisibility_field_name protoreflect.Name = "default_symbol_visibility"
+
+ 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"
+ FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style"
+ FeatureSet_DefaultSymbolVisibility_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.default_symbol_visibility"
)
// 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
- FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
+ 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
+ FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
+ FeatureSet_DefaultSymbolVisibility_field_number protoreflect.FieldNumber = 8
)
// Full and short names for google.protobuf.FeatureSet.FieldPresence.
@@ -1128,6 +1154,27 @@ const (
FeatureSet_STYLE_LEGACY_enum_value = 2
)
+// Names for google.protobuf.FeatureSet.VisibilityFeature.
+const (
+ FeatureSet_VisibilityFeature_message_name protoreflect.Name = "VisibilityFeature"
+ FeatureSet_VisibilityFeature_message_fullname protoreflect.FullName = "google.protobuf.FeatureSet.VisibilityFeature"
+)
+
+// Full and short names for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility.
+const (
+ FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_fullname = "google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility"
+ FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_name = "DefaultSymbolVisibility"
+)
+
+// Enum values for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility.
+const (
+ FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN_enum_value = 0
+ FeatureSet_VisibilityFeature_EXPORT_ALL_enum_value = 1
+ FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL_enum_value = 2
+ FeatureSet_VisibilityFeature_LOCAL_ALL_enum_value = 3
+ FeatureSet_VisibilityFeature_STRICT_enum_value = 4
+)
+
// Names for google.protobuf.FeatureSetDefaults.
const (
FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_map.go b/vendor/google.golang.org/protobuf/internal/impl/codec_map.go
index 229c698..4a3bf39 100644
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_map.go
+++ b/vendor/google.golang.org/protobuf/internal/impl/codec_map.go
@@ -113,6 +113,9 @@ func sizeMap(mapv reflect.Value, mapi *mapInfo, f *coderFieldInfo, opts marshalO
}
func consumeMap(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
+ if opts.depth--; opts.depth < 0 {
+ return out, errRecursionDepth
+ }
if wtyp != protowire.BytesType {
return out, errUnknown
}
@@ -170,6 +173,9 @@ func consumeMap(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo
}
func consumeMapOfMessage(b []byte, mapv reflect.Value, wtyp protowire.Type, mapi *mapInfo, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
+ if opts.depth--; opts.depth < 0 {
+ return out, errRecursionDepth
+ }
if wtyp != protowire.BytesType {
return out, errUnknown
}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go b/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go
index 41c1f74..bdad12a 100644
--- a/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go
+++ b/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go
@@ -11,6 +11,7 @@ import (
"google.golang.org/protobuf/encoding/protowire"
"google.golang.org/protobuf/internal/encoding/messageset"
+ "google.golang.org/protobuf/internal/filedesc"
"google.golang.org/protobuf/internal/order"
"google.golang.org/protobuf/reflect/protoreflect"
piface "google.golang.org/protobuf/runtime/protoiface"
@@ -80,7 +81,7 @@ func (mi *MessageInfo) makeOpaqueCoderMethods(t reflect.Type, si opaqueStructInf
// permit us to skip over definitely-unset fields at marshal time.
var hasPresence bool
- hasPresence, cf.isLazy = usePresenceForField(si, fd)
+ hasPresence, cf.isLazy = filedesc.UsePresenceForField(fd)
if hasPresence {
cf.presenceIndex, mi.presenceSize = presenceIndex(mi.Desc, fd)
diff --git a/vendor/google.golang.org/protobuf/internal/impl/decode.go b/vendor/google.golang.org/protobuf/internal/impl/decode.go
index e0dd21f..1228b5c 100644
--- a/vendor/google.golang.org/protobuf/internal/impl/decode.go
+++ b/vendor/google.golang.org/protobuf/internal/impl/decode.go
@@ -102,8 +102,7 @@ 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 {
+ if opts.depth--; opts.depth < 0 {
return out, errRecursionDepth
}
if flags.ProtoLegacy && mi.isMessageSet {
diff --git a/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go b/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go
index dd55e8e..5a439da 100644
--- a/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go
+++ b/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go
@@ -11,6 +11,7 @@ import (
"strings"
"sync/atomic"
+ "google.golang.org/protobuf/internal/filedesc"
"google.golang.org/protobuf/reflect/protoreflect"
)
@@ -53,7 +54,7 @@ func opaqueInitHook(mi *MessageInfo) bool {
fd := fds.Get(i)
fs := si.fieldsByNumber[fd.Number()]
var fi fieldInfo
- usePresence, _ := usePresenceForField(si, fd)
+ usePresence, _ := filedesc.UsePresenceForField(fd)
switch {
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
@@ -343,17 +344,15 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
if p.IsNil() {
return false
}
- sp := p.Apply(fieldOffset).AtomicGetPointer()
- if sp.IsNil() {
+ rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
+ if rv.IsNil() {
return false
}
- rv := sp.AsValueOf(fs.Type.Elem())
return rv.Elem().Len() > 0
},
clear: func(p pointer) {
- sp := p.Apply(fieldOffset).AtomicGetPointer()
- if !sp.IsNil() {
- rv := sp.AsValueOf(fs.Type.Elem())
+ rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
+ if !rv.IsNil() {
rv.Elem().Set(reflect.Zero(rv.Type().Elem()))
}
},
@@ -361,11 +360,10 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
if p.IsNil() {
return conv.Zero()
}
- sp := p.Apply(fieldOffset).AtomicGetPointer()
- if sp.IsNil() {
+ rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
+ if rv.IsNil() {
return conv.Zero()
}
- rv := sp.AsValueOf(fs.Type.Elem())
if rv.Elem().Len() == 0 {
return conv.Zero()
}
@@ -598,30 +596,3 @@ func (mi *MessageInfo) clearPresent(p pointer, index uint32) {
func (mi *MessageInfo) present(p pointer, index uint32) bool {
return p.Apply(mi.presenceOffset).PresenceInfo().Present(index)
}
-
-// usePresenceForField implements the somewhat intricate logic of when
-// the presence bitmap is used for a field. The main logic is that a
-// field that is optional or that can be lazy will use the presence
-// bit, but for proto2, also maps have a presence bit. It also records
-// if the field can ever be lazy, which is true if we have a
-// lazyOffset and the field is a message or a slice of messages. A
-// field that is lazy will always need a presence bit. Oneofs are not
-// lazy and do not use presence, unless they are a synthetic oneof,
-// which is a proto3 optional field. For proto3 optionals, we use the
-// presence and they can also be lazy when applicable (a message).
-func usePresenceForField(si opaqueStructInfo, fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) {
- hasLazyField := fd.(interface{ IsLazy() bool }).IsLazy()
-
- // Non-oneof scalar fields with explicit field presence use the presence array.
- usesPresenceArray := fd.HasPresence() && fd.Message() == nil && (fd.ContainingOneof() == nil || fd.ContainingOneof().IsSynthetic())
- switch {
- case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
- return false, false
- case fd.IsMap():
- return false, false
- case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind:
- return hasLazyField, hasLazyField
- default:
- return usesPresenceArray || (hasLazyField && fd.HasPresence()), false
- }
-}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/presence.go b/vendor/google.golang.org/protobuf/internal/impl/presence.go
index 914cb1d..443afe8 100644
--- a/vendor/google.golang.org/protobuf/internal/impl/presence.go
+++ b/vendor/google.golang.org/protobuf/internal/impl/presence.go
@@ -32,9 +32,6 @@ func (p presence) toElem(num uint32) (ret *uint32) {
// Present checks for the presence of a specific field number in a presence set.
func (p presence) Present(num uint32) bool {
- if p.P == nil {
- return false
- }
return Export{}.Present(p.toElem(num), num)
}
diff --git a/vendor/google.golang.org/protobuf/internal/impl/validate.go b/vendor/google.golang.org/protobuf/internal/impl/validate.go
index 7b2995d..99a1eb9 100644
--- a/vendor/google.golang.org/protobuf/internal/impl/validate.go
+++ b/vendor/google.golang.org/protobuf/internal/impl/validate.go
@@ -68,9 +68,13 @@ func Validate(mt protoreflect.MessageType, in protoiface.UnmarshalInput) (out pr
if in.Resolver == nil {
in.Resolver = protoregistry.GlobalTypes
}
+ if in.Depth == 0 {
+ in.Depth = protowire.DefaultRecursionLimit
+ }
o, st := mi.validate(in.Buf, 0, unmarshalOptions{
flags: in.Flags,
resolver: in.Resolver,
+ depth: in.Depth,
})
if o.initialized {
out.Flags |= protoiface.UnmarshalInitialized
@@ -257,6 +261,9 @@ func (mi *MessageInfo) validate(b []byte, groupTag protowire.Number, opts unmars
states[0].typ = validationTypeGroup
states[0].endGroup = groupTag
}
+ if opts.depth--; opts.depth < 0 {
+ return out, ValidationInvalid
+ }
initialized := true
start := len(b)
State:
@@ -451,6 +458,13 @@ State:
mi: vi.mi,
tail: b,
})
+ if vi.typ == validationTypeMessage ||
+ vi.typ == validationTypeGroup ||
+ vi.typ == validationTypeMap {
+ if opts.depth--; opts.depth < 0 {
+ return out, ValidationInvalid
+ }
+ }
b = v
continue State
case validationTypeRepeatedVarint:
@@ -499,6 +513,9 @@ State:
mi: vi.mi,
endGroup: num,
})
+ if opts.depth--; opts.depth < 0 {
+ return out, ValidationInvalid
+ }
continue State
case flags.ProtoLegacy && vi.typ == validationTypeMessageSetItem:
typeid, v, n, err := messageset.ConsumeFieldValue(b, false)
@@ -521,6 +538,13 @@ State:
mi: xvi.mi,
tail: b[n:],
})
+ if xvi.typ == validationTypeMessage ||
+ xvi.typ == validationTypeGroup ||
+ xvi.typ == validationTypeMap {
+ if opts.depth--; opts.depth < 0 {
+ return out, ValidationInvalid
+ }
+ }
b = v
continue State
}
@@ -547,12 +571,14 @@ State:
switch st.typ {
case validationTypeMessage, validationTypeGroup:
numRequiredFields = int(st.mi.numRequiredFields)
+ opts.depth++
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
}
+ opts.depth++
}
// If there are more than 64 required fields, this check will
// always fail and we will report that the message is potentially
diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go
index aac1cb1..763fd82 100644
--- a/vendor/google.golang.org/protobuf/internal/version/version.go
+++ b/vendor/google.golang.org/protobuf/internal/version/version.go
@@ -52,7 +52,7 @@ import (
const (
Major = 1
Minor = 36
- Patch = 6
+ Patch = 11
PreRelease = ""
)
diff --git a/vendor/google.golang.org/protobuf/proto/decode.go b/vendor/google.golang.org/protobuf/proto/decode.go
index 4cbf1ae..889d851 100644
--- a/vendor/google.golang.org/protobuf/proto/decode.go
+++ b/vendor/google.golang.org/protobuf/proto/decode.go
@@ -121,9 +121,8 @@ func (o UnmarshalOptions) unmarshal(b []byte, m protoreflect.Message) (out proto
out, err = methods.Unmarshal(in)
} else {
- o.RecursionLimit--
- if o.RecursionLimit < 0 {
- return out, errors.New("exceeded max recursion depth")
+ if o.RecursionLimit--; o.RecursionLimit < 0 {
+ return out, errRecursionDepth
}
err = o.unmarshalMessageSlow(b, m)
}
@@ -220,6 +219,9 @@ func (o UnmarshalOptions) unmarshalSingular(b []byte, wtyp protowire.Type, m pro
}
func (o UnmarshalOptions) unmarshalMap(b []byte, wtyp protowire.Type, mapv protoreflect.Map, fd protoreflect.FieldDescriptor) (n int, err error) {
+ if o.RecursionLimit--; o.RecursionLimit < 0 {
+ return 0, errRecursionDepth
+ }
if wtyp != protowire.BytesType {
return 0, errUnknown
}
@@ -305,3 +307,5 @@ func (o UnmarshalOptions) unmarshalMap(b []byte, wtyp protowire.Type, mapv proto
var errUnknown = errors.New("BUG: internal error (unknown)")
var errDecode = errors.New("cannot parse invalid wire-format data")
+
+var errRecursionDepth = errors.New("exceeded maximum recursion depth")
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go b/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go
index 823dbf3..40f17af 100644
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go
+++ b/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go
@@ -108,7 +108,9 @@ func (o FileOptions) New(fd *descriptorpb.FileDescriptorProto, r Resolver) (prot
if f.L1.Path == "" {
return nil, errors.New("file path must be populated")
}
- if f.L1.Syntax == protoreflect.Editions && (fd.GetEdition() < editionssupport.Minimum || fd.GetEdition() > editionssupport.Maximum) {
+ if f.L1.Syntax == protoreflect.Editions &&
+ (fd.GetEdition() < editionssupport.Minimum || fd.GetEdition() > editionssupport.Maximum) &&
+ fd.GetEdition() != descriptorpb.Edition_EDITION_UNSTABLE {
// Allow cmd/protoc-gen-go/testdata to use any edition for easier
// testing of upcoming edition features.
if !strings.HasPrefix(fd.GetName(), "cmd/protoc-gen-go/testdata/") {
@@ -152,6 +154,31 @@ func (o FileOptions) New(fd *descriptorpb.FileDescriptorProto, r Resolver) (prot
imp := &f.L2.Imports[i]
imps.importPublic(imp.Imports())
}
+ optionImps := importSet{f.Path(): true}
+ if len(fd.GetOptionDependency()) > 0 {
+ optionImports := make(filedesc.FileImports, len(fd.GetOptionDependency()))
+ for i, path := range fd.GetOptionDependency() {
+ imp := &optionImports[i]
+ f, err := r.FindFileByPath(path)
+ if err == protoregistry.NotFound {
+ // We always allow option imports to be unresolvable.
+ 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()] || optionImps[imp.Path()] {
+ return nil, errors.New("already imported %q", path)
+ }
+ // This needs to be a separate map so that we don't recognize non-options
+ // symbols coming from option imports.
+ optionImps[imp.Path()] = true
+ }
+ f.L2.OptionImports = func() protoreflect.FileImports {
+ return &optionImports
+ }
+ }
// Handle source locations.
f.L2.Locations.File = 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
index 9da3499..c826ad0 100644
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
+++ b/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
@@ -29,6 +29,7 @@ func (r descsByName) initEnumDeclarations(eds []*descriptorpb.EnumDescriptorProt
e.L2.Options = func() protoreflect.ProtoMessage { return opts }
}
e.L1.EditionFeatures = mergeEditionFeatures(parent, ed.GetOptions().GetFeatures())
+ e.L1.Visibility = int32(ed.GetVisibility())
for _, s := range ed.GetReservedName() {
e.L2.ReservedNames.List = append(e.L2.ReservedNames.List, protoreflect.Name(s))
}
@@ -70,6 +71,7 @@ func (r descsByName) initMessagesDeclarations(mds []*descriptorpb.DescriptorProt
return nil, err
}
m.L1.EditionFeatures = mergeEditionFeatures(parent, md.GetOptions().GetFeatures())
+ m.L1.Visibility = int32(md.GetVisibility())
if opts := md.GetOptions(); opts != nil {
opts = proto.Clone(opts).(*descriptorpb.MessageOptions)
m.L2.Options = func() protoreflect.ProtoMessage { return opts }
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go b/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go
index 697a61b..147b8c7 100644
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go
+++ b/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go
@@ -46,6 +46,8 @@ func toEditionProto(ed filedesc.Edition) descriptorpb.Edition {
return descriptorpb.Edition_EDITION_2023
case filedesc.Edition2024:
return descriptorpb.Edition_EDITION_2024
+ case filedesc.EditionUnstable:
+ return descriptorpb.Edition_EDITION_UNSTABLE
default:
panic(fmt.Sprintf("unknown value for edition: %v", ed))
}
@@ -58,7 +60,7 @@ func getFeatureSetFor(ed filedesc.Edition) *descriptorpb.FeatureSet {
return def
}
edpb := toEditionProto(ed)
- if defaults.GetMinimumEdition() > edpb || defaults.GetMaximumEdition() < edpb {
+ if (defaults.GetMinimumEdition() > edpb || defaults.GetMaximumEdition() < edpb) && edpb != descriptorpb.Edition_EDITION_UNSTABLE {
// This should never happen protodesc.(FileOptions).New would fail when
// initializing the file descriptor.
// This most likely means the embedded defaults were not updated.
diff --git a/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go b/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go
index 9b880aa..6f91074 100644
--- a/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go
+++ b/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go
@@ -70,16 +70,27 @@ func ToFileDescriptorProto(file protoreflect.FileDescriptor) *descriptorpb.FileD
if syntax := file.Syntax(); syntax != protoreflect.Proto2 && syntax.IsValid() {
p.Syntax = proto.String(file.Syntax().String())
}
+ desc := file
+ if fileImportDesc, ok := file.(protoreflect.FileImport); ok {
+ desc = fileImportDesc.FileDescriptor
+ }
if file.Syntax() == protoreflect.Editions {
- desc := file
- if fileImportDesc, ok := file.(protoreflect.FileImport); ok {
- desc = fileImportDesc.FileDescriptor
- }
-
if editionsInterface, ok := desc.(interface{ Edition() int32 }); ok {
p.Edition = descriptorpb.Edition(editionsInterface.Edition()).Enum()
}
}
+ type hasOptionImports interface {
+ OptionImports() protoreflect.FileImports
+ }
+ if opts, ok := desc.(hasOptionImports); ok {
+ if optionImports := opts.OptionImports(); optionImports.Len() > 0 {
+ optionDeps := make([]string, optionImports.Len())
+ for i := range optionImports.Len() {
+ optionDeps[i] = optionImports.Get(i).Path()
+ }
+ p.OptionDependency = optionDeps
+ }
+ }
return p
}
@@ -123,6 +134,14 @@ func ToDescriptorProto(message protoreflect.MessageDescriptor) *descriptorpb.Des
for i, names := 0, message.ReservedNames(); i < names.Len(); i++ {
p.ReservedName = append(p.ReservedName, string(names.Get(i)))
}
+ type hasVisibility interface {
+ Visibility() int32
+ }
+ if vis, ok := message.(hasVisibility); ok {
+ if visibility := vis.Visibility(); visibility > 0 {
+ p.Visibility = descriptorpb.SymbolVisibility(visibility).Enum()
+ }
+ }
return p
}
@@ -216,6 +235,14 @@ func ToEnumDescriptorProto(enum protoreflect.EnumDescriptor) *descriptorpb.EnumD
for i, names := 0, enum.ReservedNames(); i < names.Len(); i++ {
p.ReservedName = append(p.ReservedName, string(names.Get(i)))
}
+ type hasVisibility interface {
+ Visibility() int32
+ }
+ if vis, ok := enum.(hasVisibility); ok {
+ if visibility := vis.Visibility(); visibility > 0 {
+ p.Visibility = descriptorpb.SymbolVisibility(visibility).Enum()
+ }
+ }
return p
}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
index a4a0a29..730331e 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
@@ -21,6 +21,8 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte {
b = p.appendRepeatedField(b, "public_dependency", nil)
case 11:
b = p.appendRepeatedField(b, "weak_dependency", nil)
+ case 15:
+ b = p.appendRepeatedField(b, "option_dependency", nil)
case 4:
b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto)
case 5:
@@ -66,6 +68,8 @@ func (p *SourcePath) appendDescriptorProto(b []byte) []byte {
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange)
case 10:
b = p.appendRepeatedField(b, "reserved_name", nil)
+ case 11:
+ b = p.appendSingularField(b, "visibility", nil)
}
return b
}
@@ -85,6 +89,8 @@ func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte {
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange)
case 5:
b = p.appendRepeatedField(b, "reserved_name", nil)
+ case 6:
+ b = p.appendSingularField(b, "visibility", nil)
}
return b
}
@@ -400,6 +406,8 @@ func (p *SourcePath) appendFeatureSet(b []byte) []byte {
b = p.appendSingularField(b, "json_format", nil)
case 7:
b = p.appendSingularField(b, "enforce_naming_style", nil)
+ case 8:
+ b = p.appendSingularField(b, "default_symbol_visibility", nil)
}
return b
}
diff --git a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
index 7fe280f..0b23faa 100644
--- a/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
+++ b/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
@@ -69,6 +69,8 @@ const (
// comparison.
Edition_EDITION_2023 Edition = 1000
Edition_EDITION_2024 Edition = 1001
+ // A placeholder edition for developing and testing unscheduled features.
+ Edition_EDITION_UNSTABLE Edition = 9999
// Placeholder editions for testing feature resolution. These should not be
// used or relied on outside of tests.
Edition_EDITION_1_TEST_ONLY Edition = 1
@@ -91,6 +93,7 @@ var (
999: "EDITION_PROTO3",
1000: "EDITION_2023",
1001: "EDITION_2024",
+ 9999: "EDITION_UNSTABLE",
1: "EDITION_1_TEST_ONLY",
2: "EDITION_2_TEST_ONLY",
99997: "EDITION_99997_TEST_ONLY",
@@ -105,6 +108,7 @@ var (
"EDITION_PROTO3": 999,
"EDITION_2023": 1000,
"EDITION_2024": 1001,
+ "EDITION_UNSTABLE": 9999,
"EDITION_1_TEST_ONLY": 1,
"EDITION_2_TEST_ONLY": 2,
"EDITION_99997_TEST_ONLY": 99997,
@@ -151,6 +155,70 @@ func (Edition) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0}
}
+// Describes the 'visibility' of a symbol with respect to the proto import
+// system. Symbols can only be imported when the visibility rules do not prevent
+// it (ex: local symbols cannot be imported). Visibility modifiers can only set
+// on `message` and `enum` as they are the only types available to be referenced
+// from other files.
+type SymbolVisibility int32
+
+const (
+ SymbolVisibility_VISIBILITY_UNSET SymbolVisibility = 0
+ SymbolVisibility_VISIBILITY_LOCAL SymbolVisibility = 1
+ SymbolVisibility_VISIBILITY_EXPORT SymbolVisibility = 2
+)
+
+// Enum value maps for SymbolVisibility.
+var (
+ SymbolVisibility_name = map[int32]string{
+ 0: "VISIBILITY_UNSET",
+ 1: "VISIBILITY_LOCAL",
+ 2: "VISIBILITY_EXPORT",
+ }
+ SymbolVisibility_value = map[string]int32{
+ "VISIBILITY_UNSET": 0,
+ "VISIBILITY_LOCAL": 1,
+ "VISIBILITY_EXPORT": 2,
+ }
+)
+
+func (x SymbolVisibility) Enum() *SymbolVisibility {
+ p := new(SymbolVisibility)
+ *p = x
+ return p
+}
+
+func (x SymbolVisibility) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SymbolVisibility) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor()
+}
+
+func (SymbolVisibility) Type() protoreflect.EnumType {
+ return &file_google_protobuf_descriptor_proto_enumTypes[1]
+}
+
+func (x SymbolVisibility) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *SymbolVisibility) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = SymbolVisibility(num)
+ return nil
+}
+
+// Deprecated: Use SymbolVisibility.Descriptor instead.
+func (SymbolVisibility) EnumDescriptor() ([]byte, []int) {
+ return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1}
+}
+
// The verification state of the extension range.
type ExtensionRangeOptions_VerificationState int32
@@ -183,11 +251,11 @@ func (x ExtensionRangeOptions_VerificationState) String() string {
}
func (ExtensionRangeOptions_VerificationState) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor()
}
func (ExtensionRangeOptions_VerificationState) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[1]
+ return &file_google_protobuf_descriptor_proto_enumTypes[2]
}
func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber {
@@ -299,11 +367,11 @@ func (x FieldDescriptorProto_Type) String() string {
}
func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor()
}
func (FieldDescriptorProto_Type) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[2]
+ return &file_google_protobuf_descriptor_proto_enumTypes[3]
}
func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber {
@@ -362,11 +430,11 @@ func (x FieldDescriptorProto_Label) String() string {
}
func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor()
}
func (FieldDescriptorProto_Label) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[3]
+ return &file_google_protobuf_descriptor_proto_enumTypes[4]
}
func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber {
@@ -423,11 +491,11 @@ func (x FileOptions_OptimizeMode) String() string {
}
func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
}
func (FileOptions_OptimizeMode) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[4]
+ return &file_google_protobuf_descriptor_proto_enumTypes[5]
}
func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber {
@@ -489,11 +557,11 @@ func (x FieldOptions_CType) String() string {
}
func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor()
}
func (FieldOptions_CType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[5]
+ return &file_google_protobuf_descriptor_proto_enumTypes[6]
}
func (x FieldOptions_CType) Number() protoreflect.EnumNumber {
@@ -551,11 +619,11 @@ func (x FieldOptions_JSType) String() string {
}
func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor()
}
func (FieldOptions_JSType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[6]
+ return &file_google_protobuf_descriptor_proto_enumTypes[7]
}
func (x FieldOptions_JSType) Number() protoreflect.EnumNumber {
@@ -611,11 +679,11 @@ func (x FieldOptions_OptionRetention) String() string {
}
func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor()
}
func (FieldOptions_OptionRetention) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[7]
+ return &file_google_protobuf_descriptor_proto_enumTypes[8]
}
func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber {
@@ -694,11 +762,11 @@ func (x FieldOptions_OptionTargetType) String() string {
}
func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor()
}
func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[8]
+ return &file_google_protobuf_descriptor_proto_enumTypes[9]
}
func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber {
@@ -756,11 +824,11 @@ func (x MethodOptions_IdempotencyLevel) String() string {
}
func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor()
}
func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[9]
+ return &file_google_protobuf_descriptor_proto_enumTypes[10]
}
func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
@@ -818,11 +886,11 @@ func (x FeatureSet_FieldPresence) String() string {
}
func (FeatureSet_FieldPresence) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor()
}
func (FeatureSet_FieldPresence) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[10]
+ return &file_google_protobuf_descriptor_proto_enumTypes[11]
}
func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber {
@@ -877,11 +945,11 @@ func (x FeatureSet_EnumType) String() string {
}
func (FeatureSet_EnumType) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor()
}
func (FeatureSet_EnumType) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[11]
+ return &file_google_protobuf_descriptor_proto_enumTypes[12]
}
func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber {
@@ -936,11 +1004,11 @@ func (x FeatureSet_RepeatedFieldEncoding) String() string {
}
func (FeatureSet_RepeatedFieldEncoding) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor()
}
func (FeatureSet_RepeatedFieldEncoding) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[12]
+ return &file_google_protobuf_descriptor_proto_enumTypes[13]
}
func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber {
@@ -995,11 +1063,11 @@ func (x FeatureSet_Utf8Validation) String() string {
}
func (FeatureSet_Utf8Validation) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor()
}
func (FeatureSet_Utf8Validation) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[13]
+ return &file_google_protobuf_descriptor_proto_enumTypes[14]
}
func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber {
@@ -1054,11 +1122,11 @@ func (x FeatureSet_MessageEncoding) String() string {
}
func (FeatureSet_MessageEncoding) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor()
}
func (FeatureSet_MessageEncoding) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[14]
+ return &file_google_protobuf_descriptor_proto_enumTypes[15]
}
func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber {
@@ -1113,11 +1181,11 @@ func (x FeatureSet_JsonFormat) String() string {
}
func (FeatureSet_JsonFormat) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor()
}
func (FeatureSet_JsonFormat) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[15]
+ return &file_google_protobuf_descriptor_proto_enumTypes[16]
}
func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber {
@@ -1172,11 +1240,11 @@ func (x FeatureSet_EnforceNamingStyle) String() string {
}
func (FeatureSet_EnforceNamingStyle) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor()
}
func (FeatureSet_EnforceNamingStyle) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[16]
+ return &file_google_protobuf_descriptor_proto_enumTypes[17]
}
func (x FeatureSet_EnforceNamingStyle) Number() protoreflect.EnumNumber {
@@ -1198,6 +1266,77 @@ func (FeatureSet_EnforceNamingStyle) EnumDescriptor() ([]byte, []int) {
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 6}
}
+type FeatureSet_VisibilityFeature_DefaultSymbolVisibility int32
+
+const (
+ FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 0
+ // Default pre-EDITION_2024, all UNSET visibility are export.
+ FeatureSet_VisibilityFeature_EXPORT_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 1
+ // All top-level symbols default to export, nested default to local.
+ FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 2
+ // All symbols default to local.
+ FeatureSet_VisibilityFeature_LOCAL_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 3
+ // All symbols local by default. Nested types cannot be exported.
+ // With special case caveat for message { enum {} reserved 1 to max; }
+ // This is the recommended setting for new protos.
+ FeatureSet_VisibilityFeature_STRICT FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 4
+)
+
+// Enum value maps for FeatureSet_VisibilityFeature_DefaultSymbolVisibility.
+var (
+ FeatureSet_VisibilityFeature_DefaultSymbolVisibility_name = map[int32]string{
+ 0: "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",
+ 1: "EXPORT_ALL",
+ 2: "EXPORT_TOP_LEVEL",
+ 3: "LOCAL_ALL",
+ 4: "STRICT",
+ }
+ FeatureSet_VisibilityFeature_DefaultSymbolVisibility_value = map[string]int32{
+ "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0,
+ "EXPORT_ALL": 1,
+ "EXPORT_TOP_LEVEL": 2,
+ "LOCAL_ALL": 3,
+ "STRICT": 4,
+ }
+)
+
+func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Enum() *FeatureSet_VisibilityFeature_DefaultSymbolVisibility {
+ p := new(FeatureSet_VisibilityFeature_DefaultSymbolVisibility)
+ *p = x
+ return p
+}
+
+func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_protobuf_descriptor_proto_enumTypes[18].Descriptor()
+}
+
+func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Type() protoreflect.EnumType {
+ return &file_google_protobuf_descriptor_proto_enumTypes[18]
+}
+
+func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Do not use.
+func (x *FeatureSet_VisibilityFeature_DefaultSymbolVisibility) UnmarshalJSON(b []byte) error {
+ num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
+ if err != nil {
+ return err
+ }
+ *x = FeatureSet_VisibilityFeature_DefaultSymbolVisibility(num)
+ return nil
+}
+
+// Deprecated: Use FeatureSet_VisibilityFeature_DefaultSymbolVisibility.Descriptor instead.
+func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) EnumDescriptor() ([]byte, []int) {
+ return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0, 0}
+}
+
// Represents the identified object's effect on the element in the original
// .proto file.
type GeneratedCodeInfo_Annotation_Semantic int32
@@ -1236,11 +1375,11 @@ func (x GeneratedCodeInfo_Annotation_Semantic) String() string {
}
func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor {
- return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor()
+ return file_google_protobuf_descriptor_proto_enumTypes[19].Descriptor()
}
func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType {
- return &file_google_protobuf_descriptor_proto_enumTypes[17]
+ return &file_google_protobuf_descriptor_proto_enumTypes[19]
}
func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber {
@@ -1321,6 +1460,9 @@ type FileDescriptorProto struct {
// 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"`
+ // Names of files imported by this file purely for the purpose of providing
+ // option extensions. These are excluded from the dependency list above.
+ OptionDependency []string `protobuf:"bytes,15,rep,name=option_dependency,json=optionDependency" json:"option_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"`
@@ -1414,6 +1556,13 @@ func (x *FileDescriptorProto) GetWeakDependency() []int32 {
return nil
}
+func (x *FileDescriptorProto) GetOptionDependency() []string {
+ if x != nil {
+ return x.OptionDependency
+ }
+ return nil
+}
+
func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto {
if x != nil {
return x.MessageType
@@ -1484,7 +1633,9 @@ type DescriptorProto struct {
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"`
+ ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
+ // Support for `export` and `local` keywords on enums.
+ Visibility *SymbolVisibility `protobuf:"varint,11,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -1589,6 +1740,13 @@ func (x *DescriptorProto) GetReservedName() []string {
return nil
}
+func (x *DescriptorProto) GetVisibility() SymbolVisibility {
+ if x != nil && x.Visibility != nil {
+ return *x.Visibility
+ }
+ return SymbolVisibility_VISIBILITY_UNSET
+}
+
type ExtensionRangeOptions struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The parser stores options it doesn't recognize here. See above.
@@ -1901,7 +2059,9 @@ type EnumDescriptorProto struct {
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"`
+ ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
+ // Support for `export` and `local` keywords on enums.
+ Visibility *SymbolVisibility `protobuf:"varint,6,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -1971,6 +2131,13 @@ func (x *EnumDescriptorProto) GetReservedName() []string {
return nil
}
+func (x *EnumDescriptorProto) GetVisibility() SymbolVisibility {
+ if x != nil && x.Visibility != nil {
+ return *x.Visibility
+ }
+ return SymbolVisibility_VISIBILITY_UNSET
+}
+
// Describes a value within an enum.
type EnumValueDescriptorProto struct {
state protoimpl.MessageState `protogen:"open.v1"`
@@ -2710,7 +2877,10 @@ type FieldOptions struct {
// 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"`
+ // DEPRECATED. DO NOT USE!
// For Google-internal migration only. Do not use.
+ //
+ // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
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.
@@ -2814,6 +2984,7 @@ func (x *FieldOptions) GetDeprecated() bool {
return Default_FieldOptions_Deprecated
}
+// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
func (x *FieldOptions) GetWeak() bool {
if x != nil && x.Weak != nil {
return *x.Weak
@@ -3392,17 +3563,18 @@ func (x *UninterpretedOption) GetAggregateValue() string {
// be designed and implemented to handle this, hopefully before we ever hit a
// conflict here.
type FeatureSet struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- 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"`
- EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"`
- extensionFields protoimpl.ExtensionFields
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ state protoimpl.MessageState `protogen:"open.v1"`
+ 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"`
+ EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"`
+ DefaultSymbolVisibility *FeatureSet_VisibilityFeature_DefaultSymbolVisibility `protobuf:"varint,8,opt,name=default_symbol_visibility,json=defaultSymbolVisibility,enum=google.protobuf.FeatureSet_VisibilityFeature_DefaultSymbolVisibility" json:"default_symbol_visibility,omitempty"`
+ extensionFields protoimpl.ExtensionFields
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *FeatureSet) Reset() {
@@ -3484,6 +3656,13 @@ func (x *FeatureSet) GetEnforceNamingStyle() FeatureSet_EnforceNamingStyle {
return FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN
}
+func (x *FeatureSet) GetDefaultSymbolVisibility() FeatureSet_VisibilityFeature_DefaultSymbolVisibility {
+ if x != nil && x.DefaultSymbolVisibility != nil {
+ return *x.DefaultSymbolVisibility
+ }
+ return FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_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
@@ -4144,6 +4323,42 @@ func (x *UninterpretedOption_NamePart) GetIsExtension() bool {
return false
}
+type FeatureSet_VisibilityFeature struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *FeatureSet_VisibilityFeature) Reset() {
+ *x = FeatureSet_VisibilityFeature{}
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *FeatureSet_VisibilityFeature) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FeatureSet_VisibilityFeature) ProtoMessage() {}
+
+func (x *FeatureSet_VisibilityFeature) ProtoReflect() protoreflect.Message {
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
+ if 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_VisibilityFeature.ProtoReflect.Descriptor instead.
+func (*FeatureSet_VisibilityFeature) Descriptor() ([]byte, []int) {
+ return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0}
+}
+
// 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
@@ -4161,7 +4376,7 @@ type FeatureSetDefaults_FeatureSetEditionDefault struct {
func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
*x = FeatureSetDefaults_FeatureSetEditionDefault{}
- mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4173,7 +4388,7 @@ func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string {
func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4309,7 +4524,7 @@ type SourceCodeInfo_Location struct {
func (x *SourceCodeInfo_Location) Reset() {
*x = SourceCodeInfo_Location{}
- mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4321,7 +4536,7 @@ func (x *SourceCodeInfo_Location) String() string {
func (*SourceCodeInfo_Location) ProtoMessage() {}
func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4393,7 +4608,7 @@ type GeneratedCodeInfo_Annotation struct {
func (x *GeneratedCodeInfo_Annotation) Reset() {
*x = GeneratedCodeInfo_Annotation{}
- mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4405,7 +4620,7 @@ func (x *GeneratedCodeInfo_Annotation) String() string {
func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
- mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
+ mi := &file_google_protobuf_descriptor_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4462,7 +4677,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\n" +
" google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\n" +
"\x11FileDescriptorSet\x128\n" +
- "\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\x98\x05\n" +
+ "\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\xc5\x05\n" +
"\x13FileDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
"\apackage\x18\x02 \x01(\tR\apackage\x12\x1e\n" +
@@ -4471,7 +4686,8 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"dependency\x12+\n" +
"\x11public_dependency\x18\n" +
" \x03(\x05R\x10publicDependency\x12'\n" +
- "\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12C\n" +
+ "\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12+\n" +
+ "\x11option_dependency\x18\x0f \x03(\tR\x10optionDependency\x12C\n" +
"\fmessage_type\x18\x04 \x03(\v2 .google.protobuf.DescriptorProtoR\vmessageType\x12A\n" +
"\tenum_type\x18\x05 \x03(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\x12A\n" +
"\aservice\x18\x06 \x03(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\x12C\n" +
@@ -4479,7 +4695,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\aoptions\x18\b \x01(\v2\x1c.google.protobuf.FileOptionsR\aoptions\x12I\n" +
"\x10source_code_info\x18\t \x01(\v2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n" +
"\x06syntax\x18\f \x01(\tR\x06syntax\x122\n" +
- "\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xb9\x06\n" +
+ "\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xfc\x06\n" +
"\x0fDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12;\n" +
"\x05field\x18\x02 \x03(\v2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n" +
@@ -4493,7 +4709,10 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\aoptions\x18\a \x01(\v2\x1f.google.protobuf.MessageOptionsR\aoptions\x12U\n" +
"\x0ereserved_range\x18\t \x03(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n" +
"\rreserved_name\x18\n" +
- " \x03(\tR\freservedName\x1az\n" +
+ " \x03(\tR\freservedName\x12A\n" +
+ "\n" +
+ "visibility\x18\v \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" +
+ "visibility\x1az\n" +
"\x0eExtensionRange\x12\x14\n" +
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
"\x03end\x18\x02 \x01(\x05R\x03end\x12@\n" +
@@ -4562,24 +4781,27 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x0eLABEL_REQUIRED\x10\x02\"c\n" +
"\x14OneofDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x127\n" +
- "\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xe3\x02\n" +
+ "\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xa6\x03\n" +
"\x13EnumDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12?\n" +
"\x05value\x18\x02 \x03(\v2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n" +
"\aoptions\x18\x03 \x01(\v2\x1c.google.protobuf.EnumOptionsR\aoptions\x12]\n" +
"\x0ereserved_range\x18\x04 \x03(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n" +
- "\rreserved_name\x18\x05 \x03(\tR\freservedName\x1a;\n" +
+ "\rreserved_name\x18\x05 \x03(\tR\freservedName\x12A\n" +
+ "\n" +
+ "visibility\x18\x06 \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" +
+ "visibility\x1a;\n" +
"\x11EnumReservedRange\x12\x14\n" +
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
"\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n" +
"\x18EnumValueDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" +
"\x06number\x18\x02 \x01(\x05R\x06number\x12;\n" +
- "\aoptions\x18\x03 \x01(\v2!.google.protobuf.EnumValueOptionsR\aoptions\"\xa7\x01\n" +
+ "\aoptions\x18\x03 \x01(\v2!.google.protobuf.EnumValueOptionsR\aoptions\"\xb5\x01\n" +
"\x16ServiceDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12>\n" +
"\x06method\x18\x02 \x03(\v2&.google.protobuf.MethodDescriptorProtoR\x06method\x129\n" +
- "\aoptions\x18\x03 \x01(\v2\x1f.google.protobuf.ServiceOptionsR\aoptions\"\x89\x02\n" +
+ "\aoptions\x18\x03 \x01(\v2\x1f.google.protobuf.ServiceOptionsR\aoptionsJ\x04\b\x04\x10\x05R\x06stream\"\x89\x02\n" +
"\x15MethodDescriptorProto\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" +
"\n" +
@@ -4629,7 +4851,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"&deprecated_legacy_json_field_conflicts\x18\v \x01(\bB\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n" +
"\bfeatures\x18\f \x01(\v2\x1b.google.protobuf.FeatureSetR\bfeatures\x12X\n" +
"\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06J\x04\b\x06\x10\aJ\x04\b\b\x10\tJ\x04\b\t\x10\n" +
- "\"\x9d\r\n" +
+ "\"\xa1\r\n" +
"\fFieldOptions\x12A\n" +
"\x05ctype\x18\x01 \x01(\x0e2#.google.protobuf.FieldOptions.CType:\x06STRINGR\x05ctype\x12\x16\n" +
"\x06packed\x18\x02 \x01(\bR\x06packed\x12G\n" +
@@ -4638,9 +4860,9 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x0funverified_lazy\x18\x0f \x01(\b:\x05falseR\x0eunverifiedLazy\x12%\n" +
"\n" +
"deprecated\x18\x03 \x01(\b:\x05falseR\n" +
- "deprecated\x12\x19\n" +
+ "deprecated\x12\x1d\n" +
"\x04weak\x18\n" +
- " \x01(\b:\x05falseR\x04weak\x12(\n" +
+ " \x01(\b:\x05falseB\x02\x18\x01R\x04weak\x12(\n" +
"\fdebug_redact\x18\x10 \x01(\b:\x05falseR\vdebugRedact\x12K\n" +
"\tretention\x18\x11 \x01(\x0e2-.google.protobuf.FieldOptions.OptionRetentionR\tretention\x12H\n" +
"\atargets\x18\x13 \x03(\x0e2..google.protobuf.FieldOptions.OptionTargetTypeR\atargets\x12W\n" +
@@ -4728,7 +4950,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\x0faggregate_value\x18\b \x01(\tR\x0eaggregateValue\x1aJ\n" +
"\bNamePart\x12\x1b\n" +
"\tname_part\x18\x01 \x02(\tR\bnamePart\x12!\n" +
- "\fis_extension\x18\x02 \x02(\bR\visExtension\"\xae\f\n" +
+ "\fis_extension\x18\x02 \x02(\bR\visExtension\"\x8e\x0f\n" +
"\n" +
"FeatureSet\x12\x91\x01\n" +
"\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\bEXPLICIT\x18\x84\a\xa2\x01\r\x12\bIMPLICIT\x18\xe7\a\xa2\x01\r\x12\bEXPLICIT\x18\xe8\a\xb2\x01\x03\b\xe8\aR\rfieldPresence\x12l\n" +
@@ -4739,7 +4961,18 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\vjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\a\xa2\x01\n" +
"\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\n" +
"jsonFormat\x12\xab\x01\n" +
- "\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\"\\\n" +
+ "\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\x12\xb9\x01\n" +
+ "\x19default_symbol_visibility\x18\b \x01(\x0e2E.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibilityB6\x88\x01\x02\x98\x01\x01\xa2\x01\x0f\x12\n" +
+ "EXPORT_ALL\x18\x84\a\xa2\x01\x15\x12\x10EXPORT_TOP_LEVEL\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x17defaultSymbolVisibility\x1a\xa1\x01\n" +
+ "\x11VisibilityFeature\"\x81\x01\n" +
+ "\x17DefaultSymbolVisibility\x12%\n" +
+ "!DEFAULT_SYMBOL_VISIBILITY_UNKNOWN\x10\x00\x12\x0e\n" +
+ "\n" +
+ "EXPORT_ALL\x10\x01\x12\x14\n" +
+ "\x10EXPORT_TOP_LEVEL\x10\x02\x12\r\n" +
+ "\tLOCAL_ALL\x10\x03\x12\n" +
+ "\n" +
+ "\x06STRICT\x10\x04J\b\b\x01\x10\x80\x80\x80\x80\x02\"\\\n" +
"\rFieldPresence\x12\x1a\n" +
"\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\f\n" +
"\bEXPLICIT\x10\x01\x12\f\n" +
@@ -4804,20 +5037,25 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
"\bSemantic\x12\b\n" +
"\x04NONE\x10\x00\x12\a\n" +
"\x03SET\x10\x01\x12\t\n" +
- "\x05ALIAS\x10\x02*\xa7\x02\n" +
+ "\x05ALIAS\x10\x02*\xbe\x02\n" +
"\aEdition\x12\x13\n" +
"\x0fEDITION_UNKNOWN\x10\x00\x12\x13\n" +
"\x0eEDITION_LEGACY\x10\x84\a\x12\x13\n" +
"\x0eEDITION_PROTO2\x10\xe6\a\x12\x13\n" +
"\x0eEDITION_PROTO3\x10\xe7\a\x12\x11\n" +
"\fEDITION_2023\x10\xe8\a\x12\x11\n" +
- "\fEDITION_2024\x10\xe9\a\x12\x17\n" +
+ "\fEDITION_2024\x10\xe9\a\x12\x15\n" +
+ "\x10EDITION_UNSTABLE\x10\x8fN\x12\x17\n" +
"\x13EDITION_1_TEST_ONLY\x10\x01\x12\x17\n" +
"\x13EDITION_2_TEST_ONLY\x10\x02\x12\x1d\n" +
"\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n" +
"\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n" +
"\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n" +
- "\vEDITION_MAX\x10\xff\xff\xff\xff\aB~\n" +
+ "\vEDITION_MAX\x10\xff\xff\xff\xff\a*U\n" +
+ "\x10SymbolVisibility\x12\x14\n" +
+ "\x10VISIBILITY_UNSET\x10\x00\x12\x14\n" +
+ "\x10VISIBILITY_LOCAL\x10\x01\x12\x15\n" +
+ "\x11VISIBILITY_EXPORT\x10\x02B~\n" +
"\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection"
var (
@@ -4832,145 +5070,151 @@ func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte {
return file_google_protobuf_descriptor_proto_rawDescData
}
-var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 18)
-var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
+var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 20)
+var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_google_protobuf_descriptor_proto_goTypes = []any{
- (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
- (FeatureSet_EnforceNamingStyle)(0), // 16: google.protobuf.FeatureSet.EnforceNamingStyle
- (GeneratedCodeInfo_Annotation_Semantic)(0), // 17: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
- (*FileDescriptorSet)(nil), // 18: google.protobuf.FileDescriptorSet
- (*FileDescriptorProto)(nil), // 19: google.protobuf.FileDescriptorProto
- (*DescriptorProto)(nil), // 20: google.protobuf.DescriptorProto
- (*ExtensionRangeOptions)(nil), // 21: google.protobuf.ExtensionRangeOptions
- (*FieldDescriptorProto)(nil), // 22: google.protobuf.FieldDescriptorProto
- (*OneofDescriptorProto)(nil), // 23: google.protobuf.OneofDescriptorProto
- (*EnumDescriptorProto)(nil), // 24: google.protobuf.EnumDescriptorProto
- (*EnumValueDescriptorProto)(nil), // 25: google.protobuf.EnumValueDescriptorProto
- (*ServiceDescriptorProto)(nil), // 26: google.protobuf.ServiceDescriptorProto
- (*MethodDescriptorProto)(nil), // 27: google.protobuf.MethodDescriptorProto
- (*FileOptions)(nil), // 28: google.protobuf.FileOptions
- (*MessageOptions)(nil), // 29: google.protobuf.MessageOptions
- (*FieldOptions)(nil), // 30: google.protobuf.FieldOptions
- (*OneofOptions)(nil), // 31: google.protobuf.OneofOptions
- (*EnumOptions)(nil), // 32: google.protobuf.EnumOptions
- (*EnumValueOptions)(nil), // 33: google.protobuf.EnumValueOptions
- (*ServiceOptions)(nil), // 34: google.protobuf.ServiceOptions
- (*MethodOptions)(nil), // 35: google.protobuf.MethodOptions
- (*UninterpretedOption)(nil), // 36: google.protobuf.UninterpretedOption
- (*FeatureSet)(nil), // 37: google.protobuf.FeatureSet
- (*FeatureSetDefaults)(nil), // 38: google.protobuf.FeatureSetDefaults
- (*SourceCodeInfo)(nil), // 39: google.protobuf.SourceCodeInfo
- (*GeneratedCodeInfo)(nil), // 40: google.protobuf.GeneratedCodeInfo
- (*DescriptorProto_ExtensionRange)(nil), // 41: google.protobuf.DescriptorProto.ExtensionRange
- (*DescriptorProto_ReservedRange)(nil), // 42: google.protobuf.DescriptorProto.ReservedRange
- (*ExtensionRangeOptions_Declaration)(nil), // 43: google.protobuf.ExtensionRangeOptions.Declaration
- (*EnumDescriptorProto_EnumReservedRange)(nil), // 44: google.protobuf.EnumDescriptorProto.EnumReservedRange
- (*FieldOptions_EditionDefault)(nil), // 45: google.protobuf.FieldOptions.EditionDefault
- (*FieldOptions_FeatureSupport)(nil), // 46: google.protobuf.FieldOptions.FeatureSupport
- (*UninterpretedOption_NamePart)(nil), // 47: google.protobuf.UninterpretedOption.NamePart
- (*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 48: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
- (*SourceCodeInfo_Location)(nil), // 49: google.protobuf.SourceCodeInfo.Location
- (*GeneratedCodeInfo_Annotation)(nil), // 50: google.protobuf.GeneratedCodeInfo.Annotation
+ (Edition)(0), // 0: google.protobuf.Edition
+ (SymbolVisibility)(0), // 1: google.protobuf.SymbolVisibility
+ (ExtensionRangeOptions_VerificationState)(0), // 2: google.protobuf.ExtensionRangeOptions.VerificationState
+ (FieldDescriptorProto_Type)(0), // 3: google.protobuf.FieldDescriptorProto.Type
+ (FieldDescriptorProto_Label)(0), // 4: google.protobuf.FieldDescriptorProto.Label
+ (FileOptions_OptimizeMode)(0), // 5: google.protobuf.FileOptions.OptimizeMode
+ (FieldOptions_CType)(0), // 6: google.protobuf.FieldOptions.CType
+ (FieldOptions_JSType)(0), // 7: google.protobuf.FieldOptions.JSType
+ (FieldOptions_OptionRetention)(0), // 8: google.protobuf.FieldOptions.OptionRetention
+ (FieldOptions_OptionTargetType)(0), // 9: google.protobuf.FieldOptions.OptionTargetType
+ (MethodOptions_IdempotencyLevel)(0), // 10: google.protobuf.MethodOptions.IdempotencyLevel
+ (FeatureSet_FieldPresence)(0), // 11: google.protobuf.FeatureSet.FieldPresence
+ (FeatureSet_EnumType)(0), // 12: google.protobuf.FeatureSet.EnumType
+ (FeatureSet_RepeatedFieldEncoding)(0), // 13: google.protobuf.FeatureSet.RepeatedFieldEncoding
+ (FeatureSet_Utf8Validation)(0), // 14: google.protobuf.FeatureSet.Utf8Validation
+ (FeatureSet_MessageEncoding)(0), // 15: google.protobuf.FeatureSet.MessageEncoding
+ (FeatureSet_JsonFormat)(0), // 16: google.protobuf.FeatureSet.JsonFormat
+ (FeatureSet_EnforceNamingStyle)(0), // 17: google.protobuf.FeatureSet.EnforceNamingStyle
+ (FeatureSet_VisibilityFeature_DefaultSymbolVisibility)(0), // 18: google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
+ (GeneratedCodeInfo_Annotation_Semantic)(0), // 19: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
+ (*FileDescriptorSet)(nil), // 20: google.protobuf.FileDescriptorSet
+ (*FileDescriptorProto)(nil), // 21: google.protobuf.FileDescriptorProto
+ (*DescriptorProto)(nil), // 22: google.protobuf.DescriptorProto
+ (*ExtensionRangeOptions)(nil), // 23: google.protobuf.ExtensionRangeOptions
+ (*FieldDescriptorProto)(nil), // 24: google.protobuf.FieldDescriptorProto
+ (*OneofDescriptorProto)(nil), // 25: google.protobuf.OneofDescriptorProto
+ (*EnumDescriptorProto)(nil), // 26: google.protobuf.EnumDescriptorProto
+ (*EnumValueDescriptorProto)(nil), // 27: google.protobuf.EnumValueDescriptorProto
+ (*ServiceDescriptorProto)(nil), // 28: google.protobuf.ServiceDescriptorProto
+ (*MethodDescriptorProto)(nil), // 29: google.protobuf.MethodDescriptorProto
+ (*FileOptions)(nil), // 30: google.protobuf.FileOptions
+ (*MessageOptions)(nil), // 31: google.protobuf.MessageOptions
+ (*FieldOptions)(nil), // 32: google.protobuf.FieldOptions
+ (*OneofOptions)(nil), // 33: google.protobuf.OneofOptions
+ (*EnumOptions)(nil), // 34: google.protobuf.EnumOptions
+ (*EnumValueOptions)(nil), // 35: google.protobuf.EnumValueOptions
+ (*ServiceOptions)(nil), // 36: google.protobuf.ServiceOptions
+ (*MethodOptions)(nil), // 37: google.protobuf.MethodOptions
+ (*UninterpretedOption)(nil), // 38: google.protobuf.UninterpretedOption
+ (*FeatureSet)(nil), // 39: google.protobuf.FeatureSet
+ (*FeatureSetDefaults)(nil), // 40: google.protobuf.FeatureSetDefaults
+ (*SourceCodeInfo)(nil), // 41: google.protobuf.SourceCodeInfo
+ (*GeneratedCodeInfo)(nil), // 42: google.protobuf.GeneratedCodeInfo
+ (*DescriptorProto_ExtensionRange)(nil), // 43: google.protobuf.DescriptorProto.ExtensionRange
+ (*DescriptorProto_ReservedRange)(nil), // 44: google.protobuf.DescriptorProto.ReservedRange
+ (*ExtensionRangeOptions_Declaration)(nil), // 45: google.protobuf.ExtensionRangeOptions.Declaration
+ (*EnumDescriptorProto_EnumReservedRange)(nil), // 46: google.protobuf.EnumDescriptorProto.EnumReservedRange
+ (*FieldOptions_EditionDefault)(nil), // 47: google.protobuf.FieldOptions.EditionDefault
+ (*FieldOptions_FeatureSupport)(nil), // 48: google.protobuf.FieldOptions.FeatureSupport
+ (*UninterpretedOption_NamePart)(nil), // 49: google.protobuf.UninterpretedOption.NamePart
+ (*FeatureSet_VisibilityFeature)(nil), // 50: google.protobuf.FeatureSet.VisibilityFeature
+ (*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 51: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ (*SourceCodeInfo_Location)(nil), // 52: google.protobuf.SourceCodeInfo.Location
+ (*GeneratedCodeInfo_Annotation)(nil), // 53: google.protobuf.GeneratedCodeInfo.Annotation
}
var file_google_protobuf_descriptor_proto_depIdxs = []int32{
- 19, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
- 20, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
- 24, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
- 26, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
- 22, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
- 28, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
- 39, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
+ 21, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
+ 22, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
+ 26, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
+ 28, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
+ 24, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
+ 30, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
+ 41, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition
- 22, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
- 22, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
- 20, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
- 24, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
- 41, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
- 23, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
- 29, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
- 42, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
- 36, // 16: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 43, // 17: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
- 37, // 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
- 30, // 22: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
- 31, // 23: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
- 25, // 24: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
- 32, // 25: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
- 44, // 26: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
- 33, // 27: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
- 27, // 28: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
- 34, // 29: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
- 35, // 30: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
- 4, // 31: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
- 37, // 32: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
- 36, // 33: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 37, // 34: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
- 36, // 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
- 45, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
- 37, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
- 46, // 42: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
- 36, // 43: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 37, // 44: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
- 36, // 45: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 37, // 46: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
- 36, // 47: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 37, // 48: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
- 46, // 49: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
- 36, // 50: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 37, // 51: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
- 36, // 52: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 9, // 53: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
- 37, // 54: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
- 36, // 55: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
- 47, // 56: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
- 10, // 57: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
- 11, // 58: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
- 12, // 59: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
- 13, // 60: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
- 14, // 61: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
- 15, // 62: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
- 16, // 63: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle
- 48, // 64: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
- 0, // 65: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
- 0, // 66: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
- 49, // 67: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
- 50, // 68: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
- 21, // 69: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
- 0, // 70: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
- 0, // 71: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
- 0, // 72: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
- 0, // 73: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
- 0, // 74: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
- 37, // 75: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
- 37, // 76: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
- 17, // 77: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
- 78, // [78:78] is the sub-list for method output_type
- 78, // [78:78] is the sub-list for method input_type
- 78, // [78:78] is the sub-list for extension type_name
- 78, // [78:78] is the sub-list for extension extendee
- 0, // [0:78] is the sub-list for field type_name
+ 24, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
+ 24, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
+ 22, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
+ 26, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
+ 43, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
+ 25, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
+ 31, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
+ 44, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
+ 1, // 16: google.protobuf.DescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
+ 38, // 17: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 45, // 18: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
+ 39, // 19: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet
+ 2, // 20: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState
+ 4, // 21: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
+ 3, // 22: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
+ 32, // 23: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
+ 33, // 24: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
+ 27, // 25: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
+ 34, // 26: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
+ 46, // 27: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
+ 1, // 28: google.protobuf.EnumDescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
+ 35, // 29: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
+ 29, // 30: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
+ 36, // 31: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
+ 37, // 32: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
+ 5, // 33: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
+ 39, // 34: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
+ 38, // 35: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 39, // 36: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
+ 38, // 37: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 6, // 38: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
+ 7, // 39: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
+ 8, // 40: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
+ 9, // 41: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
+ 47, // 42: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
+ 39, // 43: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
+ 48, // 44: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
+ 38, // 45: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 39, // 46: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
+ 38, // 47: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 39, // 48: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
+ 38, // 49: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 39, // 50: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
+ 48, // 51: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
+ 38, // 52: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 39, // 53: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
+ 38, // 54: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 10, // 55: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
+ 39, // 56: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
+ 38, // 57: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
+ 49, // 58: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
+ 11, // 59: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
+ 12, // 60: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
+ 13, // 61: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
+ 14, // 62: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
+ 15, // 63: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
+ 16, // 64: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
+ 17, // 65: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle
+ 18, // 66: google.protobuf.FeatureSet.default_symbol_visibility:type_name -> google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
+ 51, // 67: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+ 0, // 68: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
+ 0, // 69: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
+ 52, // 70: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
+ 53, // 71: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
+ 23, // 72: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
+ 0, // 73: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
+ 0, // 74: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
+ 0, // 75: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
+ 0, // 76: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
+ 0, // 77: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
+ 39, // 78: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
+ 39, // 79: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
+ 19, // 80: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
+ 81, // [81:81] is the sub-list for method output_type
+ 81, // [81:81] is the sub-list for method input_type
+ 81, // [81:81] is the sub-list for extension type_name
+ 81, // [81:81] is the sub-list for extension extendee
+ 0, // [0:81] is the sub-list for field type_name
}
func init() { file_google_protobuf_descriptor_proto_init() }
@@ -4983,8 +5227,8 @@ func file_google_protobuf_descriptor_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_descriptor_proto_rawDesc), len(file_google_protobuf_descriptor_proto_rawDesc)),
- NumEnums: 18,
- NumMessages: 33,
+ NumEnums: 20,
+ NumMessages: 34,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go b/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
index 06d584c..484c21f 100644
--- a/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
+++ b/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go
@@ -172,13 +172,14 @@ import (
// ) to obtain a formatter capable of generating timestamps in this format.
type Timestamp struct {
state protoimpl.MessageState `protogen:"open.v1"`
- // Represents seconds of UTC time since Unix epoch
- // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
- // 9999-12-31T23:59:59Z inclusive.
+ // Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must
+ // be between -315576000000 and 315576000000 inclusive (which corresponds to
+ // 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).
Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
- // Non-negative fractions of a second at nanosecond resolution. Negative
- // second values with fractions must still have non-negative nanos values
- // that count forward in time. Must be from 0 to 999,999,999
+ // Non-negative fractions of a second at nanosecond resolution. This field is
+ // the nanosecond portion of the duration, not an alternative to seconds.
+ // Negative second values with fractions must still have non-negative nanos
+ // values that count forward in time. Must be between 0 and 999,999,999
// inclusive.
Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
unknownFields protoimpl.UnknownFields
diff --git a/vendor/modules.txt b/vendor/modules.txt
index b85b72e..d0f4f73 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,8 +1,8 @@
-# github.com/aws/aws-sdk-go-v2/service/dynamodb v1.43.1
-## explicit; go 1.22
+# github.com/aws/aws-sdk-go-v2/service/dynamodb v1.55.0
+## explicit; go 1.23
github.com/aws/aws-sdk-go-v2/service/dynamodb/types
-# github.com/aws/smithy-go v1.22.3
-## explicit; go 1.22
+# github.com/aws/smithy-go v1.24.0
+## explicit; go 1.23
github.com/aws/smithy-go
github.com/aws/smithy-go/document
# github.com/cespare/xxhash/v2 v2.3.0
@@ -13,8 +13,8 @@ github.com/cespare/xxhash/v2
github.com/dave/jennifer/jen
# github.com/davecgh/go-spew v1.1.1
## explicit
-# github.com/klauspost/compress v1.18.0
-## explicit; go 1.22
+# github.com/klauspost/compress v1.18.3
+## explicit; go 1.23
github.com/klauspost/compress
github.com/klauspost/compress/fse
github.com/klauspost/compress/huff0
@@ -27,26 +27,26 @@ github.com/klauspost/compress/zstd/internal/xxhash
## explicit; go 1.23.0
github.com/lyft/protoc-gen-star/v2
github.com/lyft/protoc-gen-star/v2/lang/go
-# github.com/spf13/afero v1.14.0
+# github.com/spf13/afero v1.15.0
## explicit; go 1.23.0
github.com/spf13/afero
github.com/spf13/afero/internal/common
github.com/spf13/afero/mem
-# golang.org/x/mod v0.24.0
-## explicit; go 1.23.0
+# golang.org/x/mod v0.32.0
+## explicit; go 1.24.0
golang.org/x/mod/internal/lazyregexp
golang.org/x/mod/module
golang.org/x/mod/semver
-# golang.org/x/sync v0.14.0
-## explicit; go 1.23.0
+# golang.org/x/sync v0.19.0
+## explicit; go 1.24.0
golang.org/x/sync/errgroup
-# golang.org/x/text v0.25.0
-## explicit; go 1.23.0
+# golang.org/x/text v0.33.0
+## explicit; go 1.24.0
golang.org/x/text/runes
golang.org/x/text/transform
golang.org/x/text/unicode/norm
-# golang.org/x/tools v0.33.0
-## explicit; go 1.23.0
+# golang.org/x/tools v0.41.0
+## explicit; go 1.24.0
golang.org/x/tools/go/ast/astutil
golang.org/x/tools/imports
golang.org/x/tools/internal/event
@@ -58,8 +58,8 @@ golang.org/x/tools/internal/gopathwalk
golang.org/x/tools/internal/imports
golang.org/x/tools/internal/modindex
golang.org/x/tools/internal/stdlib
-# google.golang.org/protobuf v1.36.6
-## explicit; go 1.22
+# google.golang.org/protobuf v1.36.11
+## explicit; go 1.23
google.golang.org/protobuf/cmd/protoc-gen-go
google.golang.org/protobuf/cmd/protoc-gen-go/internal_gengo
google.golang.org/protobuf/compiler/protogen