mirror of https://github.com/knative/caching.git
upgrade to latest dependencies (#931)
bumping golang.org/x/sync b637f27...396f3a0: > 396f3a0 errgroup: document calling Go before Wait bumping google.golang.org/protobuf f09e239...3f79c52: > 3f79c52 all: release v1.36.6 > a5da9b2 gha-ci: instruct bazelisk to use Bazel 7.x > 9f3ed37 internal_gengo: generate a const string literal for the raw descriptor > 4247b1b proto: Add CloneOf[M Message](m M) M > f7fcf5b types/descriptorpb: regenerate using latest protobuf v30 release > 9c8c2dd all: set Go language version to Go 1.22 > 1719d63 all: start v1.36.5-devel bumping golang.org/x/tools 6a5b66b...456962e: > 456962e go.mod: update golang.org/x dependencies > 5916e3c internal/tokeninternal: AddExistingFiles: tweaks for proposal > 9a1fbbd internal/typesinternal: change Used to UsedIdent > e73cd5a gopls/internal/golang: implement dynamicFuncCallType with typeutil.ClassifyCall > 11a9b3f gopls/internal/server: fix event labels after the big rename > 3e7f74d go/types/typeutil: used doesn't need Info.Selections > b97074b internal/gofix: fix URLs > e850fe1 gopls/internal/golang: CodeAction: place gopls doc as the last action > b948add internal/gofix: move from gopls/internal/analysis/gofix > b437eff go/types/typeutil: implement Callee and StaticCallee with Used > e29f9ae refactor/satisfy: check for presence of types.Info maps > 17ce4c7 refactor/eg: return error if some info maps are missing > 33f80b5 typesinternal: remove RequiresFullInfo > 83a8057 x/tools: regenerate code after go upgrading > 7799973 gopls/internal/analysis/modernize: add docs for missing modernize passes > c788d17 gopls/internal/analysis/modernize: waitgroup: use index.Calls > 3348ae8 go/analysis/passes/nilfunc: use typesinternal.Used > e74d252 gopls/internal/analysis/modernize: check nil before calling maybeNaN > 66c560d x/tools: apply modernize fixes > 300a853 gopls: require go1.24.2 > aee7ae5 internal/typesinternal: support checking for full types.Info > 97789e8 gopls/internal/lsprpc: fix call function with wrong err > 255cfd7 gopls: automatically insert package clause for new go files > ead1fea internal/analysis/modernize: add nil check before comparing with index object > f3a6b96 gopls/internal/analysis/modernize: add modernizer for WaitGroup.Go > 5fba861 internal/typesinternal: add Object and ClassifyCall > 5c9a69f internal/refactor/inline: get rid of imports.Process > 659a8cd go/analysis/analysistest: report input rather result when error happens > aac3cf0 internal/refactor/inline: improve freeishNames > a857356 internal/refactor/inline: improve freeishNames doc > eb75b19 internal/refactor/inline: modernize > 1b0b688 gopls: fix indent issue and track a TODO > 07cbcde gopls/internal/cmd: suppress TestImplementation on go1.23 > 48421ae gopls/internal/analysis/modernize: preserves comments in mapsloop > 8c42f8a gopls/internal/analysis/modernize: use types.RelativeTo to respect current package > fbb7047 internal/refactor/inline: extract import handling from inlineCall > 2d8ef13 internal/refactor/inline: document test file format > 6a91355 internal/refactor/inline: factor out import map construction > b3ce3e1 gopls/completion: use high score for package name main when current package is main > c1b6839 internal/astutil/cursor: Ancestors -> Enclosing (+ reflexive) > d70c04e internal/refactor/inline: replace extractTxtar > 8be0d5f gopls/internal/analysis/maprange: use typeindex > b75dab2 internal/typesinternal/typeindex: suppress test on js > 7efe9a8 gopls/internal/analysis/modernize: rangeint: fix yet another bug > 30641f5 gopls/internal/analysis/modernize: use typeindex throughout > 11a3153 gopls/internal/analysis/modernize: rangeint: respect side effects > 19f73a6 internal/typesinternal/typeindex: index of types.Info > 45b8eac gopls/internal/golang: test initial bindings to unify > 9570155 gopls/internal/golang: test unify result bindings > baedf71 gopls/internal/golang: unify tracks type params > 961631a internal/testfiles: replace outdated function with os.CopyFS > bf12eb7 gopls/internal/analysis/modernize: fix slicedelete triggers on slice identifiers with side effects > ec542a7 gopls/internal/fuzzy: apply modernizers to the fuzzy matcher > 20f8890 internal/astutil/cursor: add Cursor.Contains(Cursor) bool > 084551f go/analysis/passes/maprange: check for redundant Keys/Values calls > 9abefc5 gopls/internal/analysis/modernize: permit int/uint type variants in rangeint > cb292c6 internal/astutil/cursor: unsplit Parent{Edge,Index} -> ParentEdge > c2768b7 gopls/modernize: remove unused functions > 9b2264a gopls/internal/golang/completion: ensure expectedCompositeLiteralType arg is not nil > cfd8cf5 internal/astutil/cursor: split Edge into Parent{Edge,Index} > 3a64d74 all: make function comment match function name > 58e40ae gopls/internal/golang/completion: avoid crash in addFieldItems > be0d52b gopls/internal/cache: improve build constraint trimming > a70d348 gopls/internal/util/persistent: add concurrency test > 7042bab gopls/internal/analysis/modernize: modernizer to suggest using strings.CutPrefix > 3d22fef gopls/internal/analysis/modernize: disable minmax on floating point > e7b4c64 gopls/internal/golang: fix crash in source.test code action > 95eb16e gopls/internal/test/integration: skip x_tools-gotip-openbsd-amd64 (7.6) > 066484e gopls/internal/test/integration/misc: test "annotations" setting > e06efb4 internal/gcimporter: bug.Report in export's panic handler > 6c3e542 gopls/internal/analysis/modernize: preserves comments in minmax > dcc4b8a gopls/internal/golang: use slices.Reverse in pathEnclosingObjNode > 40f8cca internal/imports: fix extra logf argument > e59d6c5 gopls/internal/cache/testfuncs: handle recursive subtests > 4ee50fe gopls/internal/analysis/modernize: rangeint: avoid offering wrong fix > bf70295 cmd/go-contrib-init: drop unneeded GOPATH checks in module mode > 381d68d gopls/internal/util/fingerprint/fingerprint: unify type params > cc7d698 gopls/internal/test/integration/misc: fix TestAssembly for CL 639515 > 03f197e gopls/internal/modernize: remove assignment in ranges > 5a45ac2 x/tools: use range over function for some API > 8fa586e internal/analysis: add function to delete a statement > 29f81e9 gopls/internal/cache: filter **/foo match any depth > 7435a81 gopls/internal/analysis/modernize: document workflow > b08c7a2 gopls/internal/util/fingerprint: split from cache/methodsets bumping gomodules.xyz/jsonpatch/v2 17d7994...ffbac60: > ffbac60 Merge pull request # 40 from lacroixthomas/bugfixes/fix-lossy-in64 > 4c723fc fix: handle lossy int64 bumping google.golang.org/grpc d01db5c...cdbdb75: > cdbdb75 Change version to v1.71.1 (# 8206) > 3a93562 Cherry-pick # 8195 into v1.71.x (# 8202) > 208e03b Cherry-pick # 8164 # 8166 to v1.71.x (# 8182) > 8b7d2fe grpc: fix bug causing an extra Read if a compressed message is the same size as the limit (# 8181) > 9c81a91 resolver: Make EndpointMap's Get, Set and Delete operations O(1) (# 8179) (# 8184) > 8d46b21 grpc: Add endpoints in resolverWrapper.NewAddress (# 8149) (# 8151) > 4775bba Change version to 1.71.1-dev (# 8106) bumping golang.org/x/net 99b3ae0...b8d8877: > b8d8877 go.mod: update golang.org/x dependencies > e1fcd82 html: properly handle trailing solidus in unquoted attribute value in foreign content > ebed060 internal/http3: fix build of tests with GOEXPERIMENT=nosynctest > 1f1fa29 publicsuffix: regenerate table > 1215081 http2: improve error when server sends HTTP/1 > 312450e html: ensure <search> tag closes <p> and update tests > 09731f9 http2: improve handling of lost PING in Server > 55989e2 http2/h2c: use ResponseController for hijacking connections > 2914f46 websocket: re-recommend gorilla/websocket bumping golang.org/x/sys 74cfc93...01aaa83: > 01aaa83 all: simplify code by using modern Go constructs > 1b2bd6b windows: replace all StringToUTF16 calls with UTF16FromString > 1c3b72f unix: update Linux kernel to 6.14 > c175b6b windows: add cmsghdr and pktinfo structures > 3330b5e unix: support Readv, Preadv, Writev and Pwritev for darwin > 7401cce cpu: replace specific instructions with WORD in the function get_cpucfg on loong64 > b8f7da6 cpu: add support for detecting cpu features on loong64 > f2ce62c windows: add constants for PMTUD socket options bumping knative.dev/pkg c5a13b1...4e8ebbe: > 4e8ebbe Bump golang.org/x/tools from 0.31.0 to 0.32.0 (# 3169) > 1ae6a39 Bump golang.org/x/net from 0.38.0 to 0.39.0 (# 3168) > a8e20d9 Bump gomodules.xyz/jsonpatch/v2 from 2.4.0 to 2.5.0 (# 3154) > 7b91ff1 update .golangci.yaml to v2 (# 3167) > b9bfb45 Bump golang.org/x/sync from 0.12.0 to 0.13.0 (# 3166) > 74af921 Bump google.golang.org/protobuf from 1.36.5 to 1.36.6 (# 3163) > cc5f202 Bump golang.org/x/net from 0.37.0 to 0.38.0 (# 3162) > a900930 Bump google.golang.org/grpc from 1.71.0 to 1.71.1 (# 3165) bumping golang.org/x/term 04218fd...5d2308b: > 5d2308b go.mod: update golang.org/x dependencies > e770ddd x/term: disabling auto-completion around GetPassword() bumping golang.org/x/text 566b44f...4890c57: > 4890c57 go.mod: update golang.org/x dependencies Signed-off-by: Knative Automation <automation@knative.team>
This commit is contained in:
parent
7889830edd
commit
ea999aeed7
20
go.mod
20
go.mod
|
@ -11,7 +11,7 @@ require (
|
||||||
k8s.io/code-generator v0.32.2
|
k8s.io/code-generator v0.32.2
|
||||||
k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7
|
k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7
|
||||||
knative.dev/hack v0.0.0-20250331013814-c577ed9f7775
|
knative.dev/hack v0.0.0-20250331013814-c577ed9f7775
|
||||||
knative.dev/pkg v0.0.0-20250331013832-c5a13b15ccdb
|
knative.dev/pkg v0.0.0-20250414114716-4e8ebbe1949a
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
@ -58,20 +58,20 @@ require (
|
||||||
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.24.0 // indirect
|
golang.org/x/mod v0.24.0 // indirect
|
||||||
golang.org/x/net v0.37.0 // indirect
|
golang.org/x/net v0.39.0 // indirect
|
||||||
golang.org/x/oauth2 v0.26.0 // indirect
|
golang.org/x/oauth2 v0.26.0 // indirect
|
||||||
golang.org/x/sync v0.12.0 // indirect
|
golang.org/x/sync v0.13.0 // indirect
|
||||||
golang.org/x/sys v0.31.0 // indirect
|
golang.org/x/sys v0.32.0 // indirect
|
||||||
golang.org/x/term v0.30.0 // indirect
|
golang.org/x/term v0.31.0 // indirect
|
||||||
golang.org/x/text v0.23.0 // indirect
|
golang.org/x/text v0.24.0 // indirect
|
||||||
golang.org/x/time v0.10.0 // indirect
|
golang.org/x/time v0.10.0 // indirect
|
||||||
golang.org/x/tools v0.31.0 // indirect
|
golang.org/x/tools v0.32.0 // indirect
|
||||||
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
|
gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect
|
||||||
google.golang.org/api v0.183.0 // indirect
|
google.golang.org/api v0.183.0 // indirect
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20250207221924-e9438ea467c6 // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20250207221924-e9438ea467c6 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6 // indirect
|
||||||
google.golang.org/grpc v1.71.0 // indirect
|
google.golang.org/grpc v1.71.1 // indirect
|
||||||
google.golang.org/protobuf v1.36.5 // indirect
|
google.golang.org/protobuf v1.36.6 // indirect
|
||||||
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
|
gopkg.in/evanphx/json-patch.v4 v4.12.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
|
||||||
|
|
40
go.sum
40
go.sum
|
@ -404,8 +404,8 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY
|
||||||
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
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.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
|
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
|
||||||
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
|
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
|
||||||
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=
|
||||||
|
@ -426,8 +426,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
|
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
|
||||||
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
|
@ -469,12 +469,12 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/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-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.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
|
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
|
||||||
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||||
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.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
|
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
|
||||||
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
|
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
|
||||||
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=
|
||||||
|
@ -482,8 +482,8 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
|
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
|
||||||
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
|
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
|
||||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
|
@ -531,14 +531,14 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc
|
||||||
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
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.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU=
|
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
|
||||||
golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ=
|
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
|
||||||
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=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
|
gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0=
|
||||||
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
|
gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
|
||||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||||
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
|
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
|
||||||
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
||||||
|
@ -612,8 +612,8 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji
|
||||||
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||||
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||||
google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg=
|
google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI=
|
||||||
google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
|
google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
|
||||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||||
|
@ -628,8 +628,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.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
|
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||||
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||||
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=
|
||||||
|
@ -677,8 +677,8 @@ k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJ
|
||||||
k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
knative.dev/hack v0.0.0-20250331013814-c577ed9f7775 h1:UstB8/aowofYFHjLyZdPh1K7qB9BCx+lP1WuiCspYRE=
|
knative.dev/hack v0.0.0-20250331013814-c577ed9f7775 h1:UstB8/aowofYFHjLyZdPh1K7qB9BCx+lP1WuiCspYRE=
|
||||||
knative.dev/hack v0.0.0-20250331013814-c577ed9f7775/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY=
|
knative.dev/hack v0.0.0-20250331013814-c577ed9f7775/go.mod h1:R0ritgYtjLDO9527h5vb5X6gfvt5LCrJ55BNbVDsWiY=
|
||||||
knative.dev/pkg v0.0.0-20250331013832-c5a13b15ccdb h1:ZdnsbLY4v7QlITiI1aGj4FSL2xEyZXHiIUaYyB+r7r8=
|
knative.dev/pkg v0.0.0-20250414114716-4e8ebbe1949a h1:VcWyuAggKAGr8mg87cBMePK5f5BRFXjUVMX/v+zXaI0=
|
||||||
knative.dev/pkg v0.0.0-20250331013832-c5a13b15ccdb/go.mod h1:gx7Pp9NPcKYApNhR8m0KSOeg71pqhwPWhuhUJ6xCa2g=
|
knative.dev/pkg v0.0.0-20250414114716-4e8ebbe1949a/go.mod h1:XDeNPdjlTRDG0xYNhZDrySc7+cfn+LL1stsYsTndt58=
|
||||||
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=
|
||||||
|
|
|
@ -225,6 +225,11 @@ var fhBytes = sync.Pool{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func invalidHTTP1LookingFrameHeader() FrameHeader {
|
||||||
|
fh, _ := readFrameHeader(make([]byte, frameHeaderLen), strings.NewReader("HTTP/1.1 "))
|
||||||
|
return fh
|
||||||
|
}
|
||||||
|
|
||||||
// ReadFrameHeader reads 9 bytes from r and returns a FrameHeader.
|
// ReadFrameHeader reads 9 bytes from r and returns a FrameHeader.
|
||||||
// Most users should use Framer.ReadFrame instead.
|
// Most users should use Framer.ReadFrame instead.
|
||||||
func ReadFrameHeader(r io.Reader) (FrameHeader, error) {
|
func ReadFrameHeader(r io.Reader) (FrameHeader, error) {
|
||||||
|
@ -503,10 +508,16 @@ func (fr *Framer) ReadFrame() (Frame, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if fh.Length > fr.maxReadSize {
|
if fh.Length > fr.maxReadSize {
|
||||||
|
if fh == invalidHTTP1LookingFrameHeader() {
|
||||||
|
return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", err)
|
||||||
|
}
|
||||||
return nil, ErrFrameTooLarge
|
return nil, ErrFrameTooLarge
|
||||||
}
|
}
|
||||||
payload := fr.getReadBuf(fh.Length)
|
payload := fr.getReadBuf(fh.Length)
|
||||||
if _, err := io.ReadFull(fr.r, payload); err != nil {
|
if _, err := io.ReadFull(fr.r, payload); err != nil {
|
||||||
|
if fh == invalidHTTP1LookingFrameHeader() {
|
||||||
|
return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", err)
|
||||||
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, fr.countError, payload)
|
f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, fr.countError, payload)
|
||||||
|
|
|
@ -132,11 +132,8 @@ func (s h2cHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
// of the body, and reforward the client preface on the net.Conn this function
|
// of the body, and reforward the client preface on the net.Conn this function
|
||||||
// creates.
|
// creates.
|
||||||
func initH2CWithPriorKnowledge(w http.ResponseWriter) (net.Conn, error) {
|
func initH2CWithPriorKnowledge(w http.ResponseWriter) (net.Conn, error) {
|
||||||
hijacker, ok := w.(http.Hijacker)
|
rc := http.NewResponseController(w)
|
||||||
if !ok {
|
conn, rw, err := rc.Hijack()
|
||||||
return nil, errors.New("h2c: connection does not support Hijack")
|
|
||||||
}
|
|
||||||
conn, rw, err := hijacker.Hijack()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -163,10 +160,6 @@ func h2cUpgrade(w http.ResponseWriter, r *http.Request) (_ net.Conn, settings []
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
hijacker, ok := w.(http.Hijacker)
|
|
||||||
if !ok {
|
|
||||||
return nil, nil, errors.New("h2c: connection does not support Hijack")
|
|
||||||
}
|
|
||||||
|
|
||||||
body, err := io.ReadAll(r.Body)
|
body, err := io.ReadAll(r.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -174,7 +167,8 @@ func h2cUpgrade(w http.ResponseWriter, r *http.Request) (_ net.Conn, settings []
|
||||||
}
|
}
|
||||||
r.Body = io.NopCloser(bytes.NewBuffer(body))
|
r.Body = io.NopCloser(bytes.NewBuffer(body))
|
||||||
|
|
||||||
conn, rw, err := hijacker.Hijack()
|
rc := http.NewResponseController(w)
|
||||||
|
conn, rw, err := rc.Hijack()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -1068,7 +1068,10 @@ func (sc *serverConn) serve(conf http2Config) {
|
||||||
|
|
||||||
func (sc *serverConn) handlePingTimer(lastFrameReadTime time.Time) {
|
func (sc *serverConn) handlePingTimer(lastFrameReadTime time.Time) {
|
||||||
if sc.pingSent {
|
if sc.pingSent {
|
||||||
sc.vlogf("timeout waiting for PING response")
|
sc.logf("timeout waiting for PING response")
|
||||||
|
if f := sc.countErrorFunc; f != nil {
|
||||||
|
f("conn_close_lost_ping")
|
||||||
|
}
|
||||||
sc.conn.Close()
|
sc.conn.Close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ import (
|
||||||
type token struct{}
|
type token struct{}
|
||||||
|
|
||||||
// A Group is a collection of goroutines working on subtasks that are part of
|
// A Group is a collection of goroutines working on subtasks that are part of
|
||||||
// the same overall task.
|
// the same overall task. A Group should not be reused for different tasks.
|
||||||
//
|
//
|
||||||
// A zero Group is valid, has no limit on the number of active goroutines,
|
// A zero Group is valid, has no limit on the number of active goroutines,
|
||||||
// and does not cancel on error.
|
// and does not cancel on error.
|
||||||
|
@ -61,6 +61,7 @@ func (g *Group) Wait() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Go calls the given function in a new goroutine.
|
// Go calls the given function in a new goroutine.
|
||||||
|
// The first call to Go must happen before a Wait.
|
||||||
// It blocks until the new goroutine can be added without the number of
|
// It blocks until the new goroutine can be added without the number of
|
||||||
// active goroutines in the group exceeding the configured limit.
|
// active goroutines in the group exceeding the configured limit.
|
||||||
//
|
//
|
||||||
|
|
|
@ -602,7 +602,150 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
|
// sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
|
||||||
|
const minIovec = 8
|
||||||
|
|
||||||
|
func Readv(fd int, iovs [][]byte) (n int, err error) {
|
||||||
|
if !darwinKernelVersionMin(11, 0, 0) {
|
||||||
|
return 0, ENOSYS
|
||||||
|
}
|
||||||
|
|
||||||
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
|
n, err = readv(fd, iovecs)
|
||||||
|
readvRacedetect(iovecs, n, err)
|
||||||
|
return n, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
|
||||||
|
if !darwinKernelVersionMin(11, 0, 0) {
|
||||||
|
return 0, ENOSYS
|
||||||
|
}
|
||||||
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
|
n, err = preadv(fd, iovecs, offset)
|
||||||
|
readvRacedetect(iovecs, n, err)
|
||||||
|
return n, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func Writev(fd int, iovs [][]byte) (n int, err error) {
|
||||||
|
if !darwinKernelVersionMin(11, 0, 0) {
|
||||||
|
return 0, ENOSYS
|
||||||
|
}
|
||||||
|
|
||||||
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
|
if raceenabled {
|
||||||
|
raceReleaseMerge(unsafe.Pointer(&ioSync))
|
||||||
|
}
|
||||||
|
n, err = writev(fd, iovecs)
|
||||||
|
writevRacedetect(iovecs, n)
|
||||||
|
return n, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
|
||||||
|
if !darwinKernelVersionMin(11, 0, 0) {
|
||||||
|
return 0, ENOSYS
|
||||||
|
}
|
||||||
|
|
||||||
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
|
if raceenabled {
|
||||||
|
raceReleaseMerge(unsafe.Pointer(&ioSync))
|
||||||
|
}
|
||||||
|
n, err = pwritev(fd, iovecs, offset)
|
||||||
|
writevRacedetect(iovecs, n)
|
||||||
|
return n, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func appendBytes(vecs []Iovec, bs [][]byte) []Iovec {
|
||||||
|
for _, b := range bs {
|
||||||
|
var v Iovec
|
||||||
|
v.SetLen(len(b))
|
||||||
|
if len(b) > 0 {
|
||||||
|
v.Base = &b[0]
|
||||||
|
} else {
|
||||||
|
v.Base = (*byte)(unsafe.Pointer(&_zero))
|
||||||
|
}
|
||||||
|
vecs = append(vecs, v)
|
||||||
|
}
|
||||||
|
return vecs
|
||||||
|
}
|
||||||
|
|
||||||
|
func writevRacedetect(iovecs []Iovec, n int) {
|
||||||
|
if !raceenabled {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
for i := 0; n > 0 && i < len(iovecs); i++ {
|
||||||
|
m := int(iovecs[i].Len)
|
||||||
|
if m > n {
|
||||||
|
m = n
|
||||||
|
}
|
||||||
|
n -= m
|
||||||
|
if m > 0 {
|
||||||
|
raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func readvRacedetect(iovecs []Iovec, n int, err error) {
|
||||||
|
if !raceenabled {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
for i := 0; n > 0 && i < len(iovecs); i++ {
|
||||||
|
m := int(iovecs[i].Len)
|
||||||
|
if m > n {
|
||||||
|
m = n
|
||||||
|
}
|
||||||
|
n -= m
|
||||||
|
if m > 0 {
|
||||||
|
raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err == nil {
|
||||||
|
raceAcquire(unsafe.Pointer(&ioSync))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func darwinMajorMinPatch() (maj, min, patch int, err error) {
|
||||||
|
var un Utsname
|
||||||
|
err = Uname(&un)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var mmp [3]int
|
||||||
|
c := 0
|
||||||
|
Loop:
|
||||||
|
for _, b := range un.Release[:] {
|
||||||
|
switch {
|
||||||
|
case b >= '0' && b <= '9':
|
||||||
|
mmp[c] = 10*mmp[c] + int(b-'0')
|
||||||
|
case b == '.':
|
||||||
|
c++
|
||||||
|
if c > 2 {
|
||||||
|
return 0, 0, 0, ENOTSUP
|
||||||
|
}
|
||||||
|
case b == 0:
|
||||||
|
break Loop
|
||||||
|
default:
|
||||||
|
return 0, 0, 0, ENOTSUP
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if c != 2 {
|
||||||
|
return 0, 0, 0, ENOTSUP
|
||||||
|
}
|
||||||
|
return mmp[0], mmp[1], mmp[2], nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func darwinKernelVersionMin(maj, min, patch int) bool {
|
||||||
|
actualMaj, actualMin, actualPatch, err := darwinMajorMinPatch()
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return actualMaj > maj || actualMaj == maj && (actualMin > min || actualMin == min && actualPatch >= patch)
|
||||||
|
}
|
||||||
|
|
||||||
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
||||||
|
|
||||||
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
|
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
|
||||||
|
@ -705,3 +848,7 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI
|
||||||
//sys write(fd int, p []byte) (n int, err error)
|
//sys write(fd int, p []byte) (n int, err error)
|
||||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||||
|
//sys readv(fd int, iovecs []Iovec) (n int, err error)
|
||||||
|
//sys preadv(fd int, iovecs []Iovec, offset int64) (n int, err error)
|
||||||
|
//sys writev(fd int, iovecs []Iovec) (n int, err error)
|
||||||
|
//sys pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error)
|
||||||
|
|
|
@ -13,6 +13,7 @@ package unix
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
@ -417,7 +418,7 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||||
return nil, 0, EINVAL
|
return nil, 0, EINVAL
|
||||||
}
|
}
|
||||||
sa.raw.Family = AF_UNIX
|
sa.raw.Family = AF_UNIX
|
||||||
for i := 0; i < n; i++ {
|
for i := range n {
|
||||||
sa.raw.Path[i] = int8(name[i])
|
sa.raw.Path[i] = int8(name[i])
|
||||||
}
|
}
|
||||||
// length is family (uint16), name, NUL.
|
// length is family (uint16), name, NUL.
|
||||||
|
@ -507,7 +508,7 @@ func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||||
psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm))
|
psm := (*[2]byte)(unsafe.Pointer(&sa.raw.Psm))
|
||||||
psm[0] = byte(sa.PSM)
|
psm[0] = byte(sa.PSM)
|
||||||
psm[1] = byte(sa.PSM >> 8)
|
psm[1] = byte(sa.PSM >> 8)
|
||||||
for i := 0; i < len(sa.Addr); i++ {
|
for i := range len(sa.Addr) {
|
||||||
sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i]
|
sa.raw.Bdaddr[i] = sa.Addr[len(sa.Addr)-1-i]
|
||||||
}
|
}
|
||||||
cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid))
|
cid := (*[2]byte)(unsafe.Pointer(&sa.raw.Cid))
|
||||||
|
@ -589,11 +590,11 @@ func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||||
sa.raw.Family = AF_CAN
|
sa.raw.Family = AF_CAN
|
||||||
sa.raw.Ifindex = int32(sa.Ifindex)
|
sa.raw.Ifindex = int32(sa.Ifindex)
|
||||||
rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
|
rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
|
||||||
for i := 0; i < 4; i++ {
|
for i := range 4 {
|
||||||
sa.raw.Addr[i] = rx[i]
|
sa.raw.Addr[i] = rx[i]
|
||||||
}
|
}
|
||||||
tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
|
tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
|
||||||
for i := 0; i < 4; i++ {
|
for i := range 4 {
|
||||||
sa.raw.Addr[i+4] = tx[i]
|
sa.raw.Addr[i+4] = tx[i]
|
||||||
}
|
}
|
||||||
return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil
|
return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil
|
||||||
|
@ -618,11 +619,11 @@ func (sa *SockaddrCANJ1939) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||||
sa.raw.Family = AF_CAN
|
sa.raw.Family = AF_CAN
|
||||||
sa.raw.Ifindex = int32(sa.Ifindex)
|
sa.raw.Ifindex = int32(sa.Ifindex)
|
||||||
n := (*[8]byte)(unsafe.Pointer(&sa.Name))
|
n := (*[8]byte)(unsafe.Pointer(&sa.Name))
|
||||||
for i := 0; i < 8; i++ {
|
for i := range 8 {
|
||||||
sa.raw.Addr[i] = n[i]
|
sa.raw.Addr[i] = n[i]
|
||||||
}
|
}
|
||||||
p := (*[4]byte)(unsafe.Pointer(&sa.PGN))
|
p := (*[4]byte)(unsafe.Pointer(&sa.PGN))
|
||||||
for i := 0; i < 4; i++ {
|
for i := range 4 {
|
||||||
sa.raw.Addr[i+8] = p[i]
|
sa.raw.Addr[i+8] = p[i]
|
||||||
}
|
}
|
||||||
sa.raw.Addr[12] = sa.Addr
|
sa.raw.Addr[12] = sa.Addr
|
||||||
|
@ -911,7 +912,7 @@ func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||||
// These are EBCDIC encoded by the kernel, but we still need to pad them
|
// These are EBCDIC encoded by the kernel, but we still need to pad them
|
||||||
// with blanks. Initializing with blanks allows the caller to feed in either
|
// with blanks. Initializing with blanks allows the caller to feed in either
|
||||||
// a padded or an unpadded string.
|
// a padded or an unpadded string.
|
||||||
for i := 0; i < 8; i++ {
|
for i := range 8 {
|
||||||
sa.raw.Nodeid[i] = ' '
|
sa.raw.Nodeid[i] = ' '
|
||||||
sa.raw.User_id[i] = ' '
|
sa.raw.User_id[i] = ' '
|
||||||
sa.raw.Name[i] = ' '
|
sa.raw.Name[i] = ' '
|
||||||
|
@ -1148,7 +1149,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
|
||||||
var user [8]byte
|
var user [8]byte
|
||||||
var name [8]byte
|
var name [8]byte
|
||||||
|
|
||||||
for i := 0; i < 8; i++ {
|
for i := range 8 {
|
||||||
user[i] = byte(pp.User_id[i])
|
user[i] = byte(pp.User_id[i])
|
||||||
name[i] = byte(pp.Name[i])
|
name[i] = byte(pp.Name[i])
|
||||||
}
|
}
|
||||||
|
@ -1173,11 +1174,11 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
|
||||||
Ifindex: int(pp.Ifindex),
|
Ifindex: int(pp.Ifindex),
|
||||||
}
|
}
|
||||||
name := (*[8]byte)(unsafe.Pointer(&sa.Name))
|
name := (*[8]byte)(unsafe.Pointer(&sa.Name))
|
||||||
for i := 0; i < 8; i++ {
|
for i := range 8 {
|
||||||
name[i] = pp.Addr[i]
|
name[i] = pp.Addr[i]
|
||||||
}
|
}
|
||||||
pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN))
|
pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN))
|
||||||
for i := 0; i < 4; i++ {
|
for i := range 4 {
|
||||||
pgn[i] = pp.Addr[i+8]
|
pgn[i] = pp.Addr[i+8]
|
||||||
}
|
}
|
||||||
addr := (*[1]byte)(unsafe.Pointer(&sa.Addr))
|
addr := (*[1]byte)(unsafe.Pointer(&sa.Addr))
|
||||||
|
@ -1188,11 +1189,11 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
|
||||||
Ifindex: int(pp.Ifindex),
|
Ifindex: int(pp.Ifindex),
|
||||||
}
|
}
|
||||||
rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
|
rx := (*[4]byte)(unsafe.Pointer(&sa.RxID))
|
||||||
for i := 0; i < 4; i++ {
|
for i := range 4 {
|
||||||
rx[i] = pp.Addr[i]
|
rx[i] = pp.Addr[i]
|
||||||
}
|
}
|
||||||
tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
|
tx := (*[4]byte)(unsafe.Pointer(&sa.TxID))
|
||||||
for i := 0; i < 4; i++ {
|
for i := range 4 {
|
||||||
tx[i] = pp.Addr[i+4]
|
tx[i] = pp.Addr[i+4]
|
||||||
}
|
}
|
||||||
return sa, nil
|
return sa, nil
|
||||||
|
@ -2216,10 +2217,7 @@ func readvRacedetect(iovecs []Iovec, n int, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for i := 0; n > 0 && i < len(iovecs); i++ {
|
for i := 0; n > 0 && i < len(iovecs); i++ {
|
||||||
m := int(iovecs[i].Len)
|
m := min(int(iovecs[i].Len), n)
|
||||||
if m > n {
|
|
||||||
m = n
|
|
||||||
}
|
|
||||||
n -= m
|
n -= m
|
||||||
if m > 0 {
|
if m > 0 {
|
||||||
raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
|
raceWriteRange(unsafe.Pointer(iovecs[i].Base), m)
|
||||||
|
@ -2270,10 +2268,7 @@ func writevRacedetect(iovecs []Iovec, n int) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for i := 0; n > 0 && i < len(iovecs); i++ {
|
for i := 0; n > 0 && i < len(iovecs); i++ {
|
||||||
m := int(iovecs[i].Len)
|
m := min(int(iovecs[i].Len), n)
|
||||||
if m > n {
|
|
||||||
m = n
|
|
||||||
}
|
|
||||||
n -= m
|
n -= m
|
||||||
if m > 0 {
|
if m > 0 {
|
||||||
raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
|
raceReadRange(unsafe.Pointer(iovecs[i].Base), m)
|
||||||
|
@ -2320,12 +2315,7 @@ func isGroupMember(gid int) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, g := range groups {
|
return slices.Contains(groups, gid)
|
||||||
if g == gid {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func isCapDacOverrideSet() bool {
|
func isCapDacOverrideSet() bool {
|
||||||
|
|
|
@ -2512,6 +2512,90 @@ var libc_munmap_trampoline_addr uintptr
|
||||||
|
|
||||||
// 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 readv(fd int, iovecs []Iovec) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_readv_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_readv readv "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_preadv_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_preadv preadv "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func writev(fd int, iovecs []Iovec) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_writev_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_writev writev "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_pwritev_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_pwritev pwritev "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Fstat(fd int, stat *Stat_t) (err error) {
|
func Fstat(fd int, stat *Stat_t) (err error) {
|
||||||
_, _, e1 := syscall_syscall(libc_fstat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
|
_, _, e1 := syscall_syscall(libc_fstat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
|
|
@ -738,6 +738,26 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
|
||||||
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
|
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_readv(SB)
|
||||||
|
GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_preadv(SB)
|
||||||
|
GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_writev(SB)
|
||||||
|
GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_pwritev(SB)
|
||||||
|
GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
|
||||||
|
|
||||||
TEXT libc_fstat64_trampoline<>(SB),NOSPLIT,$0-0
|
TEXT libc_fstat64_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
JMP libc_fstat64(SB)
|
JMP libc_fstat64(SB)
|
||||||
GLOBL ·libc_fstat64_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_fstat64_trampoline_addr(SB), RODATA, $8
|
||||||
|
|
|
@ -2512,6 +2512,90 @@ var libc_munmap_trampoline_addr uintptr
|
||||||
|
|
||||||
// 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 readv(fd int, iovecs []Iovec) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall(libc_readv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_readv_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_readv readv "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func preadv(fd int, iovecs []Iovec, offset int64) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall6(libc_preadv_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_preadv_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_preadv preadv "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func writev(fd int, iovecs []Iovec) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall(libc_writev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)))
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_writev_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_writev writev "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
|
func pwritev(fd int, iovecs []Iovec, offset int64) (n int, err error) {
|
||||||
|
var _p0 unsafe.Pointer
|
||||||
|
if len(iovecs) > 0 {
|
||||||
|
_p0 = unsafe.Pointer(&iovecs[0])
|
||||||
|
} else {
|
||||||
|
_p0 = unsafe.Pointer(&_zero)
|
||||||
|
}
|
||||||
|
r0, _, e1 := syscall_syscall6(libc_pwritev_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(iovecs)), uintptr(offset), 0, 0)
|
||||||
|
n = int(r0)
|
||||||
|
if e1 != 0 {
|
||||||
|
err = errnoErr(e1)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var libc_pwritev_trampoline_addr uintptr
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_pwritev pwritev "/usr/lib/libSystem.B.dylib"
|
||||||
|
|
||||||
|
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||||
|
|
||||||
func Fstat(fd int, stat *Stat_t) (err error) {
|
func Fstat(fd int, stat *Stat_t) (err error) {
|
||||||
_, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
|
_, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0)
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
|
|
|
@ -738,6 +738,26 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
|
||||||
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
|
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_readv_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_readv(SB)
|
||||||
|
GLOBL ·libc_readv_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_readv_trampoline_addr(SB)/8, $libc_readv_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_preadv_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_preadv(SB)
|
||||||
|
GLOBL ·libc_preadv_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_preadv_trampoline_addr(SB)/8, $libc_preadv_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_writev_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_writev(SB)
|
||||||
|
GLOBL ·libc_writev_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_writev_trampoline_addr(SB)/8, $libc_writev_trampoline<>(SB)
|
||||||
|
|
||||||
|
TEXT libc_pwritev_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
|
JMP libc_pwritev(SB)
|
||||||
|
GLOBL ·libc_pwritev_trampoline_addr(SB), RODATA, $8
|
||||||
|
DATA ·libc_pwritev_trampoline_addr(SB)/8, $libc_pwritev_trampoline<>(SB)
|
||||||
|
|
||||||
TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0
|
TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0
|
||||||
JMP libc_fstat(SB)
|
JMP libc_fstat(SB)
|
||||||
GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8
|
GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8
|
||||||
|
|
|
@ -1074,6 +1074,7 @@ const (
|
||||||
IP_ADD_MEMBERSHIP = 0xc
|
IP_ADD_MEMBERSHIP = 0xc
|
||||||
IP_DROP_MEMBERSHIP = 0xd
|
IP_DROP_MEMBERSHIP = 0xd
|
||||||
IP_PKTINFO = 0x13
|
IP_PKTINFO = 0x13
|
||||||
|
IP_MTU_DISCOVER = 0x47
|
||||||
|
|
||||||
IPV6_V6ONLY = 0x1b
|
IPV6_V6ONLY = 0x1b
|
||||||
IPV6_UNICAST_HOPS = 0x4
|
IPV6_UNICAST_HOPS = 0x4
|
||||||
|
@ -1083,6 +1084,7 @@ const (
|
||||||
IPV6_JOIN_GROUP = 0xc
|
IPV6_JOIN_GROUP = 0xc
|
||||||
IPV6_LEAVE_GROUP = 0xd
|
IPV6_LEAVE_GROUP = 0xd
|
||||||
IPV6_PKTINFO = 0x13
|
IPV6_PKTINFO = 0x13
|
||||||
|
IPV6_MTU_DISCOVER = 0x47
|
||||||
|
|
||||||
MSG_OOB = 0x1
|
MSG_OOB = 0x1
|
||||||
MSG_PEEK = 0x2
|
MSG_PEEK = 0x2
|
||||||
|
@ -1132,6 +1134,15 @@ const (
|
||||||
WSASYS_STATUS_LEN = 128
|
WSASYS_STATUS_LEN = 128
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// enum PMTUD_STATE from ws2ipdef.h
|
||||||
|
const (
|
||||||
|
IP_PMTUDISC_NOT_SET = 0
|
||||||
|
IP_PMTUDISC_DO = 1
|
||||||
|
IP_PMTUDISC_DONT = 2
|
||||||
|
IP_PMTUDISC_PROBE = 3
|
||||||
|
IP_PMTUDISC_MAX = 4
|
||||||
|
)
|
||||||
|
|
||||||
type WSABuf struct {
|
type WSABuf struct {
|
||||||
Len uint32
|
Len uint32
|
||||||
Buf *byte
|
Buf *byte
|
||||||
|
@ -1146,6 +1157,22 @@ type WSAMsg struct {
|
||||||
Flags uint32
|
Flags uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type WSACMSGHDR struct {
|
||||||
|
Len uintptr
|
||||||
|
Level int32
|
||||||
|
Type int32
|
||||||
|
}
|
||||||
|
|
||||||
|
type IN_PKTINFO struct {
|
||||||
|
Addr [4]byte
|
||||||
|
Ifindex uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type IN6_PKTINFO struct {
|
||||||
|
Addr [16]byte
|
||||||
|
Ifindex uint32
|
||||||
|
}
|
||||||
|
|
||||||
// Flags for WSASocket
|
// Flags for WSASocket
|
||||||
const (
|
const (
|
||||||
WSA_FLAG_OVERLAPPED = 0x01
|
WSA_FLAG_OVERLAPPED = 0x01
|
||||||
|
|
|
@ -44,6 +44,8 @@ type Terminal struct {
|
||||||
// bytes, as an index into |line|). If it returns ok=false, the key
|
// bytes, as an index into |line|). If it returns ok=false, the key
|
||||||
// press is processed normally. Otherwise it returns a replacement line
|
// press is processed normally. Otherwise it returns a replacement line
|
||||||
// and the new cursor position.
|
// and the new cursor position.
|
||||||
|
//
|
||||||
|
// This will be disabled during ReadPassword.
|
||||||
AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool)
|
AutoCompleteCallback func(line string, pos int, key rune) (newLine string, newPos int, ok bool)
|
||||||
|
|
||||||
// Escape contains a pointer to the escape codes for this terminal.
|
// Escape contains a pointer to the escape codes for this terminal.
|
||||||
|
@ -692,6 +694,8 @@ func (t *Terminal) Write(buf []byte) (n int, err error) {
|
||||||
|
|
||||||
// ReadPassword temporarily changes the prompt and reads a password, without
|
// ReadPassword temporarily changes the prompt and reads a password, without
|
||||||
// echo, from the terminal.
|
// echo, from the terminal.
|
||||||
|
//
|
||||||
|
// The AutoCompleteCallback is disabled during this call.
|
||||||
func (t *Terminal) ReadPassword(prompt string) (line string, err error) {
|
func (t *Terminal) ReadPassword(prompt string) (line string, err error) {
|
||||||
t.lock.Lock()
|
t.lock.Lock()
|
||||||
defer t.lock.Unlock()
|
defer t.lock.Unlock()
|
||||||
|
@ -699,6 +703,11 @@ func (t *Terminal) ReadPassword(prompt string) (line string, err error) {
|
||||||
oldPrompt := t.prompt
|
oldPrompt := t.prompt
|
||||||
t.prompt = []rune(prompt)
|
t.prompt = []rune(prompt)
|
||||||
t.echo = false
|
t.echo = false
|
||||||
|
oldAutoCompleteCallback := t.AutoCompleteCallback
|
||||||
|
t.AutoCompleteCallback = nil
|
||||||
|
defer func() {
|
||||||
|
t.AutoCompleteCallback = oldAutoCompleteCallback
|
||||||
|
}()
|
||||||
|
|
||||||
line, err = t.readLine()
|
line, err = t.readLine()
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"go/ast"
|
"go/ast"
|
||||||
"go/token"
|
"go/token"
|
||||||
|
"slices"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
@ -186,7 +187,7 @@ func AddNamedImport(fset *token.FileSet, f *ast.File, name, path string) (added
|
||||||
spec.(*ast.ImportSpec).Path.ValuePos = first.Pos()
|
spec.(*ast.ImportSpec).Path.ValuePos = first.Pos()
|
||||||
first.Specs = append(first.Specs, spec)
|
first.Specs = append(first.Specs, spec)
|
||||||
}
|
}
|
||||||
f.Decls = append(f.Decls[:i], f.Decls[i+1:]...)
|
f.Decls = slices.Delete(f.Decls, i, i+1)
|
||||||
i--
|
i--
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -193,10 +193,7 @@ func Read(in io.Reader, fset *token.FileSet, imports map[string]*types.Package,
|
||||||
return pkg, err
|
return pkg, err
|
||||||
|
|
||||||
default:
|
default:
|
||||||
l := len(data)
|
l := min(len(data), 10)
|
||||||
if l > 10 {
|
|
||||||
l = 10
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("unexpected export data with prefix %q for path %s", string(data[:l]), path)
|
return nil, fmt.Errorf("unexpected export data with prefix %q for path %s", string(data[:l]), path)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,7 @@ func findExternalDriver(cfg *Config) driver {
|
||||||
const toolPrefix = "GOPACKAGESDRIVER="
|
const toolPrefix = "GOPACKAGESDRIVER="
|
||||||
tool := ""
|
tool := ""
|
||||||
for _, env := range cfg.Env {
|
for _, env := range cfg.Env {
|
||||||
if val := strings.TrimPrefix(env, toolPrefix); val != env {
|
if val, ok := strings.CutPrefix(env, toolPrefix); ok {
|
||||||
tool = val
|
tool = val
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,45 +7,23 @@ package typeutil
|
||||||
import (
|
import (
|
||||||
"go/ast"
|
"go/ast"
|
||||||
"go/types"
|
"go/types"
|
||||||
|
_ "unsafe" // for linkname
|
||||||
"golang.org/x/tools/internal/typeparams"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Callee returns the named target of a function call, if any:
|
// Callee returns the named target of a function call, if any:
|
||||||
// a function, method, builtin, or variable.
|
// a function, method, builtin, or variable.
|
||||||
//
|
//
|
||||||
// Functions and methods may potentially have type parameters.
|
// Functions and methods may potentially have type parameters.
|
||||||
|
//
|
||||||
|
// Note: for calls of instantiated functions and methods, Callee returns
|
||||||
|
// the corresponding generic function or method on the generic type.
|
||||||
func Callee(info *types.Info, call *ast.CallExpr) types.Object {
|
func Callee(info *types.Info, call *ast.CallExpr) types.Object {
|
||||||
fun := ast.Unparen(call.Fun)
|
obj := info.Uses[usedIdent(info, call.Fun)]
|
||||||
|
if obj == nil {
|
||||||
// Look through type instantiation if necessary.
|
return nil
|
||||||
isInstance := false
|
|
||||||
switch fun.(type) {
|
|
||||||
case *ast.IndexExpr, *ast.IndexListExpr:
|
|
||||||
// When extracting the callee from an *IndexExpr, we need to check that
|
|
||||||
// it is a *types.Func and not a *types.Var.
|
|
||||||
// Example: Don't match a slice m within the expression `m[0]()`.
|
|
||||||
isInstance = true
|
|
||||||
fun, _, _, _ = typeparams.UnpackIndexExpr(fun)
|
|
||||||
}
|
|
||||||
|
|
||||||
var obj types.Object
|
|
||||||
switch fun := fun.(type) {
|
|
||||||
case *ast.Ident:
|
|
||||||
obj = info.Uses[fun] // type, var, builtin, or declared func
|
|
||||||
case *ast.SelectorExpr:
|
|
||||||
if sel, ok := info.Selections[fun]; ok {
|
|
||||||
obj = sel.Obj() // method or field
|
|
||||||
} else {
|
|
||||||
obj = info.Uses[fun.Sel] // qualified identifier?
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if _, ok := obj.(*types.TypeName); ok {
|
if _, ok := obj.(*types.TypeName); ok {
|
||||||
return nil // T(x) is a conversion, not a call
|
return nil
|
||||||
}
|
|
||||||
// A Func is required to match instantiations.
|
|
||||||
if _, ok := obj.(*types.Func); isInstance && !ok {
|
|
||||||
return nil // Was not a Func.
|
|
||||||
}
|
}
|
||||||
return obj
|
return obj
|
||||||
}
|
}
|
||||||
|
@ -56,13 +34,52 @@ func Callee(info *types.Info, call *ast.CallExpr) types.Object {
|
||||||
// Note: for calls of instantiated functions and methods, StaticCallee returns
|
// Note: for calls of instantiated functions and methods, StaticCallee returns
|
||||||
// the corresponding generic function or method on the generic type.
|
// the corresponding generic function or method on the generic type.
|
||||||
func StaticCallee(info *types.Info, call *ast.CallExpr) *types.Func {
|
func StaticCallee(info *types.Info, call *ast.CallExpr) *types.Func {
|
||||||
if f, ok := Callee(info, call).(*types.Func); ok && !interfaceMethod(f) {
|
obj := info.Uses[usedIdent(info, call.Fun)]
|
||||||
return f
|
fn, _ := obj.(*types.Func)
|
||||||
|
if fn == nil || interfaceMethod(fn) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return fn
|
||||||
|
}
|
||||||
|
|
||||||
|
// usedIdent is the implementation of [internal/typesinternal.UsedIdent].
|
||||||
|
// It returns the identifier associated with e.
|
||||||
|
// See typesinternal.UsedIdent for a fuller description.
|
||||||
|
// This function should live in typesinternal, but cannot because it would
|
||||||
|
// create an import cycle.
|
||||||
|
//
|
||||||
|
//go:linkname usedIdent
|
||||||
|
func usedIdent(info *types.Info, e ast.Expr) *ast.Ident {
|
||||||
|
if info.Types == nil || info.Uses == nil {
|
||||||
|
panic("one of info.Types or info.Uses is nil; both must be populated")
|
||||||
|
}
|
||||||
|
// Look through type instantiation if necessary.
|
||||||
|
switch d := ast.Unparen(e).(type) {
|
||||||
|
case *ast.IndexExpr:
|
||||||
|
if info.Types[d.Index].IsType() {
|
||||||
|
e = d.X
|
||||||
|
}
|
||||||
|
case *ast.IndexListExpr:
|
||||||
|
e = d.X
|
||||||
|
}
|
||||||
|
|
||||||
|
switch e := ast.Unparen(e).(type) {
|
||||||
|
// info.Uses always has the object we want, even for selector expressions.
|
||||||
|
// We don't need info.Selections.
|
||||||
|
// See go/types/recording.go:recordSelection.
|
||||||
|
case *ast.Ident:
|
||||||
|
return e
|
||||||
|
case *ast.SelectorExpr:
|
||||||
|
return e.Sel
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// interfaceMethod reports whether its argument is a method of an interface.
|
||||||
|
// This function should live in typesinternal, but cannot because it would create an import cycle.
|
||||||
|
//
|
||||||
|
//go:linkname interfaceMethod
|
||||||
func interfaceMethod(f *types.Func) bool {
|
func interfaceMethod(f *types.Func) bool {
|
||||||
recv := f.Type().(*types.Signature).Recv()
|
recv := f.Signature().Recv()
|
||||||
return recv != nil && types.IsInterface(recv.Type())
|
return recv != nil && types.IsInterface(recv.Type())
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"slices"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -154,11 +155,9 @@ func (f *filter) Valid(index int) bool {
|
||||||
|
|
||||||
func (f *filter) Label(index int) Label {
|
func (f *filter) Label(index int) Label {
|
||||||
l := f.underlying.Label(index)
|
l := f.underlying.Label(index)
|
||||||
for _, f := range f.keys {
|
if slices.Contains(f.keys, l.Key()) {
|
||||||
if l.Key() == f {
|
|
||||||
return Label{}
|
return Label{}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return l
|
return l
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -236,6 +236,7 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"math/big"
|
"math/big"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -271,10 +272,10 @@ import (
|
||||||
// file system, be sure to include a cryptographic digest of the executable in
|
// file system, be sure to include a cryptographic digest of the executable in
|
||||||
// the key to avoid version skew.
|
// the key to avoid version skew.
|
||||||
//
|
//
|
||||||
// If the provided reportf func is non-nil, it will be used for reporting bugs
|
// If the provided reportf func is non-nil, it is used for reporting
|
||||||
// encountered during export.
|
// bugs (e.g. recovered panics) encountered during export, enabling us
|
||||||
// TODO(rfindley): remove reportf when we are confident enough in the new
|
// to obtain via telemetry the stack that would otherwise be lost by
|
||||||
// objectpath encoding.
|
// merely returning an error.
|
||||||
func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc) ([]byte, error) {
|
func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc) ([]byte, error) {
|
||||||
// In principle this operation can only fail if out.Write fails,
|
// In principle this operation can only fail if out.Write fails,
|
||||||
// but that's impossible for bytes.Buffer---and as a matter of
|
// but that's impossible for bytes.Buffer---and as a matter of
|
||||||
|
@ -283,7 +284,7 @@ func IExportShallow(fset *token.FileSet, pkg *types.Package, reportf ReportFunc)
|
||||||
// TODO(adonovan): use byte slices throughout, avoiding copying.
|
// TODO(adonovan): use byte slices throughout, avoiding copying.
|
||||||
const bundle, shallow = false, true
|
const bundle, shallow = false, true
|
||||||
var out bytes.Buffer
|
var out bytes.Buffer
|
||||||
err := iexportCommon(&out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg})
|
err := iexportCommon(&out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}, reportf)
|
||||||
return out.Bytes(), err
|
return out.Bytes(), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -323,20 +324,27 @@ const bundleVersion = 0
|
||||||
// so that calls to IImportData can override with a provided package path.
|
// so that calls to IImportData can override with a provided package path.
|
||||||
func IExportData(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
|
func IExportData(out io.Writer, fset *token.FileSet, pkg *types.Package) error {
|
||||||
const bundle, shallow = false, false
|
const bundle, shallow = false, false
|
||||||
return iexportCommon(out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg})
|
return iexportCommon(out, fset, bundle, shallow, iexportVersion, []*types.Package{pkg}, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
// IExportBundle writes an indexed export bundle for pkgs to out.
|
// IExportBundle writes an indexed export bundle for pkgs to out.
|
||||||
func IExportBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
|
func IExportBundle(out io.Writer, fset *token.FileSet, pkgs []*types.Package) error {
|
||||||
const bundle, shallow = true, false
|
const bundle, shallow = true, false
|
||||||
return iexportCommon(out, fset, bundle, shallow, iexportVersion, pkgs)
|
return iexportCommon(out, fset, bundle, shallow, iexportVersion, pkgs, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, version int, pkgs []*types.Package) (err error) {
|
func iexportCommon(out io.Writer, fset *token.FileSet, bundle, shallow bool, version int, pkgs []*types.Package, reportf ReportFunc) (err error) {
|
||||||
if !debug {
|
if !debug {
|
||||||
defer func() {
|
defer func() {
|
||||||
if e := recover(); e != nil {
|
if e := recover(); e != nil {
|
||||||
|
// Report the stack via telemetry (see #71067).
|
||||||
|
if reportf != nil {
|
||||||
|
reportf("panic in exporter")
|
||||||
|
}
|
||||||
if ierr, ok := e.(internalError); ok {
|
if ierr, ok := e.(internalError); ok {
|
||||||
|
// internalError usually means we exported a
|
||||||
|
// bad go/types data structure: a violation
|
||||||
|
// of an implicit precondition of Export.
|
||||||
err = ierr
|
err = ierr
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -458,7 +466,7 @@ func (p *iexporter) encodeFile(w *intWriter, file *token.File, needed []uint64)
|
||||||
w.uint64(size)
|
w.uint64(size)
|
||||||
|
|
||||||
// Sort the set of needed offsets. Duplicates are harmless.
|
// Sort the set of needed offsets. Duplicates are harmless.
|
||||||
sort.Slice(needed, func(i, j int) bool { return needed[i] < needed[j] })
|
slices.Sort(needed)
|
||||||
|
|
||||||
lines := file.Lines() // byte offset of each line start
|
lines := file.Lines() // byte offset of each line start
|
||||||
w.uint64(uint64(len(lines)))
|
w.uint64(uint64(len(lines)))
|
||||||
|
@ -812,7 +820,7 @@ func (p *iexporter) doDecl(obj types.Object) {
|
||||||
|
|
||||||
n := named.NumMethods()
|
n := named.NumMethods()
|
||||||
w.uint64(uint64(n))
|
w.uint64(uint64(n))
|
||||||
for i := 0; i < n; i++ {
|
for i := range n {
|
||||||
m := named.Method(i)
|
m := named.Method(i)
|
||||||
w.pos(m.Pos())
|
w.pos(m.Pos())
|
||||||
w.string(m.Name())
|
w.string(m.Name())
|
||||||
|
@ -1089,7 +1097,7 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
|
||||||
w.pkg(fieldPkg)
|
w.pkg(fieldPkg)
|
||||||
w.uint64(uint64(n))
|
w.uint64(uint64(n))
|
||||||
|
|
||||||
for i := 0; i < n; i++ {
|
for i := range n {
|
||||||
f := t.Field(i)
|
f := t.Field(i)
|
||||||
if w.p.shallow {
|
if w.p.shallow {
|
||||||
w.objectPath(f)
|
w.objectPath(f)
|
||||||
|
@ -1138,7 +1146,7 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
|
||||||
w.startType(unionType)
|
w.startType(unionType)
|
||||||
nt := t.Len()
|
nt := t.Len()
|
||||||
w.uint64(uint64(nt))
|
w.uint64(uint64(nt))
|
||||||
for i := 0; i < nt; i++ {
|
for i := range nt {
|
||||||
term := t.Term(i)
|
term := t.Term(i)
|
||||||
w.bool(term.Tilde())
|
w.bool(term.Tilde())
|
||||||
w.typ(term.Type(), pkg)
|
w.typ(term.Type(), pkg)
|
||||||
|
@ -1267,7 +1275,7 @@ func tparamName(exportName string) string {
|
||||||
func (w *exportWriter) paramList(tup *types.Tuple) {
|
func (w *exportWriter) paramList(tup *types.Tuple) {
|
||||||
n := tup.Len()
|
n := tup.Len()
|
||||||
w.uint64(uint64(n))
|
w.uint64(uint64(n))
|
||||||
for i := 0; i < n; i++ {
|
for i := range n {
|
||||||
w.param(tup.At(i))
|
w.param(tup.At(i))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import (
|
||||||
"go/types"
|
"go/types"
|
||||||
"io"
|
"io"
|
||||||
"math/big"
|
"math/big"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
@ -314,7 +315,7 @@ func iimportCommon(fset *token.FileSet, getPackages GetPackagesFunc, data []byte
|
||||||
pkgs = pkgList[:1]
|
pkgs = pkgList[:1]
|
||||||
|
|
||||||
// record all referenced packages as imports
|
// record all referenced packages as imports
|
||||||
list := append(([]*types.Package)(nil), pkgList[1:]...)
|
list := slices.Clone(pkgList[1:])
|
||||||
sort.Sort(byPath(list))
|
sort.Sort(byPath(list))
|
||||||
pkgs[0].SetImports(list)
|
pkgs[0].SetImports(list)
|
||||||
}
|
}
|
||||||
|
|
|
@ -141,7 +141,7 @@ func (runner *Runner) runPiped(ctx context.Context, inv Invocation, stdout, stde
|
||||||
|
|
||||||
// Wait for all in-progress go commands to return before proceeding,
|
// Wait for all in-progress go commands to return before proceeding,
|
||||||
// to avoid load concurrency errors.
|
// to avoid load concurrency errors.
|
||||||
for i := 0; i < maxInFlight; i++ {
|
for range maxInFlight {
|
||||||
select {
|
select {
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
return ctx.Err(), ctx.Err()
|
return ctx.Err(), ctx.Err()
|
||||||
|
|
|
@ -14,6 +14,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
@ -195,11 +196,9 @@ func (w *walker) getIgnoredDirs(path string) []string {
|
||||||
|
|
||||||
// shouldSkipDir reports whether the file should be skipped or not.
|
// shouldSkipDir reports whether the file should be skipped or not.
|
||||||
func (w *walker) shouldSkipDir(dir string) bool {
|
func (w *walker) shouldSkipDir(dir string) bool {
|
||||||
for _, ignoredDir := range w.ignoredDirs {
|
if slices.Contains(w.ignoredDirs, dir) {
|
||||||
if dir == ignoredDir {
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if w.skip != nil {
|
if w.skip != nil {
|
||||||
// Check with the user specified callback.
|
// Check with the user specified callback.
|
||||||
return w.skip(w.root, dir)
|
return w.skip(w.root, dir)
|
||||||
|
|
|
@ -32,6 +32,7 @@ import (
|
||||||
"golang.org/x/tools/internal/gocommand"
|
"golang.org/x/tools/internal/gocommand"
|
||||||
"golang.org/x/tools/internal/gopathwalk"
|
"golang.org/x/tools/internal/gopathwalk"
|
||||||
"golang.org/x/tools/internal/stdlib"
|
"golang.org/x/tools/internal/stdlib"
|
||||||
|
"maps"
|
||||||
)
|
)
|
||||||
|
|
||||||
// importToGroup is a list of functions which map from an import path to
|
// importToGroup is a list of functions which map from an import path to
|
||||||
|
@ -585,7 +586,7 @@ func getFixesWithSource(ctx context.Context, fset *token.FileSet, f *ast.File, f
|
||||||
srcDir := filepath.Dir(abs)
|
srcDir := filepath.Dir(abs)
|
||||||
|
|
||||||
if logf != nil {
|
if logf != nil {
|
||||||
logf("fixImports(filename=%q), srcDir=%q ...", filename, abs, srcDir)
|
logf("fixImports(filename=%q), srcDir=%q ...", filename, srcDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
// First pass: looking only at f, and using the naive algorithm to
|
// First pass: looking only at f, and using the naive algorithm to
|
||||||
|
@ -968,9 +969,7 @@ func (e *ProcessEnv) CopyConfig() *ProcessEnv {
|
||||||
resolver: nil,
|
resolver: nil,
|
||||||
Env: map[string]string{},
|
Env: map[string]string{},
|
||||||
}
|
}
|
||||||
for k, v := range e.Env {
|
maps.Copy(copy.Env, e.Env)
|
||||||
copy.Env[k] = v
|
|
||||||
}
|
|
||||||
return copy
|
return copy
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1003,9 +1002,7 @@ func (e *ProcessEnv) init() error {
|
||||||
if err := json.Unmarshal(stdout.Bytes(), &goEnv); err != nil {
|
if err := json.Unmarshal(stdout.Bytes(), &goEnv); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for k, v := range goEnv {
|
maps.Copy(e.Env, goEnv)
|
||||||
e.Env[k] = v
|
|
||||||
}
|
|
||||||
e.initialized = true
|
e.initialized = true
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ import (
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -150,8 +151,8 @@ func newModuleResolver(e *ProcessEnv, moduleCacheCache *DirInfoCache) (*ModuleRe
|
||||||
Path: "",
|
Path: "",
|
||||||
Dir: filepath.Join(filepath.Dir(goWork), "vendor"),
|
Dir: filepath.Join(filepath.Dir(goWork), "vendor"),
|
||||||
}
|
}
|
||||||
r.modsByModPath = append(append([]*gocommand.ModuleJSON{}, mainModsVendor...), r.dummyVendorMod)
|
r.modsByModPath = append(slices.Clone(mainModsVendor), r.dummyVendorMod)
|
||||||
r.modsByDir = append(append([]*gocommand.ModuleJSON{}, mainModsVendor...), r.dummyVendorMod)
|
r.modsByDir = append(slices.Clone(mainModsVendor), r.dummyVendorMod)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Vendor mode is off, so run go list -m ... to find everything.
|
// Vendor mode is off, so run go list -m ... to find everything.
|
||||||
|
|
|
@ -128,7 +128,7 @@ func (d *DirInfoCache) ScanAndListen(ctx context.Context, listener cacheListener
|
||||||
// are going to be. Setting an arbitrary limit makes it much easier.
|
// are going to be. Setting an arbitrary limit makes it much easier.
|
||||||
const maxInFlight = 10
|
const maxInFlight = 10
|
||||||
sema := make(chan struct{}, maxInFlight)
|
sema := make(chan struct{}, maxInFlight)
|
||||||
for i := 0; i < maxInFlight; i++ {
|
for range maxInFlight {
|
||||||
sema <- struct{}{}
|
sema <- struct{}{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ func (d *DirInfoCache) ScanAndListen(ctx context.Context, listener cacheListener
|
||||||
d.mu.Lock()
|
d.mu.Lock()
|
||||||
delete(d.listeners, cookie)
|
delete(d.listeners, cookie)
|
||||||
d.mu.Unlock()
|
d.mu.Unlock()
|
||||||
for i := 0; i < maxInFlight; i++ {
|
for range maxInFlight {
|
||||||
<-sema
|
<-sema
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
"go/ast"
|
"go/ast"
|
||||||
"go/token"
|
"go/token"
|
||||||
"log"
|
"log"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
@ -30,7 +31,7 @@ func sortImports(localPrefix string, tokFile *token.File, f *ast.File) {
|
||||||
|
|
||||||
if len(d.Specs) == 0 {
|
if len(d.Specs) == 0 {
|
||||||
// Empty import block, remove it.
|
// Empty import block, remove it.
|
||||||
f.Decls = append(f.Decls[:i], f.Decls[i+1:]...)
|
f.Decls = slices.Delete(f.Decls, i, i+1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !d.Lparen.IsValid() {
|
if !d.Lparen.IsValid() {
|
||||||
|
@ -91,7 +92,7 @@ func mergeImports(f *ast.File) {
|
||||||
spec.(*ast.ImportSpec).Path.ValuePos = first.Pos()
|
spec.(*ast.ImportSpec).Path.ValuePos = first.Pos()
|
||||||
first.Specs = append(first.Specs, spec)
|
first.Specs = append(first.Specs, spec)
|
||||||
}
|
}
|
||||||
f.Decls = append(f.Decls[:i], f.Decls[i+1:]...)
|
f.Decls = slices.Delete(f.Decls, i, i+1)
|
||||||
i--
|
i--
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ func (ix *Index) Lookup(pkg, name string, prefix bool) []Candidate {
|
||||||
px.Results = int16(n)
|
px.Results = int16(n)
|
||||||
if len(flds) >= 4 {
|
if len(flds) >= 4 {
|
||||||
sig := strings.Split(flds[3], " ")
|
sig := strings.Split(flds[3], " ")
|
||||||
for i := 0; i < len(sig); i++ {
|
for i := range sig {
|
||||||
// $ cannot otherwise occur. removing the spaces
|
// $ cannot otherwise occur. removing the spaces
|
||||||
// almost works, but for chan struct{}, e.g.
|
// almost works, but for chan struct{}, e.g.
|
||||||
sig[i] = strings.Replace(sig[i], "$", " ", -1)
|
sig[i] = strings.Replace(sig[i], "$", " ", -1)
|
||||||
|
@ -136,7 +136,7 @@ func (ix *Index) Lookup(pkg, name string, prefix bool) []Candidate {
|
||||||
|
|
||||||
func toFields(sig []string) []Field {
|
func toFields(sig []string) []Field {
|
||||||
ans := make([]Field, len(sig)/2)
|
ans := make([]Field, len(sig)/2)
|
||||||
for i := 0; i < len(ans); i++ {
|
for i := range ans {
|
||||||
ans[i] = Field{Arg: sig[2*i], Type: sig[2*i+1]}
|
ans[i] = Field{Arg: sig[2*i], Type: sig[2*i+1]}
|
||||||
}
|
}
|
||||||
return ans
|
return ans
|
||||||
|
|
|
@ -259,7 +259,7 @@ func (r *Decoder) rawUvarint() uint64 {
|
||||||
func readUvarint(r *strings.Reader) (uint64, error) {
|
func readUvarint(r *strings.Reader) (uint64, error) {
|
||||||
var x uint64
|
var x uint64
|
||||||
var s uint
|
var s uint
|
||||||
for i := 0; i < binary.MaxVarintLen64; i++ {
|
for i := range binary.MaxVarintLen64 {
|
||||||
b, err := r.ReadByte()
|
b, err := r.ReadByte()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if i > 0 && err == io.EOF {
|
if i > 0 && err == io.EOF {
|
||||||
|
|
|
@ -12,348 +12,348 @@ type pkginfo struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var deps = [...]pkginfo{
|
var deps = [...]pkginfo{
|
||||||
{"archive/tar", "\x03k\x03E5\x01\v\x01#\x01\x01\x02\x05\t\x02\x01\x02\x02\v"},
|
{"archive/tar", "\x03j\x03E6\x01\v\x01\"\x01\x01\x02\x05\n\x02\x01\x02\x02\v"},
|
||||||
{"archive/zip", "\x02\x04a\a\x16\x0205\x01+\x05\x01\x10\x03\x02\r\x04"},
|
{"archive/zip", "\x02\x04`\a\x16\x0206\x01*\x05\x01\x11\x03\x02\r\x04"},
|
||||||
{"bufio", "\x03k}E\x13"},
|
{"bufio", "\x03j~E\x13"},
|
||||||
{"bytes", "n+R\x03\fG\x02\x02"},
|
{"bytes", "m+S\x03\fG\x02\x02"},
|
||||||
{"cmp", ""},
|
{"cmp", ""},
|
||||||
{"compress/bzip2", "\x02\x02\xe7\x01B"},
|
{"compress/bzip2", "\x02\x02\xe7\x01B"},
|
||||||
{"compress/flate", "\x02l\x03z\r\x024\x01\x03"},
|
{"compress/flate", "\x02k\x03{\r\x024\x01\x03"},
|
||||||
{"compress/gzip", "\x02\x04a\a\x03\x15eT"},
|
{"compress/gzip", "\x02\x04`\a\x03\x15fT"},
|
||||||
{"compress/lzw", "\x02l\x03z"},
|
{"compress/lzw", "\x02k\x03{"},
|
||||||
{"compress/zlib", "\x02\x04a\a\x03\x13\x01f"},
|
{"compress/zlib", "\x02\x04`\a\x03\x13\x01g"},
|
||||||
{"container/heap", "\xae\x02"},
|
{"container/heap", "\xae\x02"},
|
||||||
{"container/list", ""},
|
{"container/list", ""},
|
||||||
{"container/ring", ""},
|
{"container/ring", ""},
|
||||||
{"context", "n\\h\x01\f"},
|
{"context", "m\\i\x01\f"},
|
||||||
{"crypto", "\x84\x01gD"},
|
{"crypto", "\x83\x01hD"},
|
||||||
{"crypto/aes", "\x10\n\a\x8e\x02"},
|
{"crypto/aes", "\x10\n\a\x8e\x02"},
|
||||||
{"crypto/cipher", "\x03\x1e\x01\x01\x1d\x11\x1d,Q"},
|
{"crypto/cipher", "\x03\x1e\x01\x01\x1d\x11\x1c,R"},
|
||||||
{"crypto/des", "\x10\x13\x1d.,\x95\x01\x03"},
|
{"crypto/des", "\x10\x13\x1d-,\x96\x01\x03"},
|
||||||
{"crypto/dsa", "@\x04*}\x0e"},
|
{"crypto/dsa", "@\x04)~\x0e"},
|
||||||
{"crypto/ecdh", "\x03\v\f\x0e\x04\x14\x04\r\x1d}"},
|
{"crypto/ecdh", "\x03\v\f\x0e\x04\x14\x04\r\x1c~"},
|
||||||
{"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\x16\x01\x04\f\x01\x1d}\x0e\x04K\x01"},
|
{"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\x16\x01\x04\f\x01\x1c~\x0e\x04K\x01"},
|
||||||
{"crypto/ed25519", "\x0e\x1c\x16\n\a\x1d}D"},
|
{"crypto/ed25519", "\x0e\x1c\x16\n\a\x1c~D"},
|
||||||
{"crypto/elliptic", "0>}\x0e9"},
|
{"crypto/elliptic", "0=~\x0e9"},
|
||||||
{"crypto/fips140", " \x05\x91\x01"},
|
{"crypto/fips140", " \x05\x90\x01"},
|
||||||
{"crypto/hkdf", "-\x12\x01.\x16"},
|
{"crypto/hkdf", "-\x12\x01-\x16"},
|
||||||
{"crypto/hmac", "\x1a\x14\x11\x01\x113"},
|
{"crypto/hmac", "\x1a\x14\x11\x01\x112"},
|
||||||
{"crypto/internal/boring", "\x0e\x02\rg"},
|
{"crypto/internal/boring", "\x0e\x02\rf"},
|
||||||
{"crypto/internal/boring/bbig", "\x1a\xdf\x01L"},
|
{"crypto/internal/boring/bbig", "\x1a\xdf\x01L"},
|
||||||
{"crypto/internal/boring/bcache", "\xb3\x02\x12"},
|
{"crypto/internal/boring/bcache", "\xb3\x02\x12"},
|
||||||
{"crypto/internal/boring/sig", ""},
|
{"crypto/internal/boring/sig", ""},
|
||||||
{"crypto/internal/cryptotest", "\x03\r\n)\x0e\x1a\x06\x13\x12#\a\t\x11\x11\x11\x1b\x01\f\f\x05\n"},
|
{"crypto/internal/cryptotest", "\x03\r\n)\x0e\x19\x06\x13\x12#\a\t\x11\x12\x11\x1a\r\r\x05\n"},
|
||||||
{"crypto/internal/entropy", "E"},
|
{"crypto/internal/entropy", "E"},
|
||||||
{"crypto/internal/fips140", ">0}9\f\x15"},
|
{"crypto/internal/fips140", ">/~8\r\x15"},
|
||||||
{"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x04\x01\x01\x05+\x8c\x015"},
|
{"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x04\x01\x01\x05*\x8d\x015"},
|
||||||
{"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x04\x01\x06+\x8a\x01"},
|
{"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x04\x01\x06*\x8b\x01"},
|
||||||
{"crypto/internal/fips140/alias", "\xc5\x02"},
|
{"crypto/internal/fips140/alias", "\xc5\x02"},
|
||||||
{"crypto/internal/fips140/bigmod", "%\x17\x01\x06+\x8c\x01"},
|
{"crypto/internal/fips140/bigmod", "%\x17\x01\x06*\x8d\x01"},
|
||||||
{"crypto/internal/fips140/check", " \x0e\x06\b\x02\xad\x01Z"},
|
{"crypto/internal/fips140/check", " \x0e\x06\b\x02\xad\x01Z"},
|
||||||
{"crypto/internal/fips140/check/checktest", "%\xff\x01!"},
|
{"crypto/internal/fips140/check/checktest", "%\xfe\x01\""},
|
||||||
{"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x04\b\x01)}\x0f8"},
|
{"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x04\b\x01(~\x0f8"},
|
||||||
{"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\f2}\x0f8"},
|
{"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\f1~\x0f8"},
|
||||||
{"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x068}G"},
|
{"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x067~G"},
|
||||||
{"crypto/internal/fips140/ed25519", "\x03\x1d\x05\x02\x04\v8\xc1\x01\x03"},
|
{"crypto/internal/fips140/ed25519", "\x03\x1d\x05\x02\x04\v7\xc2\x01\x03"},
|
||||||
{"crypto/internal/fips140/edwards25519", "%\a\f\x042\x8c\x018"},
|
{"crypto/internal/fips140/edwards25519", "%\a\f\x041\x8d\x018"},
|
||||||
{"crypto/internal/fips140/edwards25519/field", "%\x13\x042\x8c\x01"},
|
{"crypto/internal/fips140/edwards25519/field", "%\x13\x041\x8d\x01"},
|
||||||
{"crypto/internal/fips140/hkdf", "\x03\x1d\x05\t\x06:"},
|
{"crypto/internal/fips140/hkdf", "\x03\x1d\x05\t\x069"},
|
||||||
{"crypto/internal/fips140/hmac", "\x03\x1d\x14\x01\x018"},
|
{"crypto/internal/fips140/hmac", "\x03\x1d\x14\x01\x017"},
|
||||||
{"crypto/internal/fips140/mlkem", "\x03\x1d\x05\x02\x0e\x03\x042"},
|
{"crypto/internal/fips140/mlkem", "\x03\x1d\x05\x02\x0e\x03\x041"},
|
||||||
{"crypto/internal/fips140/nistec", "%\f\a\x042\x8c\x01*\x0e\x13"},
|
{"crypto/internal/fips140/nistec", "%\f\a\x041\x8d\x01)\x0f\x13"},
|
||||||
{"crypto/internal/fips140/nistec/fiat", "%\x136\x8c\x01"},
|
{"crypto/internal/fips140/nistec/fiat", "%\x135\x8d\x01"},
|
||||||
{"crypto/internal/fips140/pbkdf2", "\x03\x1d\x05\t\x06:"},
|
{"crypto/internal/fips140/pbkdf2", "\x03\x1d\x05\t\x069"},
|
||||||
{"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x026}G"},
|
{"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x025~G"},
|
||||||
{"crypto/internal/fips140/sha256", "\x03\x1d\x1c\x01\x06+\x8c\x01"},
|
{"crypto/internal/fips140/sha256", "\x03\x1d\x1c\x01\x06*\x8d\x01"},
|
||||||
{"crypto/internal/fips140/sha3", "\x03\x1d\x18\x04\x011\x8c\x01K"},
|
{"crypto/internal/fips140/sha3", "\x03\x1d\x18\x04\x010\x8d\x01K"},
|
||||||
{"crypto/internal/fips140/sha512", "\x03\x1d\x1c\x01\x06+\x8c\x01"},
|
{"crypto/internal/fips140/sha512", "\x03\x1d\x1c\x01\x06*\x8d\x01"},
|
||||||
{"crypto/internal/fips140/ssh", " \x05"},
|
{"crypto/internal/fips140/ssh", " \x05"},
|
||||||
{"crypto/internal/fips140/subtle", "#\x19\xbe\x01"},
|
{"crypto/internal/fips140/subtle", "#"},
|
||||||
{"crypto/internal/fips140/tls12", "\x03\x1d\x05\t\x06\x028"},
|
{"crypto/internal/fips140/tls12", "\x03\x1d\x05\t\x06\x027"},
|
||||||
{"crypto/internal/fips140/tls13", "\x03\x1d\x05\b\a\b2"},
|
{"crypto/internal/fips140/tls13", "\x03\x1d\x05\b\a\b1"},
|
||||||
{"crypto/internal/fips140deps", ""},
|
{"crypto/internal/fips140deps", ""},
|
||||||
{"crypto/internal/fips140deps/byteorder", "\x9a\x01"},
|
{"crypto/internal/fips140deps/byteorder", "\x99\x01"},
|
||||||
{"crypto/internal/fips140deps/cpu", "\xae\x01\a"},
|
{"crypto/internal/fips140deps/cpu", "\xad\x01\a"},
|
||||||
{"crypto/internal/fips140deps/godebug", "\xb6\x01"},
|
{"crypto/internal/fips140deps/godebug", "\xb5\x01"},
|
||||||
{"crypto/internal/fips140hash", "5\x1a5\xc1\x01"},
|
{"crypto/internal/fips140hash", "5\x1a4\xc2\x01"},
|
||||||
{"crypto/internal/fips140only", "'\r\x01\x01N25"},
|
{"crypto/internal/fips140only", "'\r\x01\x01M26"},
|
||||||
{"crypto/internal/fips140test", ""},
|
{"crypto/internal/fips140test", ""},
|
||||||
{"crypto/internal/hpke", "\x0e\x01\x01\x03\x1a\x1d$,`M"},
|
{"crypto/internal/hpke", "\x0e\x01\x01\x03\x1a\x1d#,aM"},
|
||||||
{"crypto/internal/impl", "\xb0\x02"},
|
{"crypto/internal/impl", "\xb0\x02"},
|
||||||
{"crypto/internal/randutil", "\xeb\x01\x12"},
|
{"crypto/internal/randutil", "\xeb\x01\x12"},
|
||||||
{"crypto/internal/sysrand", "\xd7\x01@\x1b\x01\f\x06"},
|
{"crypto/internal/sysrand", "mi\"\x1e\r\x0f\x01\x01\v\x06"},
|
||||||
{"crypto/internal/sysrand/internal/seccomp", "n"},
|
{"crypto/internal/sysrand/internal/seccomp", "m"},
|
||||||
{"crypto/md5", "\x0e2.\x16\x16`"},
|
{"crypto/md5", "\x0e2-\x16\x16a"},
|
||||||
{"crypto/mlkem", "/"},
|
{"crypto/mlkem", "/"},
|
||||||
{"crypto/pbkdf2", "2\r\x01.\x16"},
|
{"crypto/pbkdf2", "2\r\x01-\x16"},
|
||||||
{"crypto/rand", "\x1a\x06\a\x19\x04\x01)}\x0eL"},
|
{"crypto/rand", "\x1a\x06\a\x19\x04\x01(~\x0eL"},
|
||||||
{"crypto/rc4", "#\x1d.\xc1\x01"},
|
{"crypto/rc4", "#\x1d-\xc2\x01"},
|
||||||
{"crypto/rsa", "\x0e\f\x01\t\x0f\f\x01\x04\x06\a\x1d\x03\x1325\r\x01"},
|
{"crypto/rsa", "\x0e\f\x01\t\x0f\f\x01\x04\x06\a\x1c\x03\x1326\r\x01"},
|
||||||
{"crypto/sha1", "\x0e\f&.\x16\x16\x14L"},
|
{"crypto/sha1", "\x0e\f&-\x16\x16\x14M"},
|
||||||
{"crypto/sha256", "\x0e\f\x1aP"},
|
{"crypto/sha256", "\x0e\f\x1aO"},
|
||||||
{"crypto/sha3", "\x0e'O\xc1\x01"},
|
{"crypto/sha3", "\x0e'N\xc2\x01"},
|
||||||
{"crypto/sha512", "\x0e\f\x1cN"},
|
{"crypto/sha512", "\x0e\f\x1cM"},
|
||||||
{"crypto/subtle", "8\x98\x01T"},
|
{"crypto/subtle", "8\x96\x01U"},
|
||||||
{"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x03\x01\a\x01\v\x02\n\x01\b\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x18\x02\x03\x13\x16\x14\b5\x16\x16\r\t\x01\x01\x01\x02\x01\f\x06\x02\x01"},
|
{"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x03\x01\a\x01\v\x02\n\x01\b\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x13\x16\x14\b6\x16\x15\r\n\x01\x01\x01\x02\x01\f\x06\x02\x01"},
|
||||||
{"crypto/tls/internal/fips140tls", " \x93\x02"},
|
{"crypto/tls/internal/fips140tls", " \x93\x02"},
|
||||||
{"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x011\x03\x02\x01\x01\x02\x05\x01\x0e\x06\x02\x02\x03E5\x03\t\x01\x01\x01\a\x10\x05\t\x05\v\x01\x02\r\x02\x01\x01\x02\x03\x01"},
|
{"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x011\x03\x02\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x033\x01\x02\t\x01\x01\x01\a\x0f\x05\x01\x06\x02\x05\f\x01\x02\r\x02\x01\x01\x02\x03\x01"},
|
||||||
{"crypto/x509/internal/macos", "\x03k'\x8f\x01\v\x10\x06"},
|
{"crypto/x509/pkix", "c\x06\a\x89\x01F"},
|
||||||
{"crypto/x509/pkix", "d\x06\a\x88\x01F"},
|
{"database/sql", "\x03\nJ\x16\x03{\f\x06!\x05\n\x02\x03\x01\f\x02\x02\x02"},
|
||||||
{"database/sql", "\x03\nK\x16\x03z\f\x06\"\x05\t\x02\x03\x01\f\x02\x02\x02"},
|
{"database/sql/driver", "\r`\x03\xae\x01\x11\x10"},
|
||||||
{"database/sql/driver", "\ra\x03\xae\x01\x10\x10"},
|
{"debug/buildinfo", "\x03W\x02\x01\x01\b\a\x03`\x19\x02\x01*\x0f "},
|
||||||
{"debug/buildinfo", "\x03X\x02\x01\x01\b\a\x03`\x18\x02\x01+\x10\x1e"},
|
{"debug/dwarf", "\x03c\a\x03{0\x13\x01\x01"},
|
||||||
{"debug/dwarf", "\x03d\a\x03z1\x12\x01\x01"},
|
{"debug/elf", "\x03\x06P\r\a\x03`\x1a\x01+\x19\x01\x15"},
|
||||||
{"debug/elf", "\x03\x06Q\r\a\x03`\x19\x01,\x18\x01\x15"},
|
{"debug/gosym", "\x03c\n\xbe\x01\x01\x01\x02"},
|
||||||
{"debug/gosym", "\x03d\n\xbd\x01\x01\x01\x02"},
|
{"debug/macho", "\x03\x06P\r\n`\x1b+\x19\x01"},
|
||||||
{"debug/macho", "\x03\x06Q\r\n`\x1a,\x18\x01"},
|
{"debug/pe", "\x03\x06P\r\a\x03`\x1b+\x19\x01\x15"},
|
||||||
{"debug/pe", "\x03\x06Q\r\a\x03`\x1a,\x18\x01\x15"},
|
{"debug/plan9obj", "f\a\x03`\x1b+"},
|
||||||
{"debug/plan9obj", "g\a\x03`\x1a,"},
|
{"embed", "m+:\x19\x01S"},
|
||||||
{"embed", "n+:\x18\x01S"},
|
|
||||||
{"embed/internal/embedtest", ""},
|
{"embed/internal/embedtest", ""},
|
||||||
{"encoding", ""},
|
{"encoding", ""},
|
||||||
{"encoding/ascii85", "\xeb\x01D"},
|
{"encoding/ascii85", "\xeb\x01D"},
|
||||||
{"encoding/asn1", "\x03k\x03\x87\x01\x01&\x0e\x02\x01\x0f\x03\x01"},
|
{"encoding/asn1", "\x03j\x03\x88\x01\x01%\x0f\x02\x01\x0f\x03\x01"},
|
||||||
{"encoding/base32", "\xeb\x01B\x02"},
|
{"encoding/base32", "\xeb\x01B\x02"},
|
||||||
{"encoding/base64", "\x9a\x01QB\x02"},
|
{"encoding/base64", "f\x85\x01B\x02"},
|
||||||
{"encoding/binary", "n}\r'\x0e\x05"},
|
{"encoding/binary", "m~\r&\x0f\x05"},
|
||||||
{"encoding/csv", "\x02\x01k\x03zE\x11\x02"},
|
{"encoding/csv", "\x02\x01j\x03{E\x11\x02"},
|
||||||
{"encoding/gob", "\x02`\x05\a\x03`\x1a\f\x01\x02\x1d\b\x13\x01\x0e\x02"},
|
{"encoding/gob", "\x02_\x05\a\x03`\x1b\f\x01\x02\x1c\b\x14\x01\x0e\x02"},
|
||||||
{"encoding/hex", "n\x03zB\x03"},
|
{"encoding/hex", "m\x03{B\x03"},
|
||||||
{"encoding/json", "\x03\x01^\x04\b\x03z\r'\x0e\x02\x01\x02\x0f\x01\x01\x02"},
|
{"encoding/json", "\x03\x01]\x04\b\x03{\r&\x0f\x02\x01\x02\x0f\x01\x01\x02"},
|
||||||
{"encoding/pem", "\x03c\b}B\x03"},
|
{"encoding/pem", "\x03b\b~B\x03"},
|
||||||
{"encoding/xml", "\x02\x01_\f\x03z4\x05\v\x01\x02\x0f\x02"},
|
{"encoding/xml", "\x02\x01^\f\x03{3\x05\f\x01\x02\x0f\x02"},
|
||||||
{"errors", "\xca\x01{"},
|
{"errors", "\xc9\x01|"},
|
||||||
{"expvar", "kK9\t\n\x15\r\t\x02\x03\x01\x10"},
|
{"expvar", "jK:\t\n\x14\r\n\x02\x03\x01\x10"},
|
||||||
{"flag", "b\f\x03z,\b\x05\t\x02\x01\x0f"},
|
{"flag", "a\f\x03{+\b\x05\n\x02\x01\x0f"},
|
||||||
{"fmt", "nE8\r\x1f\b\x0e\x02\x03\x11"},
|
{"fmt", "mE9\r\x1e\b\x0f\x02\x03\x11"},
|
||||||
{"go/ast", "\x03\x01m\x0f\x01j\x03)\b\x0e\x02\x01"},
|
{"go/ast", "\x03\x01l\x0f\x01k\x03(\b\x0f\x02\x01"},
|
||||||
{"go/ast/internal/tests", ""},
|
{"go/ast/internal/tests", ""},
|
||||||
{"go/build", "\x02\x01k\x03\x01\x03\x02\a\x02\x01\x17\x1e\x04\x02\t\x14\x12\x01+\x01\x04\x01\a\t\x02\x01\x11\x02\x02"},
|
{"go/build", "\x02\x01j\x03\x01\x03\x02\a\x02\x01\x17\x1e\x04\x02\t\x14\x13\x01*\x01\x04\x01\a\n\x02\x01\x11\x02\x02"},
|
||||||
{"go/build/constraint", "n\xc1\x01\x01\x11\x02"},
|
{"go/build/constraint", "m\xc2\x01\x01\x11\x02"},
|
||||||
{"go/constant", "q\x10w\x01\x015\x01\x02\x11"},
|
{"go/constant", "p\x10x\x01\x015\x01\x02\x11"},
|
||||||
{"go/doc", "\x04m\x01\x06\t=-1\x11\x02\x01\x11\x02"},
|
{"go/doc", "\x04l\x01\x06\t=.0\x12\x02\x01\x11\x02"},
|
||||||
{"go/doc/comment", "\x03n\xbc\x01\x01\x01\x01\x11\x02"},
|
{"go/doc/comment", "\x03m\xbd\x01\x01\x01\x01\x11\x02"},
|
||||||
{"go/format", "\x03n\x01\f\x01\x02jE"},
|
{"go/format", "\x03m\x01\f\x01\x02kE"},
|
||||||
{"go/importer", "t\a\x01\x01\x04\x01i9"},
|
{"go/importer", "s\a\x01\x01\x04\x01j8"},
|
||||||
{"go/internal/gccgoimporter", "\x02\x01X\x13\x03\x05\v\x01g\x02,\x01\x05\x12\x01\v\b"},
|
{"go/internal/gccgoimporter", "\x02\x01W\x13\x03\x05\v\x01h\x02+\x01\x05\x13\x01\v\b"},
|
||||||
{"go/internal/gcimporter", "\x02o\x10\x01/\x05\x0e',\x16\x03\x02"},
|
{"go/internal/gcimporter", "\x02n\x10\x01/\x05\x0e(+\x17\x03\x02"},
|
||||||
{"go/internal/srcimporter", "q\x01\x02\n\x03\x01i,\x01\x05\x13\x02\x13"},
|
{"go/internal/srcimporter", "p\x01\x02\n\x03\x01j+\x01\x05\x14\x02\x13"},
|
||||||
{"go/parser", "\x03k\x03\x01\x03\v\x01j\x01+\x06\x13"},
|
{"go/parser", "\x03j\x03\x01\x03\v\x01k\x01*\x06\x14"},
|
||||||
{"go/printer", "q\x01\x03\x03\tj\r\x1f\x16\x02\x01\x02\n\x05\x02"},
|
{"go/printer", "p\x01\x03\x03\tk\r\x1e\x17\x02\x01\x02\n\x05\x02"},
|
||||||
{"go/scanner", "\x03n\x10j2\x11\x01\x12\x02"},
|
{"go/scanner", "\x03m\x10k1\x12\x01\x12\x02"},
|
||||||
{"go/token", "\x04m\xbc\x01\x02\x03\x01\x0e\x02"},
|
{"go/token", "\x04l\xbd\x01\x02\x03\x01\x0e\x02"},
|
||||||
{"go/types", "\x03\x01\x06d\x03\x01\x04\b\x03\x02\x15\x1e\x06+\x04\x03\n%\a\t\x01\x01\x01\x02\x01\x0e\x02\x02"},
|
{"go/types", "\x03\x01\x06c\x03\x01\x04\b\x03\x02\x15\x1e\x06,\x04\x03\n$\a\n\x01\x01\x01\x02\x01\x0e\x02\x02"},
|
||||||
{"go/version", "\xbb\x01u"},
|
{"go/version", "\xba\x01v"},
|
||||||
{"hash", "\xeb\x01"},
|
{"hash", "\xeb\x01"},
|
||||||
{"hash/adler32", "n\x16\x16"},
|
{"hash/adler32", "m\x16\x16"},
|
||||||
{"hash/crc32", "n\x16\x16\x14\x84\x01\x01"},
|
{"hash/crc32", "m\x16\x16\x14\x85\x01\x01\x12"},
|
||||||
{"hash/crc64", "n\x16\x16\x98\x01"},
|
{"hash/crc64", "m\x16\x16\x99\x01"},
|
||||||
{"hash/fnv", "n\x16\x16`"},
|
{"hash/fnv", "m\x16\x16a"},
|
||||||
{"hash/maphash", "\x95\x01\x05\x1b\x03@M"},
|
{"hash/maphash", "\x94\x01\x05\x1b\x03AM"},
|
||||||
{"html", "\xb0\x02\x02\x11"},
|
{"html", "\xb0\x02\x02\x11"},
|
||||||
{"html/template", "\x03h\x06\x19,5\x01\v \x05\x01\x02\x03\r\x01\x02\v\x01\x03\x02"},
|
{"html/template", "\x03g\x06\x19,6\x01\v\x1f\x05\x01\x02\x03\x0e\x01\x02\v\x01\x03\x02"},
|
||||||
{"image", "\x02l\x1f^\x0f5\x03\x01"},
|
{"image", "\x02k\x1f_\x0f5\x03\x01"},
|
||||||
{"image/color", ""},
|
{"image/color", ""},
|
||||||
{"image/color/palette", "\x8d\x01"},
|
{"image/color/palette", "\x8c\x01"},
|
||||||
{"image/draw", "\x8c\x01\x01\x04"},
|
{"image/draw", "\x8b\x01\x01\x04"},
|
||||||
{"image/gif", "\x02\x01\x05f\x03\x1b\x01\x01\x01\vQ"},
|
{"image/gif", "\x02\x01\x05e\x03\x1b\x01\x01\x01\vR"},
|
||||||
{"image/internal/imageutil", "\x8c\x01"},
|
{"image/internal/imageutil", "\x8b\x01"},
|
||||||
{"image/jpeg", "\x02l\x1e\x01\x04Z"},
|
{"image/jpeg", "\x02k\x1e\x01\x04["},
|
||||||
{"image/png", "\x02\a^\n\x13\x02\x06\x01^D"},
|
{"image/png", "\x02\a]\n\x13\x02\x06\x01_D"},
|
||||||
{"index/suffixarray", "\x03d\a}\r*\v\x01"},
|
{"index/suffixarray", "\x03c\a~\r)\f\x01"},
|
||||||
{"internal/abi", "\xb5\x01\x90\x01"},
|
{"internal/abi", "\xb4\x01\x91\x01"},
|
||||||
{"internal/asan", "\xc5\x02"},
|
{"internal/asan", "\xc5\x02"},
|
||||||
{"internal/bisect", "\xa4\x02\x0e\x01"},
|
{"internal/bisect", "\xa3\x02\x0f\x01"},
|
||||||
{"internal/buildcfg", "qG_\x06\x02\x05\v\x01"},
|
{"internal/buildcfg", "pG_\x06\x02\x05\f\x01"},
|
||||||
{"internal/bytealg", "\xae\x01\x97\x01"},
|
{"internal/bytealg", "\xad\x01\x98\x01"},
|
||||||
{"internal/byteorder", ""},
|
{"internal/byteorder", ""},
|
||||||
{"internal/cfg", ""},
|
{"internal/cfg", ""},
|
||||||
{"internal/chacha8rand", "\x9a\x01\x1b\x90\x01"},
|
{"internal/chacha8rand", "\x99\x01\x1b\x91\x01"},
|
||||||
{"internal/copyright", ""},
|
{"internal/copyright", ""},
|
||||||
{"internal/coverage", ""},
|
{"internal/coverage", ""},
|
||||||
{"internal/coverage/calloc", ""},
|
{"internal/coverage/calloc", ""},
|
||||||
{"internal/coverage/cfile", "k\x06\x17\x16\x01\x02\x01\x01\x01\x01\x01\x01\x01$\x01\x1e,\x06\a\v\x01\x03\f\x06"},
|
{"internal/coverage/cfile", "j\x06\x17\x16\x01\x02\x01\x01\x01\x01\x01\x01\x01#\x01 +\x06\a\f\x01\x03\f\x06"},
|
||||||
{"internal/coverage/cformat", "\x04m-\x04I\f6\x01\x02\f"},
|
{"internal/coverage/cformat", "\x04l-\x04J\f6\x01\x02\f"},
|
||||||
{"internal/coverage/cmerge", "q-Z"},
|
{"internal/coverage/cmerge", "p-["},
|
||||||
{"internal/coverage/decodecounter", "g\n-\v\x02@,\x18\x16"},
|
{"internal/coverage/decodecounter", "f\n-\v\x02A+\x19\x16"},
|
||||||
{"internal/coverage/decodemeta", "\x02e\n\x17\x16\v\x02@,"},
|
{"internal/coverage/decodemeta", "\x02d\n\x17\x16\v\x02A+"},
|
||||||
{"internal/coverage/encodecounter", "\x02e\n-\f\x01\x02>\f \x16"},
|
{"internal/coverage/encodecounter", "\x02d\n-\f\x01\x02?\f\x1f\x17"},
|
||||||
{"internal/coverage/encodemeta", "\x02\x01d\n\x13\x04\x16\r\x02>,."},
|
{"internal/coverage/encodemeta", "\x02\x01c\n\x13\x04\x16\r\x02?+/"},
|
||||||
{"internal/coverage/pods", "\x04m-y\x06\x05\v\x02\x01"},
|
{"internal/coverage/pods", "\x04l-y\x06\x05\f\x02\x01"},
|
||||||
{"internal/coverage/rtcov", "\xc5\x02"},
|
{"internal/coverage/rtcov", "\xc5\x02"},
|
||||||
{"internal/coverage/slicereader", "g\nzZ"},
|
{"internal/coverage/slicereader", "f\n{Z"},
|
||||||
{"internal/coverage/slicewriter", "qz"},
|
{"internal/coverage/slicewriter", "p{"},
|
||||||
{"internal/coverage/stringtab", "q8\x04>"},
|
{"internal/coverage/stringtab", "p8\x04?"},
|
||||||
{"internal/coverage/test", ""},
|
{"internal/coverage/test", ""},
|
||||||
{"internal/coverage/uleb128", ""},
|
{"internal/coverage/uleb128", ""},
|
||||||
{"internal/cpu", "\xc5\x02"},
|
{"internal/cpu", "\xc5\x02"},
|
||||||
{"internal/dag", "\x04m\xbc\x01\x03"},
|
{"internal/dag", "\x04l\xbd\x01\x03"},
|
||||||
{"internal/diff", "\x03n\xbd\x01\x02"},
|
{"internal/diff", "\x03m\xbe\x01\x02"},
|
||||||
{"internal/exportdata", "\x02\x01k\x03\x03]\x1a,\x01\x05\x12\x01\x02"},
|
{"internal/exportdata", "\x02\x01j\x03\x03]\x1b+\x01\x05\x13\x01\x02"},
|
||||||
{"internal/filepathlite", "n+:\x19A"},
|
{"internal/filepathlite", "m+:\x1aA"},
|
||||||
{"internal/fmtsort", "\x04\x9b\x02\x0e"},
|
{"internal/fmtsort", "\x04\x9a\x02\x0f"},
|
||||||
{"internal/fuzz", "\x03\nA\x19\x04\x03\x03\x01\f\x0355\r\x02\x1d\x01\x05\x02\x05\v\x01\x02\x01\x01\v\x04\x02"},
|
{"internal/fuzz", "\x03\nA\x18\x04\x03\x03\x01\f\x0356\r\x02\x1c\x01\x05\x02\x05\f\x01\x02\x01\x01\v\x04\x02"},
|
||||||
{"internal/goarch", ""},
|
{"internal/goarch", ""},
|
||||||
{"internal/godebug", "\x97\x01 {\x01\x12"},
|
{"internal/godebug", "\x96\x01 |\x01\x12"},
|
||||||
{"internal/godebugs", ""},
|
{"internal/godebugs", ""},
|
||||||
{"internal/goexperiment", ""},
|
{"internal/goexperiment", ""},
|
||||||
{"internal/goos", ""},
|
{"internal/goos", ""},
|
||||||
{"internal/goroot", "\x97\x02\x01\x05\x13\x02"},
|
{"internal/goroot", "\x96\x02\x01\x05\x14\x02"},
|
||||||
{"internal/gover", "\x04"},
|
{"internal/gover", "\x04"},
|
||||||
{"internal/goversion", ""},
|
{"internal/goversion", ""},
|
||||||
{"internal/itoa", ""},
|
{"internal/itoa", ""},
|
||||||
{"internal/lazyregexp", "\x97\x02\v\x0e\x02"},
|
{"internal/lazyregexp", "\x96\x02\v\x0f\x02"},
|
||||||
{"internal/lazytemplate", "\xeb\x01,\x19\x02\v"},
|
{"internal/lazytemplate", "\xeb\x01+\x1a\x02\v"},
|
||||||
{"internal/msan", "\xc5\x02"},
|
{"internal/msan", "\xc5\x02"},
|
||||||
{"internal/nettrace", ""},
|
{"internal/nettrace", ""},
|
||||||
{"internal/obscuretestdata", "f\x85\x01,"},
|
{"internal/obscuretestdata", "e\x86\x01+"},
|
||||||
{"internal/oserror", "n"},
|
{"internal/oserror", "m"},
|
||||||
{"internal/pkgbits", "\x03K\x19\a\x03\x05\vj\x0e\x1e\r\v\x01"},
|
{"internal/pkgbits", "\x03K\x18\a\x03\x05\vk\x0e\x1d\r\f\x01"},
|
||||||
{"internal/platform", ""},
|
{"internal/platform", ""},
|
||||||
{"internal/poll", "nO\x1a\x149\x0e\x01\x01\v\x06"},
|
{"internal/poll", "mO\x1a\x158\x0f\x01\x01\v\x06"},
|
||||||
{"internal/profile", "\x03\x04g\x03z7\f\x01\x01\x0f"},
|
{"internal/profile", "\x03\x04f\x03{6\r\x01\x01\x0f"},
|
||||||
{"internal/profilerecord", ""},
|
{"internal/profilerecord", ""},
|
||||||
{"internal/race", "\x95\x01\xb0\x01"},
|
{"internal/race", "\x94\x01\xb1\x01"},
|
||||||
{"internal/reflectlite", "\x95\x01 3<!"},
|
{"internal/reflectlite", "\x94\x01 4;\""},
|
||||||
{"internal/routebsd", "n,w\x13\x10\x11"},
|
{"internal/runtime/atomic", "\xc5\x02"},
|
||||||
{"internal/runtime/atomic", "\xae\x01\x97\x01"},
|
{"internal/runtime/exithook", "\xca\x01{"},
|
||||||
{"internal/runtime/exithook", "\xcc\x01y"},
|
{"internal/runtime/maps", "\x94\x01\x01\x1f\v\t\x05\x01w"},
|
||||||
{"internal/runtime/maps", "\x95\x01\x01\x1f\v\t\x06\x01u"},
|
{"internal/runtime/math", "\xb4\x01"},
|
||||||
{"internal/runtime/math", "\xb5\x01"},
|
{"internal/runtime/sys", "\xb4\x01\x04"},
|
||||||
{"internal/runtime/sys", "\xae\x01\a\x04"},
|
{"internal/runtime/syscall", "\xc5\x02"},
|
||||||
{"internal/saferio", "\xeb\x01Z"},
|
{"internal/saferio", "\xeb\x01Z"},
|
||||||
{"internal/singleflight", "\xb2\x02"},
|
{"internal/singleflight", "\xb2\x02"},
|
||||||
{"internal/stringslite", "\x99\x01\xac\x01"},
|
{"internal/stringslite", "\x98\x01\xad\x01"},
|
||||||
{"internal/sync", "\x95\x01 \x14j\x12"},
|
{"internal/sync", "\x94\x01 \x14k\x12"},
|
||||||
{"internal/synctest", "\xc5\x02"},
|
{"internal/synctest", "\xc5\x02"},
|
||||||
{"internal/syscall/execenv", "\xb4\x02"},
|
{"internal/syscall/execenv", "\xb4\x02"},
|
||||||
{"internal/syscall/unix", "\x95\x01\x8f\x01\x10\x11"},
|
{"internal/syscall/unix", "\xa3\x02\x10\x01\x11"},
|
||||||
{"internal/sysinfo", "\xae\x01\x84\x01\x02"},
|
{"internal/sysinfo", "\x02\x01\xaa\x01>+\x1a\x02"},
|
||||||
{"internal/syslist", ""},
|
{"internal/syslist", ""},
|
||||||
{"internal/testenv", "\x03\na\x02\x01*\x1a\x10'+\x01\x05\a\v\x01\x02\x02\x01\n"},
|
{"internal/testenv", "\x03\n`\x02\x01*\x1a\x10(*\x01\x05\a\f\x01\x02\x02\x01\n"},
|
||||||
{"internal/testlog", "\xb2\x02\x01\x12"},
|
{"internal/testlog", "\xb2\x02\x01\x12"},
|
||||||
{"internal/testpty", "n\x03f@\x1d"},
|
{"internal/testpty", "m\x03\xa6\x01"},
|
||||||
{"internal/trace", "\x02\x01\x01\x06]\a\x03n\x03\x03\x06\x03\n5\x01\x02\x0f\x06"},
|
{"internal/trace", "\x02\x01\x01\x06\\\a\x03m\x01\x01\x06\x06\x03\n5\x01\x02\x0f"},
|
||||||
{"internal/trace/internal/testgen", "\x03d\nl\x03\x02\x03\x011\v\x0e"},
|
{"internal/trace/event", ""},
|
||||||
{"internal/trace/internal/tracev1", "\x03\x01c\a\x03t\x06\r5\x01"},
|
{"internal/trace/event/go122", "pm"},
|
||||||
{"internal/trace/raw", "\x02e\nq\x03\x06D\x01\x11"},
|
{"internal/trace/internal/oldtrace", "\x03\x01b\a\x03m\b\x06\r5\x01"},
|
||||||
{"internal/trace/testtrace", "\x02\x01k\x03l\x03\x06\x057\v\x02\x01"},
|
{"internal/trace/internal/testgen/go122", "\x03c\nl\x01\x01\x03\x04\x010\v\x0f"},
|
||||||
{"internal/trace/tracev2", ""},
|
{"internal/trace/raw", "\x02d\nm\b\x06D\x01\x11"},
|
||||||
{"internal/trace/traceviewer", "\x02^\v\x06\x1a<\x16\a\a\x04\t\n\x15\x01\x05\a\v\x01\x02\r"},
|
{"internal/trace/testtrace", "\x02\x01j\x03l\x05\x05\x056\f\x02\x01"},
|
||||||
|
{"internal/trace/traceviewer", "\x02]\v\x06\x1a<\x16\b\a\x04\t\n\x14\x01\x05\a\f\x01\x02\r"},
|
||||||
{"internal/trace/traceviewer/format", ""},
|
{"internal/trace/traceviewer/format", ""},
|
||||||
{"internal/trace/version", "qq\t"},
|
{"internal/trace/version", "pm\x01\r"},
|
||||||
{"internal/txtar", "\x03n\xa6\x01\x19"},
|
{"internal/txtar", "\x03m\xa6\x01\x1a"},
|
||||||
{"internal/types/errors", "\xaf\x02"},
|
{"internal/types/errors", "\xaf\x02"},
|
||||||
{"internal/unsafeheader", "\xc5\x02"},
|
{"internal/unsafeheader", "\xc5\x02"},
|
||||||
{"internal/xcoff", "Z\r\a\x03`\x1a,\x18\x01"},
|
{"internal/xcoff", "Y\r\a\x03`\x1b+\x19\x01"},
|
||||||
{"internal/zstd", "g\a\x03z\x0f"},
|
{"internal/zstd", "f\a\x03{\x0f"},
|
||||||
{"io", "n\xc4\x01"},
|
{"io", "m\xc5\x01"},
|
||||||
{"io/fs", "n+*(1\x11\x12\x04"},
|
{"io/fs", "m+*)0\x12\x12\x04"},
|
||||||
{"io/ioutil", "\xeb\x01\x01+\x16\x03"},
|
{"io/ioutil", "\xeb\x01\x01*\x17\x03"},
|
||||||
{"iter", "\xc9\x01[!"},
|
{"iter", "\xc8\x01[\""},
|
||||||
{"log", "qz\x05'\r\x0e\x01\f"},
|
{"log", "p{\x05&\r\x0f\x01\f"},
|
||||||
{"log/internal", ""},
|
{"log/internal", ""},
|
||||||
{"log/slog", "\x03\nU\t\x03\x03z\x04\x01\x02\x02\x04'\x05\t\x02\x01\x02\x01\f\x02\x02\x02"},
|
{"log/slog", "\x03\nT\t\x03\x03{\x04\x01\x02\x02\x04&\x05\n\x02\x01\x02\x01\f\x02\x02\x02"},
|
||||||
{"log/slog/internal", ""},
|
{"log/slog/internal", ""},
|
||||||
{"log/slog/internal/benchmarks", "\ra\x03z\x06\x03;\x10"},
|
{"log/slog/internal/benchmarks", "\r`\x03{\x06\x03;\x10"},
|
||||||
{"log/slog/internal/buffer", "\xb2\x02"},
|
{"log/slog/internal/buffer", "\xb2\x02"},
|
||||||
{"log/slog/internal/slogtest", "\xf1\x01"},
|
{"log/slog/internal/slogtest", "\xf1\x01"},
|
||||||
{"log/syslog", "n\x03~\x12\x16\x19\x02\r"},
|
{"log/syslog", "m\x03\x7f\x12\x15\x1a\x02\r"},
|
||||||
{"maps", "\xee\x01W"},
|
{"maps", "\xee\x01W"},
|
||||||
{"math", "\xfa\x01K"},
|
{"math", "\xad\x01MK"},
|
||||||
{"math/big", "\x03k\x03)Q\r\x02\x021\x02\x01\x02\x13"},
|
{"math/big", "\x03j\x03)\x14>\r\x02\x023\x01\x02\x13"},
|
||||||
{"math/bits", "\xc5\x02"},
|
{"math/bits", "\xc5\x02"},
|
||||||
{"math/cmplx", "\xf8\x01\x02"},
|
{"math/cmplx", "\xf8\x01\x02"},
|
||||||
{"math/rand", "\xb6\x01B:\x01\x12"},
|
{"math/rand", "\xb5\x01C:\x01\x12"},
|
||||||
{"math/rand/v2", "n,\x02\\\x02K"},
|
{"math/rand/v2", "m,\x02]\x02K"},
|
||||||
{"mime", "\x02\x01c\b\x03z\f \x16\x03\x02\x0f\x02"},
|
{"mime", "\x02\x01b\b\x03{\f\x1f\x17\x03\x02\x0f\x02"},
|
||||||
{"mime/multipart", "\x02\x01G$\x03E5\f\x01\x06\x02\x15\x02\x06\x10\x02\x01\x15"},
|
{"mime/multipart", "\x02\x01G#\x03E6\f\x01\x06\x02\x14\x02\x06\x11\x02\x01\x15"},
|
||||||
{"mime/quotedprintable", "\x02\x01nz"},
|
{"mime/quotedprintable", "\x02\x01m{"},
|
||||||
{"net", "\x04\ta+\x1d\a\x04\x05\x05\a\x01\x04\x14\x01%\x06\r\t\x05\x01\x01\v\x06\a"},
|
{"net", "\x04\t`+\x1d\a\x04\x05\f\x01\x04\x15\x01$\x06\r\n\x05\x01\x01\v\x06\a"},
|
||||||
{"net/http", "\x02\x01\x04\x04\x02=\b\x14\x01\a\x03E5\x01\x03\b\x01\x02\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\t\x01\x01\x01\x02\x01\f\x02\x02\x02\b\x01\x01\x01"},
|
{"net/http", "\x02\x01\x04\x04\x02=\b\x13\x01\a\x03E6\x01\x03\b\x01\x02\x02\x02\x01\x02\x06\x02\x01\n\x01\x01\x05\x01\x02\x05\n\x01\x01\x01\x02\x01\f\x02\x02\x02\b\x01\x01\x01"},
|
||||||
{"net/http/cgi", "\x02P\x1c\x03z\x04\b\n\x01\x13\x01\x01\x01\x04\x01\x05\x02\t\x02\x01\x0f\x0e"},
|
{"net/http/cgi", "\x02P\x1b\x03{\x04\b\n\x01\x12\x01\x01\x01\x04\x01\x05\x02\n\x02\x01\x0f\x0e"},
|
||||||
{"net/http/cookiejar", "\x04j\x03\x90\x01\x01\b\f\x17\x03\x02\r\x04"},
|
{"net/http/cookiejar", "\x04i\x03\x91\x01\x01\b\v\x18\x03\x02\r\x04"},
|
||||||
{"net/http/fcgi", "\x02\x01\nZ\a\x03z\x16\x01\x01\x14\x19\x02\r"},
|
{"net/http/fcgi", "\x02\x01\nY\a\x03{\x16\x01\x01\x13\x1a\x02\r"},
|
||||||
{"net/http/httptest", "\x02\x01\nE\x02\x1c\x01z\x04\x12\x01\n\t\x02\x18\x01\x02\r\x0e"},
|
{"net/http/httptest", "\x02\x01\nE\x02\x1b\x01{\x04\x12\x01\t\t\x02\x19\x01\x02\r\x0e"},
|
||||||
{"net/http/httptrace", "\rEo@\x14\n "},
|
{"net/http/httptrace", "\rEnA\x13\n!"},
|
||||||
{"net/http/httputil", "\x02\x01\na\x03z\x04\x0f\x03\x01\x05\x02\x01\v\x01\x1a\x02\r\x0e"},
|
{"net/http/httputil", "\x02\x01\n`\x03{\x04\x0f\x03\x01\x05\x02\x01\n\x01\x1b\x02\r\x0e"},
|
||||||
{"net/http/internal", "\x02\x01k\x03z"},
|
{"net/http/internal", "\x02\x01j\x03{"},
|
||||||
{"net/http/internal/ascii", "\xb0\x02\x11"},
|
{"net/http/internal/ascii", "\xb0\x02\x11"},
|
||||||
{"net/http/internal/httpcommon", "\ra\x03\x96\x01\x0e\x01\x18\x01\x01\x02\x1b\x02"},
|
|
||||||
{"net/http/internal/testcert", "\xb0\x02"},
|
{"net/http/internal/testcert", "\xb0\x02"},
|
||||||
{"net/http/pprof", "\x02\x01\nd\x19,\x11$\x04\x13\x14\x01\r\x06\x02\x01\x02\x01\x0f"},
|
{"net/http/pprof", "\x02\x01\nc\x19,\x11%\x04\x13\x13\x01\r\x06\x03\x01\x02\x01\x0f"},
|
||||||
{"net/internal/cgotest", "\xd7\x01n"},
|
{"net/internal/cgotest", ""},
|
||||||
{"net/internal/socktest", "q\xc1\x01\x02"},
|
{"net/internal/socktest", "p\xc2\x01\x02"},
|
||||||
{"net/mail", "\x02l\x03z\x04\x0f\x03\x14\x1b\x02\r\x04"},
|
{"net/mail", "\x02k\x03{\x04\x0f\x03\x13\x1c\x02\r\x04"},
|
||||||
{"net/netip", "\x04j+\x01#;\x025\x15"},
|
{"net/netip", "\x04i+\x01#<\x025\x15"},
|
||||||
{"net/rpc", "\x02g\x05\x03\x10\n`\x04\x12\x01\x1d\x0e\x03\x02"},
|
{"net/rpc", "\x02f\x05\x03\x10\na\x04\x12\x01\x1c\x0f\x03\x02"},
|
||||||
{"net/rpc/jsonrpc", "k\x03\x03z\x16\x11 "},
|
{"net/rpc/jsonrpc", "j\x03\x03{\x16\x10!"},
|
||||||
{"net/smtp", "\x19.\v\x14\b\x03z\x16\x14\x1b"},
|
{"net/smtp", "\x19.\v\x13\b\x03{\x16\x13\x1c"},
|
||||||
{"net/textproto", "\x02\x01k\x03z\r\t.\x01\x02\x13"},
|
{"net/textproto", "\x02\x01j\x03{\r\t.\x01\x02\x13"},
|
||||||
{"net/url", "n\x03\x86\x01%\x11\x02\x01\x15"},
|
{"net/url", "m\x03\x87\x01$\x12\x02\x01\x15"},
|
||||||
{"os", "n+\x19\v\t\r\x03\x01\x04\x10\x018\t\x05\x01\x01\v\x06"},
|
{"os", "m+\x01\x18\x03\b\t\r\x03\x01\x04\x11\x017\n\x05\x01\x01\v\x06"},
|
||||||
{"os/exec", "\x03\naH \x01\x14\x01+\x06\a\v\x01\x04\v"},
|
{"os/exec", "\x03\n`H \x01\x15\x01*\x06\a\f\x01\x04\v"},
|
||||||
{"os/exec/internal/fdtest", "\xb4\x02"},
|
{"os/exec/internal/fdtest", "\xb4\x02"},
|
||||||
{"os/signal", "\r\x8a\x02\x16\x05\x02"},
|
{"os/signal", "\r\x89\x02\x17\x05\x02"},
|
||||||
{"os/user", "qfM\v\x01\x02\x02\x11"},
|
{"os/user", "\x02\x01j\x03{+\r\f\x01\x02"},
|
||||||
{"path", "n+\xaa\x01"},
|
{"path", "m+\xab\x01"},
|
||||||
{"path/filepath", "n+\x19:+\r\t\x03\x04\x0f"},
|
{"path/filepath", "m+\x19;*\r\n\x03\x04\x0f"},
|
||||||
{"plugin", "n\xc4\x01\x13"},
|
{"plugin", "m"},
|
||||||
{"reflect", "n'\x04\x1c\b\f\x05\x02\x18\x06\n,\v\x03\x0f\x02\x02"},
|
{"reflect", "m'\x04\x1c\b\f\x04\x02\x1a\x06\n+\f\x03\x0f\x02\x02"},
|
||||||
{"reflect/internal/example1", ""},
|
{"reflect/internal/example1", ""},
|
||||||
{"reflect/internal/example2", ""},
|
{"reflect/internal/example2", ""},
|
||||||
{"regexp", "\x03\xe8\x018\n\x02\x01\x02\x0f\x02"},
|
{"regexp", "\x03\xe8\x017\v\x02\x01\x02\x0f\x02"},
|
||||||
{"regexp/syntax", "\xad\x02\x01\x01\x01\x11\x02"},
|
{"regexp/syntax", "\xad\x02\x01\x01\x01\x11\x02"},
|
||||||
{"runtime", "\x95\x01\x04\x01\x02\f\x06\a\x02\x01\x01\x0f\x04\x01\x01\x01\x01\x03\x0fc"},
|
{"runtime", "\x94\x01\x04\x01\x02\f\x06\a\x02\x01\x01\x0f\x03\x01\x01\x01\x01\x01\x03s"},
|
||||||
{"runtime/cgo", "\xd0\x01b\x01\x12"},
|
{"runtime/coverage", "\x9f\x01L"},
|
||||||
{"runtime/coverage", "\xa0\x01K"},
|
{"runtime/debug", "pUQ\r\n\x02\x01\x0f\x06"},
|
||||||
{"runtime/debug", "qUQ\r\t\x02\x01\x0f\x06"},
|
{"runtime/internal/startlinetest", ""},
|
||||||
{"runtime/internal/wasitest", ""},
|
{"runtime/internal/wasitest", ""},
|
||||||
{"runtime/metrics", "\xb7\x01A,!"},
|
{"runtime/metrics", "\xb6\x01B+\""},
|
||||||
{"runtime/pprof", "\x02\x01\x01\x03\x06Z\a\x03$3#\r\x1f\r\t\x01\x01\x01\x02\x02\b\x03\x06"},
|
{"runtime/pprof", "\x02\x01\x01\x03\x06Y\a\x03$3$\r\x1e\r\n\x01\x01\x01\x02\x02\b\x03\x06"},
|
||||||
{"runtime/race", ""},
|
{"runtime/race", "\xab\x02"},
|
||||||
{"runtime/trace", "\rdz9\x0e\x01\x12"},
|
{"runtime/race/internal/amd64v1", ""},
|
||||||
|
{"runtime/trace", "\rc{8\x0f\x01\x12"},
|
||||||
{"slices", "\x04\xea\x01\fK"},
|
{"slices", "\x04\xea\x01\fK"},
|
||||||
{"sort", "\xca\x0103"},
|
{"sort", "\xc9\x0113"},
|
||||||
{"strconv", "n+:%\x02I"},
|
{"strconv", "m+:&\x02I"},
|
||||||
{"strings", "n'\x04:\x18\x03\f8\x0f\x02\x02"},
|
{"strings", "m'\x04:\x19\x03\f8\x0f\x02\x02"},
|
||||||
{"structs", ""},
|
{"structs", ""},
|
||||||
{"sync", "\xc9\x01\vP\x0f\x12"},
|
{"sync", "\xc8\x01\vP\x10\x12"},
|
||||||
{"sync/atomic", "\xc5\x02"},
|
{"sync/atomic", "\xc5\x02"},
|
||||||
{"syscall", "n'\x01\x03\x01\x1b\b\x03\x03\x06[\x0e\x01\x12"},
|
{"syscall", "m(\x03\x01\x1b\b\x03\x03\x06\aT\x0f\x01\x12"},
|
||||||
{"testing", "\x03\na\x02\x01X\x0f\x13\r\x04\x1b\x06\x02\x05\x03\x05\x01\x02\x01\x02\x01\f\x02\x02\x02"},
|
{"testing", "\x03\n`\x02\x01G\x11\x0f\x14\r\x04\x1a\x06\x02\x05\x02\a\x01\x02\x01\x02\x01\f\x02\x02\x02"},
|
||||||
{"testing/fstest", "n\x03z\x01\v%\x11\x03\b\a"},
|
{"testing/fstest", "m\x03{\x01\v$\x12\x03\b\a"},
|
||||||
{"testing/internal/testdeps", "\x02\v\xa7\x01'\x10,\x03\x05\x03\b\x06\x02\r"},
|
{"testing/internal/testdeps", "\x02\v\xa6\x01'\x11+\x03\x05\x03\b\a\x02\r"},
|
||||||
{"testing/iotest", "\x03k\x03z\x04"},
|
{"testing/iotest", "\x03j\x03{\x04"},
|
||||||
{"testing/quick", "p\x01\x87\x01\x04#\x11\x0f"},
|
{"testing/quick", "o\x01\x88\x01\x04\"\x12\x0f"},
|
||||||
{"testing/slogtest", "\ra\x03\x80\x01.\x05\x11\n"},
|
{"testing/slogtest", "\r`\x03\x81\x01-\x05\x12\n"},
|
||||||
{"text/scanner", "\x03nz,*\x02"},
|
{"text/scanner", "\x03m{++\x02"},
|
||||||
{"text/tabwriter", "qzX"},
|
{"text/tabwriter", "p{X"},
|
||||||
{"text/template", "n\x03B8\x01\v\x1f\x01\x05\x01\x02\x05\f\x02\f\x03\x02"},
|
{"text/template", "m\x03B9\x01\v\x1e\x01\x05\x01\x02\x05\r\x02\f\x03\x02"},
|
||||||
{"text/template/parse", "\x03n\xb3\x01\v\x01\x11\x02"},
|
{"text/template/parse", "\x03m\xb3\x01\f\x01\x11\x02"},
|
||||||
{"time", "n+\x1d\x1d'*\x0e\x02\x11"},
|
{"time", "m+\x1d\x1d()\x0f\x02\x11"},
|
||||||
{"time/tzdata", "n\xc6\x01\x11"},
|
{"time/tzdata", "m\xc7\x01\x11"},
|
||||||
{"unicode", ""},
|
{"unicode", ""},
|
||||||
{"unicode/utf16", ""},
|
{"unicode/utf16", ""},
|
||||||
{"unicode/utf8", ""},
|
{"unicode/utf8", ""},
|
||||||
{"unique", "\x95\x01>\x01P\x0e\x13\x12"},
|
{"unique", "\x94\x01>\x01P\x0f\x13\x12"},
|
||||||
{"unsafe", ""},
|
{"unsafe", ""},
|
||||||
{"vendor/golang.org/x/crypto/chacha20", "\x10W\a\x8c\x01*&"},
|
{"vendor/golang.org/x/crypto/chacha20", "\x10V\a\x8d\x01)'"},
|
||||||
{"vendor/golang.org/x/crypto/chacha20poly1305", "\x10W\a\xd8\x01\x04\x01"},
|
{"vendor/golang.org/x/crypto/chacha20poly1305", "\x10V\a\xd9\x01\x04\x01\a"},
|
||||||
{"vendor/golang.org/x/crypto/cryptobyte", "d\n\x03\x88\x01& \n"},
|
{"vendor/golang.org/x/crypto/cryptobyte", "c\n\x03\x89\x01%!\n"},
|
||||||
{"vendor/golang.org/x/crypto/cryptobyte/asn1", ""},
|
{"vendor/golang.org/x/crypto/cryptobyte/asn1", ""},
|
||||||
{"vendor/golang.org/x/crypto/internal/alias", "\xc5\x02"},
|
{"vendor/golang.org/x/crypto/internal/alias", "\xc5\x02"},
|
||||||
{"vendor/golang.org/x/crypto/internal/poly1305", "Q\x16\x93\x01"},
|
{"vendor/golang.org/x/crypto/internal/poly1305", "Q\x15\x94\x01"},
|
||||||
{"vendor/golang.org/x/net/dns/dnsmessage", "n"},
|
{"vendor/golang.org/x/net/dns/dnsmessage", "m"},
|
||||||
{"vendor/golang.org/x/net/http/httpguts", "\x81\x02\x14\x1b\x13\r"},
|
{"vendor/golang.org/x/net/http/httpguts", "\x81\x02\x13\x1c\x13\r"},
|
||||||
{"vendor/golang.org/x/net/http/httpproxy", "n\x03\x90\x01\x15\x01\x19\x13\r"},
|
{"vendor/golang.org/x/net/http/httpproxy", "m\x03\x91\x01\x0f\x05\x01\x1a\x13\r"},
|
||||||
{"vendor/golang.org/x/net/http2/hpack", "\x03k\x03zG"},
|
{"vendor/golang.org/x/net/http2/hpack", "\x03j\x03{G"},
|
||||||
{"vendor/golang.org/x/net/idna", "q\x87\x018\x13\x10\x02\x01"},
|
{"vendor/golang.org/x/net/idna", "p\x88\x018\x13\x10\x02\x01"},
|
||||||
{"vendor/golang.org/x/net/nettest", "\x03d\a\x03z\x11\x05\x16\x01\f\v\x01\x02\x02\x01\n"},
|
{"vendor/golang.org/x/net/nettest", "\x03c\a\x03{\x11\x05\x15\x01\f\f\x01\x02\x02\x01\n"},
|
||||||
{"vendor/golang.org/x/sys/cpu", "\x97\x02\r\v\x01\x15"},
|
{"vendor/golang.org/x/sys/cpu", "\x96\x02\r\f\x01\x15"},
|
||||||
{"vendor/golang.org/x/text/secure/bidirule", "n\xd5\x01\x11\x01"},
|
{"vendor/golang.org/x/text/secure/bidirule", "m\xd6\x01\x11\x01"},
|
||||||
{"vendor/golang.org/x/text/transform", "\x03k}X"},
|
{"vendor/golang.org/x/text/transform", "\x03j~X"},
|
||||||
{"vendor/golang.org/x/text/unicode/bidi", "\x03\bf~?\x15"},
|
{"vendor/golang.org/x/text/unicode/bidi", "\x03\be\x7f?\x15"},
|
||||||
{"vendor/golang.org/x/text/unicode/norm", "g\nzG\x11\x11"},
|
{"vendor/golang.org/x/text/unicode/norm", "f\n{G\x11\x11"},
|
||||||
{"weak", "\x95\x01\x8f\x01!"},
|
{"weak", "\x94\x01\x8f\x01\""},
|
||||||
}
|
}
|
||||||
|
|
|
@ -7119,7 +7119,6 @@ var PackageSymbols = map[string][]Symbol{
|
||||||
{"FormatFileInfo", Func, 21},
|
{"FormatFileInfo", Func, 21},
|
||||||
{"Glob", Func, 16},
|
{"Glob", Func, 16},
|
||||||
{"GlobFS", Type, 16},
|
{"GlobFS", Type, 16},
|
||||||
{"Lstat", Func, 25},
|
|
||||||
{"ModeAppend", Const, 16},
|
{"ModeAppend", Const, 16},
|
||||||
{"ModeCharDevice", Const, 16},
|
{"ModeCharDevice", Const, 16},
|
||||||
{"ModeDevice", Const, 16},
|
{"ModeDevice", Const, 16},
|
||||||
|
@ -7144,8 +7143,6 @@ var PackageSymbols = map[string][]Symbol{
|
||||||
{"ReadDirFile", Type, 16},
|
{"ReadDirFile", Type, 16},
|
||||||
{"ReadFile", Func, 16},
|
{"ReadFile", Func, 16},
|
||||||
{"ReadFileFS", Type, 16},
|
{"ReadFileFS", Type, 16},
|
||||||
{"ReadLink", Func, 25},
|
|
||||||
{"ReadLinkFS", Type, 25},
|
|
||||||
{"SkipAll", Var, 20},
|
{"SkipAll", Var, 20},
|
||||||
{"SkipDir", Var, 16},
|
{"SkipDir", Var, 16},
|
||||||
{"Stat", Func, 16},
|
{"Stat", Func, 16},
|
||||||
|
@ -9149,8 +9146,6 @@ var PackageSymbols = map[string][]Symbol{
|
||||||
{"(*ProcessState).SysUsage", Method, 0},
|
{"(*ProcessState).SysUsage", Method, 0},
|
||||||
{"(*ProcessState).SystemTime", Method, 0},
|
{"(*ProcessState).SystemTime", Method, 0},
|
||||||
{"(*ProcessState).UserTime", Method, 0},
|
{"(*ProcessState).UserTime", Method, 0},
|
||||||
{"(*Root).Chmod", Method, 25},
|
|
||||||
{"(*Root).Chown", Method, 25},
|
|
||||||
{"(*Root).Close", Method, 24},
|
{"(*Root).Close", Method, 24},
|
||||||
{"(*Root).Create", Method, 24},
|
{"(*Root).Create", Method, 24},
|
||||||
{"(*Root).FS", Method, 24},
|
{"(*Root).FS", Method, 24},
|
||||||
|
@ -16759,11 +16754,9 @@ var PackageSymbols = map[string][]Symbol{
|
||||||
},
|
},
|
||||||
"testing/fstest": {
|
"testing/fstest": {
|
||||||
{"(MapFS).Glob", Method, 16},
|
{"(MapFS).Glob", Method, 16},
|
||||||
{"(MapFS).Lstat", Method, 25},
|
|
||||||
{"(MapFS).Open", Method, 16},
|
{"(MapFS).Open", Method, 16},
|
||||||
{"(MapFS).ReadDir", Method, 16},
|
{"(MapFS).ReadDir", Method, 16},
|
||||||
{"(MapFS).ReadFile", Method, 16},
|
{"(MapFS).ReadFile", Method, 16},
|
||||||
{"(MapFS).ReadLink", Method, 25},
|
|
||||||
{"(MapFS).Stat", Method, 16},
|
{"(MapFS).Stat", Method, 16},
|
||||||
{"(MapFS).Sub", Method, 16},
|
{"(MapFS).Sub", Method, 16},
|
||||||
{"MapFS", Type, 16},
|
{"MapFS", Type, 16},
|
||||||
|
|
|
@ -70,7 +70,7 @@ func (w *Free) Has(typ types.Type) (res bool) {
|
||||||
|
|
||||||
case *types.Tuple:
|
case *types.Tuple:
|
||||||
n := t.Len()
|
n := t.Len()
|
||||||
for i := 0; i < n; i++ {
|
for i := range n {
|
||||||
if w.Has(t.At(i).Type()) {
|
if w.Has(t.At(i).Type()) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT.
|
||||||
|
// Source: ../../cmd/compile/internal/types2/termlist.go
|
||||||
|
|
||||||
// Copyright 2021 The Go Authors. All rights reserved.
|
// Copyright 2021 The Go Authors. All rights reserved.
|
||||||
// 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.
|
||||||
|
@ -7,8 +10,8 @@
|
||||||
package typeparams
|
package typeparams
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"go/types"
|
"go/types"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
// A termlist represents the type set represented by the union
|
// A termlist represents the type set represented by the union
|
||||||
|
@ -22,15 +25,18 @@ type termlist []*term
|
||||||
// It is in normal form.
|
// It is in normal form.
|
||||||
var allTermlist = termlist{new(term)}
|
var allTermlist = termlist{new(term)}
|
||||||
|
|
||||||
|
// termSep is the separator used between individual terms.
|
||||||
|
const termSep = " | "
|
||||||
|
|
||||||
// String prints the termlist exactly (without normalization).
|
// String prints the termlist exactly (without normalization).
|
||||||
func (xl termlist) String() string {
|
func (xl termlist) String() string {
|
||||||
if len(xl) == 0 {
|
if len(xl) == 0 {
|
||||||
return "∅"
|
return "∅"
|
||||||
}
|
}
|
||||||
var buf bytes.Buffer
|
var buf strings.Builder
|
||||||
for i, x := range xl {
|
for i, x := range xl {
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
buf.WriteString(" | ")
|
buf.WriteString(termSep)
|
||||||
}
|
}
|
||||||
buf.WriteString(x.String())
|
buf.WriteString(x.String())
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
// Code generated by "go test -run=Generate -write=all"; DO NOT EDIT.
|
||||||
|
// Source: ../../cmd/compile/internal/types2/typeterm.go
|
||||||
|
|
||||||
// Copyright 2021 The Go Authors. All rights reserved.
|
// Copyright 2021 The Go Authors. All rights reserved.
|
||||||
// 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.
|
||||||
|
|
135
vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
generated
vendored
Normal file
135
vendor/golang.org/x/tools/internal/typesinternal/classify_call.go
generated
vendored
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
// Copyright 2018 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package typesinternal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"go/ast"
|
||||||
|
"go/types"
|
||||||
|
_ "unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// CallKind describes the function position of an [*ast.CallExpr].
|
||||||
|
type CallKind int
|
||||||
|
|
||||||
|
const (
|
||||||
|
CallStatic CallKind = iota // static call to known function
|
||||||
|
CallInterface // dynamic call through an interface method
|
||||||
|
CallDynamic // dynamic call of a func value
|
||||||
|
CallBuiltin // call to a builtin function
|
||||||
|
CallConversion // a conversion (not a call)
|
||||||
|
)
|
||||||
|
|
||||||
|
var callKindNames = []string{
|
||||||
|
"CallStatic",
|
||||||
|
"CallInterface",
|
||||||
|
"CallDynamic",
|
||||||
|
"CallBuiltin",
|
||||||
|
"CallConversion",
|
||||||
|
}
|
||||||
|
|
||||||
|
func (k CallKind) String() string {
|
||||||
|
if i := int(k); i >= 0 && i < len(callKindNames) {
|
||||||
|
return callKindNames[i]
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("typeutil.CallKind(%d)", k)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ClassifyCall classifies the function position of a call expression ([*ast.CallExpr]).
|
||||||
|
// It distinguishes among true function calls, calls to builtins, and type conversions,
|
||||||
|
// and further classifies function calls as static calls (where the function is known),
|
||||||
|
// dynamic interface calls, and other dynamic calls.
|
||||||
|
//
|
||||||
|
// For the declarations:
|
||||||
|
//
|
||||||
|
// func f() {}
|
||||||
|
// func g[T any]() {}
|
||||||
|
// var v func()
|
||||||
|
// var s []func()
|
||||||
|
// type I interface { M() }
|
||||||
|
// var i I
|
||||||
|
//
|
||||||
|
// ClassifyCall returns the following:
|
||||||
|
//
|
||||||
|
// f() CallStatic
|
||||||
|
// g[int]() CallStatic
|
||||||
|
// i.M() CallInterface
|
||||||
|
// min(1, 2) CallBuiltin
|
||||||
|
// v() CallDynamic
|
||||||
|
// s[0]() CallDynamic
|
||||||
|
// int(x) CallConversion
|
||||||
|
// []byte("") CallConversion
|
||||||
|
func ClassifyCall(info *types.Info, call *ast.CallExpr) CallKind {
|
||||||
|
if info.Types == nil {
|
||||||
|
panic("ClassifyCall: info.Types is nil")
|
||||||
|
}
|
||||||
|
if info.Types[call.Fun].IsType() {
|
||||||
|
return CallConversion
|
||||||
|
}
|
||||||
|
obj := info.Uses[UsedIdent(info, call.Fun)]
|
||||||
|
// Classify the call by the type of the object, if any.
|
||||||
|
switch obj := obj.(type) {
|
||||||
|
case *types.Builtin:
|
||||||
|
return CallBuiltin
|
||||||
|
case *types.Func:
|
||||||
|
if interfaceMethod(obj) {
|
||||||
|
return CallInterface
|
||||||
|
}
|
||||||
|
return CallStatic
|
||||||
|
default:
|
||||||
|
return CallDynamic
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// UsedIdent returns the identifier such that info.Uses[UsedIdent(info, e)]
|
||||||
|
// is the [types.Object] used by e, if any.
|
||||||
|
//
|
||||||
|
// If e is one of various forms of reference:
|
||||||
|
//
|
||||||
|
// f, c, v, T lexical reference
|
||||||
|
// pkg.X qualified identifier
|
||||||
|
// f[T] or pkg.F[K,V] instantiations of the above kinds
|
||||||
|
// expr.f field or method value selector
|
||||||
|
// T.f method expression selector
|
||||||
|
//
|
||||||
|
// UsedIdent returns the identifier whose is associated value in [types.Info.Uses]
|
||||||
|
// is the object to which it refers.
|
||||||
|
//
|
||||||
|
// For the declarations:
|
||||||
|
//
|
||||||
|
// func F[T any] {...}
|
||||||
|
// type I interface { M() }
|
||||||
|
// var (
|
||||||
|
// x int
|
||||||
|
// s struct { f int }
|
||||||
|
// a []int
|
||||||
|
// i I
|
||||||
|
// )
|
||||||
|
//
|
||||||
|
// UsedIdent returns the following:
|
||||||
|
//
|
||||||
|
// Expr UsedIdent
|
||||||
|
// x x
|
||||||
|
// s.f f
|
||||||
|
// F[int] F
|
||||||
|
// i.M M
|
||||||
|
// I.M M
|
||||||
|
// min min
|
||||||
|
// int int
|
||||||
|
// 1 nil
|
||||||
|
// a[0] nil
|
||||||
|
// []byte nil
|
||||||
|
//
|
||||||
|
// Note: if e is an instantiated function or method, UsedIdent returns
|
||||||
|
// the corresponding generic function or method on the generic type.
|
||||||
|
func UsedIdent(info *types.Info, e ast.Expr) *ast.Ident {
|
||||||
|
return usedIdent(info, e)
|
||||||
|
}
|
||||||
|
|
||||||
|
//go:linkname usedIdent golang.org/x/tools/go/types/typeutil.usedIdent
|
||||||
|
func usedIdent(info *types.Info, e ast.Expr) *ast.Ident
|
||||||
|
|
||||||
|
//go:linkname interfaceMethod golang.org/x/tools/go/types/typeutil.interfaceMethod
|
||||||
|
func interfaceMethod(f *types.Func) bool
|
|
@ -7,6 +7,7 @@
|
||||||
package typesinternal
|
package typesinternal
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"go/ast"
|
||||||
"go/token"
|
"go/token"
|
||||||
"go/types"
|
"go/types"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
@ -127,3 +128,17 @@ func Origin(t NamedOrAlias) NamedOrAlias {
|
||||||
func IsPackageLevel(obj types.Object) bool {
|
func IsPackageLevel(obj types.Object) bool {
|
||||||
return obj.Pkg() != nil && obj.Parent() == obj.Pkg().Scope()
|
return obj.Pkg() != nil && obj.Parent() == obj.Pkg().Scope()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewTypesInfo returns a *types.Info with all maps populated.
|
||||||
|
func NewTypesInfo() *types.Info {
|
||||||
|
return &types.Info{
|
||||||
|
Types: map[ast.Expr]types.TypeAndValue{},
|
||||||
|
Instances: map[*ast.Ident]types.Instance{},
|
||||||
|
Defs: map[*ast.Ident]types.Object{},
|
||||||
|
Uses: map[*ast.Ident]types.Object{},
|
||||||
|
Implicits: map[ast.Node]types.Object{},
|
||||||
|
Selections: map[*ast.SelectorExpr]*types.Selection{},
|
||||||
|
Scopes: map[ast.Node]*types.Scope{},
|
||||||
|
FileVersions: map[*ast.File]string{},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -70,12 +70,14 @@ func CreatePatch(a, b []byte) ([]Operation, error) {
|
||||||
}
|
}
|
||||||
var aI interface{}
|
var aI interface{}
|
||||||
var bI interface{}
|
var bI interface{}
|
||||||
err := json.Unmarshal(a, &aI)
|
aDec := json.NewDecoder(bytes.NewReader(a))
|
||||||
if err != nil {
|
aDec.UseNumber()
|
||||||
|
if err := aDec.Decode(&aI); err != nil {
|
||||||
return nil, errBadJSONDoc
|
return nil, errBadJSONDoc
|
||||||
}
|
}
|
||||||
err = json.Unmarshal(b, &bI)
|
bDec := json.NewDecoder(bytes.NewReader(b))
|
||||||
if err != nil {
|
bDec.UseNumber()
|
||||||
|
if err := bDec.Decode(&bI); err != nil {
|
||||||
return nil, errBadJSONDoc
|
return nil, errBadJSONDoc
|
||||||
}
|
}
|
||||||
return handleValues(aI, bI, "", []Operation{})
|
return handleValues(aI, bI, "", []Operation{})
|
||||||
|
@ -94,6 +96,11 @@ func matchesValue(av, bv interface{}) bool {
|
||||||
if ok && bt == at {
|
if ok && bt == at {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
case json.Number:
|
||||||
|
bt, ok := bv.(json.Number)
|
||||||
|
if ok && bt == at {
|
||||||
|
return true
|
||||||
|
}
|
||||||
case float64:
|
case float64:
|
||||||
bt, ok := bv.(float64)
|
bt, ok := bv.(float64)
|
||||||
if ok && bt == at {
|
if ok && bt == at {
|
||||||
|
@ -212,7 +219,7 @@ func handleValues(av, bv interface{}, p string, patch []Operation) ([]Operation,
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
case string, float64, bool:
|
case string, float64, bool, json.Number:
|
||||||
if !matchesValue(av, bv) {
|
if !matchesValue(av, bv) {
|
||||||
patch = append(patch, NewOperation("replace", p, bv))
|
patch = append(patch, NewOperation("replace", p, bv))
|
||||||
}
|
}
|
||||||
|
|
28
vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
generated
vendored
28
vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go
generated
vendored
|
@ -46,13 +46,17 @@ var (
|
||||||
type delegatingResolver struct {
|
type delegatingResolver struct {
|
||||||
target resolver.Target // parsed target URI to be resolved
|
target resolver.Target // parsed target URI to be resolved
|
||||||
cc resolver.ClientConn // gRPC ClientConn
|
cc resolver.ClientConn // gRPC ClientConn
|
||||||
targetResolver resolver.Resolver // resolver for the target URI, based on its scheme
|
|
||||||
proxyResolver resolver.Resolver // resolver for the proxy URI; nil if no proxy is configured
|
|
||||||
proxyURL *url.URL // proxy URL, derived from proxy environment and target
|
proxyURL *url.URL // proxy URL, derived from proxy environment and target
|
||||||
|
|
||||||
mu sync.Mutex // protects all the fields below
|
mu sync.Mutex // protects all the fields below
|
||||||
targetResolverState *resolver.State // state of the target resolver
|
targetResolverState *resolver.State // state of the target resolver
|
||||||
proxyAddrs []resolver.Address // resolved proxy addresses; empty if no proxy is configured
|
proxyAddrs []resolver.Address // resolved proxy addresses; empty if no proxy is configured
|
||||||
|
|
||||||
|
// childMu serializes calls into child resolvers. It also protects access to
|
||||||
|
// the following fields.
|
||||||
|
childMu sync.Mutex
|
||||||
|
targetResolver resolver.Resolver // resolver for the target URI, based on its scheme
|
||||||
|
proxyResolver resolver.Resolver // resolver for the proxy URI; nil if no proxy is configured
|
||||||
}
|
}
|
||||||
|
|
||||||
// nopResolver is a resolver that does nothing.
|
// nopResolver is a resolver that does nothing.
|
||||||
|
@ -111,6 +115,10 @@ func New(target resolver.Target, cc resolver.ClientConn, opts resolver.BuildOpti
|
||||||
logger.Infof("Proxy URL detected : %s", r.proxyURL)
|
logger.Infof("Proxy URL detected : %s", r.proxyURL)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Resolver updates from one child may trigger calls into the other. Block
|
||||||
|
// updates until the children are initialized.
|
||||||
|
r.childMu.Lock()
|
||||||
|
defer r.childMu.Unlock()
|
||||||
// When the scheme is 'dns' and target resolution on client is not enabled,
|
// When the scheme is 'dns' and target resolution on client is not enabled,
|
||||||
// resolution should be handled by the proxy, not the client. Therefore, we
|
// resolution should be handled by the proxy, not the client. Therefore, we
|
||||||
// bypass the target resolver and store the unresolved target address.
|
// bypass the target resolver and store the unresolved target address.
|
||||||
|
@ -165,11 +173,15 @@ func (r *delegatingResolver) proxyURIResolver(opts resolver.BuildOptions) (resol
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *delegatingResolver) ResolveNow(o resolver.ResolveNowOptions) {
|
func (r *delegatingResolver) ResolveNow(o resolver.ResolveNowOptions) {
|
||||||
|
r.childMu.Lock()
|
||||||
|
defer r.childMu.Unlock()
|
||||||
r.targetResolver.ResolveNow(o)
|
r.targetResolver.ResolveNow(o)
|
||||||
r.proxyResolver.ResolveNow(o)
|
r.proxyResolver.ResolveNow(o)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *delegatingResolver) Close() {
|
func (r *delegatingResolver) Close() {
|
||||||
|
r.childMu.Lock()
|
||||||
|
defer r.childMu.Unlock()
|
||||||
r.targetResolver.Close()
|
r.targetResolver.Close()
|
||||||
r.targetResolver = nil
|
r.targetResolver = nil
|
||||||
|
|
||||||
|
@ -271,8 +283,14 @@ func (r *delegatingResolver) updateProxyResolverState(state resolver.State) erro
|
||||||
// second resolver hasn't sent an update yet, so it would cause `New()` to
|
// second resolver hasn't sent an update yet, so it would cause `New()` to
|
||||||
// block indefinitely.
|
// block indefinitely.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
go func() {
|
||||||
|
r.childMu.Lock()
|
||||||
|
defer r.childMu.Unlock()
|
||||||
|
if r.targetResolver != nil {
|
||||||
r.targetResolver.ResolveNow(resolver.ResolveNowOptions{})
|
r.targetResolver.ResolveNow(resolver.ResolveNowOptions{})
|
||||||
}
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,8 +309,14 @@ func (r *delegatingResolver) updateTargetResolverState(state resolver.State) err
|
||||||
r.targetResolverState = &state
|
r.targetResolverState = &state
|
||||||
err := r.updateClientConnStateLocked()
|
err := r.updateClientConnStateLocked()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
go func() {
|
||||||
|
r.childMu.Lock()
|
||||||
|
defer r.childMu.Unlock()
|
||||||
|
if r.proxyResolver != nil {
|
||||||
r.proxyResolver.ResolveNow(resolver.ResolveNowOptions{})
|
r.proxyResolver.ResolveNow(resolver.ResolveNowOptions{})
|
||||||
}
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,12 @@
|
||||||
|
|
||||||
package resolver
|
package resolver
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
type addressMapEntry struct {
|
type addressMapEntry struct {
|
||||||
addr Address
|
addr Address
|
||||||
value any
|
value any
|
||||||
|
@ -137,66 +143,61 @@ func (a *AddressMap) Values() []any {
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
type endpointNode struct {
|
type endpointMapKey string
|
||||||
addrs map[string]struct{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Equal returns whether the unordered set of addrs are the same between the
|
|
||||||
// endpoint nodes.
|
|
||||||
func (en *endpointNode) Equal(en2 *endpointNode) bool {
|
|
||||||
if len(en.addrs) != len(en2.addrs) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
for addr := range en.addrs {
|
|
||||||
if _, ok := en2.addrs[addr]; !ok {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
func toEndpointNode(endpoint Endpoint) endpointNode {
|
|
||||||
en := make(map[string]struct{})
|
|
||||||
for _, addr := range endpoint.Addresses {
|
|
||||||
en[addr.Addr] = struct{}{}
|
|
||||||
}
|
|
||||||
return endpointNode{
|
|
||||||
addrs: en,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// EndpointMap is a map of endpoints to arbitrary values keyed on only the
|
// EndpointMap is a map of endpoints to arbitrary values keyed on only the
|
||||||
// unordered set of address strings within an endpoint. This map is not thread
|
// unordered set of address strings within an endpoint. This map is not thread
|
||||||
// safe, thus it is unsafe to access concurrently. Must be created via
|
// safe, thus it is unsafe to access concurrently. Must be created via
|
||||||
// NewEndpointMap; do not construct directly.
|
// NewEndpointMap; do not construct directly.
|
||||||
type EndpointMap struct {
|
type EndpointMap struct {
|
||||||
endpoints map[*endpointNode]any
|
endpoints map[endpointMapKey]endpointData
|
||||||
|
}
|
||||||
|
|
||||||
|
type endpointData struct {
|
||||||
|
// decodedKey stores the original key to avoid decoding when iterating on
|
||||||
|
// EndpointMap keys.
|
||||||
|
decodedKey Endpoint
|
||||||
|
value any
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewEndpointMap creates a new EndpointMap.
|
// NewEndpointMap creates a new EndpointMap.
|
||||||
func NewEndpointMap() *EndpointMap {
|
func NewEndpointMap() *EndpointMap {
|
||||||
return &EndpointMap{
|
return &EndpointMap{
|
||||||
endpoints: make(map[*endpointNode]any),
|
endpoints: make(map[endpointMapKey]endpointData),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// encodeEndpoint returns a string that uniquely identifies the unordered set of
|
||||||
|
// addresses within an endpoint.
|
||||||
|
func encodeEndpoint(e Endpoint) endpointMapKey {
|
||||||
|
addrs := make([]string, 0, len(e.Addresses))
|
||||||
|
// base64 encoding the address strings restricts the characters present
|
||||||
|
// within the strings. This allows us to use a delimiter without the need of
|
||||||
|
// escape characters.
|
||||||
|
for _, addr := range e.Addresses {
|
||||||
|
addrs = append(addrs, base64.StdEncoding.EncodeToString([]byte(addr.Addr)))
|
||||||
|
}
|
||||||
|
sort.Strings(addrs)
|
||||||
|
// " " should not appear in base64 encoded strings.
|
||||||
|
return endpointMapKey(strings.Join(addrs, " "))
|
||||||
|
}
|
||||||
|
|
||||||
// Get returns the value for the address in the map, if present.
|
// Get returns the value for the address in the map, if present.
|
||||||
func (em *EndpointMap) Get(e Endpoint) (value any, ok bool) {
|
func (em *EndpointMap) Get(e Endpoint) (value any, ok bool) {
|
||||||
en := toEndpointNode(e)
|
val, found := em.endpoints[encodeEndpoint(e)]
|
||||||
if endpoint := em.find(en); endpoint != nil {
|
if found {
|
||||||
return em.endpoints[endpoint], true
|
return val.value, true
|
||||||
}
|
}
|
||||||
return nil, false
|
return nil, false
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set updates or adds the value to the address in the map.
|
// Set updates or adds the value to the address in the map.
|
||||||
func (em *EndpointMap) Set(e Endpoint, value any) {
|
func (em *EndpointMap) Set(e Endpoint, value any) {
|
||||||
en := toEndpointNode(e)
|
en := encodeEndpoint(e)
|
||||||
if endpoint := em.find(en); endpoint != nil {
|
em.endpoints[en] = endpointData{
|
||||||
em.endpoints[endpoint] = value
|
decodedKey: Endpoint{Addresses: e.Addresses},
|
||||||
return
|
value: value,
|
||||||
}
|
}
|
||||||
em.endpoints[&en] = value
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Len returns the number of entries in the map.
|
// Len returns the number of entries in the map.
|
||||||
|
@ -211,12 +212,8 @@ func (em *EndpointMap) Len() int {
|
||||||
// used for EndpointMap accesses.
|
// used for EndpointMap accesses.
|
||||||
func (em *EndpointMap) Keys() []Endpoint {
|
func (em *EndpointMap) Keys() []Endpoint {
|
||||||
ret := make([]Endpoint, 0, len(em.endpoints))
|
ret := make([]Endpoint, 0, len(em.endpoints))
|
||||||
for en := range em.endpoints {
|
for _, en := range em.endpoints {
|
||||||
var endpoint Endpoint
|
ret = append(ret, en.decodedKey)
|
||||||
for addr := range en.addrs {
|
|
||||||
endpoint.Addresses = append(endpoint.Addresses, Address{Addr: addr})
|
|
||||||
}
|
|
||||||
ret = append(ret, endpoint)
|
|
||||||
}
|
}
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
@ -225,27 +222,13 @@ func (em *EndpointMap) Keys() []Endpoint {
|
||||||
func (em *EndpointMap) Values() []any {
|
func (em *EndpointMap) Values() []any {
|
||||||
ret := make([]any, 0, len(em.endpoints))
|
ret := make([]any, 0, len(em.endpoints))
|
||||||
for _, val := range em.endpoints {
|
for _, val := range em.endpoints {
|
||||||
ret = append(ret, val)
|
ret = append(ret, val.value)
|
||||||
}
|
}
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
// find returns a pointer to the endpoint node in em if the endpoint node is
|
|
||||||
// already present. If not found, nil is returned. The comparisons are done on
|
|
||||||
// the unordered set of addresses within an endpoint.
|
|
||||||
func (em EndpointMap) find(e endpointNode) *endpointNode {
|
|
||||||
for endpoint := range em.endpoints {
|
|
||||||
if e.Equal(endpoint) {
|
|
||||||
return endpoint
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete removes the specified endpoint from the map.
|
// Delete removes the specified endpoint from the map.
|
||||||
func (em *EndpointMap) Delete(e Endpoint) {
|
func (em *EndpointMap) Delete(e Endpoint) {
|
||||||
en := toEndpointNode(e)
|
en := encodeEndpoint(e)
|
||||||
if entry := em.find(en); entry != nil {
|
delete(em.endpoints, en)
|
||||||
delete(em.endpoints, entry)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,12 +134,7 @@ func (ccr *ccResolverWrapper) UpdateState(s resolver.State) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if s.Endpoints == nil {
|
if s.Endpoints == nil {
|
||||||
s.Endpoints = make([]resolver.Endpoint, 0, len(s.Addresses))
|
s.Endpoints = addressesToEndpoints(s.Addresses)
|
||||||
for _, a := range s.Addresses {
|
|
||||||
ep := resolver.Endpoint{Addresses: []resolver.Address{a}, Attributes: a.BalancerAttributes}
|
|
||||||
ep.Addresses[0].BalancerAttributes = nil
|
|
||||||
s.Endpoints = append(s.Endpoints, ep)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
ccr.addChannelzTraceEvent(s)
|
ccr.addChannelzTraceEvent(s)
|
||||||
ccr.curState = s
|
ccr.curState = s
|
||||||
|
@ -172,7 +167,11 @@ func (ccr *ccResolverWrapper) NewAddress(addrs []resolver.Address) {
|
||||||
ccr.cc.mu.Unlock()
|
ccr.cc.mu.Unlock()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
s := resolver.State{Addresses: addrs, ServiceConfig: ccr.curState.ServiceConfig}
|
s := resolver.State{
|
||||||
|
Addresses: addrs,
|
||||||
|
ServiceConfig: ccr.curState.ServiceConfig,
|
||||||
|
Endpoints: addressesToEndpoints(addrs),
|
||||||
|
}
|
||||||
ccr.addChannelzTraceEvent(s)
|
ccr.addChannelzTraceEvent(s)
|
||||||
ccr.curState = s
|
ccr.curState = s
|
||||||
ccr.mu.Unlock()
|
ccr.mu.Unlock()
|
||||||
|
@ -210,3 +209,13 @@ func (ccr *ccResolverWrapper) addChannelzTraceEvent(s resolver.State) {
|
||||||
}
|
}
|
||||||
channelz.Infof(logger, ccr.cc.channelz, "Resolver state updated: %s (%v)", pretty.ToJSON(s), strings.Join(updates, "; "))
|
channelz.Infof(logger, ccr.cc.channelz, "Resolver state updated: %s (%v)", pretty.ToJSON(s), strings.Join(updates, "; "))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func addressesToEndpoints(addrs []resolver.Address) []resolver.Endpoint {
|
||||||
|
endpoints := make([]resolver.Endpoint, 0, len(addrs))
|
||||||
|
for _, a := range addrs {
|
||||||
|
ep := resolver.Endpoint{Addresses: []resolver.Address{a}, Attributes: a.BalancerAttributes}
|
||||||
|
ep.Addresses[0].BalancerAttributes = nil
|
||||||
|
endpoints = append(endpoints, ep)
|
||||||
|
}
|
||||||
|
return endpoints
|
||||||
|
}
|
||||||
|
|
|
@ -870,13 +870,19 @@ func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompress
|
||||||
return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the message: %v", err)
|
return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the message: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
out, err := mem.ReadAll(io.LimitReader(dcReader, int64(maxReceiveMessageSize)), pool)
|
// Read at most one byte more than the limit from the decompressor.
|
||||||
|
// Unless the limit is MaxInt64, in which case, that's impossible, so
|
||||||
|
// apply no limit.
|
||||||
|
if limit := int64(maxReceiveMessageSize); limit < math.MaxInt64 {
|
||||||
|
dcReader = io.LimitReader(dcReader, limit+1)
|
||||||
|
}
|
||||||
|
out, err := mem.ReadAll(dcReader, pool)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
out.Free()
|
out.Free()
|
||||||
return nil, status.Errorf(codes.Internal, "grpc: failed to read decompressed data: %v", err)
|
return nil, status.Errorf(codes.Internal, "grpc: failed to read decompressed data: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if out.Len() == maxReceiveMessageSize && !atEOF(dcReader) {
|
if out.Len() > maxReceiveMessageSize {
|
||||||
out.Free()
|
out.Free()
|
||||||
return nil, status.Errorf(codes.ResourceExhausted, "grpc: received message after decompression larger than max %d", maxReceiveMessageSize)
|
return nil, status.Errorf(codes.ResourceExhausted, "grpc: received message after decompression larger than max %d", maxReceiveMessageSize)
|
||||||
}
|
}
|
||||||
|
@ -885,12 +891,6 @@ func decompress(compressor encoding.Compressor, d mem.BufferSlice, dc Decompress
|
||||||
return nil, status.Errorf(codes.Internal, "grpc: no decompressor available for compressed payload")
|
return nil, status.Errorf(codes.Internal, "grpc: no decompressor available for compressed payload")
|
||||||
}
|
}
|
||||||
|
|
||||||
// atEOF reads data from r and returns true if zero bytes could be read and r.Read returns EOF.
|
|
||||||
func atEOF(dcReader io.Reader) bool {
|
|
||||||
n, err := dcReader.Read(make([]byte, 1))
|
|
||||||
return n == 0 && err == io.EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
type recvCompressor interface {
|
type recvCompressor interface {
|
||||||
RecvCompress() string
|
RecvCompress() string
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,4 +19,4 @@
|
||||||
package grpc
|
package grpc
|
||||||
|
|
||||||
// Version is the current grpc version.
|
// Version is the current grpc version.
|
||||||
const Version = "1.71.0"
|
const Version = "1.71.1"
|
||||||
|
|
BIN
vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
generated
vendored
BIN
vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
generated
vendored
Binary file not shown.
|
@ -69,6 +69,9 @@ func unmarshalFeatureSet(b []byte, parent EditionFeatures) EditionFeatures {
|
||||||
parent.IsDelimitedEncoded = v == genid.FeatureSet_DELIMITED_enum_value
|
parent.IsDelimitedEncoded = v == genid.FeatureSet_DELIMITED_enum_value
|
||||||
case genid.FeatureSet_JsonFormat_field_number:
|
case genid.FeatureSet_JsonFormat_field_number:
|
||||||
parent.IsJSONCompliant = v == genid.FeatureSet_ALLOW_enum_value
|
parent.IsJSONCompliant = v == genid.FeatureSet_ALLOW_enum_value
|
||||||
|
case genid.FeatureSet_EnforceNamingStyle_field_number:
|
||||||
|
// EnforceNamingStyle is enforced in protoc, languages other than C++
|
||||||
|
// are not supposed to do anything with this feature.
|
||||||
default:
|
default:
|
||||||
panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
|
panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
|
||||||
}
|
}
|
||||||
|
|
|
@ -1014,6 +1014,7 @@ const (
|
||||||
FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
|
FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
|
||||||
FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
|
FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
|
||||||
FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
|
FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
|
||||||
|
FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style"
|
||||||
|
|
||||||
FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
|
FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
|
||||||
FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
|
FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
|
||||||
|
@ -1021,6 +1022,7 @@ const (
|
||||||
FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
|
FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
|
||||||
FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
|
FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
|
||||||
FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
|
FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
|
||||||
|
FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Field numbers for google.protobuf.FeatureSet.
|
// Field numbers for google.protobuf.FeatureSet.
|
||||||
|
@ -1031,6 +1033,7 @@ const (
|
||||||
FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
|
FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
|
||||||
FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
|
FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
|
||||||
FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
|
FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
|
||||||
|
FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
|
||||||
)
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FeatureSet.FieldPresence.
|
// Full and short names for google.protobuf.FeatureSet.FieldPresence.
|
||||||
|
@ -1112,6 +1115,19 @@ const (
|
||||||
FeatureSet_LEGACY_BEST_EFFORT_enum_value = 2
|
FeatureSet_LEGACY_BEST_EFFORT_enum_value = 2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Full and short names for google.protobuf.FeatureSet.EnforceNamingStyle.
|
||||||
|
const (
|
||||||
|
FeatureSet_EnforceNamingStyle_enum_fullname = "google.protobuf.FeatureSet.EnforceNamingStyle"
|
||||||
|
FeatureSet_EnforceNamingStyle_enum_name = "EnforceNamingStyle"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.EnforceNamingStyle.
|
||||||
|
const (
|
||||||
|
FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_STYLE2024_enum_value = 1
|
||||||
|
FeatureSet_STYLE_LEGACY_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"
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
// 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 go1.21
|
|
||||||
|
|
||||||
package strs
|
package strs
|
||||||
|
|
||||||
import (
|
import (
|
|
@ -1,94 +0,0 @@
|
||||||
// Copyright 2018 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
//go:build !go1.21
|
|
||||||
|
|
||||||
package strs
|
|
||||||
|
|
||||||
import (
|
|
||||||
"unsafe"
|
|
||||||
|
|
||||||
"google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
stringHeader struct {
|
|
||||||
Data unsafe.Pointer
|
|
||||||
Len int
|
|
||||||
}
|
|
||||||
sliceHeader struct {
|
|
||||||
Data unsafe.Pointer
|
|
||||||
Len int
|
|
||||||
Cap int
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
// UnsafeString returns an unsafe string reference of b.
|
|
||||||
// The caller must treat the input slice as immutable.
|
|
||||||
//
|
|
||||||
// WARNING: Use carefully. The returned result must not leak to the end user
|
|
||||||
// unless the input slice is provably immutable.
|
|
||||||
func UnsafeString(b []byte) (s string) {
|
|
||||||
src := (*sliceHeader)(unsafe.Pointer(&b))
|
|
||||||
dst := (*stringHeader)(unsafe.Pointer(&s))
|
|
||||||
dst.Data = src.Data
|
|
||||||
dst.Len = src.Len
|
|
||||||
return s
|
|
||||||
}
|
|
||||||
|
|
||||||
// UnsafeBytes returns an unsafe bytes slice reference of s.
|
|
||||||
// The caller must treat returned slice as immutable.
|
|
||||||
//
|
|
||||||
// WARNING: Use carefully. The returned result must not leak to the end user.
|
|
||||||
func UnsafeBytes(s string) (b []byte) {
|
|
||||||
src := (*stringHeader)(unsafe.Pointer(&s))
|
|
||||||
dst := (*sliceHeader)(unsafe.Pointer(&b))
|
|
||||||
dst.Data = src.Data
|
|
||||||
dst.Len = src.Len
|
|
||||||
dst.Cap = src.Len
|
|
||||||
return b
|
|
||||||
}
|
|
||||||
|
|
||||||
// Builder builds a set of strings with shared lifetime.
|
|
||||||
// This differs from strings.Builder, which is for building a single string.
|
|
||||||
type Builder struct {
|
|
||||||
buf []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
// AppendFullName is equivalent to protoreflect.FullName.Append,
|
|
||||||
// but optimized for large batches where each name has a shared lifetime.
|
|
||||||
func (sb *Builder) AppendFullName(prefix protoreflect.FullName, name protoreflect.Name) protoreflect.FullName {
|
|
||||||
n := len(prefix) + len(".") + len(name)
|
|
||||||
if len(prefix) == 0 {
|
|
||||||
n -= len(".")
|
|
||||||
}
|
|
||||||
sb.grow(n)
|
|
||||||
sb.buf = append(sb.buf, prefix...)
|
|
||||||
sb.buf = append(sb.buf, '.')
|
|
||||||
sb.buf = append(sb.buf, name...)
|
|
||||||
return protoreflect.FullName(sb.last(n))
|
|
||||||
}
|
|
||||||
|
|
||||||
// MakeString is equivalent to string(b), but optimized for large batches
|
|
||||||
// with a shared lifetime.
|
|
||||||
func (sb *Builder) MakeString(b []byte) string {
|
|
||||||
sb.grow(len(b))
|
|
||||||
sb.buf = append(sb.buf, b...)
|
|
||||||
return sb.last(len(b))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (sb *Builder) grow(n int) {
|
|
||||||
if cap(sb.buf)-len(sb.buf) >= n {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// Unlike strings.Builder, we do not need to copy over the contents
|
|
||||||
// of the old buffer since our builder provides no API for
|
|
||||||
// retrieving previously created strings.
|
|
||||||
sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (sb *Builder) last(n int) string {
|
|
||||||
return UnsafeString(sb.buf[len(sb.buf)-n:])
|
|
||||||
}
|
|
|
@ -52,7 +52,7 @@ import (
|
||||||
const (
|
const (
|
||||||
Major = 1
|
Major = 1
|
||||||
Minor = 36
|
Minor = 36
|
||||||
Patch = 5
|
Patch = 6
|
||||||
PreRelease = ""
|
PreRelease = ""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,12 @@ func Clone(m Message) Message {
|
||||||
return dst.Interface()
|
return dst.Interface()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CloneOf returns a deep copy of m. If the top-level message is invalid,
|
||||||
|
// it returns an invalid message as well.
|
||||||
|
func CloneOf[M Message](m M) M {
|
||||||
|
return Clone(m).(M)
|
||||||
|
}
|
||||||
|
|
||||||
// mergeOptions provides a namespace for merge functions, and can be
|
// mergeOptions provides a namespace for merge functions, and can be
|
||||||
// exported in the future if we add user-visible merge options.
|
// exported in the future if we add user-visible merge options.
|
||||||
type mergeOptions struct{}
|
type mergeOptions struct{}
|
||||||
|
|
|
@ -398,6 +398,8 @@ func (p *SourcePath) appendFeatureSet(b []byte) []byte {
|
||||||
b = p.appendSingularField(b, "message_encoding", nil)
|
b = p.appendSingularField(b, "message_encoding", nil)
|
||||||
case 6:
|
case 6:
|
||||||
b = p.appendSingularField(b, "json_format", nil)
|
b = p.appendSingularField(b, "json_format", nil)
|
||||||
|
case 7:
|
||||||
|
b = p.appendSingularField(b, "enforce_naming_style", nil)
|
||||||
}
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
// 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 go1.21
|
|
||||||
|
|
||||||
package protoreflect
|
package protoreflect
|
||||||
|
|
||||||
import (
|
import (
|
|
@ -1,98 +0,0 @@
|
||||||
// Copyright 2018 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
//go:build !go1.21
|
|
||||||
|
|
||||||
package protoreflect
|
|
||||||
|
|
||||||
import (
|
|
||||||
"unsafe"
|
|
||||||
|
|
||||||
"google.golang.org/protobuf/internal/pragma"
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
stringHeader struct {
|
|
||||||
Data unsafe.Pointer
|
|
||||||
Len int
|
|
||||||
}
|
|
||||||
sliceHeader struct {
|
|
||||||
Data unsafe.Pointer
|
|
||||||
Len int
|
|
||||||
Cap int
|
|
||||||
}
|
|
||||||
ifaceHeader struct {
|
|
||||||
Type unsafe.Pointer
|
|
||||||
Data unsafe.Pointer
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
nilType = typeOf(nil)
|
|
||||||
boolType = typeOf(*new(bool))
|
|
||||||
int32Type = typeOf(*new(int32))
|
|
||||||
int64Type = typeOf(*new(int64))
|
|
||||||
uint32Type = typeOf(*new(uint32))
|
|
||||||
uint64Type = typeOf(*new(uint64))
|
|
||||||
float32Type = typeOf(*new(float32))
|
|
||||||
float64Type = typeOf(*new(float64))
|
|
||||||
stringType = typeOf(*new(string))
|
|
||||||
bytesType = typeOf(*new([]byte))
|
|
||||||
enumType = typeOf(*new(EnumNumber))
|
|
||||||
)
|
|
||||||
|
|
||||||
// typeOf returns a pointer to the Go type information.
|
|
||||||
// The pointer is comparable and equal if and only if the types are identical.
|
|
||||||
func typeOf(t any) unsafe.Pointer {
|
|
||||||
return (*ifaceHeader)(unsafe.Pointer(&t)).Type
|
|
||||||
}
|
|
||||||
|
|
||||||
// value is a union where only one type can be represented at a time.
|
|
||||||
// The struct is 24B large on 64-bit systems and requires the minimum storage
|
|
||||||
// necessary to represent each possible type.
|
|
||||||
//
|
|
||||||
// The Go GC needs to be able to scan variables containing pointers.
|
|
||||||
// As such, pointers and non-pointers cannot be intermixed.
|
|
||||||
type value struct {
|
|
||||||
pragma.DoNotCompare // 0B
|
|
||||||
|
|
||||||
// typ stores the type of the value as a pointer to the Go type.
|
|
||||||
typ unsafe.Pointer // 8B
|
|
||||||
|
|
||||||
// ptr stores the data pointer for a String, Bytes, or interface value.
|
|
||||||
ptr unsafe.Pointer // 8B
|
|
||||||
|
|
||||||
// num stores a Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, or
|
|
||||||
// Enum value as a raw uint64.
|
|
||||||
//
|
|
||||||
// It is also used to store the length of a String or Bytes value;
|
|
||||||
// the capacity is ignored.
|
|
||||||
num uint64 // 8B
|
|
||||||
}
|
|
||||||
|
|
||||||
func valueOfString(v string) Value {
|
|
||||||
p := (*stringHeader)(unsafe.Pointer(&v))
|
|
||||||
return Value{typ: stringType, ptr: p.Data, num: uint64(len(v))}
|
|
||||||
}
|
|
||||||
func valueOfBytes(v []byte) Value {
|
|
||||||
p := (*sliceHeader)(unsafe.Pointer(&v))
|
|
||||||
return Value{typ: bytesType, ptr: p.Data, num: uint64(len(v))}
|
|
||||||
}
|
|
||||||
func valueOfIface(v any) Value {
|
|
||||||
p := (*ifaceHeader)(unsafe.Pointer(&v))
|
|
||||||
return Value{typ: p.Type, ptr: p.Data}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (v Value) getString() (x string) {
|
|
||||||
*(*stringHeader)(unsafe.Pointer(&x)) = stringHeader{Data: v.ptr, Len: int(v.num)}
|
|
||||||
return x
|
|
||||||
}
|
|
||||||
func (v Value) getBytes() (x []byte) {
|
|
||||||
*(*sliceHeader)(unsafe.Pointer(&x)) = sliceHeader{Data: v.ptr, Len: int(v.num), Cap: int(v.num)}
|
|
||||||
return x
|
|
||||||
}
|
|
||||||
func (v Value) getIface() (x any) {
|
|
||||||
*(*ifaceHeader)(unsafe.Pointer(&x)) = ifaceHeader{Type: v.typ, Data: v.ptr}
|
|
||||||
return x
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -228,63 +228,29 @@ var (
|
||||||
|
|
||||||
var File_google_protobuf_go_features_proto protoreflect.FileDescriptor
|
var File_google_protobuf_go_features_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_google_protobuf_go_features_proto_rawDesc = string([]byte{
|
const file_google_protobuf_go_features_proto_rawDesc = "" +
|
||||||
0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\n" +
|
||||||
0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72,
|
"!google/protobuf/go_features.proto\x12\x02pb\x1a google/protobuf/descriptor.proto\"\xab\x05\n" +
|
||||||
0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
"\n" +
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
|
"GoFeatures\x12\xbe\x01\n" +
|
||||||
0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x05, 0x0a, 0x0a, 0x47, 0x6f,
|
"\x1alegacy_unmarshal_json_enum\x18\x01 \x01(\bB\x80\x01\x88\x01\x01\x98\x01\x06\x98\x01\x01\xa2\x01\t\x12\x04true\x18\x84\a\xa2\x01\n" +
|
||||||
0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x1a, 0x6c, 0x65, 0x67,
|
"\x12\x05false\x18\xe7\a\xb2\x01[\b\xe8\a\x10\xe8\a\x1aSThe legacy UnmarshalJSON API is deprecated and will be removed in a future edition.R\x17legacyUnmarshalJsonEnum\x12t\n" +
|
||||||
0x61, 0x63, 0x79, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, 0x5f, 0x6a, 0x73,
|
"\tapi_level\x18\x02 \x01(\x0e2\x17.pb.GoFeatures.APILevelB>\x88\x01\x01\x98\x01\x03\x98\x01\x01\xa2\x01\x1a\x12\x15API_LEVEL_UNSPECIFIED\x18\x84\a\xa2\x01\x0f\x12\n" +
|
||||||
0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x80, 0x01,
|
"API_OPAQUE\x18\xe9\a\xb2\x01\x03\b\xe8\aR\bapiLevel\x12|\n" +
|
||||||
0x88, 0x01, 0x01, 0x98, 0x01, 0x06, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x74, 0x72,
|
"\x11strip_enum_prefix\x18\x03 \x01(\x0e2\x1e.pb.GoFeatures.StripEnumPrefixB0\x88\x01\x01\x98\x01\x06\x98\x01\a\x98\x01\x01\xa2\x01\x1b\x12\x16STRIP_ENUM_PREFIX_KEEP\x18\x84\a\xb2\x01\x03\b\xe9\aR\x0fstripEnumPrefix\"S\n" +
|
||||||
0x75, 0x65, 0x18, 0x84, 0x07, 0xa2, 0x01, 0x0a, 0x12, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18,
|
"\bAPILevel\x12\x19\n" +
|
||||||
0xe7, 0x07, 0xb2, 0x01, 0x5b, 0x08, 0xe8, 0x07, 0x10, 0xe8, 0x07, 0x1a, 0x53, 0x54, 0x68, 0x65,
|
"\x15API_LEVEL_UNSPECIFIED\x10\x00\x12\f\n" +
|
||||||
0x20, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x20, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61,
|
"\bAPI_OPEN\x10\x01\x12\x0e\n" +
|
||||||
0x6c, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x41, 0x50, 0x49, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x70,
|
"\n" +
|
||||||
0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c,
|
"API_HYBRID\x10\x02\x12\x0e\n" +
|
||||||
0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61,
|
"\n" +
|
||||||
0x20, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x20, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
|
"API_OPAQUE\x10\x03\"\x92\x01\n" +
|
||||||
0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61,
|
"\x0fStripEnumPrefix\x12!\n" +
|
||||||
0x6c, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x74, 0x0a, 0x09, 0x61, 0x70, 0x69,
|
"\x1dSTRIP_ENUM_PREFIX_UNSPECIFIED\x10\x00\x12\x1a\n" +
|
||||||
0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70,
|
"\x16STRIP_ENUM_PREFIX_KEEP\x10\x01\x12#\n" +
|
||||||
0x62, 0x2e, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x41, 0x50, 0x49,
|
"\x1fSTRIP_ENUM_PREFIX_GENERATE_BOTH\x10\x02\x12\x1b\n" +
|
||||||
0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x3e, 0x88, 0x01, 0x01, 0x98, 0x01, 0x03, 0x98, 0x01, 0x01,
|
"\x17STRIP_ENUM_PREFIX_STRIP\x10\x03:<\n" +
|
||||||
0xa2, 0x01, 0x1a, 0x12, 0x15, 0x41, 0x50, 0x49, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55,
|
"\x02go\x12\x1b.google.protobuf.FeatureSet\x18\xea\a \x01(\v2\x0e.pb.GoFeaturesR\x02goB/Z-google.golang.org/protobuf/types/gofeaturespb"
|
||||||
0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x18, 0x84, 0x07, 0xa2, 0x01, 0x0f,
|
|
||||||
0x12, 0x0a, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, 0x41, 0x51, 0x55, 0x45, 0x18, 0xe9, 0x07, 0xb2,
|
|
||||||
0x01, 0x03, 0x08, 0xe8, 0x07, 0x52, 0x08, 0x61, 0x70, 0x69, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
|
|
||||||
0x7c, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x72,
|
|
||||||
0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
|
|
||||||
0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x70,
|
|
||||||
0x45, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x30, 0x88, 0x01, 0x01, 0x98,
|
|
||||||
0x01, 0x06, 0x98, 0x01, 0x07, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x1b, 0x12, 0x16, 0x53, 0x54, 0x52,
|
|
||||||
0x49, 0x50, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4b,
|
|
||||||
0x45, 0x45, 0x50, 0x18, 0x84, 0x07, 0xb2, 0x01, 0x03, 0x08, 0xe9, 0x07, 0x52, 0x0f, 0x73, 0x74,
|
|
||||||
0x72, 0x69, 0x70, 0x45, 0x6e, 0x75, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x53, 0x0a,
|
|
||||||
0x08, 0x41, 0x50, 0x49, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x50, 0x49,
|
|
||||||
0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
|
|
||||||
0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, 0x45, 0x4e,
|
|
||||||
0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x50, 0x49, 0x5f, 0x48, 0x59, 0x42, 0x52, 0x49, 0x44,
|
|
||||||
0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x50, 0x49, 0x5f, 0x4f, 0x50, 0x41, 0x51, 0x55, 0x45,
|
|
||||||
0x10, 0x03, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x53, 0x74, 0x72, 0x69, 0x70, 0x45, 0x6e, 0x75, 0x6d,
|
|
||||||
0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x52, 0x49, 0x50, 0x5f,
|
|
||||||
0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x55, 0x4e, 0x53, 0x50,
|
|
||||||
0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x54, 0x52,
|
|
||||||
0x49, 0x50, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x4b,
|
|
||||||
0x45, 0x45, 0x50, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x54, 0x52, 0x49, 0x50, 0x5f, 0x45,
|
|
||||||
0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52,
|
|
||||||
0x41, 0x54, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x54,
|
|
||||||
0x52, 0x49, 0x50, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f,
|
|
||||||
0x53, 0x54, 0x52, 0x49, 0x50, 0x10, 0x03, 0x3a, 0x3c, 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, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
|
|
||||||
0x73, 0x52, 0x02, 0x67, 0x6f, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
||||||
0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
||||||
0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x67, 0x6f, 0x66, 0x65, 0x61, 0x74,
|
|
||||||
0x75, 0x72, 0x65, 0x73, 0x70, 0x62,
|
|
||||||
})
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_google_protobuf_go_features_proto_rawDescOnce sync.Once
|
file_google_protobuf_go_features_proto_rawDescOnce sync.Once
|
||||||
|
|
|
@ -412,23 +412,13 @@ func (x *Any) GetValue() []byte {
|
||||||
|
|
||||||
var File_google_protobuf_any_proto protoreflect.FileDescriptor
|
var File_google_protobuf_any_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_google_protobuf_any_proto_rawDesc = string([]byte{
|
const file_google_protobuf_any_proto_rawDesc = "" +
|
||||||
0x0a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\n" +
|
||||||
0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f,
|
"\x19google/protobuf/any.proto\x12\x0fgoogle.protobuf\"6\n" +
|
||||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, 0x36, 0x0a, 0x03,
|
"\x03Any\x12\x19\n" +
|
||||||
0x41, 0x6e, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18,
|
"\btype_url\x18\x01 \x01(\tR\atypeUrl\x12\x14\n" +
|
||||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14,
|
"\x05value\x18\x02 \x01(\fR\x05valueBv\n" +
|
||||||
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76,
|
"\x13com.google.protobufB\bAnyProtoP\x01Z,google.golang.org/protobuf/types/known/anypb\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x42, 0x76, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
||||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x08, 0x41, 0x6e, 0x79,
|
|
||||||
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
||||||
0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
||||||
0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f,
|
|
||||||
0x61, 0x6e, 0x79, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f,
|
|
||||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65,
|
|
||||||
0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72,
|
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
})
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_google_protobuf_any_proto_rawDescOnce sync.Once
|
file_google_protobuf_any_proto_rawDescOnce sync.Once
|
||||||
|
|
|
@ -289,24 +289,13 @@ func (x *Duration) GetNanos() int32 {
|
||||||
|
|
||||||
var File_google_protobuf_duration_proto protoreflect.FileDescriptor
|
var File_google_protobuf_duration_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_google_protobuf_duration_proto_rawDesc = string([]byte{
|
const file_google_protobuf_duration_proto_rawDesc = "" +
|
||||||
0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\n" +
|
||||||
0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
"\x1egoogle/protobuf/duration.proto\x12\x0fgoogle.protobuf\":\n" +
|
||||||
0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\bDuration\x12\x18\n" +
|
||||||
0x66, 0x22, 0x3a, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
|
"\aseconds\x18\x01 \x01(\x03R\aseconds\x12\x14\n" +
|
||||||
0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
|
"\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x83\x01\n" +
|
||||||
0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73,
|
"\x13com.google.protobufB\rDurationProtoP\x01Z1google.golang.org/protobuf/types/known/durationpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
|
||||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x83, 0x01,
|
|
||||||
0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
||||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
|
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67,
|
|
||||||
0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
||||||
0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x64,
|
|
||||||
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47,
|
|
||||||
0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79,
|
|
||||||
0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
})
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_google_protobuf_duration_proto_rawDescOnce sync.Once
|
file_google_protobuf_duration_proto_rawDescOnce sync.Once
|
||||||
|
|
|
@ -504,23 +504,12 @@ func (x *FieldMask) GetPaths() []string {
|
||||||
|
|
||||||
var File_google_protobuf_field_mask_proto protoreflect.FileDescriptor
|
var File_google_protobuf_field_mask_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_google_protobuf_field_mask_proto_rawDesc = string([]byte{
|
const file_google_protobuf_field_mask_proto_rawDesc = "" +
|
||||||
0x0a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\n" +
|
||||||
0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
|
" google/protobuf/field_mask.proto\x12\x0fgoogle.protobuf\"!\n" +
|
||||||
0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
"\tFieldMask\x12\x14\n" +
|
||||||
0x62, 0x75, 0x66, 0x22, 0x21, 0x0a, 0x09, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
|
"\x05paths\x18\x01 \x03(\tR\x05pathsB\x85\x01\n" +
|
||||||
0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
|
"\x13com.google.protobufB\x0eFieldMaskProtoP\x01Z2google.golang.org/protobuf/types/known/fieldmaskpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
|
||||||
0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x42, 0x85, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
|
|
||||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x0e,
|
|
||||||
0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
|
||||||
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, 0x74, 0x79, 0x70,
|
|
||||||
0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6d, 0x61,
|
|
||||||
0x73, 0x6b, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e,
|
|
||||||
0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
||||||
0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06,
|
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
})
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_google_protobuf_field_mask_proto_rawDescOnce sync.Once
|
file_google_protobuf_field_mask_proto_rawDescOnce sync.Once
|
||||||
|
|
|
@ -672,55 +672,31 @@ func (x *ListValue) GetValues() []*Value {
|
||||||
|
|
||||||
var File_google_protobuf_struct_proto protoreflect.FileDescriptor
|
var File_google_protobuf_struct_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_google_protobuf_struct_proto_rawDesc = string([]byte{
|
const file_google_protobuf_struct_proto_rawDesc = "" +
|
||||||
0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\n" +
|
||||||
0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f,
|
"\x1cgoogle/protobuf/struct.proto\x12\x0fgoogle.protobuf\"\x98\x01\n" +
|
||||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22,
|
"\x06Struct\x12;\n" +
|
||||||
0x98, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x66, 0x69,
|
"\x06fields\x18\x01 \x03(\v2#.google.protobuf.Struct.FieldsEntryR\x06fields\x1aQ\n" +
|
||||||
0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
|
"\vFieldsEntry\x12\x10\n" +
|
||||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
|
"\x03key\x18\x01 \x01(\tR\x03key\x12,\n" +
|
||||||
0x75, 0x63, 0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
"\x05value\x18\x02 \x01(\v2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xb2\x02\n" +
|
||||||
0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x51, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64,
|
"\x05Value\x12;\n" +
|
||||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
"\n" +
|
||||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
"null_value\x18\x01 \x01(\x0e2\x1a.google.protobuf.NullValueH\x00R\tnullValue\x12#\n" +
|
||||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
"\fnumber_value\x18\x02 \x01(\x01H\x00R\vnumberValue\x12#\n" +
|
||||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
"\fstring_value\x18\x03 \x01(\tH\x00R\vstringValue\x12\x1f\n" +
|
||||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb2, 0x02, 0x0a, 0x05, 0x56,
|
"\n" +
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76, 0x61, 0x6c,
|
"bool_value\x18\x04 \x01(\bH\x00R\tboolValue\x12<\n" +
|
||||||
0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
"\fstruct_value\x18\x05 \x01(\v2\x17.google.protobuf.StructH\x00R\vstructValue\x12;\n" +
|
||||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56,
|
"\n" +
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75,
|
"list_value\x18\x06 \x01(\v2\x1a.google.protobuf.ListValueH\x00R\tlistValueB\x06\n" +
|
||||||
0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75,
|
"\x04kind\";\n" +
|
||||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65,
|
"\tListValue\x12.\n" +
|
||||||
0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
|
"\x06values\x18\x01 \x03(\v2\x16.google.protobuf.ValueR\x06values*\x1b\n" +
|
||||||
0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b,
|
"\tNullValue\x12\x0e\n" +
|
||||||
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62,
|
"\n" +
|
||||||
0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48,
|
"NULL_VALUE\x10\x00B\x7f\n" +
|
||||||
0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c, 0x0a, 0x0c,
|
"\x13com.google.protobufB\vStructProtoP\x01Z/google.golang.org/protobuf/types/known/structpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
|
||||||
0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01,
|
|
||||||
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73,
|
|
||||||
0x74, 0x72, 0x75, 0x63, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6c, 0x69,
|
|
||||||
0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
|
|
||||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
||||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69,
|
|
||||||
0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22,
|
|
||||||
0x3b, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x06,
|
|
||||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
|
|
||||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56,
|
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2a, 0x1b, 0x0a, 0x09,
|
|
||||||
0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x55, 0x4c,
|
|
||||||
0x4c, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x42, 0x7f, 0x0a, 0x13, 0x63, 0x6f, 0x6d,
|
|
||||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
||||||
0x42, 0x0b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
|
||||||
0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
|
|
||||||
0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65,
|
|
||||||
0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x70, 0x62,
|
|
||||||
0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67,
|
|
||||||
0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c,
|
|
||||||
0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
|
||||||
0x6f, 0x33,
|
|
||||||
})
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_google_protobuf_struct_proto_rawDescOnce sync.Once
|
file_google_protobuf_struct_proto_rawDescOnce sync.Once
|
||||||
|
|
|
@ -298,24 +298,13 @@ func (x *Timestamp) GetNanos() int32 {
|
||||||
|
|
||||||
var File_google_protobuf_timestamp_proto protoreflect.FileDescriptor
|
var File_google_protobuf_timestamp_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_google_protobuf_timestamp_proto_rawDesc = string([]byte{
|
const file_google_protobuf_timestamp_proto_rawDesc = "" +
|
||||||
0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\n" +
|
||||||
0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
"\x1fgoogle/protobuf/timestamp.proto\x12\x0fgoogle.protobuf\";\n" +
|
||||||
0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
"\tTimestamp\x12\x18\n" +
|
||||||
0x75, 0x66, 0x22, 0x3b, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
|
"\aseconds\x18\x01 \x01(\x03R\aseconds\x12\x14\n" +
|
||||||
0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
"\x05nanos\x18\x02 \x01(\x05R\x05nanosB\x85\x01\n" +
|
||||||
0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6e,
|
"\x13com.google.protobufB\x0eTimestampProtoP\x01Z2google.golang.org/protobuf/types/known/timestamppb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
|
||||||
0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42,
|
|
||||||
0x85, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
|
||||||
0x6d, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 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, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77,
|
|
||||||
0x6e, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x70, 0x62, 0xf8, 0x01, 0x01,
|
|
||||||
0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
||||||
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f,
|
|
||||||
0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
})
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_google_protobuf_timestamp_proto_rawDescOnce sync.Once
|
file_google_protobuf_timestamp_proto_rawDescOnce sync.Once
|
||||||
|
|
|
@ -28,10 +28,17 @@
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
//
|
//
|
||||||
// Wrappers for primitive (non-message) types. These types are useful
|
// Wrappers for primitive (non-message) types. These types were needed
|
||||||
// for embedding primitives in the `google.protobuf.Any` type and for places
|
// for legacy reasons and are not recommended for use in new APIs.
|
||||||
// where we need to distinguish between the absence of a primitive
|
//
|
||||||
// typed field and its default value.
|
// Historically these wrappers were useful to have presence on proto3 primitive
|
||||||
|
// fields, but proto3 syntax has been updated to support the `optional` keyword.
|
||||||
|
// Using that keyword is now the strongly preferred way to add presence to
|
||||||
|
// proto3 primitive fields.
|
||||||
|
//
|
||||||
|
// A secondary usecase was to embed primitives in the `google.protobuf.Any`
|
||||||
|
// type: it is now recommended that you embed your value in your own wrapper
|
||||||
|
// message which can be specifically documented.
|
||||||
//
|
//
|
||||||
// These wrappers have no meaningful use within repeated fields as they lack
|
// These wrappers have no meaningful use within repeated fields as they lack
|
||||||
// the ability to detect presence on individual elements.
|
// the ability to detect presence on individual elements.
|
||||||
|
@ -54,6 +61,9 @@ import (
|
||||||
// Wrapper message for `double`.
|
// Wrapper message for `double`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `DoubleValue` is JSON number.
|
// The JSON representation for `DoubleValue` is JSON number.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type DoubleValue struct {
|
type DoubleValue struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The double value.
|
// The double value.
|
||||||
|
@ -107,6 +117,9 @@ func (x *DoubleValue) GetValue() float64 {
|
||||||
// Wrapper message for `float`.
|
// Wrapper message for `float`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `FloatValue` is JSON number.
|
// The JSON representation for `FloatValue` is JSON number.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type FloatValue struct {
|
type FloatValue struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The float value.
|
// The float value.
|
||||||
|
@ -160,6 +173,9 @@ func (x *FloatValue) GetValue() float32 {
|
||||||
// Wrapper message for `int64`.
|
// Wrapper message for `int64`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `Int64Value` is JSON string.
|
// The JSON representation for `Int64Value` is JSON string.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type Int64Value struct {
|
type Int64Value struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The int64 value.
|
// The int64 value.
|
||||||
|
@ -213,6 +229,9 @@ func (x *Int64Value) GetValue() int64 {
|
||||||
// Wrapper message for `uint64`.
|
// Wrapper message for `uint64`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `UInt64Value` is JSON string.
|
// The JSON representation for `UInt64Value` is JSON string.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type UInt64Value struct {
|
type UInt64Value struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The uint64 value.
|
// The uint64 value.
|
||||||
|
@ -266,6 +285,9 @@ func (x *UInt64Value) GetValue() uint64 {
|
||||||
// Wrapper message for `int32`.
|
// Wrapper message for `int32`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `Int32Value` is JSON number.
|
// The JSON representation for `Int32Value` is JSON number.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type Int32Value struct {
|
type Int32Value struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The int32 value.
|
// The int32 value.
|
||||||
|
@ -319,6 +341,9 @@ func (x *Int32Value) GetValue() int32 {
|
||||||
// Wrapper message for `uint32`.
|
// Wrapper message for `uint32`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `UInt32Value` is JSON number.
|
// The JSON representation for `UInt32Value` is JSON number.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type UInt32Value struct {
|
type UInt32Value struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The uint32 value.
|
// The uint32 value.
|
||||||
|
@ -372,6 +397,9 @@ func (x *UInt32Value) GetValue() uint32 {
|
||||||
// Wrapper message for `bool`.
|
// Wrapper message for `bool`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `BoolValue` is JSON `true` and `false`.
|
// The JSON representation for `BoolValue` is JSON `true` and `false`.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type BoolValue struct {
|
type BoolValue struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The bool value.
|
// The bool value.
|
||||||
|
@ -425,6 +453,9 @@ func (x *BoolValue) GetValue() bool {
|
||||||
// Wrapper message for `string`.
|
// Wrapper message for `string`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `StringValue` is JSON string.
|
// The JSON representation for `StringValue` is JSON string.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type StringValue struct {
|
type StringValue struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The string value.
|
// The string value.
|
||||||
|
@ -478,6 +509,9 @@ func (x *StringValue) GetValue() string {
|
||||||
// Wrapper message for `bytes`.
|
// Wrapper message for `bytes`.
|
||||||
//
|
//
|
||||||
// The JSON representation for `BytesValue` is JSON string.
|
// The JSON representation for `BytesValue` is JSON string.
|
||||||
|
//
|
||||||
|
// Not recommended for use in new APIs, but still useful for legacy APIs and
|
||||||
|
// has no plan to be removed.
|
||||||
type BytesValue struct {
|
type BytesValue struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The bytes value.
|
// The bytes value.
|
||||||
|
@ -530,41 +564,32 @@ func (x *BytesValue) GetValue() []byte {
|
||||||
|
|
||||||
var File_google_protobuf_wrappers_proto protoreflect.FileDescriptor
|
var File_google_protobuf_wrappers_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_google_protobuf_wrappers_proto_rawDesc = string([]byte{
|
const file_google_protobuf_wrappers_proto_rawDesc = "" +
|
||||||
0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\n" +
|
||||||
0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
"\x1egoogle/protobuf/wrappers.proto\x12\x0fgoogle.protobuf\"#\n" +
|
||||||
0x12, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
"\vDoubleValue\x12\x14\n" +
|
||||||
0x66, 0x22, 0x23, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
"\x05value\x18\x01 \x01(\x01R\x05value\"\"\n" +
|
||||||
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52,
|
"\n" +
|
||||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56,
|
"FloatValue\x12\x14\n" +
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20,
|
"\x05value\x18\x01 \x01(\x02R\x05value\"\"\n" +
|
||||||
0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e,
|
"\n" +
|
||||||
0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
"Int64Value\x12\x14\n" +
|
||||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23,
|
"\x05value\x18\x01 \x01(\x03R\x05value\"#\n" +
|
||||||
0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a,
|
"\vUInt64Value\x12\x14\n" +
|
||||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61,
|
"\x05value\x18\x01 \x01(\x04R\x05value\"\"\n" +
|
||||||
0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
|
"\n" +
|
||||||
0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
"Int32Value\x12\x14\n" +
|
||||||
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33,
|
"\x05value\x18\x01 \x01(\x05R\x05value\"#\n" +
|
||||||
0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
"\vUInt32Value\x12\x14\n" +
|
||||||
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x21, 0x0a, 0x09,
|
"\x05value\x18\x01 \x01(\rR\x05value\"!\n" +
|
||||||
0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
"\tBoolValue\x12\x14\n" +
|
||||||
0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
|
"\x05value\x18\x01 \x01(\bR\x05value\"#\n" +
|
||||||
0x23, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14,
|
"\vStringValue\x12\x14\n" +
|
||||||
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
|
"\x05value\x18\x01 \x01(\tR\x05value\"\"\n" +
|
||||||
0x61, 0x6c, 0x75, 0x65, 0x22, 0x22, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c,
|
"\n" +
|
||||||
0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
"BytesValue\x12\x14\n" +
|
||||||
0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x83, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d,
|
"\x05value\x18\x01 \x01(\fR\x05valueB\x83\x01\n" +
|
||||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
"\x13com.google.protobufB\rWrappersProtoP\x01Z1google.golang.org/protobuf/types/known/wrapperspb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1eGoogle.Protobuf.WellKnownTypesb\x06proto3"
|
||||||
0x42, 0x0d, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
|
|
||||||
0x01, 0x5a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
|
|
||||||
0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79,
|
|
||||||
0x70, 0x65, 0x73, 0x2f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
|
|
||||||
0x72, 0x73, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02, 0x1e,
|
|
||||||
0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
||||||
0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06,
|
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
})
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
file_google_protobuf_wrappers_proto_rawDescOnce sync.Once
|
file_google_protobuf_wrappers_proto_rawDescOnce sync.Once
|
||||||
|
|
|
@ -198,7 +198,7 @@ go.uber.org/zap/zapcore
|
||||||
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.37.0
|
# golang.org/x/net v0.39.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/net/http/httpguts
|
golang.org/x/net/http/httpguts
|
||||||
golang.org/x/net/http2
|
golang.org/x/net/http2
|
||||||
|
@ -212,19 +212,19 @@ golang.org/x/net/trace
|
||||||
## 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
|
||||||
# golang.org/x/sync v0.12.0
|
# golang.org/x/sync v0.13.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
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.31.0
|
# golang.org/x/sys v0.32.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
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.30.0
|
# golang.org/x/term v0.31.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/term
|
golang.org/x/term
|
||||||
# golang.org/x/text v0.23.0
|
# golang.org/x/text v0.24.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/text/cases
|
golang.org/x/text/cases
|
||||||
golang.org/x/text/internal
|
golang.org/x/text/internal
|
||||||
|
@ -239,7 +239,7 @@ golang.org/x/text/unicode/norm
|
||||||
# golang.org/x/time v0.10.0
|
# golang.org/x/time v0.10.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/time/rate
|
golang.org/x/time/rate
|
||||||
# golang.org/x/tools v0.31.0
|
# golang.org/x/tools v0.32.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/tools/go/ast/astutil
|
golang.org/x/tools/go/ast/astutil
|
||||||
golang.org/x/tools/go/gcexportdata
|
golang.org/x/tools/go/gcexportdata
|
||||||
|
@ -263,7 +263,7 @@ golang.org/x/tools/internal/stdlib
|
||||||
golang.org/x/tools/internal/typeparams
|
golang.org/x/tools/internal/typeparams
|
||||||
golang.org/x/tools/internal/typesinternal
|
golang.org/x/tools/internal/typesinternal
|
||||||
golang.org/x/tools/internal/versions
|
golang.org/x/tools/internal/versions
|
||||||
# gomodules.xyz/jsonpatch/v2 v2.4.0
|
# gomodules.xyz/jsonpatch/v2 v2.5.0
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
gomodules.xyz/jsonpatch/v2
|
gomodules.xyz/jsonpatch/v2
|
||||||
# google.golang.org/api v0.183.0
|
# google.golang.org/api v0.183.0
|
||||||
|
@ -275,7 +275,7 @@ google.golang.org/genproto/googleapis/api/httpbody
|
||||||
# google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6
|
# google.golang.org/genproto/googleapis/rpc v0.0.0-20250207221924-e9438ea467c6
|
||||||
## explicit; go 1.22
|
## explicit; go 1.22
|
||||||
google.golang.org/genproto/googleapis/rpc/status
|
google.golang.org/genproto/googleapis/rpc/status
|
||||||
# google.golang.org/grpc v1.71.0
|
# google.golang.org/grpc v1.71.1
|
||||||
## explicit; go 1.22.0
|
## explicit; go 1.22.0
|
||||||
google.golang.org/grpc
|
google.golang.org/grpc
|
||||||
google.golang.org/grpc/attributes
|
google.golang.org/grpc/attributes
|
||||||
|
@ -338,8 +338,8 @@ 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.36.5
|
# google.golang.org/protobuf v1.36.6
|
||||||
## explicit; go 1.21
|
## explicit; go 1.22
|
||||||
google.golang.org/protobuf/encoding/protodelim
|
google.golang.org/protobuf/encoding/protodelim
|
||||||
google.golang.org/protobuf/encoding/protojson
|
google.golang.org/protobuf/encoding/protojson
|
||||||
google.golang.org/protobuf/encoding/prototext
|
google.golang.org/protobuf/encoding/prototext
|
||||||
|
@ -860,7 +860,7 @@ k8s.io/utils/trace
|
||||||
# knative.dev/hack v0.0.0-20250331013814-c577ed9f7775
|
# knative.dev/hack v0.0.0-20250331013814-c577ed9f7775
|
||||||
## explicit; go 1.21
|
## explicit; go 1.21
|
||||||
knative.dev/hack
|
knative.dev/hack
|
||||||
# knative.dev/pkg v0.0.0-20250331013832-c5a13b15ccdb
|
# knative.dev/pkg v0.0.0-20250414114716-4e8ebbe1949a
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
knative.dev/pkg/apis
|
knative.dev/pkg/apis
|
||||||
knative.dev/pkg/apis/duck
|
knative.dev/pkg/apis/duck
|
||||||
|
|
Loading…
Reference in New Issue