mirror of https://github.com/knative/caching.git
upgrade to latest dependencies (#844)
bumping golang.org/x/sys 914b96c...360f961:
> 360f961 unix: add API for fsconfig system call
> 7ff74af unix: drop go version tags for unsupported versions
> 6b4eab5 unix: suppress ENOMEM errors from sysctl's implementing Uname(uname *Utsname) on FreeBSD due to truncated fields.
> 2f2cc5d unix: update IFLA and NETKIT constants with Linux kernel 6.7
bumping golang.org/x/tools c5643e9...7656c4c:
> 7656c4c go.mod: update golang.org/x dependencies
> 5bf7d00 cmd/callgraph: add 'posn' template helper
> 283fce2 x/tools: drop go1.18 support
> 7f348c7 internal/versions: updates the meaning of FileVersions.
> 38b0e9b x/tools: add explicit Unalias operations
> a6c03c8 x/tools: update telemetry import (new Start API)
> 1f7dbdf gopls/internal/cache: add debug assertions for bug report
> 4d4e802 gopls/doc: address additional comments on workspace.md
> abe5874 gopls/internal/analysis: add fill switch cases code action
> fc70354 gopls/internal/test: add test for NPE in control flow highlighting
> 77c2a67 benchmark/parse: fix format
> c1f340a gopls: add non nil if check around function result highlight
> bbdc81d gopls: implement code action to split/group lines
> 4db4579 cmd/deadcode: avoid ssautil.AllFunctions
> 9b58909 gopls: upgrade dependencies following the v0.15.0 release
> 97c51a2 go/analysis/passes/shift: support constants in float syntax
> 509ff8b gopls/doc: update workspace documentation for zero-config gopls
> fb020a0 go/cfg: record block kind and associated statement
> 054c06d gopls: rationalize "deref" helpers
> a4d9215 gopls/internal/test/marker: add a test for initialization cycle errors
> c111c4d internal/typesinternal: add ReceiverNamed helper
> a821e61 gopls/internal/cache: don't create Views for vendored modules
> 3f67f80 go/packages/gopackages: display module
> 607b664 gopls/internal/cache: fix two bugs related to workspace packages
> 51dec25 gopls/internal/golang: highlight typeswitch break correctly
> 3ac77cb gopls/internal/settings: default "includeReplaceInWorkspace" to false
> 68515ea gopls/internal/test/integration/fake: set LSP client name
> 4231a57 cmd/getgo: delete package
> c61f99f cmd/getgo: create a module in preparation for deprecation
> 451218f x/tools: address review of CL 564515 (CombinedOutput)
> 4bc74c3 gopls/internal/golang: enable bug.Report in semantic tokens
> 32d3139 gopls/internal/golang: add semantic tokens for control labels
> 0d17194 gopls/internal/golang: SemanticTokens: edits for clarity
> 2bd7949 x/tools: don't parse CombinedOutput
> 7240af8 gopls/internal/cache: remove parsego.* aliases
> babbbed gopls/release: remove obsolete validateHardCodedVersion
> ea9e542 internal/versions: fix package to accept go1.21.0-bigcorp
> fef8b62 gopls/internal/server: fix a (mostly) benign race in diagnostics
> df9c1c7 gopls/internal/server: disambiguate diagnostics by OS,ARCH
> e325405 gopls/internal/test/integration: ignore telemetry prompt in assertion
> 5de9cbe go/ssa: show instruction line numbers in -build=FS mode
> 0f0698e go/analysis/passes/nilness: improve "for range []T(nil)" error
> f1914cc internal/aliases: use testing.T.Setenv in tests
> 945a754 gopls/internal/golang: remove a use of panic for flow control
> e1a6261 internal/jsonrpc2_v2: export WireError type
> 1b39a8b internal/testenv: always Cleanup to appease go vet
> afd8428 gopls/internal/test/integration: slightly more ergonomic FolderSettings
bumping golang.org/x/net 73d21fd...7ee34a0:
> 7ee34a0 go.mod: update golang.org/x dependencies
> c289c7a websocket: re-add documentation for DialConfig
> 9fb4a8c http2: send an error of FLOW_CONTROL_ERROR when exceed the maximum octets
> 3dfd003 websocket: add support for dialing with context
> fa11427 quic: move package out of internal
> 591be7f quic: fix UDP on big-endian Linux, tests on various architectures
> 34cc446 quic: temporarily disable networking tests failing on various platforms
> 4bdc6df quic: expand package docs, and document Stream
> 22cbde9 quic: set ServerName in client connection TLSConfig
> 57e4cc7 quic: handle PATH_CHALLENGE and PATH_RESPONSE frames
> a6a24dd quic: source address and ECN support in the network layer
> 2a8baea quic: don't record fin bit as sent when it wasn't
> 5e09712 quic: fast path for stream writes
> 08d27e3 quic: fast path for stream reads
> cc568ea internal/quic: use slices.Equal in TestAcksSent
> dda3687 quic: add Stream.ReadByte, Stream.WriteByte
> e94da73 quic: reduce ack frequency after the first 100 packets
> 117945d quic: add throughput and stream creation benchmarks
> 93be8fe quic: log packet_dropped events
> 6e383c4 quic: add qlog recovery metrics
> 840656f quic/qlog: don't output empty slog.Attrs
> 5a444b4 quic: add Stream.Set{Read,Write}Context, drop {Read,Write,Close}Context
bumping google.golang.org/api 548436b...9c2cde8:
> 9c2cde8 chore(main): release 0.169.0 (# 2451)
> a488112 feat(all): auto-regenerate discovery clients (# 2457)
> 2675c0a feat(all): auto-regenerate discovery clients (# 2454)
> d22da18 feat(all): auto-regenerate discovery clients (# 2450)
> e84ba36 chore(main): release 0.168.0 (# 2432)
> 74538f7 chore(all): update module github.com/google/go-github/v58 to v59 (# 2411)
> 6381123 chore(all): update all (# 2435)
> b438981 feat(all): auto-regenerate discovery clients (# 2449)
> af383c7 feat(all): auto-regenerate discovery clients (# 2448)
> 022c85c feat(all): auto-regenerate discovery clients (# 2447)
> 4fa90c9 feat(all): auto-regenerate discovery clients (# 2445)
> ced0c09 feat(all): auto-regenerate discovery clients (# 2443)
> 9f9c0cf feat(all): auto-regenerate discovery clients (# 2442)
> 454cba5 chore: make vet script less error prone (# 2441)
> 82eaa79
chore: updates for Go 1.22 (# 2440)
> d290e18 feat(all): auto-regenerate discovery clients (# 2438)
> 4dc71d4 feat(all): auto-regenerate discovery clients (# 2436)
> 0c30ecc feat(all): auto-regenerate discovery clients (# 2433)
> e635a5e feat(all): auto-regenerate discovery clients (# 2431)
bumping google.golang.org/genproto/googleapis/rpc 012b6fc...37d4d3c:
> 37d4d3c chore(all): update all (# 1089)
> df926f6 chore(all): auto-regenerate .pb.go files (# 1092)
> 05fd2b7 chore(all): Update to google.golang.org/genproto/googleapis/rpc without backreference (# 1093)
> 1f18d85 chore(all): Drop submodule backreferences (# 1087)
> 6ceb2ff chore: make vet script less error prone (# 1091)
> c5ed0a4 chore(all): auto-regenerate .pb.go files (# 1084)
> 9b9be74 chore: updates for Go 1.22 (# 1090)
> b0ce06b chore(all): update all (# 1088)
bumping golang.org/x/term 353276a...c5eaf76:
> c5eaf76 go.mod: update golang.org/x dependencies
bumping google.golang.org/protobuf 3068604...ec47fd1:
> ec47fd1 all: release v1.33.0
> f01a588 encoding/protojson, internal/encoding/json: handle missing object values
> 235ef28 all: fix integration test on macOS
> fe89159 internal/filedesc: make descriptor initialization goroutine-safe
> 6bec1ef proto: move explicit test as a seed into the fuzz test
> 02e13d2 internal/filedesc: align editions and non-editions HasPresence()
> 416d517 internal/conformance: make conformance tests work with editions
> 055c812 encoding/prototext: add proto editions and fuzz tests
> 2caa6b0 all: format all .proto files
> f2cb7f1 encoding/protojson: add protojson editions tests including fuzztests
> 08a11b3 testing/prototest: add extension and required editions messages
> da0e663 proto: add editions tests for invalid messages
> f9eb6c7 go_features.proto: move .proto file next to generated .pb.go file
> 11de0a6 all: add editions support for extensions
> 7d98b0e all: implement `features.field_presence = LEGACY_REQUIRED` support
> 6e0d73f proto: add extension tests for editions protos
> 1944577 proto: add more editions tests for proto.Size and proto.Equal
> 5e8da94 proto: add decoding fuzz test for proto3 to editions conversion
> 8f6a661 proto: add fuzztest for proto2 and equivalent editions proto
> 997075a reflect/protodesc: add editions support
> f102ec6 all: add more test for editions and fix some bugs in the implementation
> e391005 reflect/protodesc: propagate field_presence legacy_required properly
> 020ec10 internal/filedesc: implement runtime editions support
> f387b03 editions: add some test protos for editions
> 2040e86 all: implement Go-specific GenerateLegacyUnmarshalJSON
> 99e193e all: update to protobuf-26.0-rc2 to implement go edition features
> 82c6b3a protoreflect: remove unnecessary cache so extension types can be GC'ed
> b70f02b editions: minor fix to resolve editions features correctly
> 9e454d6 internal/filedesc: refactor editions feature resolution
> 26a52f3 reflect/protodesc: fix packed field conditional
> 7c85df2 reflect/protodesc: fix group validation: not supported in proto3
> 18202d2 testing/protocmp: add MessageTypeResolver.
> 7b78149 internal/impl: correct reflect.ValueError use
> 56dad28 all: add Security Policy (SECURITY.md)
> 9f73929 all: start v1.32.0-devel
bumping knative.dev/pkg 6b13f01...106b052:
> 106b052 Bump golang.org/x/oauth2 from 0.17.0 to 0.18.0 (# 2984)
> 95079a4 Bump google.golang.org/api from 0.167.0 to 0.169.0 (# 2982)
> f53396f Bump golang.org/x/tools from 0.18.0 to 0.19.0 (# 2985)
> c195f86 Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (# 2983)
bumping golang.org/x/oauth2 ebe81ad...85231f9:
> 85231f9 go.mod: update golang.org/x dependencies
> 34a7afa google/externalaccount: add Config.UniverseDomain
> 95bec95 google/externalaccount: moves externalaccount package out of internal and exports it
bumping golang.org/x/mod fa1ba42...766dc5d:
> 766dc5d modfile: use new go version string format in WorkFile.add error
Signed-off-by: Knative Automation <automation@knative.team>
This commit is contained in:
parent
56b8a13294
commit
157a1329bc
20
go.mod
20
go.mod
|
@ -12,7 +12,7 @@ require (
|
||||||
k8s.io/code-generator v0.29.2
|
k8s.io/code-generator v0.29.2
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||||
knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47
|
knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47
|
||||||
knative.dev/pkg v0.0.0-20240305144923-6b13f01ae5f7
|
knative.dev/pkg v0.0.0-20240311075308-106b052bd1a4
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
@ -56,22 +56,22 @@ require (
|
||||||
github.com/spf13/pflag v1.0.5 // indirect
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
go.opencensus.io v0.24.0 // indirect
|
go.opencensus.io v0.24.0 // indirect
|
||||||
go.uber.org/multierr v1.11.0 // indirect
|
go.uber.org/multierr v1.11.0 // indirect
|
||||||
golang.org/x/mod v0.15.0 // indirect
|
golang.org/x/mod v0.16.0 // indirect
|
||||||
golang.org/x/net v0.21.0 // indirect
|
golang.org/x/net v0.22.0 // indirect
|
||||||
golang.org/x/oauth2 v0.17.0 // indirect
|
golang.org/x/oauth2 v0.18.0 // indirect
|
||||||
golang.org/x/sync v0.6.0 // indirect
|
golang.org/x/sync v0.6.0 // indirect
|
||||||
golang.org/x/sys v0.17.0 // indirect
|
golang.org/x/sys v0.18.0 // indirect
|
||||||
golang.org/x/term v0.17.0 // indirect
|
golang.org/x/term v0.18.0 // indirect
|
||||||
golang.org/x/text v0.14.0 // indirect
|
golang.org/x/text v0.14.0 // indirect
|
||||||
golang.org/x/time v0.5.0 // indirect
|
golang.org/x/time v0.5.0 // indirect
|
||||||
golang.org/x/tools v0.18.0 // indirect
|
golang.org/x/tools v0.19.0 // indirect
|
||||||
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
|
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
|
||||||
google.golang.org/api v0.167.0 // indirect
|
google.golang.org/api v0.169.0 // indirect
|
||||||
google.golang.org/appengine v1.6.8 // indirect
|
google.golang.org/appengine v1.6.8 // indirect
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240304161311-37d4d3c04a78 // indirect
|
||||||
google.golang.org/grpc v1.62.0 // indirect
|
google.golang.org/grpc v1.62.0 // indirect
|
||||||
google.golang.org/protobuf v1.32.0 // indirect
|
google.golang.org/protobuf v1.33.0 // indirect
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
|
40
go.sum
40
go.sum
|
@ -356,8 +356,8 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB
|
||||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
|
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
|
||||||
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||||
|
@ -394,8 +394,8 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx
|
||||||
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||||
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||||
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
|
golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
|
||||||
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
|
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
|
@ -403,8 +403,8 @@ golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4Iltr
|
||||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||||
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
|
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
|
||||||
golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ=
|
golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
|
||||||
golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA=
|
golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
@ -461,12 +461,12 @@ golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220708085239-5a0f0661e09d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220708085239-5a0f0661e09d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
|
||||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
|
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
|
||||||
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
|
@ -526,8 +526,8 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc
|
||||||
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
|
golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
|
||||||
golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
|
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
@ -551,8 +551,8 @@ google.golang.org/api v0.25.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
|
||||||
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
|
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
|
||||||
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
|
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
|
||||||
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
|
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
|
||||||
google.golang.org/api v0.167.0 h1:CKHrQD1BLRii6xdkatBDXyKzM0mkawt2QP+H3LtPmSE=
|
google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY=
|
||||||
google.golang.org/api v0.167.0/go.mod h1:4FcBc686KFi7QI/U51/2GKKevfZMpM17sCdibqe/bSA=
|
google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg=
|
||||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
|
@ -596,8 +596,8 @@ google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJ
|
||||||
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s=
|
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s=
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c h1:9g7erC9qu44ks7UK4gDNlnk4kOxZG707xKm4jVniy6o=
|
google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c h1:9g7erC9qu44ks7UK4gDNlnk4kOxZG707xKm4jVniy6o=
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
|
google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9 h1:hZB7eLIaYlW9qXRfCq/qDaPdbeY3757uARz5Vvfv+cY=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240304161311-37d4d3c04a78 h1:Xs9lu+tLXxLIfuci70nG4cpwaRC+mRQPUL7LoIeDJC4=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:YUWgXUFRPfoYK1IHMuxH5K6nPEXSCzIMljnQ59lLRCk=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs=
|
||||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
|
||||||
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||||
|
@ -627,8 +627,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
|
||||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||||
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||||
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||||
google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
|
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||||
google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
@ -676,8 +676,8 @@ k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCf
|
||||||
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47 h1:ob3nmyZw8vJbvnHQdnDTG/5RDeUKBj5erjTdef/Mpew=
|
knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47 h1:ob3nmyZw8vJbvnHQdnDTG/5RDeUKBj5erjTdef/Mpew=
|
||||||
knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47/go.mod h1:yk2OjGDsbEnQjfxdm0/HJKS2WqTLEFg/N6nUs6Rqx3Q=
|
knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47/go.mod h1:yk2OjGDsbEnQjfxdm0/HJKS2WqTLEFg/N6nUs6Rqx3Q=
|
||||||
knative.dev/pkg v0.0.0-20240305144923-6b13f01ae5f7 h1:/HywUbVbk1SmZqjnL0Xs8pL6nGB2JKWPnqu4cuEtImY=
|
knative.dev/pkg v0.0.0-20240311075308-106b052bd1a4 h1:JDfJEWlvylax7U4SKXjyUk7JJXst7jREDE6ZqGbX5zI=
|
||||||
knative.dev/pkg v0.0.0-20240305144923-6b13f01ae5f7/go.mod h1:U/BhJJ4aJjqRdQiQ3lt7zFuoO81hCuIiOPDkKdoUzZc=
|
knative.dev/pkg v0.0.0-20240311075308-106b052bd1a4/go.mod h1:IXWwbkHWyT5dZwOnCNKSwssHEvOjOxLOwgRRaLN17gg=
|
||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
|
|
|
@ -2911,6 +2911,15 @@ func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error {
|
||||||
fl = &cs.flow
|
fl = &cs.flow
|
||||||
}
|
}
|
||||||
if !fl.add(int32(f.Increment)) {
|
if !fl.add(int32(f.Increment)) {
|
||||||
|
// For stream, the sender sends RST_STREAM with an error code of FLOW_CONTROL_ERROR
|
||||||
|
if cs != nil {
|
||||||
|
rl.endStreamError(cs, StreamError{
|
||||||
|
StreamID: f.StreamID,
|
||||||
|
Code: ErrCodeFlowControl,
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
return ConnectionError(ErrCodeFlowControl)
|
return ConnectionError(ErrCodeFlowControl)
|
||||||
}
|
}
|
||||||
cc.cond.Broadcast()
|
cc.cond.Broadcast()
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
//go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9
|
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
|
||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
//go:build darwin && go1.12
|
//go:build darwin
|
||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"sync"
|
"sync"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
@ -169,25 +170,26 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
|
||||||
func Uname(uname *Utsname) error {
|
func Uname(uname *Utsname) error {
|
||||||
mib := []_C_int{CTL_KERN, KERN_OSTYPE}
|
mib := []_C_int{CTL_KERN, KERN_OSTYPE}
|
||||||
n := unsafe.Sizeof(uname.Sysname)
|
n := unsafe.Sizeof(uname.Sysname)
|
||||||
if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {
|
// Suppress ENOMEM errors to be compatible with the C library __xuname() implementation.
|
||||||
|
if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
|
mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
|
||||||
n = unsafe.Sizeof(uname.Nodename)
|
n = unsafe.Sizeof(uname.Nodename)
|
||||||
if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {
|
if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
|
mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
|
||||||
n = unsafe.Sizeof(uname.Release)
|
n = unsafe.Sizeof(uname.Release)
|
||||||
if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {
|
if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mib = []_C_int{CTL_KERN, KERN_VERSION}
|
mib = []_C_int{CTL_KERN, KERN_VERSION}
|
||||||
n = unsafe.Sizeof(uname.Version)
|
n = unsafe.Sizeof(uname.Version)
|
||||||
if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {
|
if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,7 +207,7 @@ func Uname(uname *Utsname) error {
|
||||||
|
|
||||||
mib = []_C_int{CTL_HW, HW_MACHINE}
|
mib = []_C_int{CTL_HW, HW_MACHINE}
|
||||||
n = unsafe.Sizeof(uname.Machine)
|
n = unsafe.Sizeof(uname.Machine)
|
||||||
if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {
|
if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil && !errors.Is(err, ENOMEM) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1849,6 +1849,105 @@ func Dup2(oldfd, newfd int) error {
|
||||||
//sys Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error)
|
//sys Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error)
|
||||||
//sys Fsopen(fsName string, flags int) (fd int, err error)
|
//sys Fsopen(fsName string, flags int) (fd int, err error)
|
||||||
//sys Fspick(dirfd int, pathName string, flags int) (fd int, err error)
|
//sys Fspick(dirfd int, pathName string, flags int) (fd int, err error)
|
||||||
|
|
||||||
|
//sys fsconfig(fd int, cmd uint, key *byte, value *byte, aux int) (err error)
|
||||||
|
|
||||||
|
func fsconfigCommon(fd int, cmd uint, key string, value *byte, aux int) (err error) {
|
||||||
|
var keyp *byte
|
||||||
|
if keyp, err = BytePtrFromString(key); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return fsconfig(fd, cmd, keyp, value, aux)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigSetFlag is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_SET_FLAG.
|
||||||
|
//
|
||||||
|
// fd is the filesystem context to act upon.
|
||||||
|
// key the parameter key to set.
|
||||||
|
func FsconfigSetFlag(fd int, key string) (err error) {
|
||||||
|
return fsconfigCommon(fd, FSCONFIG_SET_FLAG, key, nil, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigSetString is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_SET_STRING.
|
||||||
|
//
|
||||||
|
// fd is the filesystem context to act upon.
|
||||||
|
// key the parameter key to set.
|
||||||
|
// value is the parameter value to set.
|
||||||
|
func FsconfigSetString(fd int, key string, value string) (err error) {
|
||||||
|
var valuep *byte
|
||||||
|
if valuep, err = BytePtrFromString(value); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return fsconfigCommon(fd, FSCONFIG_SET_STRING, key, valuep, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigSetBinary is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_SET_BINARY.
|
||||||
|
//
|
||||||
|
// fd is the filesystem context to act upon.
|
||||||
|
// key the parameter key to set.
|
||||||
|
// value is the parameter value to set.
|
||||||
|
func FsconfigSetBinary(fd int, key string, value []byte) (err error) {
|
||||||
|
if len(value) == 0 {
|
||||||
|
return EINVAL
|
||||||
|
}
|
||||||
|
return fsconfigCommon(fd, FSCONFIG_SET_BINARY, key, &value[0], len(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigSetPath is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_SET_PATH.
|
||||||
|
//
|
||||||
|
// fd is the filesystem context to act upon.
|
||||||
|
// key the parameter key to set.
|
||||||
|
// path is a non-empty path for specified key.
|
||||||
|
// atfd is a file descriptor at which to start lookup from or AT_FDCWD.
|
||||||
|
func FsconfigSetPath(fd int, key string, path string, atfd int) (err error) {
|
||||||
|
var valuep *byte
|
||||||
|
if valuep, err = BytePtrFromString(path); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return fsconfigCommon(fd, FSCONFIG_SET_PATH, key, valuep, atfd)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigSetPathEmpty is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_SET_PATH_EMPTY. The same as
|
||||||
|
// FconfigSetPath but with AT_PATH_EMPTY implied.
|
||||||
|
func FsconfigSetPathEmpty(fd int, key string, path string, atfd int) (err error) {
|
||||||
|
var valuep *byte
|
||||||
|
if valuep, err = BytePtrFromString(path); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
return fsconfigCommon(fd, FSCONFIG_SET_PATH_EMPTY, key, valuep, atfd)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigSetFd is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_SET_FD.
|
||||||
|
//
|
||||||
|
// fd is the filesystem context to act upon.
|
||||||
|
// key the parameter key to set.
|
||||||
|
// value is a file descriptor to be assigned to specified key.
|
||||||
|
func FsconfigSetFd(fd int, key string, value int) (err error) {
|
||||||
|
return fsconfigCommon(fd, FSCONFIG_SET_FD, key, nil, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigCreate is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_CMD_CREATE.
|
||||||
|
//
|
||||||
|
// fd is the filesystem context to act upon.
|
||||||
|
func FsconfigCreate(fd int) (err error) {
|
||||||
|
return fsconfig(fd, FSCONFIG_CMD_CREATE, nil, nil, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// FsconfigReconfigure is equivalent to fsconfig(2) called
|
||||||
|
// with cmd == FSCONFIG_CMD_RECONFIGURE.
|
||||||
|
//
|
||||||
|
// fd is the filesystem context to act upon.
|
||||||
|
func FsconfigReconfigure(fd int) (err error) {
|
||||||
|
return fsconfig(fd, FSCONFIG_CMD_RECONFIGURE, nil, nil, 0)
|
||||||
|
}
|
||||||
|
|
||||||
//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
|
//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64
|
||||||
//sysnb Getpgid(pid int) (pgid int, err error)
|
//sysnb Getpgid(pid int) (pgid int, err error)
|
||||||
|
|
||||||
|
|
|
@ -906,6 +906,16 @@ func Fspick(dirfd int, pathName string, flags int) (fd int, err error) {
|
||||||
|
|
||||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func fsconfig(fd int, cmd uint, key *byte, value *byte, aux int) (err error) {
|
||||||
|
_, _, e1 := Syscall6(SYS_FSCONFIG, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(value)), uintptr(aux), 0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Getdents(fd int, buf []byte) (n int, err error) {
|
func Getdents(fd int, buf []byte) (n int, err error) {
|
||||||
var _p0 unsafe.Pointer
|
var _p0 unsafe.Pointer
|
||||||
if len(buf) > 0 {
|
if len(buf) > 0 {
|
||||||
|
|
|
@ -836,6 +836,15 @@ const (
|
||||||
FSPICK_EMPTY_PATH = 0x8
|
FSPICK_EMPTY_PATH = 0x8
|
||||||
|
|
||||||
FSMOUNT_CLOEXEC = 0x1
|
FSMOUNT_CLOEXEC = 0x1
|
||||||
|
|
||||||
|
FSCONFIG_SET_FLAG = 0x0
|
||||||
|
FSCONFIG_SET_STRING = 0x1
|
||||||
|
FSCONFIG_SET_BINARY = 0x2
|
||||||
|
FSCONFIG_SET_PATH = 0x3
|
||||||
|
FSCONFIG_SET_PATH_EMPTY = 0x4
|
||||||
|
FSCONFIG_SET_FD = 0x5
|
||||||
|
FSCONFIG_CMD_CREATE = 0x6
|
||||||
|
FSCONFIG_CMD_RECONFIGURE = 0x7
|
||||||
)
|
)
|
||||||
|
|
||||||
type OpenHow struct {
|
type OpenHow struct {
|
||||||
|
@ -1550,6 +1559,7 @@ const (
|
||||||
IFLA_DEVLINK_PORT = 0x3e
|
IFLA_DEVLINK_PORT = 0x3e
|
||||||
IFLA_GSO_IPV4_MAX_SIZE = 0x3f
|
IFLA_GSO_IPV4_MAX_SIZE = 0x3f
|
||||||
IFLA_GRO_IPV4_MAX_SIZE = 0x40
|
IFLA_GRO_IPV4_MAX_SIZE = 0x40
|
||||||
|
IFLA_DPLL_PIN = 0x41
|
||||||
IFLA_PROTO_DOWN_REASON_UNSPEC = 0x0
|
IFLA_PROTO_DOWN_REASON_UNSPEC = 0x0
|
||||||
IFLA_PROTO_DOWN_REASON_MASK = 0x1
|
IFLA_PROTO_DOWN_REASON_MASK = 0x1
|
||||||
IFLA_PROTO_DOWN_REASON_VALUE = 0x2
|
IFLA_PROTO_DOWN_REASON_VALUE = 0x2
|
||||||
|
@ -1565,6 +1575,7 @@ const (
|
||||||
IFLA_INET6_ICMP6STATS = 0x6
|
IFLA_INET6_ICMP6STATS = 0x6
|
||||||
IFLA_INET6_TOKEN = 0x7
|
IFLA_INET6_TOKEN = 0x7
|
||||||
IFLA_INET6_ADDR_GEN_MODE = 0x8
|
IFLA_INET6_ADDR_GEN_MODE = 0x8
|
||||||
|
IFLA_INET6_RA_MTU = 0x9
|
||||||
IFLA_BR_UNSPEC = 0x0
|
IFLA_BR_UNSPEC = 0x0
|
||||||
IFLA_BR_FORWARD_DELAY = 0x1
|
IFLA_BR_FORWARD_DELAY = 0x1
|
||||||
IFLA_BR_HELLO_TIME = 0x2
|
IFLA_BR_HELLO_TIME = 0x2
|
||||||
|
@ -1612,6 +1623,9 @@ const (
|
||||||
IFLA_BR_MCAST_MLD_VERSION = 0x2c
|
IFLA_BR_MCAST_MLD_VERSION = 0x2c
|
||||||
IFLA_BR_VLAN_STATS_PER_PORT = 0x2d
|
IFLA_BR_VLAN_STATS_PER_PORT = 0x2d
|
||||||
IFLA_BR_MULTI_BOOLOPT = 0x2e
|
IFLA_BR_MULTI_BOOLOPT = 0x2e
|
||||||
|
IFLA_BR_MCAST_QUERIER_STATE = 0x2f
|
||||||
|
IFLA_BR_FDB_N_LEARNED = 0x30
|
||||||
|
IFLA_BR_FDB_MAX_LEARNED = 0x31
|
||||||
IFLA_BRPORT_UNSPEC = 0x0
|
IFLA_BRPORT_UNSPEC = 0x0
|
||||||
IFLA_BRPORT_STATE = 0x1
|
IFLA_BRPORT_STATE = 0x1
|
||||||
IFLA_BRPORT_PRIORITY = 0x2
|
IFLA_BRPORT_PRIORITY = 0x2
|
||||||
|
@ -1649,6 +1663,14 @@ const (
|
||||||
IFLA_BRPORT_BACKUP_PORT = 0x22
|
IFLA_BRPORT_BACKUP_PORT = 0x22
|
||||||
IFLA_BRPORT_MRP_RING_OPEN = 0x23
|
IFLA_BRPORT_MRP_RING_OPEN = 0x23
|
||||||
IFLA_BRPORT_MRP_IN_OPEN = 0x24
|
IFLA_BRPORT_MRP_IN_OPEN = 0x24
|
||||||
|
IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT = 0x25
|
||||||
|
IFLA_BRPORT_MCAST_EHT_HOSTS_CNT = 0x26
|
||||||
|
IFLA_BRPORT_LOCKED = 0x27
|
||||||
|
IFLA_BRPORT_MAB = 0x28
|
||||||
|
IFLA_BRPORT_MCAST_N_GROUPS = 0x29
|
||||||
|
IFLA_BRPORT_MCAST_MAX_GROUPS = 0x2a
|
||||||
|
IFLA_BRPORT_NEIGH_VLAN_SUPPRESS = 0x2b
|
||||||
|
IFLA_BRPORT_BACKUP_NHID = 0x2c
|
||||||
IFLA_INFO_UNSPEC = 0x0
|
IFLA_INFO_UNSPEC = 0x0
|
||||||
IFLA_INFO_KIND = 0x1
|
IFLA_INFO_KIND = 0x1
|
||||||
IFLA_INFO_DATA = 0x2
|
IFLA_INFO_DATA = 0x2
|
||||||
|
@ -1670,6 +1692,9 @@ const (
|
||||||
IFLA_MACVLAN_MACADDR = 0x4
|
IFLA_MACVLAN_MACADDR = 0x4
|
||||||
IFLA_MACVLAN_MACADDR_DATA = 0x5
|
IFLA_MACVLAN_MACADDR_DATA = 0x5
|
||||||
IFLA_MACVLAN_MACADDR_COUNT = 0x6
|
IFLA_MACVLAN_MACADDR_COUNT = 0x6
|
||||||
|
IFLA_MACVLAN_BC_QUEUE_LEN = 0x7
|
||||||
|
IFLA_MACVLAN_BC_QUEUE_LEN_USED = 0x8
|
||||||
|
IFLA_MACVLAN_BC_CUTOFF = 0x9
|
||||||
IFLA_VRF_UNSPEC = 0x0
|
IFLA_VRF_UNSPEC = 0x0
|
||||||
IFLA_VRF_TABLE = 0x1
|
IFLA_VRF_TABLE = 0x1
|
||||||
IFLA_VRF_PORT_UNSPEC = 0x0
|
IFLA_VRF_PORT_UNSPEC = 0x0
|
||||||
|
@ -1693,9 +1718,22 @@ const (
|
||||||
IFLA_XFRM_UNSPEC = 0x0
|
IFLA_XFRM_UNSPEC = 0x0
|
||||||
IFLA_XFRM_LINK = 0x1
|
IFLA_XFRM_LINK = 0x1
|
||||||
IFLA_XFRM_IF_ID = 0x2
|
IFLA_XFRM_IF_ID = 0x2
|
||||||
|
IFLA_XFRM_COLLECT_METADATA = 0x3
|
||||||
IFLA_IPVLAN_UNSPEC = 0x0
|
IFLA_IPVLAN_UNSPEC = 0x0
|
||||||
IFLA_IPVLAN_MODE = 0x1
|
IFLA_IPVLAN_MODE = 0x1
|
||||||
IFLA_IPVLAN_FLAGS = 0x2
|
IFLA_IPVLAN_FLAGS = 0x2
|
||||||
|
NETKIT_NEXT = -0x1
|
||||||
|
NETKIT_PASS = 0x0
|
||||||
|
NETKIT_DROP = 0x2
|
||||||
|
NETKIT_REDIRECT = 0x7
|
||||||
|
NETKIT_L2 = 0x0
|
||||||
|
NETKIT_L3 = 0x1
|
||||||
|
IFLA_NETKIT_UNSPEC = 0x0
|
||||||
|
IFLA_NETKIT_PEER_INFO = 0x1
|
||||||
|
IFLA_NETKIT_PRIMARY = 0x2
|
||||||
|
IFLA_NETKIT_POLICY = 0x3
|
||||||
|
IFLA_NETKIT_PEER_POLICY = 0x4
|
||||||
|
IFLA_NETKIT_MODE = 0x5
|
||||||
IFLA_VXLAN_UNSPEC = 0x0
|
IFLA_VXLAN_UNSPEC = 0x0
|
||||||
IFLA_VXLAN_ID = 0x1
|
IFLA_VXLAN_ID = 0x1
|
||||||
IFLA_VXLAN_GROUP = 0x2
|
IFLA_VXLAN_GROUP = 0x2
|
||||||
|
@ -1726,6 +1764,8 @@ const (
|
||||||
IFLA_VXLAN_GPE = 0x1b
|
IFLA_VXLAN_GPE = 0x1b
|
||||||
IFLA_VXLAN_TTL_INHERIT = 0x1c
|
IFLA_VXLAN_TTL_INHERIT = 0x1c
|
||||||
IFLA_VXLAN_DF = 0x1d
|
IFLA_VXLAN_DF = 0x1d
|
||||||
|
IFLA_VXLAN_VNIFILTER = 0x1e
|
||||||
|
IFLA_VXLAN_LOCALBYPASS = 0x1f
|
||||||
IFLA_GENEVE_UNSPEC = 0x0
|
IFLA_GENEVE_UNSPEC = 0x0
|
||||||
IFLA_GENEVE_ID = 0x1
|
IFLA_GENEVE_ID = 0x1
|
||||||
IFLA_GENEVE_REMOTE = 0x2
|
IFLA_GENEVE_REMOTE = 0x2
|
||||||
|
@ -1740,6 +1780,7 @@ const (
|
||||||
IFLA_GENEVE_LABEL = 0xb
|
IFLA_GENEVE_LABEL = 0xb
|
||||||
IFLA_GENEVE_TTL_INHERIT = 0xc
|
IFLA_GENEVE_TTL_INHERIT = 0xc
|
||||||
IFLA_GENEVE_DF = 0xd
|
IFLA_GENEVE_DF = 0xd
|
||||||
|
IFLA_GENEVE_INNER_PROTO_INHERIT = 0xe
|
||||||
IFLA_BAREUDP_UNSPEC = 0x0
|
IFLA_BAREUDP_UNSPEC = 0x0
|
||||||
IFLA_BAREUDP_PORT = 0x1
|
IFLA_BAREUDP_PORT = 0x1
|
||||||
IFLA_BAREUDP_ETHERTYPE = 0x2
|
IFLA_BAREUDP_ETHERTYPE = 0x2
|
||||||
|
@ -1752,6 +1793,8 @@ const (
|
||||||
IFLA_GTP_FD1 = 0x2
|
IFLA_GTP_FD1 = 0x2
|
||||||
IFLA_GTP_PDP_HASHSIZE = 0x3
|
IFLA_GTP_PDP_HASHSIZE = 0x3
|
||||||
IFLA_GTP_ROLE = 0x4
|
IFLA_GTP_ROLE = 0x4
|
||||||
|
IFLA_GTP_CREATE_SOCKETS = 0x5
|
||||||
|
IFLA_GTP_RESTART_COUNT = 0x6
|
||||||
IFLA_BOND_UNSPEC = 0x0
|
IFLA_BOND_UNSPEC = 0x0
|
||||||
IFLA_BOND_MODE = 0x1
|
IFLA_BOND_MODE = 0x1
|
||||||
IFLA_BOND_ACTIVE_SLAVE = 0x2
|
IFLA_BOND_ACTIVE_SLAVE = 0x2
|
||||||
|
@ -1781,6 +1824,9 @@ const (
|
||||||
IFLA_BOND_AD_ACTOR_SYSTEM = 0x1a
|
IFLA_BOND_AD_ACTOR_SYSTEM = 0x1a
|
||||||
IFLA_BOND_TLB_DYNAMIC_LB = 0x1b
|
IFLA_BOND_TLB_DYNAMIC_LB = 0x1b
|
||||||
IFLA_BOND_PEER_NOTIF_DELAY = 0x1c
|
IFLA_BOND_PEER_NOTIF_DELAY = 0x1c
|
||||||
|
IFLA_BOND_AD_LACP_ACTIVE = 0x1d
|
||||||
|
IFLA_BOND_MISSED_MAX = 0x1e
|
||||||
|
IFLA_BOND_NS_IP6_TARGET = 0x1f
|
||||||
IFLA_BOND_AD_INFO_UNSPEC = 0x0
|
IFLA_BOND_AD_INFO_UNSPEC = 0x0
|
||||||
IFLA_BOND_AD_INFO_AGGREGATOR = 0x1
|
IFLA_BOND_AD_INFO_AGGREGATOR = 0x1
|
||||||
IFLA_BOND_AD_INFO_NUM_PORTS = 0x2
|
IFLA_BOND_AD_INFO_NUM_PORTS = 0x2
|
||||||
|
@ -1796,6 +1842,7 @@ const (
|
||||||
IFLA_BOND_SLAVE_AD_AGGREGATOR_ID = 0x6
|
IFLA_BOND_SLAVE_AD_AGGREGATOR_ID = 0x6
|
||||||
IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE = 0x7
|
IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE = 0x7
|
||||||
IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE = 0x8
|
IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE = 0x8
|
||||||
|
IFLA_BOND_SLAVE_PRIO = 0x9
|
||||||
IFLA_VF_INFO_UNSPEC = 0x0
|
IFLA_VF_INFO_UNSPEC = 0x0
|
||||||
IFLA_VF_INFO = 0x1
|
IFLA_VF_INFO = 0x1
|
||||||
IFLA_VF_UNSPEC = 0x0
|
IFLA_VF_UNSPEC = 0x0
|
||||||
|
@ -1854,8 +1901,16 @@ const (
|
||||||
IFLA_STATS_LINK_XSTATS_SLAVE = 0x3
|
IFLA_STATS_LINK_XSTATS_SLAVE = 0x3
|
||||||
IFLA_STATS_LINK_OFFLOAD_XSTATS = 0x4
|
IFLA_STATS_LINK_OFFLOAD_XSTATS = 0x4
|
||||||
IFLA_STATS_AF_SPEC = 0x5
|
IFLA_STATS_AF_SPEC = 0x5
|
||||||
|
IFLA_STATS_GETSET_UNSPEC = 0x0
|
||||||
|
IFLA_STATS_GET_FILTERS = 0x1
|
||||||
|
IFLA_STATS_SET_OFFLOAD_XSTATS_L3_STATS = 0x2
|
||||||
IFLA_OFFLOAD_XSTATS_UNSPEC = 0x0
|
IFLA_OFFLOAD_XSTATS_UNSPEC = 0x0
|
||||||
IFLA_OFFLOAD_XSTATS_CPU_HIT = 0x1
|
IFLA_OFFLOAD_XSTATS_CPU_HIT = 0x1
|
||||||
|
IFLA_OFFLOAD_XSTATS_HW_S_INFO = 0x2
|
||||||
|
IFLA_OFFLOAD_XSTATS_L3_STATS = 0x3
|
||||||
|
IFLA_OFFLOAD_XSTATS_HW_S_INFO_UNSPEC = 0x0
|
||||||
|
IFLA_OFFLOAD_XSTATS_HW_S_INFO_REQUEST = 0x1
|
||||||
|
IFLA_OFFLOAD_XSTATS_HW_S_INFO_USED = 0x2
|
||||||
IFLA_XDP_UNSPEC = 0x0
|
IFLA_XDP_UNSPEC = 0x0
|
||||||
IFLA_XDP_FD = 0x1
|
IFLA_XDP_FD = 0x1
|
||||||
IFLA_XDP_ATTACHED = 0x2
|
IFLA_XDP_ATTACHED = 0x2
|
||||||
|
@ -1885,6 +1940,11 @@ const (
|
||||||
IFLA_RMNET_UNSPEC = 0x0
|
IFLA_RMNET_UNSPEC = 0x0
|
||||||
IFLA_RMNET_MUX_ID = 0x1
|
IFLA_RMNET_MUX_ID = 0x1
|
||||||
IFLA_RMNET_FLAGS = 0x2
|
IFLA_RMNET_FLAGS = 0x2
|
||||||
|
IFLA_MCTP_UNSPEC = 0x0
|
||||||
|
IFLA_MCTP_NET = 0x1
|
||||||
|
IFLA_DSA_UNSPEC = 0x0
|
||||||
|
IFLA_DSA_CONDUIT = 0x1
|
||||||
|
IFLA_DSA_MASTER = 0x1
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -322,6 +322,10 @@ func (d decoder) skipJSONValue() error {
|
||||||
if open > d.opts.RecursionLimit {
|
if open > d.opts.RecursionLimit {
|
||||||
return errors.New("exceeded max recursion depth")
|
return errors.New("exceeded max recursion depth")
|
||||||
}
|
}
|
||||||
|
case json.EOF:
|
||||||
|
// This can only happen if there's a bug in Decoder.Read.
|
||||||
|
// Avoid an infinite loop if this does happen.
|
||||||
|
return errors.New("unexpected EOF")
|
||||||
}
|
}
|
||||||
if open == 0 {
|
if open == 0 {
|
||||||
return nil
|
return nil
|
||||||
|
|
12
vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go
generated
vendored
Normal file
12
vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
// Copyright 2024 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// Package editiondefaults contains the binary representation of the editions
|
||||||
|
// defaults.
|
||||||
|
package editiondefaults
|
||||||
|
|
||||||
|
import _ "embed"
|
||||||
|
|
||||||
|
//go:embed editions_defaults.binpb
|
||||||
|
var Defaults []byte
|
4
vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
generated
vendored
Normal file
4
vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
generated
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
(0ж
|
||||||
|
(0з
|
||||||
|
(0и ж(и
|
|
@ -121,7 +121,7 @@ func (d *Decoder) Read() (Token, error) {
|
||||||
|
|
||||||
case ObjectClose:
|
case ObjectClose:
|
||||||
if len(d.openStack) == 0 ||
|
if len(d.openStack) == 0 ||
|
||||||
d.lastToken.kind == comma ||
|
d.lastToken.kind&(Name|comma) != 0 ||
|
||||||
d.openStack[len(d.openStack)-1] != ObjectOpen {
|
d.openStack[len(d.openStack)-1] != ObjectOpen {
|
||||||
return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
|
return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString())
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ type (
|
||||||
Extensions Extensions
|
Extensions Extensions
|
||||||
Services Services
|
Services Services
|
||||||
|
|
||||||
EditionFeatures FileEditionFeatures
|
EditionFeatures EditionFeatures
|
||||||
}
|
}
|
||||||
FileL2 struct {
|
FileL2 struct {
|
||||||
Options func() protoreflect.ProtoMessage
|
Options func() protoreflect.ProtoMessage
|
||||||
|
@ -76,10 +76,13 @@ type (
|
||||||
Locations SourceLocations
|
Locations SourceLocations
|
||||||
}
|
}
|
||||||
|
|
||||||
FileEditionFeatures struct {
|
EditionFeatures struct {
|
||||||
// IsFieldPresence is true if field_presence is EXPLICIT
|
// IsFieldPresence is true if field_presence is EXPLICIT
|
||||||
// https://protobuf.dev/editions/features/#field_presence
|
// https://protobuf.dev/editions/features/#field_presence
|
||||||
IsFieldPresence bool
|
IsFieldPresence bool
|
||||||
|
// IsFieldPresence is true if field_presence is LEGACY_REQUIRED
|
||||||
|
// https://protobuf.dev/editions/features/#field_presence
|
||||||
|
IsLegacyRequired bool
|
||||||
// IsOpenEnum is true if enum_type is OPEN
|
// IsOpenEnum is true if enum_type is OPEN
|
||||||
// https://protobuf.dev/editions/features/#enum_type
|
// https://protobuf.dev/editions/features/#enum_type
|
||||||
IsOpenEnum bool
|
IsOpenEnum bool
|
||||||
|
@ -95,6 +98,9 @@ type (
|
||||||
// IsJSONCompliant is true if json_format is ALLOW
|
// IsJSONCompliant is true if json_format is ALLOW
|
||||||
// https://protobuf.dev/editions/features/#json_format
|
// https://protobuf.dev/editions/features/#json_format
|
||||||
IsJSONCompliant bool
|
IsJSONCompliant bool
|
||||||
|
// GenerateLegacyUnmarshalJSON determines if the plugin generates the
|
||||||
|
// UnmarshalJSON([]byte) error method for enums.
|
||||||
|
GenerateLegacyUnmarshalJSON bool
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -156,6 +162,8 @@ type (
|
||||||
}
|
}
|
||||||
EnumL1 struct {
|
EnumL1 struct {
|
||||||
eagerValues bool // controls whether EnumL2.Values is already populated
|
eagerValues bool // controls whether EnumL2.Values is already populated
|
||||||
|
|
||||||
|
EditionFeatures EditionFeatures
|
||||||
}
|
}
|
||||||
EnumL2 struct {
|
EnumL2 struct {
|
||||||
Options func() protoreflect.ProtoMessage
|
Options func() protoreflect.ProtoMessage
|
||||||
|
@ -217,6 +225,8 @@ type (
|
||||||
Extensions Extensions
|
Extensions Extensions
|
||||||
IsMapEntry bool // promoted from google.protobuf.MessageOptions
|
IsMapEntry bool // promoted from google.protobuf.MessageOptions
|
||||||
IsMessageSet bool // promoted from google.protobuf.MessageOptions
|
IsMessageSet bool // promoted from google.protobuf.MessageOptions
|
||||||
|
|
||||||
|
EditionFeatures EditionFeatures
|
||||||
}
|
}
|
||||||
MessageL2 struct {
|
MessageL2 struct {
|
||||||
Options func() protoreflect.ProtoMessage
|
Options func() protoreflect.ProtoMessage
|
||||||
|
@ -250,8 +260,7 @@ type (
|
||||||
Enum protoreflect.EnumDescriptor
|
Enum protoreflect.EnumDescriptor
|
||||||
Message protoreflect.MessageDescriptor
|
Message protoreflect.MessageDescriptor
|
||||||
|
|
||||||
// Edition features.
|
EditionFeatures EditionFeatures
|
||||||
Presence bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Oneof struct {
|
Oneof struct {
|
||||||
|
@ -261,6 +270,8 @@ type (
|
||||||
OneofL1 struct {
|
OneofL1 struct {
|
||||||
Options func() protoreflect.ProtoMessage
|
Options func() protoreflect.ProtoMessage
|
||||||
Fields OneofFields // must be consistent with Message.Fields.ContainingOneof
|
Fields OneofFields // must be consistent with Message.Fields.ContainingOneof
|
||||||
|
|
||||||
|
EditionFeatures EditionFeatures
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -310,26 +321,36 @@ func (fd *Field) Options() protoreflect.ProtoMessage {
|
||||||
}
|
}
|
||||||
func (fd *Field) Number() protoreflect.FieldNumber { return fd.L1.Number }
|
func (fd *Field) Number() protoreflect.FieldNumber { return fd.L1.Number }
|
||||||
func (fd *Field) Cardinality() protoreflect.Cardinality { return fd.L1.Cardinality }
|
func (fd *Field) Cardinality() protoreflect.Cardinality { return fd.L1.Cardinality }
|
||||||
func (fd *Field) Kind() protoreflect.Kind { return fd.L1.Kind }
|
func (fd *Field) Kind() protoreflect.Kind {
|
||||||
func (fd *Field) HasJSONName() bool { return fd.L1.StringName.hasJSON }
|
return fd.L1.Kind
|
||||||
func (fd *Field) JSONName() string { return fd.L1.StringName.getJSON(fd) }
|
}
|
||||||
func (fd *Field) TextName() string { return fd.L1.StringName.getText(fd) }
|
func (fd *Field) HasJSONName() bool { return fd.L1.StringName.hasJSON }
|
||||||
|
func (fd *Field) JSONName() string { return fd.L1.StringName.getJSON(fd) }
|
||||||
|
func (fd *Field) TextName() string { return fd.L1.StringName.getText(fd) }
|
||||||
func (fd *Field) HasPresence() bool {
|
func (fd *Field) HasPresence() bool {
|
||||||
if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions {
|
if fd.L1.Cardinality == protoreflect.Repeated {
|
||||||
return fd.L1.Presence || fd.L1.Message != nil || fd.L1.ContainingOneof != nil
|
return false
|
||||||
}
|
}
|
||||||
return fd.L1.Cardinality != protoreflect.Repeated && (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 || fd.L1.Message != nil || fd.L1.ContainingOneof != nil)
|
explicitFieldPresence := fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsFieldPresence
|
||||||
|
return fd.Syntax() == protoreflect.Proto2 || explicitFieldPresence || fd.L1.Message != nil || fd.L1.ContainingOneof != nil
|
||||||
}
|
}
|
||||||
func (fd *Field) HasOptionalKeyword() bool {
|
func (fd *Field) HasOptionalKeyword() bool {
|
||||||
return (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional
|
return (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional
|
||||||
}
|
}
|
||||||
func (fd *Field) IsPacked() bool {
|
func (fd *Field) IsPacked() bool {
|
||||||
if !fd.L1.HasPacked && fd.L0.ParentFile.L1.Syntax != protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Repeated {
|
if fd.L1.Cardinality != protoreflect.Repeated {
|
||||||
switch fd.L1.Kind {
|
return false
|
||||||
case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind:
|
}
|
||||||
default:
|
switch fd.L1.Kind {
|
||||||
return true
|
case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind:
|
||||||
}
|
return false
|
||||||
|
}
|
||||||
|
if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions {
|
||||||
|
return fd.L1.EditionFeatures.IsPacked
|
||||||
|
}
|
||||||
|
if fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3 {
|
||||||
|
// proto3 repeated fields are packed by default.
|
||||||
|
return !fd.L1.HasPacked || fd.L1.IsPacked
|
||||||
}
|
}
|
||||||
return fd.L1.IsPacked
|
return fd.L1.IsPacked
|
||||||
}
|
}
|
||||||
|
@ -378,6 +399,9 @@ func (fd *Field) ProtoType(protoreflect.FieldDescriptor) {}
|
||||||
// WARNING: This method is exempt from the compatibility promise and may be
|
// WARNING: This method is exempt from the compatibility promise and may be
|
||||||
// removed in the future without warning.
|
// removed in the future without warning.
|
||||||
func (fd *Field) EnforceUTF8() bool {
|
func (fd *Field) EnforceUTF8() bool {
|
||||||
|
if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions {
|
||||||
|
return fd.L1.EditionFeatures.IsUTF8Validated
|
||||||
|
}
|
||||||
if fd.L1.HasEnforceUTF8 {
|
if fd.L1.HasEnforceUTF8 {
|
||||||
return fd.L1.EnforceUTF8
|
return fd.L1.EnforceUTF8
|
||||||
}
|
}
|
||||||
|
@ -404,10 +428,11 @@ type (
|
||||||
L2 *ExtensionL2 // protected by fileDesc.once
|
L2 *ExtensionL2 // protected by fileDesc.once
|
||||||
}
|
}
|
||||||
ExtensionL1 struct {
|
ExtensionL1 struct {
|
||||||
Number protoreflect.FieldNumber
|
Number protoreflect.FieldNumber
|
||||||
Extendee protoreflect.MessageDescriptor
|
Extendee protoreflect.MessageDescriptor
|
||||||
Cardinality protoreflect.Cardinality
|
Cardinality protoreflect.Cardinality
|
||||||
Kind protoreflect.Kind
|
Kind protoreflect.Kind
|
||||||
|
EditionFeatures EditionFeatures
|
||||||
}
|
}
|
||||||
ExtensionL2 struct {
|
ExtensionL2 struct {
|
||||||
Options func() protoreflect.ProtoMessage
|
Options func() protoreflect.ProtoMessage
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
package filedesc
|
package filedesc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"google.golang.org/protobuf/encoding/protowire"
|
"google.golang.org/protobuf/encoding/protowire"
|
||||||
|
@ -98,6 +99,7 @@ func (fd *File) unmarshalSeed(b []byte) {
|
||||||
var prevField protoreflect.FieldNumber
|
var prevField protoreflect.FieldNumber
|
||||||
var numEnums, numMessages, numExtensions, numServices int
|
var numEnums, numMessages, numExtensions, numServices int
|
||||||
var posEnums, posMessages, posExtensions, posServices int
|
var posEnums, posMessages, posExtensions, posServices int
|
||||||
|
var options []byte
|
||||||
b0 := b
|
b0 := b
|
||||||
for len(b) > 0 {
|
for len(b) > 0 {
|
||||||
num, typ, n := protowire.ConsumeTag(b)
|
num, typ, n := protowire.ConsumeTag(b)
|
||||||
|
@ -113,6 +115,8 @@ func (fd *File) unmarshalSeed(b []byte) {
|
||||||
fd.L1.Syntax = protoreflect.Proto2
|
fd.L1.Syntax = protoreflect.Proto2
|
||||||
case "proto3":
|
case "proto3":
|
||||||
fd.L1.Syntax = protoreflect.Proto3
|
fd.L1.Syntax = protoreflect.Proto3
|
||||||
|
case "editions":
|
||||||
|
fd.L1.Syntax = protoreflect.Editions
|
||||||
default:
|
default:
|
||||||
panic("invalid syntax")
|
panic("invalid syntax")
|
||||||
}
|
}
|
||||||
|
@ -120,6 +124,8 @@ func (fd *File) unmarshalSeed(b []byte) {
|
||||||
fd.L1.Path = sb.MakeString(v)
|
fd.L1.Path = sb.MakeString(v)
|
||||||
case genid.FileDescriptorProto_Package_field_number:
|
case genid.FileDescriptorProto_Package_field_number:
|
||||||
fd.L1.Package = protoreflect.FullName(sb.MakeString(v))
|
fd.L1.Package = protoreflect.FullName(sb.MakeString(v))
|
||||||
|
case genid.FileDescriptorProto_Options_field_number:
|
||||||
|
options = v
|
||||||
case genid.FileDescriptorProto_EnumType_field_number:
|
case genid.FileDescriptorProto_EnumType_field_number:
|
||||||
if prevField != genid.FileDescriptorProto_EnumType_field_number {
|
if prevField != genid.FileDescriptorProto_EnumType_field_number {
|
||||||
if numEnums > 0 {
|
if numEnums > 0 {
|
||||||
|
@ -154,6 +160,13 @@ func (fd *File) unmarshalSeed(b []byte) {
|
||||||
numServices++
|
numServices++
|
||||||
}
|
}
|
||||||
prevField = num
|
prevField = num
|
||||||
|
case protowire.VarintType:
|
||||||
|
v, m := protowire.ConsumeVarint(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.FileDescriptorProto_Edition_field_number:
|
||||||
|
fd.L1.Edition = Edition(v)
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
m := protowire.ConsumeFieldValue(num, typ, b)
|
m := protowire.ConsumeFieldValue(num, typ, b)
|
||||||
b = b[m:]
|
b = b[m:]
|
||||||
|
@ -166,6 +179,15 @@ func (fd *File) unmarshalSeed(b []byte) {
|
||||||
fd.L1.Syntax = protoreflect.Proto2
|
fd.L1.Syntax = protoreflect.Proto2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if fd.L1.Syntax == protoreflect.Editions {
|
||||||
|
fd.L1.EditionFeatures = getFeaturesFor(fd.L1.Edition)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parse editions features from options if any
|
||||||
|
if options != nil {
|
||||||
|
fd.unmarshalSeedOptions(options)
|
||||||
|
}
|
||||||
|
|
||||||
// Must allocate all declarations before parsing each descriptor type
|
// Must allocate all declarations before parsing each descriptor type
|
||||||
// to ensure we handled all descriptors in "flattened ordering".
|
// to ensure we handled all descriptors in "flattened ordering".
|
||||||
if numEnums > 0 {
|
if numEnums > 0 {
|
||||||
|
@ -219,6 +241,28 @@ func (fd *File) unmarshalSeed(b []byte) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (fd *File) unmarshalSeedOptions(b []byte) {
|
||||||
|
for b := b; len(b) > 0; {
|
||||||
|
num, typ, n := protowire.ConsumeTag(b)
|
||||||
|
b = b[n:]
|
||||||
|
switch typ {
|
||||||
|
case protowire.BytesType:
|
||||||
|
v, m := protowire.ConsumeBytes(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.FileOptions_Features_field_number:
|
||||||
|
if fd.Syntax() != protoreflect.Editions {
|
||||||
|
panic(fmt.Sprintf("invalid descriptor: using edition features in a proto with syntax %s", fd.Syntax()))
|
||||||
|
}
|
||||||
|
fd.L1.EditionFeatures = unmarshalFeatureSet(v, fd.L1.EditionFeatures)
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
m := protowire.ConsumeFieldValue(num, typ, b)
|
||||||
|
b = b[m:]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
|
func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protoreflect.Descriptor, i int) {
|
||||||
ed.L0.ParentFile = pf
|
ed.L0.ParentFile = pf
|
||||||
ed.L0.Parent = pd
|
ed.L0.Parent = pd
|
||||||
|
@ -275,6 +319,7 @@ func (md *Message) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protor
|
||||||
md.L0.ParentFile = pf
|
md.L0.ParentFile = pf
|
||||||
md.L0.Parent = pd
|
md.L0.Parent = pd
|
||||||
md.L0.Index = i
|
md.L0.Index = i
|
||||||
|
md.L1.EditionFeatures = featuresFromParentDesc(md.Parent())
|
||||||
|
|
||||||
var prevField protoreflect.FieldNumber
|
var prevField protoreflect.FieldNumber
|
||||||
var numEnums, numMessages, numExtensions int
|
var numEnums, numMessages, numExtensions int
|
||||||
|
@ -380,6 +425,13 @@ func (md *Message) unmarshalSeedOptions(b []byte) {
|
||||||
case genid.MessageOptions_MessageSetWireFormat_field_number:
|
case genid.MessageOptions_MessageSetWireFormat_field_number:
|
||||||
md.L1.IsMessageSet = protowire.DecodeBool(v)
|
md.L1.IsMessageSet = protowire.DecodeBool(v)
|
||||||
}
|
}
|
||||||
|
case protowire.BytesType:
|
||||||
|
v, m := protowire.ConsumeBytes(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.MessageOptions_Features_field_number:
|
||||||
|
md.L1.EditionFeatures = unmarshalFeatureSet(v, md.L1.EditionFeatures)
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
m := protowire.ConsumeFieldValue(num, typ, b)
|
m := protowire.ConsumeFieldValue(num, typ, b)
|
||||||
b = b[m:]
|
b = b[m:]
|
||||||
|
|
|
@ -414,6 +414,7 @@ func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoref
|
||||||
fd.L0.ParentFile = pf
|
fd.L0.ParentFile = pf
|
||||||
fd.L0.Parent = pd
|
fd.L0.Parent = pd
|
||||||
fd.L0.Index = i
|
fd.L0.Index = i
|
||||||
|
fd.L1.EditionFeatures = featuresFromParentDesc(fd.Parent())
|
||||||
|
|
||||||
var rawTypeName []byte
|
var rawTypeName []byte
|
||||||
var rawOptions []byte
|
var rawOptions []byte
|
||||||
|
@ -465,6 +466,12 @@ func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoref
|
||||||
b = b[m:]
|
b = b[m:]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if fd.Syntax() == protoreflect.Editions && fd.L1.Kind == protoreflect.MessageKind && fd.L1.EditionFeatures.IsDelimitedEncoded {
|
||||||
|
fd.L1.Kind = protoreflect.GroupKind
|
||||||
|
}
|
||||||
|
if fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsLegacyRequired {
|
||||||
|
fd.L1.Cardinality = protoreflect.Required
|
||||||
|
}
|
||||||
if rawTypeName != nil {
|
if rawTypeName != nil {
|
||||||
name := makeFullName(sb, rawTypeName)
|
name := makeFullName(sb, rawTypeName)
|
||||||
switch fd.L1.Kind {
|
switch fd.L1.Kind {
|
||||||
|
@ -497,6 +504,13 @@ func (fd *Field) unmarshalOptions(b []byte) {
|
||||||
fd.L1.HasEnforceUTF8 = true
|
fd.L1.HasEnforceUTF8 = true
|
||||||
fd.L1.EnforceUTF8 = protowire.DecodeBool(v)
|
fd.L1.EnforceUTF8 = protowire.DecodeBool(v)
|
||||||
}
|
}
|
||||||
|
case protowire.BytesType:
|
||||||
|
v, m := protowire.ConsumeBytes(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.FieldOptions_Features_field_number:
|
||||||
|
fd.L1.EditionFeatures = unmarshalFeatureSet(v, fd.L1.EditionFeatures)
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
m := protowire.ConsumeFieldValue(num, typ, b)
|
m := protowire.ConsumeFieldValue(num, typ, b)
|
||||||
b = b[m:]
|
b = b[m:]
|
||||||
|
@ -534,6 +548,7 @@ func (od *Oneof) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoref
|
||||||
func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
|
func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
|
||||||
var rawTypeName []byte
|
var rawTypeName []byte
|
||||||
var rawOptions []byte
|
var rawOptions []byte
|
||||||
|
xd.L1.EditionFeatures = featuresFromParentDesc(xd.L1.Extendee)
|
||||||
xd.L2 = new(ExtensionL2)
|
xd.L2 = new(ExtensionL2)
|
||||||
for len(b) > 0 {
|
for len(b) > 0 {
|
||||||
num, typ, n := protowire.ConsumeTag(b)
|
num, typ, n := protowire.ConsumeTag(b)
|
||||||
|
@ -565,6 +580,12 @@ func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
|
||||||
b = b[m:]
|
b = b[m:]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if xd.Syntax() == protoreflect.Editions && xd.L1.Kind == protoreflect.MessageKind && xd.L1.EditionFeatures.IsDelimitedEncoded {
|
||||||
|
xd.L1.Kind = protoreflect.GroupKind
|
||||||
|
}
|
||||||
|
if xd.Syntax() == protoreflect.Editions && xd.L1.EditionFeatures.IsLegacyRequired {
|
||||||
|
xd.L1.Cardinality = protoreflect.Required
|
||||||
|
}
|
||||||
if rawTypeName != nil {
|
if rawTypeName != nil {
|
||||||
name := makeFullName(sb, rawTypeName)
|
name := makeFullName(sb, rawTypeName)
|
||||||
switch xd.L1.Kind {
|
switch xd.L1.Kind {
|
||||||
|
@ -589,6 +610,13 @@ func (xd *Extension) unmarshalOptions(b []byte) {
|
||||||
case genid.FieldOptions_Packed_field_number:
|
case genid.FieldOptions_Packed_field_number:
|
||||||
xd.L2.IsPacked = protowire.DecodeBool(v)
|
xd.L2.IsPacked = protowire.DecodeBool(v)
|
||||||
}
|
}
|
||||||
|
case protowire.BytesType:
|
||||||
|
v, m := protowire.ConsumeBytes(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.FieldOptions_Features_field_number:
|
||||||
|
xd.L1.EditionFeatures = unmarshalFeatureSet(v, xd.L1.EditionFeatures)
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
m := protowire.ConsumeFieldValue(num, typ, b)
|
m := protowire.ConsumeFieldValue(num, typ, b)
|
||||||
b = b[m:]
|
b = b[m:]
|
||||||
|
|
|
@ -0,0 +1,142 @@
|
||||||
|
// Copyright 2024 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package filedesc
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/encoding/protowire"
|
||||||
|
"google.golang.org/protobuf/internal/editiondefaults"
|
||||||
|
"google.golang.org/protobuf/internal/genid"
|
||||||
|
"google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
)
|
||||||
|
|
||||||
|
var defaultsCache = make(map[Edition]EditionFeatures)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
unmarshalEditionDefaults(editiondefaults.Defaults)
|
||||||
|
}
|
||||||
|
|
||||||
|
func unmarshalGoFeature(b []byte, parent EditionFeatures) EditionFeatures {
|
||||||
|
for len(b) > 0 {
|
||||||
|
num, _, n := protowire.ConsumeTag(b)
|
||||||
|
b = b[n:]
|
||||||
|
switch num {
|
||||||
|
case genid.GoFeatures_LegacyUnmarshalJsonEnum_field_number:
|
||||||
|
v, m := protowire.ConsumeVarint(b)
|
||||||
|
b = b[m:]
|
||||||
|
parent.GenerateLegacyUnmarshalJSON = protowire.DecodeBool(v)
|
||||||
|
default:
|
||||||
|
panic(fmt.Sprintf("unkown field number %d while unmarshalling GoFeatures", num))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return parent
|
||||||
|
}
|
||||||
|
|
||||||
|
func unmarshalFeatureSet(b []byte, parent EditionFeatures) EditionFeatures {
|
||||||
|
for len(b) > 0 {
|
||||||
|
num, typ, n := protowire.ConsumeTag(b)
|
||||||
|
b = b[n:]
|
||||||
|
switch typ {
|
||||||
|
case protowire.VarintType:
|
||||||
|
v, m := protowire.ConsumeVarint(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.FeatureSet_FieldPresence_field_number:
|
||||||
|
parent.IsFieldPresence = v == genid.FeatureSet_EXPLICIT_enum_value || v == genid.FeatureSet_LEGACY_REQUIRED_enum_value
|
||||||
|
parent.IsLegacyRequired = v == genid.FeatureSet_LEGACY_REQUIRED_enum_value
|
||||||
|
case genid.FeatureSet_EnumType_field_number:
|
||||||
|
parent.IsOpenEnum = v == genid.FeatureSet_OPEN_enum_value
|
||||||
|
case genid.FeatureSet_RepeatedFieldEncoding_field_number:
|
||||||
|
parent.IsPacked = v == genid.FeatureSet_PACKED_enum_value
|
||||||
|
case genid.FeatureSet_Utf8Validation_field_number:
|
||||||
|
parent.IsUTF8Validated = v == genid.FeatureSet_VERIFY_enum_value
|
||||||
|
case genid.FeatureSet_MessageEncoding_field_number:
|
||||||
|
parent.IsDelimitedEncoded = v == genid.FeatureSet_DELIMITED_enum_value
|
||||||
|
case genid.FeatureSet_JsonFormat_field_number:
|
||||||
|
parent.IsJSONCompliant = v == genid.FeatureSet_ALLOW_enum_value
|
||||||
|
default:
|
||||||
|
panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
|
||||||
|
}
|
||||||
|
case protowire.BytesType:
|
||||||
|
v, m := protowire.ConsumeBytes(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.GoFeatures_LegacyUnmarshalJsonEnum_field_number:
|
||||||
|
parent = unmarshalGoFeature(v, parent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent
|
||||||
|
}
|
||||||
|
|
||||||
|
func featuresFromParentDesc(parentDesc protoreflect.Descriptor) EditionFeatures {
|
||||||
|
var parentFS EditionFeatures
|
||||||
|
switch p := parentDesc.(type) {
|
||||||
|
case *File:
|
||||||
|
parentFS = p.L1.EditionFeatures
|
||||||
|
case *Message:
|
||||||
|
parentFS = p.L1.EditionFeatures
|
||||||
|
default:
|
||||||
|
panic(fmt.Sprintf("unknown parent type %T", parentDesc))
|
||||||
|
}
|
||||||
|
return parentFS
|
||||||
|
}
|
||||||
|
|
||||||
|
func unmarshalEditionDefault(b []byte) {
|
||||||
|
var ed Edition
|
||||||
|
var fs EditionFeatures
|
||||||
|
for len(b) > 0 {
|
||||||
|
num, typ, n := protowire.ConsumeTag(b)
|
||||||
|
b = b[n:]
|
||||||
|
switch typ {
|
||||||
|
case protowire.VarintType:
|
||||||
|
v, m := protowire.ConsumeVarint(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number:
|
||||||
|
ed = Edition(v)
|
||||||
|
}
|
||||||
|
case protowire.BytesType:
|
||||||
|
v, m := protowire.ConsumeBytes(b)
|
||||||
|
b = b[m:]
|
||||||
|
switch num {
|
||||||
|
case genid.FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number:
|
||||||
|
fs = unmarshalFeatureSet(v, fs)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
defaultsCache[ed] = fs
|
||||||
|
}
|
||||||
|
|
||||||
|
func unmarshalEditionDefaults(b []byte) {
|
||||||
|
for len(b) > 0 {
|
||||||
|
num, _, n := protowire.ConsumeTag(b)
|
||||||
|
b = b[n:]
|
||||||
|
switch num {
|
||||||
|
case genid.FeatureSetDefaults_Defaults_field_number:
|
||||||
|
def, m := protowire.ConsumeBytes(b)
|
||||||
|
b = b[m:]
|
||||||
|
unmarshalEditionDefault(def)
|
||||||
|
case genid.FeatureSetDefaults_MinimumEdition_field_number,
|
||||||
|
genid.FeatureSetDefaults_MaximumEdition_field_number:
|
||||||
|
// We don't care about the minimum and maximum editions. If the
|
||||||
|
// edition we are looking for later on is not in the cache we know
|
||||||
|
// it is outside of the range between minimum and maximum edition.
|
||||||
|
_, m := protowire.ConsumeVarint(b)
|
||||||
|
b = b[m:]
|
||||||
|
default:
|
||||||
|
panic(fmt.Sprintf("unkown field number %d while unmarshalling EditionDefault", num))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func getFeaturesFor(ed Edition) EditionFeatures {
|
||||||
|
if def, ok := defaultsCache[ed]; ok {
|
||||||
|
return def
|
||||||
|
}
|
||||||
|
panic(fmt.Sprintf("unsupported edition: %v", ed))
|
||||||
|
}
|
|
@ -18,6 +18,21 @@ const (
|
||||||
Edition_enum_name = "Edition"
|
Edition_enum_name = "Edition"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.Edition.
|
||||||
|
const (
|
||||||
|
Edition_EDITION_UNKNOWN_enum_value = 0
|
||||||
|
Edition_EDITION_PROTO2_enum_value = 998
|
||||||
|
Edition_EDITION_PROTO3_enum_value = 999
|
||||||
|
Edition_EDITION_2023_enum_value = 1000
|
||||||
|
Edition_EDITION_2024_enum_value = 1001
|
||||||
|
Edition_EDITION_1_TEST_ONLY_enum_value = 1
|
||||||
|
Edition_EDITION_2_TEST_ONLY_enum_value = 2
|
||||||
|
Edition_EDITION_99997_TEST_ONLY_enum_value = 99997
|
||||||
|
Edition_EDITION_99998_TEST_ONLY_enum_value = 99998
|
||||||
|
Edition_EDITION_99999_TEST_ONLY_enum_value = 99999
|
||||||
|
Edition_EDITION_MAX_enum_value = 2147483647
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.FileDescriptorSet.
|
// Names for google.protobuf.FileDescriptorSet.
|
||||||
const (
|
const (
|
||||||
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
|
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
|
||||||
|
@ -213,6 +228,12 @@ const (
|
||||||
ExtensionRangeOptions_VerificationState_enum_name = "VerificationState"
|
ExtensionRangeOptions_VerificationState_enum_name = "VerificationState"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.ExtensionRangeOptions.VerificationState.
|
||||||
|
const (
|
||||||
|
ExtensionRangeOptions_DECLARATION_enum_value = 0
|
||||||
|
ExtensionRangeOptions_UNVERIFIED_enum_value = 1
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.ExtensionRangeOptions.Declaration.
|
// Names for google.protobuf.ExtensionRangeOptions.Declaration.
|
||||||
const (
|
const (
|
||||||
ExtensionRangeOptions_Declaration_message_name protoreflect.Name = "Declaration"
|
ExtensionRangeOptions_Declaration_message_name protoreflect.Name = "Declaration"
|
||||||
|
@ -297,12 +318,41 @@ const (
|
||||||
FieldDescriptorProto_Type_enum_name = "Type"
|
FieldDescriptorProto_Type_enum_name = "Type"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FieldDescriptorProto.Type.
|
||||||
|
const (
|
||||||
|
FieldDescriptorProto_TYPE_DOUBLE_enum_value = 1
|
||||||
|
FieldDescriptorProto_TYPE_FLOAT_enum_value = 2
|
||||||
|
FieldDescriptorProto_TYPE_INT64_enum_value = 3
|
||||||
|
FieldDescriptorProto_TYPE_UINT64_enum_value = 4
|
||||||
|
FieldDescriptorProto_TYPE_INT32_enum_value = 5
|
||||||
|
FieldDescriptorProto_TYPE_FIXED64_enum_value = 6
|
||||||
|
FieldDescriptorProto_TYPE_FIXED32_enum_value = 7
|
||||||
|
FieldDescriptorProto_TYPE_BOOL_enum_value = 8
|
||||||
|
FieldDescriptorProto_TYPE_STRING_enum_value = 9
|
||||||
|
FieldDescriptorProto_TYPE_GROUP_enum_value = 10
|
||||||
|
FieldDescriptorProto_TYPE_MESSAGE_enum_value = 11
|
||||||
|
FieldDescriptorProto_TYPE_BYTES_enum_value = 12
|
||||||
|
FieldDescriptorProto_TYPE_UINT32_enum_value = 13
|
||||||
|
FieldDescriptorProto_TYPE_ENUM_enum_value = 14
|
||||||
|
FieldDescriptorProto_TYPE_SFIXED32_enum_value = 15
|
||||||
|
FieldDescriptorProto_TYPE_SFIXED64_enum_value = 16
|
||||||
|
FieldDescriptorProto_TYPE_SINT32_enum_value = 17
|
||||||
|
FieldDescriptorProto_TYPE_SINT64_enum_value = 18
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FieldDescriptorProto.Label.
|
// Full and short names for google.protobuf.FieldDescriptorProto.Label.
|
||||||
const (
|
const (
|
||||||
FieldDescriptorProto_Label_enum_fullname = "google.protobuf.FieldDescriptorProto.Label"
|
FieldDescriptorProto_Label_enum_fullname = "google.protobuf.FieldDescriptorProto.Label"
|
||||||
FieldDescriptorProto_Label_enum_name = "Label"
|
FieldDescriptorProto_Label_enum_name = "Label"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FieldDescriptorProto.Label.
|
||||||
|
const (
|
||||||
|
FieldDescriptorProto_LABEL_OPTIONAL_enum_value = 1
|
||||||
|
FieldDescriptorProto_LABEL_REPEATED_enum_value = 3
|
||||||
|
FieldDescriptorProto_LABEL_REQUIRED_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.OneofDescriptorProto.
|
// Names for google.protobuf.OneofDescriptorProto.
|
||||||
const (
|
const (
|
||||||
OneofDescriptorProto_message_name protoreflect.Name = "OneofDescriptorProto"
|
OneofDescriptorProto_message_name protoreflect.Name = "OneofDescriptorProto"
|
||||||
|
@ -474,7 +524,6 @@ const (
|
||||||
FileOptions_CcGenericServices_field_name protoreflect.Name = "cc_generic_services"
|
FileOptions_CcGenericServices_field_name protoreflect.Name = "cc_generic_services"
|
||||||
FileOptions_JavaGenericServices_field_name protoreflect.Name = "java_generic_services"
|
FileOptions_JavaGenericServices_field_name protoreflect.Name = "java_generic_services"
|
||||||
FileOptions_PyGenericServices_field_name protoreflect.Name = "py_generic_services"
|
FileOptions_PyGenericServices_field_name protoreflect.Name = "py_generic_services"
|
||||||
FileOptions_PhpGenericServices_field_name protoreflect.Name = "php_generic_services"
|
|
||||||
FileOptions_Deprecated_field_name protoreflect.Name = "deprecated"
|
FileOptions_Deprecated_field_name protoreflect.Name = "deprecated"
|
||||||
FileOptions_CcEnableArenas_field_name protoreflect.Name = "cc_enable_arenas"
|
FileOptions_CcEnableArenas_field_name protoreflect.Name = "cc_enable_arenas"
|
||||||
FileOptions_ObjcClassPrefix_field_name protoreflect.Name = "objc_class_prefix"
|
FileOptions_ObjcClassPrefix_field_name protoreflect.Name = "objc_class_prefix"
|
||||||
|
@ -497,7 +546,6 @@ const (
|
||||||
FileOptions_CcGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_generic_services"
|
FileOptions_CcGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_generic_services"
|
||||||
FileOptions_JavaGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generic_services"
|
FileOptions_JavaGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generic_services"
|
||||||
FileOptions_PyGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.py_generic_services"
|
FileOptions_PyGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.py_generic_services"
|
||||||
FileOptions_PhpGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_generic_services"
|
|
||||||
FileOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.deprecated"
|
FileOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.deprecated"
|
||||||
FileOptions_CcEnableArenas_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_enable_arenas"
|
FileOptions_CcEnableArenas_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_enable_arenas"
|
||||||
FileOptions_ObjcClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.objc_class_prefix"
|
FileOptions_ObjcClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.objc_class_prefix"
|
||||||
|
@ -523,7 +571,6 @@ const (
|
||||||
FileOptions_CcGenericServices_field_number protoreflect.FieldNumber = 16
|
FileOptions_CcGenericServices_field_number protoreflect.FieldNumber = 16
|
||||||
FileOptions_JavaGenericServices_field_number protoreflect.FieldNumber = 17
|
FileOptions_JavaGenericServices_field_number protoreflect.FieldNumber = 17
|
||||||
FileOptions_PyGenericServices_field_number protoreflect.FieldNumber = 18
|
FileOptions_PyGenericServices_field_number protoreflect.FieldNumber = 18
|
||||||
FileOptions_PhpGenericServices_field_number protoreflect.FieldNumber = 42
|
|
||||||
FileOptions_Deprecated_field_number protoreflect.FieldNumber = 23
|
FileOptions_Deprecated_field_number protoreflect.FieldNumber = 23
|
||||||
FileOptions_CcEnableArenas_field_number protoreflect.FieldNumber = 31
|
FileOptions_CcEnableArenas_field_number protoreflect.FieldNumber = 31
|
||||||
FileOptions_ObjcClassPrefix_field_number protoreflect.FieldNumber = 36
|
FileOptions_ObjcClassPrefix_field_number protoreflect.FieldNumber = 36
|
||||||
|
@ -543,6 +590,13 @@ const (
|
||||||
FileOptions_OptimizeMode_enum_name = "OptimizeMode"
|
FileOptions_OptimizeMode_enum_name = "OptimizeMode"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FileOptions.OptimizeMode.
|
||||||
|
const (
|
||||||
|
FileOptions_SPEED_enum_value = 1
|
||||||
|
FileOptions_CODE_SIZE_enum_value = 2
|
||||||
|
FileOptions_LITE_RUNTIME_enum_value = 3
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.MessageOptions.
|
// Names for google.protobuf.MessageOptions.
|
||||||
const (
|
const (
|
||||||
MessageOptions_message_name protoreflect.Name = "MessageOptions"
|
MessageOptions_message_name protoreflect.Name = "MessageOptions"
|
||||||
|
@ -639,24 +693,59 @@ const (
|
||||||
FieldOptions_CType_enum_name = "CType"
|
FieldOptions_CType_enum_name = "CType"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FieldOptions.CType.
|
||||||
|
const (
|
||||||
|
FieldOptions_STRING_enum_value = 0
|
||||||
|
FieldOptions_CORD_enum_value = 1
|
||||||
|
FieldOptions_STRING_PIECE_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FieldOptions.JSType.
|
// Full and short names for google.protobuf.FieldOptions.JSType.
|
||||||
const (
|
const (
|
||||||
FieldOptions_JSType_enum_fullname = "google.protobuf.FieldOptions.JSType"
|
FieldOptions_JSType_enum_fullname = "google.protobuf.FieldOptions.JSType"
|
||||||
FieldOptions_JSType_enum_name = "JSType"
|
FieldOptions_JSType_enum_name = "JSType"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FieldOptions.JSType.
|
||||||
|
const (
|
||||||
|
FieldOptions_JS_NORMAL_enum_value = 0
|
||||||
|
FieldOptions_JS_STRING_enum_value = 1
|
||||||
|
FieldOptions_JS_NUMBER_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FieldOptions.OptionRetention.
|
// Full and short names for google.protobuf.FieldOptions.OptionRetention.
|
||||||
const (
|
const (
|
||||||
FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention"
|
FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention"
|
||||||
FieldOptions_OptionRetention_enum_name = "OptionRetention"
|
FieldOptions_OptionRetention_enum_name = "OptionRetention"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FieldOptions.OptionRetention.
|
||||||
|
const (
|
||||||
|
FieldOptions_RETENTION_UNKNOWN_enum_value = 0
|
||||||
|
FieldOptions_RETENTION_RUNTIME_enum_value = 1
|
||||||
|
FieldOptions_RETENTION_SOURCE_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FieldOptions.OptionTargetType.
|
// Full and short names for google.protobuf.FieldOptions.OptionTargetType.
|
||||||
const (
|
const (
|
||||||
FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType"
|
FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType"
|
||||||
FieldOptions_OptionTargetType_enum_name = "OptionTargetType"
|
FieldOptions_OptionTargetType_enum_name = "OptionTargetType"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FieldOptions.OptionTargetType.
|
||||||
|
const (
|
||||||
|
FieldOptions_TARGET_TYPE_UNKNOWN_enum_value = 0
|
||||||
|
FieldOptions_TARGET_TYPE_FILE_enum_value = 1
|
||||||
|
FieldOptions_TARGET_TYPE_EXTENSION_RANGE_enum_value = 2
|
||||||
|
FieldOptions_TARGET_TYPE_MESSAGE_enum_value = 3
|
||||||
|
FieldOptions_TARGET_TYPE_FIELD_enum_value = 4
|
||||||
|
FieldOptions_TARGET_TYPE_ONEOF_enum_value = 5
|
||||||
|
FieldOptions_TARGET_TYPE_ENUM_enum_value = 6
|
||||||
|
FieldOptions_TARGET_TYPE_ENUM_ENTRY_enum_value = 7
|
||||||
|
FieldOptions_TARGET_TYPE_SERVICE_enum_value = 8
|
||||||
|
FieldOptions_TARGET_TYPE_METHOD_enum_value = 9
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.FieldOptions.EditionDefault.
|
// Names for google.protobuf.FieldOptions.EditionDefault.
|
||||||
const (
|
const (
|
||||||
FieldOptions_EditionDefault_message_name protoreflect.Name = "EditionDefault"
|
FieldOptions_EditionDefault_message_name protoreflect.Name = "EditionDefault"
|
||||||
|
@ -813,6 +902,13 @@ const (
|
||||||
MethodOptions_IdempotencyLevel_enum_name = "IdempotencyLevel"
|
MethodOptions_IdempotencyLevel_enum_name = "IdempotencyLevel"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.MethodOptions.IdempotencyLevel.
|
||||||
|
const (
|
||||||
|
MethodOptions_IDEMPOTENCY_UNKNOWN_enum_value = 0
|
||||||
|
MethodOptions_NO_SIDE_EFFECTS_enum_value = 1
|
||||||
|
MethodOptions_IDEMPOTENT_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.UninterpretedOption.
|
// Names for google.protobuf.UninterpretedOption.
|
||||||
const (
|
const (
|
||||||
UninterpretedOption_message_name protoreflect.Name = "UninterpretedOption"
|
UninterpretedOption_message_name protoreflect.Name = "UninterpretedOption"
|
||||||
|
@ -909,36 +1005,79 @@ const (
|
||||||
FeatureSet_FieldPresence_enum_name = "FieldPresence"
|
FeatureSet_FieldPresence_enum_name = "FieldPresence"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.FieldPresence.
|
||||||
|
const (
|
||||||
|
FeatureSet_FIELD_PRESENCE_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_EXPLICIT_enum_value = 1
|
||||||
|
FeatureSet_IMPLICIT_enum_value = 2
|
||||||
|
FeatureSet_LEGACY_REQUIRED_enum_value = 3
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FeatureSet.EnumType.
|
// Full and short names for google.protobuf.FeatureSet.EnumType.
|
||||||
const (
|
const (
|
||||||
FeatureSet_EnumType_enum_fullname = "google.protobuf.FeatureSet.EnumType"
|
FeatureSet_EnumType_enum_fullname = "google.protobuf.FeatureSet.EnumType"
|
||||||
FeatureSet_EnumType_enum_name = "EnumType"
|
FeatureSet_EnumType_enum_name = "EnumType"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.EnumType.
|
||||||
|
const (
|
||||||
|
FeatureSet_ENUM_TYPE_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_OPEN_enum_value = 1
|
||||||
|
FeatureSet_CLOSED_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FeatureSet.RepeatedFieldEncoding.
|
// Full and short names for google.protobuf.FeatureSet.RepeatedFieldEncoding.
|
||||||
const (
|
const (
|
||||||
FeatureSet_RepeatedFieldEncoding_enum_fullname = "google.protobuf.FeatureSet.RepeatedFieldEncoding"
|
FeatureSet_RepeatedFieldEncoding_enum_fullname = "google.protobuf.FeatureSet.RepeatedFieldEncoding"
|
||||||
FeatureSet_RepeatedFieldEncoding_enum_name = "RepeatedFieldEncoding"
|
FeatureSet_RepeatedFieldEncoding_enum_name = "RepeatedFieldEncoding"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.RepeatedFieldEncoding.
|
||||||
|
const (
|
||||||
|
FeatureSet_REPEATED_FIELD_ENCODING_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_PACKED_enum_value = 1
|
||||||
|
FeatureSet_EXPANDED_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FeatureSet.Utf8Validation.
|
// Full and short names for google.protobuf.FeatureSet.Utf8Validation.
|
||||||
const (
|
const (
|
||||||
FeatureSet_Utf8Validation_enum_fullname = "google.protobuf.FeatureSet.Utf8Validation"
|
FeatureSet_Utf8Validation_enum_fullname = "google.protobuf.FeatureSet.Utf8Validation"
|
||||||
FeatureSet_Utf8Validation_enum_name = "Utf8Validation"
|
FeatureSet_Utf8Validation_enum_name = "Utf8Validation"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.Utf8Validation.
|
||||||
|
const (
|
||||||
|
FeatureSet_UTF8_VALIDATION_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_VERIFY_enum_value = 2
|
||||||
|
FeatureSet_NONE_enum_value = 3
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FeatureSet.MessageEncoding.
|
// Full and short names for google.protobuf.FeatureSet.MessageEncoding.
|
||||||
const (
|
const (
|
||||||
FeatureSet_MessageEncoding_enum_fullname = "google.protobuf.FeatureSet.MessageEncoding"
|
FeatureSet_MessageEncoding_enum_fullname = "google.protobuf.FeatureSet.MessageEncoding"
|
||||||
FeatureSet_MessageEncoding_enum_name = "MessageEncoding"
|
FeatureSet_MessageEncoding_enum_name = "MessageEncoding"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.MessageEncoding.
|
||||||
|
const (
|
||||||
|
FeatureSet_MESSAGE_ENCODING_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_LENGTH_PREFIXED_enum_value = 1
|
||||||
|
FeatureSet_DELIMITED_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FeatureSet.JsonFormat.
|
// Full and short names for google.protobuf.FeatureSet.JsonFormat.
|
||||||
const (
|
const (
|
||||||
FeatureSet_JsonFormat_enum_fullname = "google.protobuf.FeatureSet.JsonFormat"
|
FeatureSet_JsonFormat_enum_fullname = "google.protobuf.FeatureSet.JsonFormat"
|
||||||
FeatureSet_JsonFormat_enum_name = "JsonFormat"
|
FeatureSet_JsonFormat_enum_name = "JsonFormat"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.JsonFormat.
|
||||||
|
const (
|
||||||
|
FeatureSet_JSON_FORMAT_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_ALLOW_enum_value = 1
|
||||||
|
FeatureSet_LEGACY_BEST_EFFORT_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.FeatureSetDefaults.
|
// Names for google.protobuf.FeatureSetDefaults.
|
||||||
const (
|
const (
|
||||||
FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
|
FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
|
||||||
|
@ -1085,3 +1224,10 @@ const (
|
||||||
GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic"
|
GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic"
|
||||||
GeneratedCodeInfo_Annotation_Semantic_enum_name = "Semantic"
|
GeneratedCodeInfo_Annotation_Semantic_enum_name = "Semantic"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.GeneratedCodeInfo.Annotation.Semantic.
|
||||||
|
const (
|
||||||
|
GeneratedCodeInfo_Annotation_NONE_enum_value = 0
|
||||||
|
GeneratedCodeInfo_Annotation_SET_enum_value = 1
|
||||||
|
GeneratedCodeInfo_Annotation_ALIAS_enum_value = 2
|
||||||
|
)
|
||||||
|
|
31
vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go
generated
vendored
Normal file
31
vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright 2019 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// Code generated by generate-protos. DO NOT EDIT.
|
||||||
|
|
||||||
|
package genid
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
)
|
||||||
|
|
||||||
|
const File_reflect_protodesc_proto_go_features_proto = "reflect/protodesc/proto/go_features.proto"
|
||||||
|
|
||||||
|
// Names for google.protobuf.GoFeatures.
|
||||||
|
const (
|
||||||
|
GoFeatures_message_name protoreflect.Name = "GoFeatures"
|
||||||
|
GoFeatures_message_fullname protoreflect.FullName = "google.protobuf.GoFeatures"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Field names for google.protobuf.GoFeatures.
|
||||||
|
const (
|
||||||
|
GoFeatures_LegacyUnmarshalJsonEnum_field_name protoreflect.Name = "legacy_unmarshal_json_enum"
|
||||||
|
|
||||||
|
GoFeatures_LegacyUnmarshalJsonEnum_field_fullname protoreflect.FullName = "google.protobuf.GoFeatures.legacy_unmarshal_json_enum"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Field numbers for google.protobuf.GoFeatures.
|
||||||
|
const (
|
||||||
|
GoFeatures_LegacyUnmarshalJsonEnum_field_number protoreflect.FieldNumber = 1
|
||||||
|
)
|
|
@ -18,6 +18,11 @@ const (
|
||||||
NullValue_enum_name = "NullValue"
|
NullValue_enum_name = "NullValue"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.NullValue.
|
||||||
|
const (
|
||||||
|
NullValue_NULL_VALUE_enum_value = 0
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.Struct.
|
// Names for google.protobuf.Struct.
|
||||||
const (
|
const (
|
||||||
Struct_message_name protoreflect.Name = "Struct"
|
Struct_message_name protoreflect.Name = "Struct"
|
||||||
|
|
|
@ -18,6 +18,13 @@ const (
|
||||||
Syntax_enum_name = "Syntax"
|
Syntax_enum_name = "Syntax"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.Syntax.
|
||||||
|
const (
|
||||||
|
Syntax_SYNTAX_PROTO2_enum_value = 0
|
||||||
|
Syntax_SYNTAX_PROTO3_enum_value = 1
|
||||||
|
Syntax_SYNTAX_EDITIONS_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.Type.
|
// Names for google.protobuf.Type.
|
||||||
const (
|
const (
|
||||||
Type_message_name protoreflect.Name = "Type"
|
Type_message_name protoreflect.Name = "Type"
|
||||||
|
@ -105,12 +112,43 @@ const (
|
||||||
Field_Kind_enum_name = "Kind"
|
Field_Kind_enum_name = "Kind"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.Field.Kind.
|
||||||
|
const (
|
||||||
|
Field_TYPE_UNKNOWN_enum_value = 0
|
||||||
|
Field_TYPE_DOUBLE_enum_value = 1
|
||||||
|
Field_TYPE_FLOAT_enum_value = 2
|
||||||
|
Field_TYPE_INT64_enum_value = 3
|
||||||
|
Field_TYPE_UINT64_enum_value = 4
|
||||||
|
Field_TYPE_INT32_enum_value = 5
|
||||||
|
Field_TYPE_FIXED64_enum_value = 6
|
||||||
|
Field_TYPE_FIXED32_enum_value = 7
|
||||||
|
Field_TYPE_BOOL_enum_value = 8
|
||||||
|
Field_TYPE_STRING_enum_value = 9
|
||||||
|
Field_TYPE_GROUP_enum_value = 10
|
||||||
|
Field_TYPE_MESSAGE_enum_value = 11
|
||||||
|
Field_TYPE_BYTES_enum_value = 12
|
||||||
|
Field_TYPE_UINT32_enum_value = 13
|
||||||
|
Field_TYPE_ENUM_enum_value = 14
|
||||||
|
Field_TYPE_SFIXED32_enum_value = 15
|
||||||
|
Field_TYPE_SFIXED64_enum_value = 16
|
||||||
|
Field_TYPE_SINT32_enum_value = 17
|
||||||
|
Field_TYPE_SINT64_enum_value = 18
|
||||||
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.Field.Cardinality.
|
// Full and short names for google.protobuf.Field.Cardinality.
|
||||||
const (
|
const (
|
||||||
Field_Cardinality_enum_fullname = "google.protobuf.Field.Cardinality"
|
Field_Cardinality_enum_fullname = "google.protobuf.Field.Cardinality"
|
||||||
Field_Cardinality_enum_name = "Cardinality"
|
Field_Cardinality_enum_name = "Cardinality"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.Field.Cardinality.
|
||||||
|
const (
|
||||||
|
Field_CARDINALITY_UNKNOWN_enum_value = 0
|
||||||
|
Field_CARDINALITY_OPTIONAL_enum_value = 1
|
||||||
|
Field_CARDINALITY_REQUIRED_enum_value = 2
|
||||||
|
Field_CARDINALITY_REPEATED_enum_value = 3
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.Enum.
|
// Names for google.protobuf.Enum.
|
||||||
const (
|
const (
|
||||||
Enum_message_name protoreflect.Name = "Enum"
|
Enum_message_name protoreflect.Name = "Enum"
|
||||||
|
|
|
@ -21,26 +21,18 @@ type extensionFieldInfo struct {
|
||||||
validation validationInfo
|
validation validationInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
var legacyExtensionFieldInfoCache sync.Map // map[protoreflect.ExtensionType]*extensionFieldInfo
|
|
||||||
|
|
||||||
func getExtensionFieldInfo(xt protoreflect.ExtensionType) *extensionFieldInfo {
|
func getExtensionFieldInfo(xt protoreflect.ExtensionType) *extensionFieldInfo {
|
||||||
if xi, ok := xt.(*ExtensionInfo); ok {
|
if xi, ok := xt.(*ExtensionInfo); ok {
|
||||||
xi.lazyInit()
|
xi.lazyInit()
|
||||||
return xi.info
|
return xi.info
|
||||||
}
|
}
|
||||||
return legacyLoadExtensionFieldInfo(xt)
|
// Ideally we'd cache the resulting *extensionFieldInfo so we don't have to
|
||||||
}
|
// recompute this metadata repeatedly. But without support for something like
|
||||||
|
// weak references, such a cache would pin temporary values (like dynamic
|
||||||
// legacyLoadExtensionFieldInfo dynamically loads a *ExtensionInfo for xt.
|
// extension types, constructed for the duration of a user request) to the
|
||||||
func legacyLoadExtensionFieldInfo(xt protoreflect.ExtensionType) *extensionFieldInfo {
|
// heap forever, causing memory usage of the cache to grow unbounded.
|
||||||
if xi, ok := legacyExtensionFieldInfoCache.Load(xt); ok {
|
// See discussion in https://github.com/golang/protobuf/issues/1521.
|
||||||
return xi.(*extensionFieldInfo)
|
return makeExtensionFieldInfo(xt.TypeDescriptor())
|
||||||
}
|
|
||||||
e := makeExtensionFieldInfo(xt.TypeDescriptor())
|
|
||||||
if e, ok := legacyMessageTypeCache.LoadOrStore(xt, e); ok {
|
|
||||||
return e.(*extensionFieldInfo)
|
|
||||||
}
|
|
||||||
return e
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func makeExtensionFieldInfo(xd protoreflect.ExtensionDescriptor) *extensionFieldInfo {
|
func makeExtensionFieldInfo(xd protoreflect.ExtensionDescriptor) *extensionFieldInfo {
|
||||||
|
|
|
@ -197,7 +197,7 @@ func fieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type) (*MessageInfo,
|
||||||
return getMessageInfo(ft), makeMessageFieldCoder(fd, ft)
|
return getMessageInfo(ft), makeMessageFieldCoder(fd, ft)
|
||||||
case fd.Kind() == protoreflect.GroupKind:
|
case fd.Kind() == protoreflect.GroupKind:
|
||||||
return getMessageInfo(ft), makeGroupFieldCoder(fd, ft)
|
return getMessageInfo(ft), makeGroupFieldCoder(fd, ft)
|
||||||
case fd.Syntax() == protoreflect.Proto3 && fd.ContainingOneof() == nil:
|
case !fd.HasPresence() && fd.ContainingOneof() == nil:
|
||||||
// Populated oneof fields always encode even if set to the zero value,
|
// Populated oneof fields always encode even if set to the zero value,
|
||||||
// which normally are not encoded in proto3.
|
// which normally are not encoded in proto3.
|
||||||
switch fd.Kind() {
|
switch fd.Kind() {
|
||||||
|
|
|
@ -538,6 +538,6 @@ func isZero(v reflect.Value) bool {
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
default:
|
default:
|
||||||
panic(&reflect.ValueError{"reflect.Value.IsZero", v.Kind()})
|
panic(&reflect.ValueError{Method: "reflect.Value.IsZero", Kind: v.Kind()})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ import (
|
||||||
|
|
||||||
// EnforceUTF8 reports whether to enforce strict UTF-8 validation.
|
// EnforceUTF8 reports whether to enforce strict UTF-8 validation.
|
||||||
func EnforceUTF8(fd protoreflect.FieldDescriptor) bool {
|
func EnforceUTF8(fd protoreflect.FieldDescriptor) bool {
|
||||||
if flags.ProtoLegacy {
|
if flags.ProtoLegacy || fd.Syntax() == protoreflect.Editions {
|
||||||
if fd, ok := fd.(interface{ EnforceUTF8() bool }); ok {
|
if fd, ok := fd.(interface{ EnforceUTF8() bool }); ok {
|
||||||
return fd.EnforceUTF8()
|
return fd.EnforceUTF8()
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ import (
|
||||||
// 10. Send out the CL for review and submit it.
|
// 10. Send out the CL for review and submit it.
|
||||||
const (
|
const (
|
||||||
Major = 1
|
Major = 1
|
||||||
Minor = 32
|
Minor = 33
|
||||||
Patch = 0
|
Patch = 0
|
||||||
PreRelease = ""
|
PreRelease = ""
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,6 +28,7 @@ func (r descsByName) initEnumDeclarations(eds []*descriptorpb.EnumDescriptorProt
|
||||||
opts = proto.Clone(opts).(*descriptorpb.EnumOptions)
|
opts = proto.Clone(opts).(*descriptorpb.EnumOptions)
|
||||||
e.L2.Options = func() protoreflect.ProtoMessage { return opts }
|
e.L2.Options = func() protoreflect.ProtoMessage { return opts }
|
||||||
}
|
}
|
||||||
|
e.L1.EditionFeatures = mergeEditionFeatures(parent, ed.GetOptions().GetFeatures())
|
||||||
for _, s := range ed.GetReservedName() {
|
for _, s := range ed.GetReservedName() {
|
||||||
e.L2.ReservedNames.List = append(e.L2.ReservedNames.List, protoreflect.Name(s))
|
e.L2.ReservedNames.List = append(e.L2.ReservedNames.List, protoreflect.Name(s))
|
||||||
}
|
}
|
||||||
|
@ -68,6 +69,9 @@ func (r descsByName) initMessagesDeclarations(mds []*descriptorpb.DescriptorProt
|
||||||
if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil {
|
if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if m.Base.L0.ParentFile.Syntax() == protoreflect.Editions {
|
||||||
|
m.L1.EditionFeatures = mergeEditionFeatures(parent, md.GetOptions().GetFeatures())
|
||||||
|
}
|
||||||
if opts := md.GetOptions(); opts != nil {
|
if opts := md.GetOptions(); opts != nil {
|
||||||
opts = proto.Clone(opts).(*descriptorpb.MessageOptions)
|
opts = proto.Clone(opts).(*descriptorpb.MessageOptions)
|
||||||
m.L2.Options = func() protoreflect.ProtoMessage { return opts }
|
m.L2.Options = func() protoreflect.ProtoMessage { return opts }
|
||||||
|
@ -114,6 +118,27 @@ func (r descsByName) initMessagesDeclarations(mds []*descriptorpb.DescriptorProt
|
||||||
return ms, nil
|
return ms, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// canBePacked returns whether the field can use packed encoding:
|
||||||
|
// https://protobuf.dev/programming-guides/encoding/#packed
|
||||||
|
func canBePacked(fd *descriptorpb.FieldDescriptorProto) bool {
|
||||||
|
if fd.GetLabel() != descriptorpb.FieldDescriptorProto_LABEL_REPEATED {
|
||||||
|
return false // not a repeated field
|
||||||
|
}
|
||||||
|
|
||||||
|
switch protoreflect.Kind(fd.GetType()) {
|
||||||
|
case protoreflect.MessageKind, protoreflect.GroupKind:
|
||||||
|
return false // not a scalar type field
|
||||||
|
|
||||||
|
case protoreflect.StringKind, protoreflect.BytesKind:
|
||||||
|
// string and bytes can explicitly not be declared as packed,
|
||||||
|
// see https://protobuf.dev/programming-guides/encoding/#packed
|
||||||
|
return false
|
||||||
|
|
||||||
|
default:
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (fs []filedesc.Field, err error) {
|
func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDescriptorProto, parent protoreflect.Descriptor, sb *strs.Builder) (fs []filedesc.Field, err error) {
|
||||||
fs = make([]filedesc.Field, len(fds)) // allocate up-front to ensure stable pointers
|
fs = make([]filedesc.Field, len(fds)) // allocate up-front to ensure stable pointers
|
||||||
for i, fd := range fds {
|
for i, fd := range fds {
|
||||||
|
@ -139,12 +164,16 @@ func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDesc
|
||||||
}
|
}
|
||||||
|
|
||||||
if f.Base.L0.ParentFile.Syntax() == protoreflect.Editions {
|
if f.Base.L0.ParentFile.Syntax() == protoreflect.Editions {
|
||||||
f.L1.Presence = resolveFeatureHasFieldPresence(f.Base.L0.ParentFile, fd)
|
f.L1.EditionFeatures = mergeEditionFeatures(parent, fd.GetOptions().GetFeatures())
|
||||||
|
|
||||||
|
if f.L1.EditionFeatures.IsLegacyRequired {
|
||||||
|
f.L1.Cardinality = protoreflect.Required
|
||||||
|
}
|
||||||
// We reuse the existing field because the old option `[packed =
|
// We reuse the existing field because the old option `[packed =
|
||||||
// true]` is mutually exclusive with the editions feature.
|
// true]` is mutually exclusive with the editions feature.
|
||||||
if fd.GetLabel() == descriptorpb.FieldDescriptorProto_LABEL_REPEATED {
|
if canBePacked(fd) {
|
||||||
f.L1.HasPacked = true
|
f.L1.HasPacked = true
|
||||||
f.L1.IsPacked = resolveFeatureRepeatedFieldEncodingPacked(f.Base.L0.ParentFile, fd)
|
f.L1.IsPacked = f.L1.EditionFeatures.IsPacked
|
||||||
}
|
}
|
||||||
|
|
||||||
// We pretend this option is always explicitly set because the only
|
// We pretend this option is always explicitly set because the only
|
||||||
|
@ -155,9 +184,9 @@ func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDesc
|
||||||
// requested from the descriptor).
|
// requested from the descriptor).
|
||||||
// In proto2/proto3 syntax HasEnforceUTF8 might be false.
|
// In proto2/proto3 syntax HasEnforceUTF8 might be false.
|
||||||
f.L1.HasEnforceUTF8 = true
|
f.L1.HasEnforceUTF8 = true
|
||||||
f.L1.EnforceUTF8 = resolveFeatureEnforceUTF8(f.Base.L0.ParentFile, fd)
|
f.L1.EnforceUTF8 = f.L1.EditionFeatures.IsUTF8Validated
|
||||||
|
|
||||||
if f.L1.Kind == protoreflect.MessageKind && resolveFeatureDelimitedEncoding(f.Base.L0.ParentFile, fd) {
|
if f.L1.Kind == protoreflect.MessageKind && f.L1.EditionFeatures.IsDelimitedEncoded {
|
||||||
f.L1.Kind = protoreflect.GroupKind
|
f.L1.Kind = protoreflect.GroupKind
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -175,6 +204,9 @@ func (r descsByName) initOneofsFromDescriptorProto(ods []*descriptorpb.OneofDesc
|
||||||
if opts := od.GetOptions(); opts != nil {
|
if opts := od.GetOptions(); opts != nil {
|
||||||
opts = proto.Clone(opts).(*descriptorpb.OneofOptions)
|
opts = proto.Clone(opts).(*descriptorpb.OneofOptions)
|
||||||
o.L1.Options = func() protoreflect.ProtoMessage { return opts }
|
o.L1.Options = func() protoreflect.ProtoMessage { return opts }
|
||||||
|
if parent.Syntax() == protoreflect.Editions {
|
||||||
|
o.L1.EditionFeatures = mergeEditionFeatures(parent, opts.GetFeatures())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return os, nil
|
return os, nil
|
||||||
|
|
|
@ -276,8 +276,8 @@ func unmarshalDefault(s string, fd protoreflect.FieldDescriptor, allowUnresolvab
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
return v, ev, err
|
return v, ev, err
|
||||||
}
|
}
|
||||||
if fd.Syntax() == protoreflect.Proto3 {
|
if !fd.HasPresence() {
|
||||||
return v, ev, errors.New("cannot be specified under proto3 semantics")
|
return v, ev, errors.New("cannot be specified with implicit field presence")
|
||||||
}
|
}
|
||||||
if fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind || fd.Cardinality() == protoreflect.Repeated {
|
if fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind || fd.Cardinality() == protoreflect.Repeated {
|
||||||
return v, ev, errors.New("cannot be specified on composite types")
|
return v, ev, errors.New("cannot be specified on composite types")
|
||||||
|
|
|
@ -107,7 +107,7 @@ func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.Desc
|
||||||
if isMessageSet && !flags.ProtoLegacy {
|
if isMessageSet && !flags.ProtoLegacy {
|
||||||
return errors.New("message %q is a MessageSet, which is a legacy proto1 feature that is no longer supported", m.FullName())
|
return errors.New("message %q is a MessageSet, which is a legacy proto1 feature that is no longer supported", m.FullName())
|
||||||
}
|
}
|
||||||
if isMessageSet && (m.Syntax() != protoreflect.Proto2 || m.Fields().Len() > 0 || m.ExtensionRanges().Len() == 0) {
|
if isMessageSet && (m.Syntax() == protoreflect.Proto3 || m.Fields().Len() > 0 || m.ExtensionRanges().Len() == 0) {
|
||||||
return errors.New("message %q is an invalid proto1 MessageSet", m.FullName())
|
return errors.New("message %q is an invalid proto1 MessageSet", m.FullName())
|
||||||
}
|
}
|
||||||
if m.Syntax() == protoreflect.Proto3 {
|
if m.Syntax() == protoreflect.Proto3 {
|
||||||
|
@ -314,8 +314,8 @@ func checkValidGroup(fd protoreflect.FieldDescriptor) error {
|
||||||
switch {
|
switch {
|
||||||
case fd.Kind() != protoreflect.GroupKind:
|
case fd.Kind() != protoreflect.GroupKind:
|
||||||
return nil
|
return nil
|
||||||
case fd.Syntax() != protoreflect.Proto2:
|
case fd.Syntax() == protoreflect.Proto3:
|
||||||
return errors.New("invalid under proto2 semantics")
|
return errors.New("invalid under proto3 semantics")
|
||||||
case md == nil || md.IsPlaceholder():
|
case md == nil || md.IsPlaceholder():
|
||||||
return errors.New("message must be resolvable")
|
return errors.New("message must be resolvable")
|
||||||
case fd.FullName().Parent() != md.FullName().Parent():
|
case fd.FullName().Parent() != md.FullName().Parent():
|
||||||
|
|
|
@ -5,14 +5,16 @@
|
||||||
package protodesc
|
package protodesc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
_ "embed"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/internal/editiondefaults"
|
||||||
"google.golang.org/protobuf/internal/filedesc"
|
"google.golang.org/protobuf/internal/filedesc"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
"google.golang.org/protobuf/reflect/protoreflect"
|
||||||
"google.golang.org/protobuf/types/descriptorpb"
|
"google.golang.org/protobuf/types/descriptorpb"
|
||||||
|
gofeaturespb "google.golang.org/protobuf/types/gofeaturespb"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -20,14 +22,12 @@ const (
|
||||||
SupportedEditionsMaximum = descriptorpb.Edition_EDITION_2023
|
SupportedEditionsMaximum = descriptorpb.Edition_EDITION_2023
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed editions_defaults.binpb
|
|
||||||
var binaryEditionDefaults []byte
|
|
||||||
var defaults = &descriptorpb.FeatureSetDefaults{}
|
var defaults = &descriptorpb.FeatureSetDefaults{}
|
||||||
var defaultsCacheMu sync.Mutex
|
var defaultsCacheMu sync.Mutex
|
||||||
var defaultsCache = make(map[filedesc.Edition]*descriptorpb.FeatureSet)
|
var defaultsCache = make(map[filedesc.Edition]*descriptorpb.FeatureSet)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
err := proto.Unmarshal(binaryEditionDefaults, defaults)
|
err := proto.Unmarshal(editiondefaults.Defaults, defaults)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "unmarshal editions defaults: %v\n", err)
|
fmt.Fprintf(os.Stderr, "unmarshal editions defaults: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@ -83,37 +83,56 @@ func getFeatureSetFor(ed filedesc.Edition) *descriptorpb.FeatureSet {
|
||||||
return fs
|
return fs
|
||||||
}
|
}
|
||||||
|
|
||||||
func resolveFeatureHasFieldPresence(fileDesc *filedesc.File, fieldDesc *descriptorpb.FieldDescriptorProto) bool {
|
// mergeEditionFeatures merges the parent and child feature sets. This function
|
||||||
fs := fieldDesc.GetOptions().GetFeatures()
|
// should be used when initializing Go descriptors from descriptor protos which
|
||||||
if fs == nil || fs.FieldPresence == nil {
|
// is why the parent is a filedesc.EditionsFeatures (Go representation) while
|
||||||
return fileDesc.L1.EditionFeatures.IsFieldPresence
|
// the child is a descriptorproto.FeatureSet (protoc representation).
|
||||||
|
// Any feature set by the child overwrites what is set by the parent.
|
||||||
|
func mergeEditionFeatures(parentDesc protoreflect.Descriptor, child *descriptorpb.FeatureSet) filedesc.EditionFeatures {
|
||||||
|
var parentFS filedesc.EditionFeatures
|
||||||
|
switch p := parentDesc.(type) {
|
||||||
|
case *filedesc.File:
|
||||||
|
parentFS = p.L1.EditionFeatures
|
||||||
|
case *filedesc.Message:
|
||||||
|
parentFS = p.L1.EditionFeatures
|
||||||
|
default:
|
||||||
|
panic(fmt.Sprintf("unknown parent type %T", parentDesc))
|
||||||
|
}
|
||||||
|
if child == nil {
|
||||||
|
return parentFS
|
||||||
|
}
|
||||||
|
if fp := child.FieldPresence; fp != nil {
|
||||||
|
parentFS.IsFieldPresence = *fp == descriptorpb.FeatureSet_LEGACY_REQUIRED ||
|
||||||
|
*fp == descriptorpb.FeatureSet_EXPLICIT
|
||||||
|
parentFS.IsLegacyRequired = *fp == descriptorpb.FeatureSet_LEGACY_REQUIRED
|
||||||
|
}
|
||||||
|
if et := child.EnumType; et != nil {
|
||||||
|
parentFS.IsOpenEnum = *et == descriptorpb.FeatureSet_OPEN
|
||||||
}
|
}
|
||||||
return fs.GetFieldPresence() == descriptorpb.FeatureSet_LEGACY_REQUIRED ||
|
|
||||||
fs.GetFieldPresence() == descriptorpb.FeatureSet_EXPLICIT
|
|
||||||
}
|
|
||||||
|
|
||||||
func resolveFeatureRepeatedFieldEncodingPacked(fileDesc *filedesc.File, fieldDesc *descriptorpb.FieldDescriptorProto) bool {
|
if rfe := child.RepeatedFieldEncoding; rfe != nil {
|
||||||
fs := fieldDesc.GetOptions().GetFeatures()
|
parentFS.IsPacked = *rfe == descriptorpb.FeatureSet_PACKED
|
||||||
if fs == nil || fs.RepeatedFieldEncoding == nil {
|
|
||||||
return fileDesc.L1.EditionFeatures.IsPacked
|
|
||||||
}
|
}
|
||||||
return fs.GetRepeatedFieldEncoding() == descriptorpb.FeatureSet_PACKED
|
|
||||||
}
|
|
||||||
|
|
||||||
func resolveFeatureEnforceUTF8(fileDesc *filedesc.File, fieldDesc *descriptorpb.FieldDescriptorProto) bool {
|
if utf8val := child.Utf8Validation; utf8val != nil {
|
||||||
fs := fieldDesc.GetOptions().GetFeatures()
|
parentFS.IsUTF8Validated = *utf8val == descriptorpb.FeatureSet_VERIFY
|
||||||
if fs == nil || fs.Utf8Validation == nil {
|
|
||||||
return fileDesc.L1.EditionFeatures.IsUTF8Validated
|
|
||||||
}
|
}
|
||||||
return fs.GetUtf8Validation() == descriptorpb.FeatureSet_VERIFY
|
|
||||||
}
|
|
||||||
|
|
||||||
func resolveFeatureDelimitedEncoding(fileDesc *filedesc.File, fieldDesc *descriptorpb.FieldDescriptorProto) bool {
|
if me := child.MessageEncoding; me != nil {
|
||||||
fs := fieldDesc.GetOptions().GetFeatures()
|
parentFS.IsDelimitedEncoded = *me == descriptorpb.FeatureSet_DELIMITED
|
||||||
if fs == nil || fs.MessageEncoding == nil {
|
|
||||||
return fileDesc.L1.EditionFeatures.IsDelimitedEncoded
|
|
||||||
}
|
}
|
||||||
return fs.GetMessageEncoding() == descriptorpb.FeatureSet_DELIMITED
|
|
||||||
|
if jf := child.JsonFormat; jf != nil {
|
||||||
|
parentFS.IsJSONCompliant = *jf == descriptorpb.FeatureSet_ALLOW
|
||||||
|
}
|
||||||
|
|
||||||
|
if goFeatures, ok := proto.GetExtension(child, gofeaturespb.E_Go).(*gofeaturespb.GoFeatures); ok && goFeatures != nil {
|
||||||
|
if luje := goFeatures.LegacyUnmarshalJsonEnum; luje != nil {
|
||||||
|
parentFS.GenerateLegacyUnmarshalJSON = *luje
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return parentFS
|
||||||
}
|
}
|
||||||
|
|
||||||
// initFileDescFromFeatureSet initializes editions related fields in fd based
|
// initFileDescFromFeatureSet initializes editions related fields in fd based
|
||||||
|
@ -122,56 +141,8 @@ func resolveFeatureDelimitedEncoding(fileDesc *filedesc.File, fieldDesc *descrip
|
||||||
// before calling this function.
|
// before calling this function.
|
||||||
func initFileDescFromFeatureSet(fd *filedesc.File, fs *descriptorpb.FeatureSet) {
|
func initFileDescFromFeatureSet(fd *filedesc.File, fs *descriptorpb.FeatureSet) {
|
||||||
dfs := getFeatureSetFor(fd.L1.Edition)
|
dfs := getFeatureSetFor(fd.L1.Edition)
|
||||||
if fs == nil {
|
// initialize the featureset with the defaults
|
||||||
fs = &descriptorpb.FeatureSet{}
|
fd.L1.EditionFeatures = mergeEditionFeatures(fd, dfs)
|
||||||
}
|
// overwrite any options explicitly specified
|
||||||
|
fd.L1.EditionFeatures = mergeEditionFeatures(fd, fs)
|
||||||
var fieldPresence descriptorpb.FeatureSet_FieldPresence
|
|
||||||
if fp := fs.FieldPresence; fp != nil {
|
|
||||||
fieldPresence = *fp
|
|
||||||
} else {
|
|
||||||
fieldPresence = *dfs.FieldPresence
|
|
||||||
}
|
|
||||||
fd.L1.EditionFeatures.IsFieldPresence = fieldPresence == descriptorpb.FeatureSet_LEGACY_REQUIRED ||
|
|
||||||
fieldPresence == descriptorpb.FeatureSet_EXPLICIT
|
|
||||||
|
|
||||||
var enumType descriptorpb.FeatureSet_EnumType
|
|
||||||
if et := fs.EnumType; et != nil {
|
|
||||||
enumType = *et
|
|
||||||
} else {
|
|
||||||
enumType = *dfs.EnumType
|
|
||||||
}
|
|
||||||
fd.L1.EditionFeatures.IsOpenEnum = enumType == descriptorpb.FeatureSet_OPEN
|
|
||||||
|
|
||||||
var respeatedFieldEncoding descriptorpb.FeatureSet_RepeatedFieldEncoding
|
|
||||||
if rfe := fs.RepeatedFieldEncoding; rfe != nil {
|
|
||||||
respeatedFieldEncoding = *rfe
|
|
||||||
} else {
|
|
||||||
respeatedFieldEncoding = *dfs.RepeatedFieldEncoding
|
|
||||||
}
|
|
||||||
fd.L1.EditionFeatures.IsPacked = respeatedFieldEncoding == descriptorpb.FeatureSet_PACKED
|
|
||||||
|
|
||||||
var isUTF8Validated descriptorpb.FeatureSet_Utf8Validation
|
|
||||||
if utf8val := fs.Utf8Validation; utf8val != nil {
|
|
||||||
isUTF8Validated = *utf8val
|
|
||||||
} else {
|
|
||||||
isUTF8Validated = *dfs.Utf8Validation
|
|
||||||
}
|
|
||||||
fd.L1.EditionFeatures.IsUTF8Validated = isUTF8Validated == descriptorpb.FeatureSet_VERIFY
|
|
||||||
|
|
||||||
var messageEncoding descriptorpb.FeatureSet_MessageEncoding
|
|
||||||
if me := fs.MessageEncoding; me != nil {
|
|
||||||
messageEncoding = *me
|
|
||||||
} else {
|
|
||||||
messageEncoding = *dfs.MessageEncoding
|
|
||||||
}
|
|
||||||
fd.L1.EditionFeatures.IsDelimitedEncoded = messageEncoding == descriptorpb.FeatureSet_DELIMITED
|
|
||||||
|
|
||||||
var jsonFormat descriptorpb.FeatureSet_JsonFormat
|
|
||||||
if jf := fs.JsonFormat; jf != nil {
|
|
||||||
jsonFormat = *jf
|
|
||||||
} else {
|
|
||||||
jsonFormat = *dfs.JsonFormat
|
|
||||||
}
|
|
||||||
fd.L1.EditionFeatures.IsJSONCompliant = jsonFormat == descriptorpb.FeatureSet_ALLOW
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
|
|
||||||
(0ж
|
|
||||||
(0з
|
|
||||||
(0и ж(и
|
|
|
@ -175,6 +175,8 @@ func (s Syntax) String() string {
|
||||||
return "proto2"
|
return "proto2"
|
||||||
case Proto3:
|
case Proto3:
|
||||||
return "proto3"
|
return "proto3"
|
||||||
|
case Editions:
|
||||||
|
return "editions"
|
||||||
default:
|
default:
|
||||||
return fmt.Sprintf("<unknown:%d>", s)
|
return fmt.Sprintf("<unknown:%d>", s)
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,8 +160,6 @@ func (p *SourcePath) appendFileOptions(b []byte) []byte {
|
||||||
b = p.appendSingularField(b, "java_generic_services", nil)
|
b = p.appendSingularField(b, "java_generic_services", nil)
|
||||||
case 18:
|
case 18:
|
||||||
b = p.appendSingularField(b, "py_generic_services", nil)
|
b = p.appendSingularField(b, "py_generic_services", nil)
|
||||||
case 42:
|
|
||||||
b = p.appendSingularField(b, "php_generic_services", nil)
|
|
||||||
case 23:
|
case 23:
|
||||||
b = p.appendSingularField(b, "deprecated", nil)
|
b = p.appendSingularField(b, "deprecated", nil)
|
||||||
case 31:
|
case 31:
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
177
vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go
generated
vendored
Normal file
177
vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go
generated
vendored
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
// Protocol Buffers - Google's data interchange format
|
||||||
|
// Copyright 2023 Google Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file or at
|
||||||
|
// https://developers.google.com/open-source/licenses/bsd
|
||||||
|
|
||||||
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
|
// source: reflect/protodesc/proto/go_features.proto
|
||||||
|
|
||||||
|
package proto
|
||||||
|
|
||||||
|
import (
|
||||||
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||||
|
descriptorpb "google.golang.org/protobuf/types/descriptorpb"
|
||||||
|
reflect "reflect"
|
||||||
|
sync "sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
type GoFeatures struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
// Whether or not to generate the deprecated UnmarshalJSON method for enums.
|
||||||
|
LegacyUnmarshalJsonEnum *bool `protobuf:"varint,1,opt,name=legacy_unmarshal_json_enum,json=legacyUnmarshalJsonEnum" json:"legacy_unmarshal_json_enum,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GoFeatures) Reset() {
|
||||||
|
*x = GoFeatures{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_reflect_protodesc_proto_go_features_proto_msgTypes[0]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GoFeatures) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*GoFeatures) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *GoFeatures) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_reflect_protodesc_proto_go_features_proto_msgTypes[0]
|
||||||
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use GoFeatures.ProtoReflect.Descriptor instead.
|
||||||
|
func (*GoFeatures) Descriptor() ([]byte, []int) {
|
||||||
|
return file_reflect_protodesc_proto_go_features_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *GoFeatures) GetLegacyUnmarshalJsonEnum() bool {
|
||||||
|
if x != nil && x.LegacyUnmarshalJsonEnum != nil {
|
||||||
|
return *x.LegacyUnmarshalJsonEnum
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_reflect_protodesc_proto_go_features_proto_extTypes = []protoimpl.ExtensionInfo{
|
||||||
|
{
|
||||||
|
ExtendedType: (*descriptorpb.FeatureSet)(nil),
|
||||||
|
ExtensionType: (*GoFeatures)(nil),
|
||||||
|
Field: 1002,
|
||||||
|
Name: "google.protobuf.go",
|
||||||
|
Tag: "bytes,1002,opt,name=go",
|
||||||
|
Filename: "reflect/protodesc/proto/go_features.proto",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extension fields to descriptorpb.FeatureSet.
|
||||||
|
var (
|
||||||
|
// optional google.protobuf.GoFeatures go = 1002;
|
||||||
|
E_Go = &file_reflect_protodesc_proto_go_features_proto_extTypes[0]
|
||||||
|
)
|
||||||
|
|
||||||
|
var File_reflect_protodesc_proto_go_features_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
|
var file_reflect_protodesc_proto_go_features_proto_rawDesc = []byte{
|
||||||
|
0x0a, 0x29, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x64,
|
||||||
|
0x65, 0x73, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61,
|
||||||
|
0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f,
|
||||||
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x1a, 0x20, 0x67, 0x6f,
|
||||||
|
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65,
|
||||||
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a,
|
||||||
|
0x0a, 0x0a, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x1a,
|
||||||
|
0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c,
|
||||||
|
0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
|
||||||
|
0x42, 0x1f, 0x88, 0x01, 0x01, 0x98, 0x01, 0x06, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x74, 0x72, 0x75,
|
||||||
|
0x65, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0a, 0x12, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0xe7,
|
||||||
|
0x07, 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68,
|
||||||
|
0x61, 0x6c, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x49, 0x0a, 0x02, 0x67, 0x6f,
|
||||||
|
0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||||
|
0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x18, 0xea, 0x07,
|
||||||
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||||
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
|
||||||
|
0x73, 0x52, 0x02, 0x67, 0x6f, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||||
|
0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
0x62, 0x75, 0x66, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||||
|
0x6f, 0x64, 0x65, 0x73, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_rawDescOnce sync.Once
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_rawDescData = file_reflect_protodesc_proto_go_features_proto_rawDesc
|
||||||
|
)
|
||||||
|
|
||||||
|
func file_reflect_protodesc_proto_go_features_proto_rawDescGZIP() []byte {
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_rawDescOnce.Do(func() {
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_rawDescData = protoimpl.X.CompressGZIP(file_reflect_protodesc_proto_go_features_proto_rawDescData)
|
||||||
|
})
|
||||||
|
return file_reflect_protodesc_proto_go_features_proto_rawDescData
|
||||||
|
}
|
||||||
|
|
||||||
|
var file_reflect_protodesc_proto_go_features_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||||
|
var file_reflect_protodesc_proto_go_features_proto_goTypes = []interface{}{
|
||||||
|
(*GoFeatures)(nil), // 0: google.protobuf.GoFeatures
|
||||||
|
(*descriptorpb.FeatureSet)(nil), // 1: google.protobuf.FeatureSet
|
||||||
|
}
|
||||||
|
var file_reflect_protodesc_proto_go_features_proto_depIdxs = []int32{
|
||||||
|
1, // 0: google.protobuf.go:extendee -> google.protobuf.FeatureSet
|
||||||
|
0, // 1: google.protobuf.go:type_name -> google.protobuf.GoFeatures
|
||||||
|
2, // [2:2] is the sub-list for method output_type
|
||||||
|
2, // [2:2] is the sub-list for method input_type
|
||||||
|
1, // [1:2] is the sub-list for extension type_name
|
||||||
|
0, // [0:1] is the sub-list for extension extendee
|
||||||
|
0, // [0:0] is the sub-list for field type_name
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() { file_reflect_protodesc_proto_go_features_proto_init() }
|
||||||
|
func file_reflect_protodesc_proto_go_features_proto_init() {
|
||||||
|
if File_reflect_protodesc_proto_go_features_proto != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !protoimpl.UnsafeEnabled {
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*GoFeatures); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
type x struct{}
|
||||||
|
out := protoimpl.TypeBuilder{
|
||||||
|
File: protoimpl.DescBuilder{
|
||||||
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
|
RawDescriptor: file_reflect_protodesc_proto_go_features_proto_rawDesc,
|
||||||
|
NumEnums: 0,
|
||||||
|
NumMessages: 1,
|
||||||
|
NumExtensions: 1,
|
||||||
|
NumServices: 0,
|
||||||
|
},
|
||||||
|
GoTypes: file_reflect_protodesc_proto_go_features_proto_goTypes,
|
||||||
|
DependencyIndexes: file_reflect_protodesc_proto_go_features_proto_depIdxs,
|
||||||
|
MessageInfos: file_reflect_protodesc_proto_go_features_proto_msgTypes,
|
||||||
|
ExtensionInfos: file_reflect_protodesc_proto_go_features_proto_extTypes,
|
||||||
|
}.Build()
|
||||||
|
File_reflect_protodesc_proto_go_features_proto = out.File
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_rawDesc = nil
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_goTypes = nil
|
||||||
|
file_reflect_protodesc_proto_go_features_proto_depIdxs = nil
|
||||||
|
}
|
28
vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto
generated
vendored
Normal file
28
vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
// Protocol Buffers - Google's data interchange format
|
||||||
|
// Copyright 2023 Google Inc. All rights reserved.
|
||||||
|
//
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file or at
|
||||||
|
// https://developers.google.com/open-source/licenses/bsd
|
||||||
|
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
package google.protobuf;
|
||||||
|
|
||||||
|
import "google/protobuf/descriptor.proto";
|
||||||
|
|
||||||
|
option go_package = "google.golang.org/protobuf/types/gofeaturespb";
|
||||||
|
|
||||||
|
extend google.protobuf.FeatureSet {
|
||||||
|
optional GoFeatures go = 1002;
|
||||||
|
}
|
||||||
|
|
||||||
|
message GoFeatures {
|
||||||
|
// Whether or not to generate the deprecated UnmarshalJSON method for enums.
|
||||||
|
optional bool legacy_unmarshal_json_enum = 1 [
|
||||||
|
retention = RETENTION_RUNTIME,
|
||||||
|
targets = TARGET_TYPE_ENUM,
|
||||||
|
edition_defaults = { edition: EDITION_PROTO2, value: "true" },
|
||||||
|
edition_defaults = { edition: EDITION_PROTO3, value: "false" }
|
||||||
|
];
|
||||||
|
}
|
|
@ -186,12 +186,12 @@ go.uber.org/zap/internal/exit
|
||||||
go.uber.org/zap/internal/pool
|
go.uber.org/zap/internal/pool
|
||||||
go.uber.org/zap/internal/stacktrace
|
go.uber.org/zap/internal/stacktrace
|
||||||
go.uber.org/zap/zapcore
|
go.uber.org/zap/zapcore
|
||||||
# golang.org/x/mod v0.15.0
|
# golang.org/x/mod v0.16.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/mod/internal/lazyregexp
|
golang.org/x/mod/internal/lazyregexp
|
||||||
golang.org/x/mod/module
|
golang.org/x/mod/module
|
||||||
golang.org/x/mod/semver
|
golang.org/x/mod/semver
|
||||||
# golang.org/x/net v0.21.0
|
# golang.org/x/net v0.22.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/net/http/httpguts
|
golang.org/x/net/http/httpguts
|
||||||
golang.org/x/net/http2
|
golang.org/x/net/http2
|
||||||
|
@ -200,7 +200,7 @@ golang.org/x/net/http2/hpack
|
||||||
golang.org/x/net/idna
|
golang.org/x/net/idna
|
||||||
golang.org/x/net/internal/timeseries
|
golang.org/x/net/internal/timeseries
|
||||||
golang.org/x/net/trace
|
golang.org/x/net/trace
|
||||||
# golang.org/x/oauth2 v0.17.0
|
# golang.org/x/oauth2 v0.18.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/oauth2
|
golang.org/x/oauth2
|
||||||
golang.org/x/oauth2/internal
|
golang.org/x/oauth2/internal
|
||||||
|
@ -208,12 +208,12 @@ golang.org/x/oauth2/internal
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/sync/errgroup
|
golang.org/x/sync/errgroup
|
||||||
golang.org/x/sync/semaphore
|
golang.org/x/sync/semaphore
|
||||||
# golang.org/x/sys v0.17.0
|
# golang.org/x/sys v0.18.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/sys/plan9
|
golang.org/x/sys/plan9
|
||||||
golang.org/x/sys/unix
|
golang.org/x/sys/unix
|
||||||
golang.org/x/sys/windows
|
golang.org/x/sys/windows
|
||||||
# golang.org/x/term v0.17.0
|
# golang.org/x/term v0.18.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/term
|
golang.org/x/term
|
||||||
# golang.org/x/text v0.14.0
|
# golang.org/x/text v0.14.0
|
||||||
|
@ -225,8 +225,8 @@ golang.org/x/text/unicode/norm
|
||||||
# golang.org/x/time v0.5.0
|
# golang.org/x/time v0.5.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/time/rate
|
golang.org/x/time/rate
|
||||||
# golang.org/x/tools v0.18.0
|
# golang.org/x/tools v0.19.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.19
|
||||||
golang.org/x/tools/go/ast/astutil
|
golang.org/x/tools/go/ast/astutil
|
||||||
golang.org/x/tools/imports
|
golang.org/x/tools/imports
|
||||||
golang.org/x/tools/internal/event
|
golang.org/x/tools/internal/event
|
||||||
|
@ -240,7 +240,7 @@ golang.org/x/tools/internal/imports
|
||||||
# gomodules.xyz/jsonpatch/v2 v2.4.0
|
# gomodules.xyz/jsonpatch/v2 v2.4.0
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
gomodules.xyz/jsonpatch/v2
|
gomodules.xyz/jsonpatch/v2
|
||||||
# google.golang.org/api v0.167.0
|
# google.golang.org/api v0.169.0
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
google.golang.org/api/support/bundler
|
google.golang.org/api/support/bundler
|
||||||
# google.golang.org/appengine v1.6.8
|
# google.golang.org/appengine v1.6.8
|
||||||
|
@ -255,7 +255,7 @@ google.golang.org/appengine/urlfetch
|
||||||
# google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c
|
# google.golang.org/genproto/googleapis/api v0.0.0-20240221002015-b0ce06bbee7c
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
google.golang.org/genproto/googleapis/api/httpbody
|
google.golang.org/genproto/googleapis/api/httpbody
|
||||||
# google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9
|
# google.golang.org/genproto/googleapis/rpc v0.0.0-20240304161311-37d4d3c04a78
|
||||||
## explicit; go 1.19
|
## explicit; go 1.19
|
||||||
google.golang.org/genproto/googleapis/rpc/status
|
google.golang.org/genproto/googleapis/rpc/status
|
||||||
# google.golang.org/grpc v1.62.0
|
# google.golang.org/grpc v1.62.0
|
||||||
|
@ -312,7 +312,7 @@ google.golang.org/grpc/serviceconfig
|
||||||
google.golang.org/grpc/stats
|
google.golang.org/grpc/stats
|
||||||
google.golang.org/grpc/status
|
google.golang.org/grpc/status
|
||||||
google.golang.org/grpc/tap
|
google.golang.org/grpc/tap
|
||||||
# google.golang.org/protobuf v1.32.0
|
# google.golang.org/protobuf v1.33.0
|
||||||
## explicit; go 1.17
|
## explicit; go 1.17
|
||||||
google.golang.org/protobuf/encoding/protodelim
|
google.golang.org/protobuf/encoding/protodelim
|
||||||
google.golang.org/protobuf/encoding/protojson
|
google.golang.org/protobuf/encoding/protojson
|
||||||
|
@ -321,6 +321,7 @@ google.golang.org/protobuf/encoding/protowire
|
||||||
google.golang.org/protobuf/internal/descfmt
|
google.golang.org/protobuf/internal/descfmt
|
||||||
google.golang.org/protobuf/internal/descopts
|
google.golang.org/protobuf/internal/descopts
|
||||||
google.golang.org/protobuf/internal/detrand
|
google.golang.org/protobuf/internal/detrand
|
||||||
|
google.golang.org/protobuf/internal/editiondefaults
|
||||||
google.golang.org/protobuf/internal/encoding/defval
|
google.golang.org/protobuf/internal/encoding/defval
|
||||||
google.golang.org/protobuf/internal/encoding/json
|
google.golang.org/protobuf/internal/encoding/json
|
||||||
google.golang.org/protobuf/internal/encoding/messageset
|
google.golang.org/protobuf/internal/encoding/messageset
|
||||||
|
@ -345,6 +346,7 @@ google.golang.org/protobuf/reflect/protoregistry
|
||||||
google.golang.org/protobuf/runtime/protoiface
|
google.golang.org/protobuf/runtime/protoiface
|
||||||
google.golang.org/protobuf/runtime/protoimpl
|
google.golang.org/protobuf/runtime/protoimpl
|
||||||
google.golang.org/protobuf/types/descriptorpb
|
google.golang.org/protobuf/types/descriptorpb
|
||||||
|
google.golang.org/protobuf/types/gofeaturespb
|
||||||
google.golang.org/protobuf/types/known/anypb
|
google.golang.org/protobuf/types/known/anypb
|
||||||
google.golang.org/protobuf/types/known/durationpb
|
google.golang.org/protobuf/types/known/durationpb
|
||||||
google.golang.org/protobuf/types/known/fieldmaskpb
|
google.golang.org/protobuf/types/known/fieldmaskpb
|
||||||
|
@ -693,7 +695,7 @@ k8s.io/utils/trace
|
||||||
# knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47
|
# knative.dev/hack v0.0.0-20240302114326-e6dedc74dc47
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
knative.dev/hack
|
knative.dev/hack
|
||||||
# knative.dev/pkg v0.0.0-20240305144923-6b13f01ae5f7
|
# knative.dev/pkg v0.0.0-20240311075308-106b052bd1a4
|
||||||
## explicit; go 1.21
|
## explicit; go 1.21
|
||||||
knative.dev/pkg/apis
|
knative.dev/pkg/apis
|
||||||
knative.dev/pkg/apis/duck
|
knative.dev/pkg/apis/duck
|
||||||
|
|
Loading…
Reference in New Issue