mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-10-20 12:57:35 +00:00
Merge pull request #27741 from baude/strongreplace2
Vendor latest mono repo for libartifact changes
This commit is contained in:
commit
7ffe891bc2
96 changed files with 1271 additions and 768 deletions
30
go.mod
30
go.mod
|
|
@ -47,8 +47,8 @@ require (
|
|||
github.com/moby/sys/user v0.4.0
|
||||
github.com/moby/term v0.5.2
|
||||
github.com/nxadm/tail v1.4.11
|
||||
github.com/onsi/ginkgo/v2 v2.27.2
|
||||
github.com/onsi/gomega v1.38.2
|
||||
github.com/onsi/ginkgo/v2 v2.27.3
|
||||
github.com/onsi/gomega v1.38.3
|
||||
github.com/opencontainers/cgroups v0.0.6
|
||||
github.com/opencontainers/go-digest v1.0.0
|
||||
github.com/opencontainers/image-spec v1.1.1
|
||||
|
|
@ -59,19 +59,19 @@ require (
|
|||
github.com/rootless-containers/rootlesskit/v2 v2.3.5
|
||||
github.com/shirou/gopsutil/v4 v4.25.11
|
||||
github.com/sirupsen/logrus v1.9.4-0.20251023124752-b61f268f75b6
|
||||
github.com/spf13/cobra v1.10.1
|
||||
github.com/spf13/cobra v1.10.2
|
||||
github.com/spf13/pflag v1.0.10
|
||||
github.com/stretchr/testify v1.11.1
|
||||
github.com/vbauerster/mpb/v8 v8.11.2
|
||||
github.com/vishvananda/netlink v1.3.1
|
||||
go.podman.io/common v0.66.1-0.20251202202200-df55d6c661e8
|
||||
go.podman.io/image/v5 v5.38.1-0.20251202202200-df55d6c661e8
|
||||
go.podman.io/storage v1.61.1-0.20251202202200-df55d6c661e8
|
||||
golang.org/x/crypto v0.45.0
|
||||
go.podman.io/common v0.66.2-0.20251209230740-724707234895
|
||||
go.podman.io/image/v5 v5.38.1-0.20251209230740-724707234895
|
||||
go.podman.io/storage v1.61.1-0.20251209230740-724707234895
|
||||
golang.org/x/crypto v0.46.0
|
||||
golang.org/x/net v0.47.0
|
||||
golang.org/x/sync v0.18.0
|
||||
golang.org/x/sys v0.38.0
|
||||
golang.org/x/term v0.37.0
|
||||
golang.org/x/sync v0.19.0
|
||||
golang.org/x/sys v0.39.0
|
||||
golang.org/x/term v0.38.0
|
||||
google.golang.org/grpc v1.77.0
|
||||
google.golang.org/protobuf v1.36.10
|
||||
gopkg.in/inf.v0 v0.9.1
|
||||
|
|
@ -130,7 +130,7 @@ require (
|
|||
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
github.com/jinzhu/copier v0.4.0 // indirect
|
||||
github.com/klauspost/compress v1.18.1 // indirect
|
||||
github.com/klauspost/compress v1.18.2 // indirect
|
||||
github.com/kr/fs v0.1.0 // indirect
|
||||
github.com/lufia/plan9stats v0.0.0-20240909124753-873cd0166683 // indirect
|
||||
github.com/manifoldco/promptui v0.9.0 // indirect
|
||||
|
|
@ -182,11 +182,11 @@ require (
|
|||
go.opentelemetry.io/otel/trace v1.38.0 // indirect
|
||||
go.yaml.in/yaml/v2 v2.4.3 // indirect
|
||||
go.yaml.in/yaml/v3 v3.0.4 // indirect
|
||||
golang.org/x/mod v0.29.0 // indirect
|
||||
golang.org/x/oauth2 v0.33.0 // indirect
|
||||
golang.org/x/text v0.31.0 // indirect
|
||||
golang.org/x/mod v0.30.0 // indirect
|
||||
golang.org/x/oauth2 v0.34.0 // indirect
|
||||
golang.org/x/text v0.32.0 // indirect
|
||||
golang.org/x/time v0.14.0 // indirect
|
||||
golang.org/x/tools v0.38.0 // indirect
|
||||
golang.org/x/tools v0.39.0 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 // indirect
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||
|
|
|
|||
64
go.sum
64
go.sum
|
|
@ -104,8 +104,8 @@ github.com/disiqueira/gotree/v3 v3.0.2 h1:ik5iuLQQoufZBNPY518dXhiO5056hyNBIK9lWh
|
|||
github.com/disiqueira/gotree/v3 v3.0.2/go.mod h1:ZuyjE4+mUQZlbpkI24AmruZKhg3VHEgPLDY8Qk+uUu8=
|
||||
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
|
||||
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
||||
github.com/docker/cli v29.1.1+incompatible h1:gGQk5qx62yPKRm3bUdKBzmDBSQzp17hlSLbV1F7jjys=
|
||||
github.com/docker/cli v29.1.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||
github.com/docker/cli v29.1.2+incompatible h1:s4QI7drXpIo78OM+CwuthPsO5kCf8cpNsck5PsLVTH8=
|
||||
github.com/docker/cli v29.1.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
|
||||
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
|
||||
|
|
@ -217,8 +217,8 @@ github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PW
|
|||
github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co=
|
||||
github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0=
|
||||
github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk=
|
||||
github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
|
||||
github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
|
||||
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
|
||||
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
|
||||
|
|
@ -293,10 +293,10 @@ github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
|
|||
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||
github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY=
|
||||
github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc=
|
||||
github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns=
|
||||
github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
|
||||
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
|
||||
github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k=
|
||||
github.com/onsi/ginkgo/v2 v2.27.3 h1:ICsZJ8JoYafeXFFlFAG75a7CxMsJHwgKwtO+82SE9L8=
|
||||
github.com/onsi/ginkgo/v2 v2.27.3/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
|
||||
github.com/onsi/gomega v1.38.3 h1:eTX+W6dobAYfFeGC2PV6RwXRu/MyT+cQguijutvkpSM=
|
||||
github.com/onsi/gomega v1.38.3/go.mod h1:ZCU1pkQcXDO5Sl9/VVEGlDyp+zm0m1cmeG5TOzLgdh4=
|
||||
github.com/opencontainers/cgroups v0.0.6 h1:tfZFWTIIGaUUFImTyuTg+Mr5x8XRiSdZESgEBW7UxuI=
|
||||
github.com/opencontainers/cgroups v0.0.6/go.mod h1:oWVzJsKK0gG9SCRBfTpnn16WcGEqDI8PAcpMGbqWxcs=
|
||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||
|
|
@ -359,8 +359,8 @@ github.com/skeema/knownhosts v1.3.2 h1:EDL9mgf4NzwMXCTfaxSD/o/a5fxDw/xL9nkU28Jjd
|
|||
github.com/skeema/knownhosts v1.3.2/go.mod h1:bEg3iQAuw+jyiw+484wwFJoKSLwcfd7fqRy+N0QTiow=
|
||||
github.com/smallstep/pkcs7 v0.1.1 h1:x+rPdt2W088V9Vkjho4KtoggyktZJlMduZAtRHm68LU=
|
||||
github.com/smallstep/pkcs7 v0.1.1/go.mod h1:dL6j5AIz9GHjVEBTXtW+QliALcgM19RtXaTeyxI+AfA=
|
||||
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
|
||||
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
|
||||
github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
|
||||
github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4=
|
||||
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
|
||||
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
|
|
@ -447,12 +447,12 @@ go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJr
|
|||
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
|
||||
go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4=
|
||||
go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE=
|
||||
go.podman.io/common v0.66.1-0.20251202202200-df55d6c661e8 h1:X/HMawr2P5VtTICpL57wJLRpYQrLDSMOwNKKusJ4tVI=
|
||||
go.podman.io/common v0.66.1-0.20251202202200-df55d6c661e8/go.mod h1:wpnuqmlKx7El9QgMIMJiZq9SM+InftBZF4QUlEKGAZI=
|
||||
go.podman.io/image/v5 v5.38.1-0.20251202202200-df55d6c661e8 h1:JKM6NKkbcq+HpAtYlnWwugOCM08aUKE5nbI0aNIDSIQ=
|
||||
go.podman.io/image/v5 v5.38.1-0.20251202202200-df55d6c661e8/go.mod h1:bXKvkbQgtxD3hibVOhAeGANyKPqo6lVwdwOxt93+V40=
|
||||
go.podman.io/storage v1.61.1-0.20251202202200-df55d6c661e8 h1:1zf8nDepbe13RUhjdgj2UIQRHAUZlDohNZbhQBZVnm0=
|
||||
go.podman.io/storage v1.61.1-0.20251202202200-df55d6c661e8/go.mod h1:izI0U2FxSpqivwmkVbTO7ECcoER6FnM6ZL7CFPu0Tfs=
|
||||
go.podman.io/common v0.66.2-0.20251209230740-724707234895 h1:ix4xy72RKL6A3dt2TY/1BiMdGRZ5KsCOFAj5fKFojss=
|
||||
go.podman.io/common v0.66.2-0.20251209230740-724707234895/go.mod h1:nvLoEmuBA9YEKCEQBjla0ymLB7nqP6Hrurw3lhcTAjM=
|
||||
go.podman.io/image/v5 v5.38.1-0.20251209230740-724707234895 h1:WWyrZFLYIg/BCCB5nVQJwPCbT8SbrmmhY6rUfM1EWzM=
|
||||
go.podman.io/image/v5 v5.38.1-0.20251209230740-724707234895/go.mod h1:aplZfUFBE3o4Ttj+hWH3QRmBRjPHOuaEnC9/yaMgxL0=
|
||||
go.podman.io/storage v1.61.1-0.20251209230740-724707234895 h1:v9uNYnaG3E6VArt6+6SZLzE1rvG6/7baZvE8jmijM6o=
|
||||
go.podman.io/storage v1.61.1-0.20251209230740-724707234895/go.mod h1:Z4Wvuj8fy+zTePj4wzBveklhs2CnlfcBgrUMW+bFvos=
|
||||
go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
|
||||
go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
|
||||
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
||||
|
|
@ -465,8 +465,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
|
|||
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
|
||||
golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
|
||||
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
|
||||
golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU=
|
||||
golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0=
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
|
||||
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
|
|
@ -477,8 +477,8 @@ golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
|||
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
|
||||
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
||||
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
|
||||
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
|
||||
golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
|
||||
golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
|
|
@ -493,8 +493,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
|
|||
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
|
||||
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
|
||||
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
|
||||
golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
|
||||
golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
|
||||
golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
|
||||
golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
|
|
@ -505,8 +505,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
|||
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
|
||||
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
|
||||
golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
|
|
@ -531,8 +531,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
|
||||
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
|
||||
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
|
||||
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=
|
||||
|
|
@ -542,8 +542,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
|
|||
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
|
||||
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
|
||||
golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM=
|
||||
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
|
||||
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
|
||||
golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q=
|
||||
golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
|
|
@ -553,8 +553,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
|||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
|
||||
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
|
||||
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
|
||||
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
|
||||
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
|
||||
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
|
|
@ -566,8 +566,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc
|
|||
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
|
||||
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
|
||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
|
||||
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
|
||||
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
|
||||
golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
|
||||
golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
|
||||
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-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ import (
|
|||
"go.podman.io/common/pkg/apparmor"
|
||||
"go.podman.io/common/pkg/chown"
|
||||
"go.podman.io/common/pkg/config"
|
||||
"go.podman.io/common/pkg/libartifact/store"
|
||||
libartTypes "go.podman.io/common/pkg/libartifact/types"
|
||||
"go.podman.io/common/pkg/subscriptions"
|
||||
"go.podman.io/common/pkg/umask"
|
||||
|
|
@ -548,7 +549,11 @@ func (c *Container) generateSpec(ctx context.Context) (s *spec.Spec, cleanupFunc
|
|||
return nil, nil, err
|
||||
}
|
||||
for _, artifactMount := range c.config.ArtifactVolumes {
|
||||
paths, err := artStore.BlobMountPaths(ctx, artifactMount.Source, &libartTypes.BlobMountPathOptions{
|
||||
asr, err := store.NewArtifactStorageReference(artifactMount.Source)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
paths, err := artStore.BlobMountPaths(ctx, asr, &libartTypes.BlobMountPathOptions{
|
||||
FilterBlobOptions: libartTypes.FilterBlobOptions{
|
||||
Title: artifactMount.Title,
|
||||
Digest: artifactMount.Digest,
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import (
|
|||
"github.com/opencontainers/go-digest"
|
||||
"github.com/sirupsen/logrus"
|
||||
"go.podman.io/common/libimage"
|
||||
"go.podman.io/common/pkg/libartifact/store"
|
||||
"go.podman.io/common/pkg/libartifact/types"
|
||||
)
|
||||
|
||||
|
|
@ -22,7 +23,11 @@ func (ir *ImageEngine) ArtifactInspect(ctx context.Context, name string, _ entit
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
art, err := artStore.Inspect(ctx, name)
|
||||
asr, err := store.NewArtifactStorageReference(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
art, err := artStore.Inspect(ctx, asr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -57,6 +62,11 @@ func (ir *ImageEngine) ArtifactList(ctx context.Context, _ entities.ArtifactList
|
|||
}
|
||||
|
||||
func (ir *ImageEngine) ArtifactPull(ctx context.Context, name string, opts entities.ArtifactPullOptions) (*entities.ArtifactPullReport, error) {
|
||||
artRefToPull, err := store.NewArtifactReference(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pullOptions := &libimage.CopyOptions{}
|
||||
pullOptions.AuthFilePath = opts.AuthFilePath
|
||||
pullOptions.CertDirPath = opts.CertDirPath
|
||||
|
|
@ -82,7 +92,7 @@ func (ir *ImageEngine) ArtifactPull(ctx context.Context, name string, opts entit
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
artifactDigest, err := artStore.Pull(ctx, name, *pullOptions)
|
||||
artifactDigest, err := artStore.Pull(ctx, artRefToPull, *pullOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -121,11 +131,16 @@ func (ir *ImageEngine) ArtifactRm(ctx context.Context, opts entities.ArtifactRem
|
|||
}
|
||||
|
||||
artifactDigests := make([]*digest.Digest, 0, len(namesOrDigests))
|
||||
for _, namesOrDigest := range namesOrDigests {
|
||||
artifactDigest, err := artStore.Remove(ctx, namesOrDigest)
|
||||
for _, nameOrDigest := range namesOrDigests {
|
||||
asr, err := store.NewArtifactStorageReference(nameOrDigest)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
artifactDigest, err := artStore.Remove(ctx, asr)
|
||||
if err != nil {
|
||||
if opts.Ignore && errors.Is(err, types.ErrArtifactNotExist) {
|
||||
logrus.Debugf("Artifact with name or digest %q does not exist, ignoring error as request", namesOrDigest)
|
||||
logrus.Debugf("Artifact with name or digest %q does not exist, ignoring error as request", nameOrDigest)
|
||||
continue
|
||||
}
|
||||
return nil, err
|
||||
|
|
@ -191,7 +206,11 @@ func (ir *ImageEngine) ArtifactPush(ctx context.Context, name string, opts entit
|
|||
IdentityToken: "",
|
||||
Writer: opts.Writer,
|
||||
}
|
||||
artifactDigest, err := artStore.Push(ctx, name, name, copyOpts)
|
||||
artRef, err := store.NewArtifactReference(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
artifactDigest, err := artStore.Push(ctx, artRef, artRef, copyOpts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -207,9 +226,13 @@ func (ir *ImageEngine) ArtifactAdd(ctx context.Context, name string, artifactBlo
|
|||
return nil, err
|
||||
}
|
||||
|
||||
artToAdd, err := store.NewArtifactReference(name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// If replace is true, try to remove existing artifact (ignore errors if it doesn't exist)
|
||||
if opts.Replace {
|
||||
if _, err = artStore.Remove(ctx, name); err != nil && !errors.Is(err, types.ErrArtifactNotExist) {
|
||||
if _, err = artStore.Remove(ctx, artToAdd.ToArtifactStoreReference()); err != nil && !errors.Is(err, types.ErrArtifactNotExist) {
|
||||
logrus.Debugf("Artifact %q removal failed: %s", name, err)
|
||||
}
|
||||
}
|
||||
|
|
@ -222,7 +245,7 @@ func (ir *ImageEngine) ArtifactAdd(ctx context.Context, name string, artifactBlo
|
|||
Replace: opts.Replace,
|
||||
}
|
||||
|
||||
artifactDigest, err := artStore.Add(ctx, name, artifactBlobs, &addOptions)
|
||||
artifactDigest, err := artStore.Add(ctx, artToAdd, artifactBlobs, &addOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -243,7 +266,11 @@ func (ir *ImageEngine) ArtifactExtract(ctx context.Context, name string, target
|
|||
},
|
||||
}
|
||||
|
||||
return artStore.Extract(ctx, name, target, &extractOpt)
|
||||
asr, err := store.NewArtifactStorageReference(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return artStore.Extract(ctx, asr, target, &extractOpt)
|
||||
}
|
||||
|
||||
func (ir *ImageEngine) ArtifactExtractTarStream(ctx context.Context, w io.Writer, name string, opts entities.ArtifactExtractOptions) error {
|
||||
|
|
@ -259,5 +286,9 @@ func (ir *ImageEngine) ArtifactExtractTarStream(ctx context.Context, w io.Writer
|
|||
ExcludeTitle: opts.ExcludeTitle,
|
||||
}
|
||||
|
||||
return artStore.ExtractTarStream(ctx, w, name, &extractOpt)
|
||||
asr, err := store.NewArtifactStorageReference(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return artStore.ExtractTarStream(ctx, w, asr, &extractOpt)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ class ArtifactTestCase(APITestCase):
|
|||
self.assertEqual(len(artifact_layers), 2)
|
||||
|
||||
def test_add_with_artifactMIMEType_override(self):
|
||||
ARTIFACT_NAME = "quay.io/myimage/myartifact_artifactType:latest"
|
||||
ARTIFACT_NAME = "quay.io/myimage/myartifact_artifacttype:latest"
|
||||
file = ArtifactFile()
|
||||
parameters: dict[str, str | list[str]] = {
|
||||
"name": ARTIFACT_NAME,
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ var _ = Describe("Podman artifact created timestamp", func() {
|
|||
|
||||
// Inspect artifact
|
||||
a := podmanTest.InspectArtifact(artifactName)
|
||||
Expect(a.Name).To(Equal(artifactName))
|
||||
Expect(a.Name).To(Equal(artifactName + ":latest"))
|
||||
|
||||
// Check that created annotation exists and is in valid RFC3339 format
|
||||
createdStr, exists := a.Manifest.Annotations["org.opencontainers.image.created"]
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ var _ = Describe("Podman artifact mount", func() {
|
|||
// restart will fail if artifact does not exist
|
||||
session = podmanTest.Podman([]string{"restart", "-t0", ctrName})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).To(ExitWithError(125, artifactName+": artifact does not exist"))
|
||||
Expect(session).To(ExitWithError(125, artifactName+":latest: artifact does not exist"))
|
||||
|
||||
// create a artifact with the same name again and add another file to ensure it picks up the changes
|
||||
artifactFile2Name := "otherfile"
|
||||
|
|
|
|||
|
|
@ -109,19 +109,19 @@ var _ = Describe("Podman artifact", func() {
|
|||
|
||||
a := podmanTest.InspectArtifact(artifact1Name)
|
||||
|
||||
Expect(a.Name).To(Equal(artifact1Name))
|
||||
Expect(a.Name).To(Equal(artifact1Name + ":latest"))
|
||||
|
||||
// Adding an artifact with an existing name should fail
|
||||
addAgain := podmanTest.Podman([]string{"artifact", "add", artifact1Name, artifact1File})
|
||||
addAgain.WaitWithDefaultTimeout()
|
||||
Expect(addAgain).Should(ExitWithError(125, fmt.Sprintf("Error: %s: artifact already exists", artifact1Name)))
|
||||
Expect(addAgain).Should(ExitWithError(125, fmt.Sprintf("Error: %s: artifact already exists", artifact1Name+":latest")))
|
||||
})
|
||||
|
||||
It("podman artifact add with options", func() {
|
||||
yamlType := "text/yaml"
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact2Name := "localhost/test/artifact2"
|
||||
artifact3Name := "localhost/test/artifact3"
|
||||
artifact1Name := "localhost/test/artifact1:latest"
|
||||
artifact2Name := "localhost/test/artifact2:latest"
|
||||
artifact3Name := "localhost/test/artifact3:latest"
|
||||
artifact1File, err := createArtifactFile(1024)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
artifact2File, err := createArtifactFile(1024)
|
||||
|
|
@ -167,7 +167,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
artifact1File2, err := createArtifactFile(8192)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact1Name := "localhost/test/artifact1:123"
|
||||
|
||||
podmanTest.PodmanExitCleanly("artifact", "add", artifact1Name, artifact1File1, artifact1File2)
|
||||
|
||||
|
|
@ -198,7 +198,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
}
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
artifact1Name := fmt.Sprintf("localhost:%s/test/artifact1", port)
|
||||
artifact1Name := fmt.Sprintf("localhost:%s/test/artifact1:mytag", port)
|
||||
podmanTest.PodmanExitCleanly("artifact", "add", artifact1Name, artifact1File)
|
||||
|
||||
podmanTest.PodmanExitCleanly("artifact", "push", "-q", "--tls-verify=false", artifact1Name)
|
||||
|
|
@ -263,7 +263,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
|
||||
artifact1File, err := createArtifactFile(1024)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
artifact1Name := fmt.Sprintf("localhost:%s/test/artifact1", port)
|
||||
artifact1Name := fmt.Sprintf("localhost:%s/test/artifact1:latest", port)
|
||||
podmanTest.PodmanExitCleanly("artifact", "add", artifact1Name, artifact1File)
|
||||
|
||||
authPath := filepath.Join(podmanTest.TempDir, "auth")
|
||||
|
|
@ -312,7 +312,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
// Add an artifact to remove later
|
||||
artifact1File, err := createArtifactFile(4192)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact1Name := "localhost/test/artifact1:latest"
|
||||
addArtifact1 := podmanTest.PodmanExitCleanly("artifact", "add", artifact1Name, artifact1File)
|
||||
|
||||
// Removing that artifact should work
|
||||
|
|
@ -552,7 +552,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
filepath.Base(artifact3File): 0,
|
||||
}
|
||||
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact1Name := "localhost/test/artifact1:latest"
|
||||
podmanTest.PodmanExitCleanly("artifact", "add", artifact1Name, artifact1File)
|
||||
|
||||
_ = podmanTest.InspectArtifact(artifact1Name)
|
||||
|
|
@ -635,7 +635,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
artifact1File, err := createArtifactFile(2048)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact1Name := "localhost/test/artifact1:latest"
|
||||
|
||||
addFail := podmanTest.Podman([]string{"artifact", "add", artifact1Name, artifact1File, artifact1File})
|
||||
addFail.WaitWithDefaultTimeout()
|
||||
|
|
@ -643,6 +643,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
|
||||
inspectFail := podmanTest.Podman([]string{"artifact", "inspect", artifact1Name})
|
||||
inspectFail.WaitWithDefaultTimeout()
|
||||
// Error: localhost/test/artifact1:latest: artifact does not exist
|
||||
Expect(inspectFail).Should(ExitWithError(125, fmt.Sprintf("Error: %s: artifact does not exist", artifact1Name)))
|
||||
})
|
||||
|
||||
|
|
@ -663,7 +664,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
})
|
||||
|
||||
It("podman artifact add with --append and --type", func() {
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact1Name := "localhost/test/artifact1:latest"
|
||||
artifact1File, err := createArtifactFile(1024)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
|
|
@ -699,7 +700,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
artifact2File, err := createArtifactFile(2048)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact1Name := "localhost/test/artifact1:latest"
|
||||
|
||||
// Add artifact
|
||||
podmanTest.PodmanExitCleanly("artifact", "add", artifact1Name, artifact1File)
|
||||
|
|
@ -731,7 +732,7 @@ var _ = Describe("Podman artifact", func() {
|
|||
It("podman artifact inspect with --format", func() {
|
||||
artifact1File, err := createArtifactFile(4192)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
artifact1Name := "localhost/test/artifact1"
|
||||
artifact1Name := "localhost/test/artifact1:latest"
|
||||
addArtifact1 := podmanTest.PodmanExitCleanly("artifact", "add", artifact1Name, artifact1File)
|
||||
|
||||
artifactDigest := addArtifact1.OutputToString()
|
||||
|
|
|
|||
|
|
@ -600,7 +600,7 @@ var _ = Describe("Podman inspect", func() {
|
|||
artifactFile, err := createArtifactFile(1024)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
artifactName := "localhost/test/myartifact"
|
||||
artifactName := "localhost/test/myartifact:mytag"
|
||||
add := podmanTest.Podman([]string{"artifact", "add", artifactName, artifactFile})
|
||||
add.WaitWithDefaultTimeout()
|
||||
Expect(add).Should(ExitCleanly())
|
||||
|
|
|
|||
|
|
@ -126,7 +126,8 @@ function check_subcommand() {
|
|||
ctrname="c-$(safename)"
|
||||
podname="p-$(safename)"
|
||||
secretname="s-$(safename)"
|
||||
artifactname="a-$(safename)"
|
||||
# Artifact strict typing requires fully qualified name
|
||||
artifactname="foo.io/myrepo/$(safename)"
|
||||
# Setup: some commands need a container, pod, secret, ...
|
||||
run_podman run -d --name $ctrname $IMAGE top
|
||||
run_podman pod create $podname
|
||||
|
|
|
|||
17
vendor/github.com/klauspost/compress/README.md
generated
vendored
17
vendor/github.com/klauspost/compress/README.md
generated
vendored
|
|
@ -27,6 +27,16 @@ Use the links above for more information on each.
|
|||
|
||||
# changelog
|
||||
|
||||
* Oct 20, 2025 - [1.18.1](https://github.com/klauspost/compress/releases/tag/v1.18.1)
|
||||
* zstd: Add simple zstd EncodeTo/DecodeTo functions https://github.com/klauspost/compress/pull/1079
|
||||
* zstd: Fix incorrect buffer size in dictionary encodes https://github.com/klauspost/compress/pull/1059
|
||||
* s2: check for cap, not len of buffer in EncodeBetter/Best by @vdarulis in https://github.com/klauspost/compress/pull/1080
|
||||
* zlib: Avoiding extra allocation in zlib.reader.Reset by @travelpolicy in https://github.com/klauspost/compress/pull/1086
|
||||
* gzhttp: remove redundant err check in zstdReader by @ryanfowler in https://github.com/klauspost/compress/pull/1090
|
||||
* flate: Faster load+store https://github.com/klauspost/compress/pull/1104
|
||||
* flate: Simplify matchlen https://github.com/klauspost/compress/pull/1101
|
||||
* flate: Use exact sizes for huffman tables https://github.com/klauspost/compress/pull/1103
|
||||
|
||||
* Feb 19th, 2025 - [1.18.0](https://github.com/klauspost/compress/releases/tag/v1.18.0)
|
||||
* Add unsafe little endian loaders https://github.com/klauspost/compress/pull/1036
|
||||
* fix: check `r.err != nil` but return a nil value error `err` by @alingse in https://github.com/klauspost/compress/pull/1028
|
||||
|
|
@ -36,6 +46,9 @@ Use the links above for more information on each.
|
|||
* flate: Fix matchlen L5+L6 https://github.com/klauspost/compress/pull/1049
|
||||
* flate: Cleanup & reduce casts https://github.com/klauspost/compress/pull/1050
|
||||
|
||||
<details>
|
||||
<summary>See changes to v1.17.x</summary>
|
||||
|
||||
* Oct 11th, 2024 - [1.17.11](https://github.com/klauspost/compress/releases/tag/v1.17.11)
|
||||
* zstd: Fix extra CRC written with multiple Close calls https://github.com/klauspost/compress/pull/1017
|
||||
* s2: Don't use stack for index tables https://github.com/klauspost/compress/pull/1014
|
||||
|
|
@ -102,7 +115,8 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
|
|||
* s2: Do 2 overlapping match checks https://github.com/klauspost/compress/pull/839
|
||||
* flate: Add amd64 assembly matchlen https://github.com/klauspost/compress/pull/837
|
||||
* gzip: Copy bufio.Reader on Reset by @thatguystone in https://github.com/klauspost/compress/pull/860
|
||||
|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>See changes to v1.16.x</summary>
|
||||
|
||||
|
|
@ -669,3 +683,4 @@ Here are other packages of good quality and pure Go (no cgo wrappers or autoconv
|
|||
# license
|
||||
|
||||
This code is licensed under the same conditions as the original Go code. See LICENSE file.
|
||||
|
||||
|
|
|
|||
4
vendor/github.com/klauspost/compress/flate/deflate.go
generated
vendored
4
vendor/github.com/klauspost/compress/flate/deflate.go
generated
vendored
|
|
@ -421,7 +421,9 @@ func (d *compressor) deflateLazy() {
|
|||
d.h = newHuffmanEncoder(maxFlateBlockTokens)
|
||||
}
|
||||
var tmp [256]uint16
|
||||
for _, v := range d.window[s.index:d.windowEnd] {
|
||||
toIndex := d.window[s.index:d.windowEnd]
|
||||
toIndex = toIndex[:min(len(toIndex), maxFlateBlockTokens)]
|
||||
for _, v := range toIndex {
|
||||
tmp[v]++
|
||||
}
|
||||
d.h.generate(tmp[:], 15)
|
||||
|
|
|
|||
9
vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go
generated
vendored
9
vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go
generated
vendored
|
|
@ -646,7 +646,7 @@ func (w *huffmanBitWriter) writeBlockDynamic(tokens *tokens, eof bool, input []b
|
|||
w.lastHeader = 0
|
||||
}
|
||||
|
||||
numLiterals, numOffsets := w.indexTokens(tokens, fillReuse && !sync)
|
||||
numLiterals, numOffsets := w.indexTokens(tokens, true)
|
||||
extraBits := 0
|
||||
ssize, storable := w.storedSize(input)
|
||||
|
||||
|
|
@ -781,7 +781,7 @@ func (w *huffmanBitWriter) fillTokens() {
|
|||
// literalFreq and offsetFreq, and generates literalEncoding
|
||||
// and offsetEncoding.
|
||||
// The number of literal and offset tokens is returned.
|
||||
func (w *huffmanBitWriter) indexTokens(t *tokens, filled bool) (numLiterals, numOffsets int) {
|
||||
func (w *huffmanBitWriter) indexTokens(t *tokens, alwaysEOB bool) (numLiterals, numOffsets int) {
|
||||
//copy(w.literalFreq[:], t.litHist[:])
|
||||
*(*[256]uint16)(w.literalFreq[:]) = t.litHist
|
||||
//copy(w.literalFreq[256:], t.extraHist[:])
|
||||
|
|
@ -791,9 +791,10 @@ func (w *huffmanBitWriter) indexTokens(t *tokens, filled bool) (numLiterals, num
|
|||
if t.n == 0 {
|
||||
return
|
||||
}
|
||||
if filled {
|
||||
return maxNumLit, maxNumDist
|
||||
if alwaysEOB {
|
||||
w.literalFreq[endBlockMarker] = 1
|
||||
}
|
||||
|
||||
// get the number of literals
|
||||
numLiterals = len(w.literalFreq)
|
||||
for w.literalFreq[numLiterals-1] == 0 {
|
||||
|
|
|
|||
20
vendor/github.com/klauspost/compress/flate/stateless.go
generated
vendored
20
vendor/github.com/klauspost/compress/flate/stateless.go
generated
vendored
|
|
@ -61,13 +61,19 @@ var bitWriterPool = sync.Pool{
|
|||
},
|
||||
}
|
||||
|
||||
// tokensPool contains tokens struct objects that can be reused
|
||||
var tokensPool = sync.Pool{
|
||||
New: func() any {
|
||||
return &tokens{}
|
||||
},
|
||||
}
|
||||
|
||||
// StatelessDeflate allows compressing directly to a Writer without retaining state.
|
||||
// When returning everything will be flushed.
|
||||
// Up to 8KB of an optional dictionary can be given which is presumed to precede the block.
|
||||
// Longer dictionaries will be truncated and will still produce valid output.
|
||||
// Sending nil dictionary is perfectly fine.
|
||||
func StatelessDeflate(out io.Writer, in []byte, eof bool, dict []byte) error {
|
||||
var dst tokens
|
||||
bw := bitWriterPool.Get().(*huffmanBitWriter)
|
||||
bw.reset(out)
|
||||
defer func() {
|
||||
|
|
@ -91,6 +97,12 @@ func StatelessDeflate(out io.Writer, in []byte, eof bool, dict []byte) error {
|
|||
// For subsequent loops, keep shallow dict reference to avoid alloc+copy.
|
||||
var inDict []byte
|
||||
|
||||
dst := tokensPool.Get().(*tokens)
|
||||
dst.Reset()
|
||||
defer func() {
|
||||
tokensPool.Put(dst)
|
||||
}()
|
||||
|
||||
for len(in) > 0 {
|
||||
todo := in
|
||||
if len(inDict) > 0 {
|
||||
|
|
@ -113,9 +125,9 @@ func StatelessDeflate(out io.Writer, in []byte, eof bool, dict []byte) error {
|
|||
}
|
||||
// Compress
|
||||
if len(inDict) == 0 {
|
||||
statelessEnc(&dst, todo, int16(len(dict)))
|
||||
statelessEnc(dst, todo, int16(len(dict)))
|
||||
} else {
|
||||
statelessEnc(&dst, inDict[:maxStatelessDict+len(todo)], maxStatelessDict)
|
||||
statelessEnc(dst, inDict[:maxStatelessDict+len(todo)], maxStatelessDict)
|
||||
}
|
||||
isEof := eof && len(in) == 0
|
||||
|
||||
|
|
@ -129,7 +141,7 @@ func StatelessDeflate(out io.Writer, in []byte, eof bool, dict []byte) error {
|
|||
// If we removed less than 1/16th, huffman compress the block.
|
||||
bw.writeBlockHuff(isEof, uncompressed, len(in) == 0)
|
||||
} else {
|
||||
bw.writeBlockDynamic(&dst, isEof, uncompressed, len(in) == 0)
|
||||
bw.writeBlockDynamic(dst, isEof, uncompressed, len(in) == 0)
|
||||
}
|
||||
if len(in) > 0 {
|
||||
// Retain a dict if we have more
|
||||
|
|
|
|||
6
vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md
generated
vendored
6
vendor/github.com/onsi/ginkgo/v2/CHANGELOG.md
generated
vendored
|
|
@ -1,3 +1,9 @@
|
|||
## 2.27.3
|
||||
|
||||
### Fixes
|
||||
report exit result in case of failure [1c9f356]
|
||||
fix data race [ece19c8]
|
||||
|
||||
## 2.27.2
|
||||
|
||||
### Fixes
|
||||
|
|
|
|||
13
vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.go
generated
vendored
13
vendor/github.com/onsi/ginkgo/v2/ginkgo/internal/run.go
generated
vendored
|
|
@ -9,6 +9,7 @@ import (
|
|||
"path/filepath"
|
||||
"regexp"
|
||||
"strings"
|
||||
"sync/atomic"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
|
|
@ -159,12 +160,15 @@ func runSerial(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig t
|
|||
|
||||
func runParallel(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig types.ReporterConfig, cliConfig types.CLIConfig, goFlagsConfig types.GoFlagsConfig, additionalArgs []string) TestSuite {
|
||||
type procResult struct {
|
||||
proc int
|
||||
exitResult string
|
||||
passed bool
|
||||
hasProgrammaticFocus bool
|
||||
}
|
||||
|
||||
numProcs := cliConfig.ComputedProcs()
|
||||
procOutput := make([]*bytes.Buffer, numProcs)
|
||||
procExitResult := make([]string, numProcs)
|
||||
coverProfiles := []string{}
|
||||
|
||||
blockProfiles := []string{}
|
||||
|
|
@ -224,16 +228,20 @@ func runParallel(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig
|
|||
args = append(args, additionalArgs...)
|
||||
|
||||
cmd, buf := buildAndStartCommand(suite, args, false)
|
||||
var exited atomic.Bool
|
||||
procOutput[proc-1] = buf
|
||||
server.RegisterAlive(proc, func() bool { return cmd.ProcessState == nil || !cmd.ProcessState.Exited() })
|
||||
server.RegisterAlive(proc, func() bool { return !exited.Load() })
|
||||
|
||||
go func() {
|
||||
cmd.Wait()
|
||||
exitStatus := cmd.ProcessState.Sys().(syscall.WaitStatus).ExitStatus()
|
||||
procResults <- procResult{
|
||||
proc: proc,
|
||||
exitResult: cmd.ProcessState.String(),
|
||||
passed: (exitStatus == 0) || (exitStatus == types.GINKGO_FOCUS_EXIT_CODE),
|
||||
hasProgrammaticFocus: exitStatus == types.GINKGO_FOCUS_EXIT_CODE,
|
||||
}
|
||||
exited.Store(true)
|
||||
}()
|
||||
}
|
||||
|
||||
|
|
@ -242,6 +250,7 @@ func runParallel(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig
|
|||
result := <-procResults
|
||||
passed = passed && result.passed
|
||||
suite.HasProgrammaticFocus = suite.HasProgrammaticFocus || result.hasProgrammaticFocus
|
||||
procExitResult[result.proc-1] = result.exitResult
|
||||
}
|
||||
if passed {
|
||||
suite.State = TestSuiteStatePassed
|
||||
|
|
@ -261,6 +270,8 @@ func runParallel(suite TestSuite, ginkgoConfig types.SuiteConfig, reporterConfig
|
|||
for proc := 1; proc <= cliConfig.ComputedProcs(); proc++ {
|
||||
fmt.Fprintf(formatter.ColorableStdErr, formatter.F("{{bold}}Output from proc %d:{{/}}\n", proc))
|
||||
fmt.Fprintln(os.Stderr, formatter.Fi(1, "%s", procOutput[proc-1].String()))
|
||||
fmt.Fprintf(formatter.ColorableStdErr, formatter.F("{{bold}}Exit result of proc %d:{{/}}\n", proc))
|
||||
fmt.Fprintln(os.Stderr, formatter.Fi(1, "%s\n", procExitResult[proc-1]))
|
||||
}
|
||||
fmt.Fprintf(os.Stderr, "** End **")
|
||||
}
|
||||
|
|
|
|||
2
vendor/github.com/onsi/ginkgo/v2/types/version.go
generated
vendored
2
vendor/github.com/onsi/ginkgo/v2/types/version.go
generated
vendored
|
|
@ -1,3 +1,3 @@
|
|||
package types
|
||||
|
||||
const VERSION = "2.27.2"
|
||||
const VERSION = "2.27.3"
|
||||
|
|
|
|||
5
vendor/github.com/onsi/gomega/CHANGELOG.md
generated
vendored
5
vendor/github.com/onsi/gomega/CHANGELOG.md
generated
vendored
|
|
@ -1,3 +1,8 @@
|
|||
## 1.38.3
|
||||
|
||||
### Fixes
|
||||
make string formatitng more consistent for users who use format.Object directly
|
||||
|
||||
## 1.38.2
|
||||
|
||||
- roll back to go 1.23.0 [c404969]
|
||||
|
|
|
|||
26
vendor/github.com/onsi/gomega/format/format.go
generated
vendored
26
vendor/github.com/onsi/gomega/format/format.go
generated
vendored
|
|
@ -262,7 +262,7 @@ func Object(object any, indentation uint) string {
|
|||
if err, ok := object.(error); ok && !isNilValue(value) { // isNilValue check needed here to avoid nil deref due to boxed nil
|
||||
commonRepresentation += "\n" + IndentString(err.Error(), indentation) + "\n" + indent
|
||||
}
|
||||
return fmt.Sprintf("%s<%s>: %s%s", indent, formatType(value), commonRepresentation, formatValue(value, indentation))
|
||||
return fmt.Sprintf("%s<%s>: %s%s", indent, formatType(value), commonRepresentation, formatValue(value, indentation, true))
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -306,7 +306,7 @@ func formatType(v reflect.Value) string {
|
|||
}
|
||||
}
|
||||
|
||||
func formatValue(value reflect.Value, indentation uint) string {
|
||||
func formatValue(value reflect.Value, indentation uint, isTopLevel bool) string {
|
||||
if indentation > MaxDepth {
|
||||
return "..."
|
||||
}
|
||||
|
|
@ -367,11 +367,11 @@ func formatValue(value reflect.Value, indentation uint) string {
|
|||
case reflect.Func:
|
||||
return fmt.Sprintf("0x%x", value.Pointer())
|
||||
case reflect.Ptr:
|
||||
return formatValue(value.Elem(), indentation)
|
||||
return formatValue(value.Elem(), indentation, isTopLevel)
|
||||
case reflect.Slice:
|
||||
return truncateLongStrings(formatSlice(value, indentation))
|
||||
case reflect.String:
|
||||
return truncateLongStrings(formatString(value.String(), indentation))
|
||||
return truncateLongStrings(formatString(value.String(), indentation, isTopLevel))
|
||||
case reflect.Array:
|
||||
return truncateLongStrings(formatSlice(value, indentation))
|
||||
case reflect.Map:
|
||||
|
|
@ -392,8 +392,8 @@ func formatValue(value reflect.Value, indentation uint) string {
|
|||
}
|
||||
}
|
||||
|
||||
func formatString(object any, indentation uint) string {
|
||||
if indentation == 1 {
|
||||
func formatString(object any, indentation uint, isTopLevel bool) string {
|
||||
if isTopLevel {
|
||||
s := fmt.Sprintf("%s", object)
|
||||
components := strings.Split(s, "\n")
|
||||
result := ""
|
||||
|
|
@ -416,14 +416,14 @@ func formatString(object any, indentation uint) string {
|
|||
|
||||
func formatSlice(v reflect.Value, indentation uint) string {
|
||||
if v.Kind() == reflect.Slice && v.Type().Elem().Kind() == reflect.Uint8 && isPrintableString(string(v.Bytes())) {
|
||||
return formatString(v.Bytes(), indentation)
|
||||
return formatString(v.Bytes(), indentation, false)
|
||||
}
|
||||
|
||||
l := v.Len()
|
||||
result := make([]string, l)
|
||||
longest := 0
|
||||
for i := 0; i < l; i++ {
|
||||
result[i] = formatValue(v.Index(i), indentation+1)
|
||||
for i := range l {
|
||||
result[i] = formatValue(v.Index(i), indentation+1, false)
|
||||
if len(result[i]) > longest {
|
||||
longest = len(result[i])
|
||||
}
|
||||
|
|
@ -443,7 +443,7 @@ func formatMap(v reflect.Value, indentation uint) string {
|
|||
longest := 0
|
||||
for i, key := range v.MapKeys() {
|
||||
value := v.MapIndex(key)
|
||||
result[i] = fmt.Sprintf("%s: %s", formatValue(key, indentation+1), formatValue(value, indentation+1))
|
||||
result[i] = fmt.Sprintf("%s: %s", formatValue(key, indentation+1, false), formatValue(value, indentation+1, false))
|
||||
if len(result[i]) > longest {
|
||||
longest = len(result[i])
|
||||
}
|
||||
|
|
@ -462,10 +462,10 @@ func formatStruct(v reflect.Value, indentation uint) string {
|
|||
l := v.NumField()
|
||||
result := []string{}
|
||||
longest := 0
|
||||
for i := 0; i < l; i++ {
|
||||
for i := range l {
|
||||
structField := t.Field(i)
|
||||
fieldEntry := v.Field(i)
|
||||
representation := fmt.Sprintf("%s: %s", structField.Name, formatValue(fieldEntry, indentation+1))
|
||||
representation := fmt.Sprintf("%s: %s", structField.Name, formatValue(fieldEntry, indentation+1, false))
|
||||
result = append(result, representation)
|
||||
if len(representation) > longest {
|
||||
longest = len(representation)
|
||||
|
|
@ -479,7 +479,7 @@ func formatStruct(v reflect.Value, indentation uint) string {
|
|||
}
|
||||
|
||||
func formatInterface(v reflect.Value, indentation uint) string {
|
||||
return fmt.Sprintf("<%s>%s", formatType(v.Elem()), formatValue(v.Elem(), indentation))
|
||||
return fmt.Sprintf("<%s>%s", formatType(v.Elem()), formatValue(v.Elem(), indentation, false))
|
||||
}
|
||||
|
||||
func isNilValue(a reflect.Value) bool {
|
||||
|
|
|
|||
2
vendor/github.com/onsi/gomega/gomega_dsl.go
generated
vendored
2
vendor/github.com/onsi/gomega/gomega_dsl.go
generated
vendored
|
|
@ -22,7 +22,7 @@ import (
|
|||
"github.com/onsi/gomega/types"
|
||||
)
|
||||
|
||||
const GOMEGA_VERSION = "1.38.2"
|
||||
const GOMEGA_VERSION = "1.38.3"
|
||||
|
||||
const nilGomegaPanic = `You are trying to make an assertion, but haven't registered Gomega's fail handler.
|
||||
If you're using Ginkgo then you probably forgot to put your assertion in an It().
|
||||
|
|
|
|||
4
vendor/github.com/onsi/gomega/matchers.go
generated
vendored
4
vendor/github.com/onsi/gomega/matchers.go
generated
vendored
|
|
@ -515,8 +515,8 @@ func HaveExistingField(field string) types.GomegaMatcher {
|
|||
// and even interface values.
|
||||
//
|
||||
// actual := 42
|
||||
// Expect(actual).To(HaveValue(42))
|
||||
// Expect(&actual).To(HaveValue(42))
|
||||
// Expect(actual).To(HaveValue(Equal(42)))
|
||||
// Expect(&actual).To(HaveValue(Equal(42)))
|
||||
func HaveValue(matcher types.GomegaMatcher) types.GomegaMatcher {
|
||||
return &matchers.HaveValueMatcher{
|
||||
Matcher: matcher,
|
||||
|
|
|
|||
2
vendor/github.com/onsi/gomega/matchers/have_key_matcher.go
generated
vendored
2
vendor/github.com/onsi/gomega/matchers/have_key_matcher.go
generated
vendored
|
|
@ -39,7 +39,7 @@ func (matcher *HaveKeyMatcher) Match(actual any) (success bool, err error) {
|
|||
}
|
||||
|
||||
keys := reflect.ValueOf(actual).MapKeys()
|
||||
for i := 0; i < len(keys); i++ {
|
||||
for i := range keys {
|
||||
success, err := keyMatcher.Match(keys[i].Interface())
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("HaveKey's key matcher failed with:\n%s%s", format.Indent, err.Error())
|
||||
|
|
|
|||
2
vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go
generated
vendored
2
vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go
generated
vendored
|
|
@ -52,7 +52,7 @@ func (matcher *HaveKeyWithValueMatcher) Match(actual any) (success bool, err err
|
|||
}
|
||||
|
||||
keys := reflect.ValueOf(actual).MapKeys()
|
||||
for i := 0; i < len(keys); i++ {
|
||||
for i := range keys {
|
||||
success, err := keyMatcher.Match(keys[i].Interface())
|
||||
if err != nil {
|
||||
return false, fmt.Errorf("HaveKeyWithValue's key matcher failed with:\n%s%s", format.Indent, err.Error())
|
||||
|
|
|
|||
13
vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go
generated
vendored
13
vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go
generated
vendored
|
|
@ -1,6 +1,9 @@
|
|||
package edge
|
||||
|
||||
import . "github.com/onsi/gomega/matchers/support/goraph/node"
|
||||
import (
|
||||
. "github.com/onsi/gomega/matchers/support/goraph/node"
|
||||
"slices"
|
||||
)
|
||||
|
||||
type Edge struct {
|
||||
Node1 int
|
||||
|
|
@ -20,13 +23,7 @@ func (ec EdgeSet) Free(node Node) bool {
|
|||
}
|
||||
|
||||
func (ec EdgeSet) Contains(edge Edge) bool {
|
||||
for _, e := range ec {
|
||||
if e == edge {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
return slices.Contains(ec, edge)
|
||||
}
|
||||
|
||||
func (ec EdgeSet) FindByNodes(node1, node2 Node) (Edge, bool) {
|
||||
|
|
|
|||
7
vendor/github.com/spf13/cobra/.golangci.yml
generated
vendored
7
vendor/github.com/spf13/cobra/.golangci.yml
generated
vendored
|
|
@ -57,3 +57,10 @@ linters:
|
|||
- common-false-positives
|
||||
- legacy
|
||||
- std-error-handling
|
||||
settings:
|
||||
govet:
|
||||
# Disable buildtag check to allow dual build tag syntax (both //go:build and // +build).
|
||||
# This is necessary for Go 1.15 compatibility since //go:build was introduced in Go 1.17.
|
||||
# This can be removed once Cobra requires Go 1.17 or higher.
|
||||
disable:
|
||||
- buildtag
|
||||
|
|
|
|||
12
vendor/github.com/spf13/cobra/command.go
generated
vendored
12
vendor/github.com/spf13/cobra/command.go
generated
vendored
|
|
@ -557,7 +557,7 @@ func (c *Command) FlagErrorFunc() (f func(*Command, error) error) {
|
|||
}
|
||||
}
|
||||
|
||||
var minUsagePadding = 25
|
||||
const minUsagePadding = 25
|
||||
|
||||
// UsagePadding return padding for the usage.
|
||||
func (c *Command) UsagePadding() int {
|
||||
|
|
@ -567,7 +567,7 @@ func (c *Command) UsagePadding() int {
|
|||
return c.parent.commandsMaxUseLen
|
||||
}
|
||||
|
||||
var minCommandPathPadding = 11
|
||||
const minCommandPathPadding = 11
|
||||
|
||||
// CommandPathPadding return padding for the command path.
|
||||
func (c *Command) CommandPathPadding() int {
|
||||
|
|
@ -577,7 +577,7 @@ func (c *Command) CommandPathPadding() int {
|
|||
return c.parent.commandsMaxCommandPathLen
|
||||
}
|
||||
|
||||
var minNamePadding = 11
|
||||
const minNamePadding = 11
|
||||
|
||||
// NamePadding returns padding for the name.
|
||||
func (c *Command) NamePadding() int {
|
||||
|
|
@ -1939,7 +1939,7 @@ type tmplFunc struct {
|
|||
fn func(io.Writer, interface{}) error
|
||||
}
|
||||
|
||||
var defaultUsageTemplate = `Usage:{{if .Runnable}}
|
||||
const defaultUsageTemplate = `Usage:{{if .Runnable}}
|
||||
{{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}
|
||||
{{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}}
|
||||
|
||||
|
|
@ -2039,7 +2039,7 @@ func defaultUsageFunc(w io.Writer, in interface{}) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
var defaultHelpTemplate = `{{with (or .Long .Short)}}{{. | trimTrailingWhitespaces}}
|
||||
const defaultHelpTemplate = `{{with (or .Long .Short)}}{{. | trimTrailingWhitespaces}}
|
||||
|
||||
{{end}}{{if or .Runnable .HasSubCommands}}{{.UsageString}}{{end}}`
|
||||
|
||||
|
|
@ -2061,7 +2061,7 @@ func defaultHelpFunc(w io.Writer, in interface{}) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
var defaultVersionTemplate = `{{with .DisplayName}}{{printf "%s " .}}{{end}}{{printf "version %s" .Version}}
|
||||
const defaultVersionTemplate = `{{with .DisplayName}}{{printf "%s " .}}{{end}}{{printf "version %s" .Version}}
|
||||
`
|
||||
|
||||
// defaultVersionFunc is equivalent to executing defaultVersionTemplate. The two should be changed in sync.
|
||||
|
|
|
|||
25
vendor/go.podman.io/common/pkg/libartifact/artifact.go
generated
vendored
25
vendor/go.podman.io/common/pkg/libartifact/artifact.go
generated
vendored
|
|
@ -2,8 +2,6 @@ package libartifact
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/opencontainers/go-digest"
|
||||
"go.podman.io/common/pkg/libartifact/types"
|
||||
|
|
@ -54,26 +52,3 @@ func (a *Artifact) GetDigest() (*digest.Digest, error) {
|
|||
}
|
||||
|
||||
type ArtifactList []*Artifact
|
||||
|
||||
// GetByNameOrDigest returns an artifact, if present, by a given name
|
||||
// Returns an error if not found.
|
||||
func (al ArtifactList) GetByNameOrDigest(nameOrDigest string) (*Artifact, bool, error) {
|
||||
// This is the hot route through
|
||||
for _, artifact := range al {
|
||||
if artifact.Name == nameOrDigest {
|
||||
return artifact, false, nil
|
||||
}
|
||||
}
|
||||
// Before giving up, check by digest
|
||||
for _, artifact := range al {
|
||||
artifactDigest, err := artifact.GetDigest()
|
||||
if err != nil {
|
||||
return nil, false, err
|
||||
}
|
||||
// If the artifact's digest matches or is a prefix of ...
|
||||
if artifactDigest.Encoded() == nameOrDigest || strings.HasPrefix(artifactDigest.Encoded(), nameOrDigest) {
|
||||
return artifact, true, nil
|
||||
}
|
||||
}
|
||||
return nil, false, fmt.Errorf("%s: %w", nameOrDigest, types.ErrArtifactNotExist)
|
||||
}
|
||||
|
|
|
|||
63
vendor/go.podman.io/common/pkg/libartifact/store/reference.go
generated
vendored
Normal file
63
vendor/go.podman.io/common/pkg/libartifact/store/reference.go
generated
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
package store
|
||||
|
||||
import (
|
||||
"go.podman.io/common/pkg/libartifact/types"
|
||||
"go.podman.io/image/v5/docker/reference"
|
||||
)
|
||||
|
||||
// ArtifactReference is a fully qualified oci reference except for tag, where we add
|
||||
// "latest" as the tag if tag is empty. Valid references:
|
||||
//
|
||||
// quay.io/podman/machine-os:latest
|
||||
// quay.io/podman/machine-os
|
||||
// quay.io/podman/machine-os@sha256:916ede4b2b9012f91f63100f8ba82d07ed81bf8a55d23c1503285a22a9759a1e
|
||||
//
|
||||
// Note: Partial sha references and digests (IDs) are not allowed.
|
||||
// Note: A zero value of ArtifactReference{} is not valid because it violates
|
||||
// the format promise.
|
||||
// Note: repo:tag@digest are invalid.
|
||||
type ArtifactReference struct {
|
||||
ref reference.Named
|
||||
}
|
||||
|
||||
// Name returns the full reference without the tag.
|
||||
func (ar ArtifactReference) RepoName() string {
|
||||
return ar.ref.Name()
|
||||
}
|
||||
|
||||
// String returns the full reference.
|
||||
func (ar ArtifactReference) String() string {
|
||||
return ar.ref.String()
|
||||
}
|
||||
|
||||
func (ar ArtifactReference) ToArtifactStoreReference() ArtifactStoreReference {
|
||||
afr := ArtifactStoreReference{
|
||||
ref: &ar.ref,
|
||||
}
|
||||
return afr
|
||||
}
|
||||
|
||||
// NewArtifactReference is a theoretical reference to an artifact.
|
||||
func NewArtifactReference(input string) (ArtifactReference, error) {
|
||||
named, err := stringToNamed(input)
|
||||
if err != nil {
|
||||
return ArtifactReference{}, err
|
||||
}
|
||||
return ArtifactReference{ref: named}, nil
|
||||
}
|
||||
|
||||
// stringToNamed converts a string to a reference.Named.
|
||||
func stringToNamed(s string) (reference.Named, error) {
|
||||
named, err := reference.ParseNamed(s)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_, isTagged := named.(reference.NamedTagged)
|
||||
_, isDigested := named.(reference.Digested)
|
||||
|
||||
if isTagged && isDigested {
|
||||
return nil, types.ErrTaggedAndDigested
|
||||
}
|
||||
|
||||
return reference.TagNameOnly(named), nil
|
||||
}
|
||||
177
vendor/go.podman.io/common/pkg/libartifact/store/store.go
generated
vendored
177
vendor/go.podman.io/common/pkg/libartifact/store/store.go
generated
vendored
|
|
@ -25,18 +25,16 @@ import (
|
|||
"go.podman.io/common/libimage"
|
||||
"go.podman.io/common/pkg/libartifact"
|
||||
libartTypes "go.podman.io/common/pkg/libartifact/types"
|
||||
"go.podman.io/image/v5/docker"
|
||||
"go.podman.io/image/v5/image"
|
||||
"go.podman.io/image/v5/manifest"
|
||||
"go.podman.io/image/v5/oci/layout"
|
||||
"go.podman.io/image/v5/pkg/blobinfocache/none"
|
||||
"go.podman.io/image/v5/transports/alltransports"
|
||||
"go.podman.io/image/v5/types"
|
||||
"go.podman.io/storage/pkg/fileutils"
|
||||
"go.podman.io/storage/pkg/lockfile"
|
||||
)
|
||||
|
||||
var ErrEmptyArtifactName = errors.New("artifact name cannot be empty")
|
||||
|
||||
const ManifestSchemaVersion = 2
|
||||
|
||||
type ArtifactStore struct {
|
||||
|
|
@ -83,29 +81,66 @@ func NewArtifactStore(storePath string, sc *types.SystemContext) (*ArtifactStore
|
|||
return artifactStore, nil
|
||||
}
|
||||
|
||||
// Remove an artifact from the local artifact store.
|
||||
func (as ArtifactStore) Remove(ctx context.Context, name string) (*digest.Digest, error) {
|
||||
if len(name) == 0 {
|
||||
return nil, ErrEmptyArtifactName
|
||||
}
|
||||
|
||||
as.lock.Lock()
|
||||
defer as.lock.Unlock()
|
||||
|
||||
// validate and see if the input is a digest
|
||||
// lookupArtifactLocked looks up an artifact by name or by full or partial ID.
|
||||
// note: lookupArtifactLocked must be called while under a store lock
|
||||
func (as ArtifactStore) lookupArtifactLocked(ctx context.Context, asr ArtifactStoreReference) (*libartifact.Artifact, error) {
|
||||
artifacts, err := as.getArtifacts(ctx, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
arty, nameIsDigest, err := artifacts.GetByNameOrDigest(name)
|
||||
// for the sake of sanity, we loop first if the ref is valid
|
||||
// and check by name
|
||||
if asr.ref != nil {
|
||||
lookupRef := *asr.ref
|
||||
lookupName := lookupRef.String()
|
||||
for _, a := range artifacts {
|
||||
if a.Name == lookupName {
|
||||
return a, nil
|
||||
}
|
||||
}
|
||||
return nil, fmt.Errorf("%s: %w", lookupRef, libartTypes.ErrArtifactNotExist)
|
||||
}
|
||||
|
||||
// It has been established that we need to preserve lookup by full or partial
|
||||
// ID like images or containers. In this case, the "ID" is actually the digest
|
||||
if len(asr.possibleDigest) == 0 {
|
||||
return nil, errors.New("reference did not have name or id")
|
||||
}
|
||||
var returnArtifacts []*libartifact.Artifact
|
||||
for _, a := range artifacts {
|
||||
d, err := a.GetDigest()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if strings.HasPrefix(d.Encoded(), asr.possibleDigest) {
|
||||
returnArtifacts = append(returnArtifacts, a)
|
||||
}
|
||||
}
|
||||
// Now deal with the consequences of looking up by "ID"
|
||||
if len(returnArtifacts) == 0 {
|
||||
return nil, fmt.Errorf("%s: %w", asr.possibleDigest, libartTypes.ErrArtifactNotExist)
|
||||
}
|
||||
if len(returnArtifacts) > 1 {
|
||||
names := make([]string, 0, len(returnArtifacts))
|
||||
for _, a := range returnArtifacts {
|
||||
names = append(names, a.Name)
|
||||
}
|
||||
return nil, fmt.Errorf("multiple artifacts found with matching digest: %q", strings.Join(names, ","))
|
||||
}
|
||||
return returnArtifacts[0], nil
|
||||
}
|
||||
|
||||
// Remove an artifact from the local artifact store.
|
||||
func (as ArtifactStore) Remove(ctx context.Context, asr ArtifactStoreReference) (*digest.Digest, error) {
|
||||
as.lock.Lock()
|
||||
defer as.lock.Unlock()
|
||||
|
||||
arty, err := as.lookupArtifactLocked(ctx, asr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if nameIsDigest {
|
||||
name = arty.Name
|
||||
}
|
||||
ir, err := layout.NewReference(as.storePath, name)
|
||||
ir, err := layout.NewReference(as.storePath, arty.Name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -117,20 +152,11 @@ func (as ArtifactStore) Remove(ctx context.Context, name string) (*digest.Digest
|
|||
}
|
||||
|
||||
// Inspect an artifact in a local store.
|
||||
func (as ArtifactStore) Inspect(ctx context.Context, nameOrDigest string) (*libartifact.Artifact, error) {
|
||||
if len(nameOrDigest) == 0 {
|
||||
return nil, ErrEmptyArtifactName
|
||||
}
|
||||
|
||||
func (as ArtifactStore) Inspect(ctx context.Context, asr ArtifactStoreReference) (*libartifact.Artifact, error) {
|
||||
as.lock.RLock()
|
||||
defer as.lock.Unlock()
|
||||
|
||||
artifacts, err := as.getArtifacts(ctx, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
inspectData, _, err := artifacts.GetByNameOrDigest(nameOrDigest)
|
||||
return inspectData, err
|
||||
return as.lookupArtifactLocked(ctx, asr)
|
||||
}
|
||||
|
||||
// List artifacts in the local store.
|
||||
|
|
@ -142,19 +168,15 @@ func (as ArtifactStore) List(ctx context.Context) (libartifact.ArtifactList, err
|
|||
}
|
||||
|
||||
// Pull an artifact from an image registry to a local store.
|
||||
func (as ArtifactStore) Pull(ctx context.Context, name string, opts libimage.CopyOptions) (digest.Digest, error) {
|
||||
if len(name) == 0 {
|
||||
return "", ErrEmptyArtifactName
|
||||
}
|
||||
srcRef, err := alltransports.ParseImageName("docker://" + name)
|
||||
func (as ArtifactStore) Pull(ctx context.Context, ref ArtifactReference, opts libimage.CopyOptions) (digest.Digest, error) {
|
||||
srcRef, err := docker.NewReference(ref.ref)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
as.lock.Lock()
|
||||
defer as.lock.Unlock()
|
||||
|
||||
destRef, err := layout.NewReference(as.storePath, name)
|
||||
destRef, err := layout.NewReference(as.storePath, ref.String())
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
|
@ -174,11 +196,8 @@ func (as ArtifactStore) Pull(ctx context.Context, name string, opts libimage.Cop
|
|||
}
|
||||
|
||||
// Push an artifact to an image registry.
|
||||
func (as ArtifactStore) Push(ctx context.Context, src, dest string, opts libimage.CopyOptions) (digest.Digest, error) {
|
||||
if len(dest) == 0 {
|
||||
return "", ErrEmptyArtifactName
|
||||
}
|
||||
destRef, err := alltransports.ParseImageName("docker://" + dest)
|
||||
func (as ArtifactStore) Push(ctx context.Context, src, dest ArtifactReference, opts libimage.CopyOptions) (digest.Digest, error) {
|
||||
destRef, err := docker.NewReference(dest.ref)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
|
@ -186,7 +205,7 @@ func (as ArtifactStore) Push(ctx context.Context, src, dest string, opts libimag
|
|||
as.lock.Lock()
|
||||
defer as.lock.Unlock()
|
||||
|
||||
srcRef, err := layout.NewReference(as.storePath, src)
|
||||
srcRef, err := layout.NewReference(as.storePath, src.String())
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
|
@ -209,11 +228,7 @@ func (as ArtifactStore) Push(ctx context.Context, src, dest string, opts libimag
|
|||
|
||||
// Add takes one or more artifact blobs and add them to the local artifact store. The empty
|
||||
// string input is for possible custom artifact types.
|
||||
func (as ArtifactStore) Add(ctx context.Context, dest string, artifactBlobs []libartTypes.ArtifactBlob, options *libartTypes.AddOptions) (*digest.Digest, error) {
|
||||
if len(dest) == 0 {
|
||||
return nil, ErrEmptyArtifactName
|
||||
}
|
||||
|
||||
func (as ArtifactStore) Add(ctx context.Context, dest ArtifactReference, artifactBlobs []libartTypes.ArtifactBlob, options *libartTypes.AddOptions) (*digest.Digest, error) {
|
||||
if options.Append && len(options.ArtifactMIMEType) > 0 {
|
||||
return nil, errors.New("append option is not compatible with type option")
|
||||
}
|
||||
|
|
@ -226,22 +241,16 @@ func (as ArtifactStore) Add(ctx context.Context, dest string, artifactBlobs []li
|
|||
}
|
||||
}()
|
||||
|
||||
// Check if artifact already exists
|
||||
artifacts, err := as.getArtifacts(ctx, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var artifactManifest specV1.Manifest
|
||||
var oldDigest *digest.Digest
|
||||
fileNames := map[string]struct{}{}
|
||||
|
||||
arty, lookupErr := as.lookupArtifactLocked(ctx, dest.ToArtifactStoreReference())
|
||||
if !options.Append {
|
||||
// Check if artifact exists; in GetByName not getting an
|
||||
// error means it exists
|
||||
_, _, err := artifacts.GetByNameOrDigest(dest)
|
||||
if err == nil {
|
||||
return nil, fmt.Errorf("%s: %w", dest, libartTypes.ErrArtifactAlreadyExists)
|
||||
if lookupErr == nil {
|
||||
return nil, fmt.Errorf("%s: %w", dest.String(), libartTypes.ErrArtifactAlreadyExists)
|
||||
}
|
||||
|
||||
// Set creation timestamp and other annotations
|
||||
|
|
@ -261,16 +270,15 @@ func (as ArtifactStore) Add(ctx context.Context, dest string, artifactBlobs []li
|
|||
Annotations: annotations,
|
||||
}
|
||||
} else {
|
||||
artifact, _, err := artifacts.GetByNameOrDigest(dest)
|
||||
if lookupErr != nil {
|
||||
return nil, lookupErr
|
||||
}
|
||||
artifactManifest = arty.Manifest.Manifest
|
||||
var err error
|
||||
oldDigest, err = arty.GetDigest()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
artifactManifest = artifact.Manifest.Manifest
|
||||
oldDigest, err = artifact.GetDigest()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, layer := range artifactManifest.Layers {
|
||||
if value, ok := layer.Annotations[specV1.AnnotationTitle]; ok && value != "" {
|
||||
fileNames[value] = struct{}{}
|
||||
|
|
@ -286,7 +294,7 @@ func (as ArtifactStore) Add(ctx context.Context, dest string, artifactBlobs []li
|
|||
fileNames[fileName] = struct{}{}
|
||||
}
|
||||
|
||||
ir, err := layout.NewReference(as.storePath, dest)
|
||||
ir, err := layout.NewReference(as.storePath, dest.String())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -309,7 +317,10 @@ func (as ArtifactStore) Add(ctx context.Context, dest string, artifactBlobs []li
|
|||
return nil, errors.New("Artifact.BlobFile or Artifact.BlobReader must be provided")
|
||||
}
|
||||
|
||||
annotations := maps.Clone(options.Annotations)
|
||||
annotations := make(map[string]string)
|
||||
if options.Annotations != nil {
|
||||
annotations = maps.Clone(options.Annotations)
|
||||
}
|
||||
if title, ok := annotations[specV1.AnnotationTitle]; ok {
|
||||
// Verify a duplicate AnnotationTitle is not in use in a different layer.
|
||||
for _, layer := range artifactManifest.Layers {
|
||||
|
|
@ -403,33 +414,19 @@ func (as ArtifactStore) Add(ctx context.Context, dest string, artifactBlobs []li
|
|||
return &artifactManifestDigest, nil
|
||||
}
|
||||
|
||||
func getArtifactAndImageSource(ctx context.Context, as ArtifactStore, nameOrDigest string, options *libartTypes.FilterBlobOptions) (*libartifact.Artifact, types.ImageSource, error) {
|
||||
func getArtifactAndImageSource(ctx context.Context, as ArtifactStore, asr ArtifactStoreReference, options *libartTypes.FilterBlobOptions) (*libartifact.Artifact, types.ImageSource, error) {
|
||||
if len(options.Digest) > 0 && len(options.Title) > 0 {
|
||||
return nil, nil, errors.New("cannot specify both digest and title")
|
||||
}
|
||||
if len(nameOrDigest) == 0 {
|
||||
return nil, nil, ErrEmptyArtifactName
|
||||
}
|
||||
|
||||
artifacts, err := as.getArtifacts(ctx, nil)
|
||||
arty, err := as.lookupArtifactLocked(ctx, asr)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
arty, nameIsDigest, err := artifacts.GetByNameOrDigest(nameOrDigest)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
name := nameOrDigest
|
||||
if nameIsDigest {
|
||||
name = arty.Name
|
||||
}
|
||||
|
||||
if len(arty.Manifest.Layers) == 0 {
|
||||
return nil, nil, errors.New("the artifact has no blobs, nothing to extract")
|
||||
}
|
||||
|
||||
ir, err := layout.NewReference(as.storePath, name)
|
||||
ir, err := layout.NewReference(as.storePath, arty.Name)
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
|
@ -438,8 +435,10 @@ func getArtifactAndImageSource(ctx context.Context, as ArtifactStore, nameOrDige
|
|||
}
|
||||
|
||||
// BlobMountPaths allows the caller to access the file names from the store and how they should be mounted.
|
||||
func (as ArtifactStore) BlobMountPaths(ctx context.Context, nameOrDigest string, options *libartTypes.BlobMountPathOptions) ([]libartTypes.BlobMountPath, error) {
|
||||
arty, imgSrc, err := getArtifactAndImageSource(ctx, as, nameOrDigest, &options.FilterBlobOptions)
|
||||
func (as ArtifactStore) BlobMountPaths(ctx context.Context, asr ArtifactStoreReference, options *libartTypes.BlobMountPathOptions) ([]libartTypes.BlobMountPath, error) {
|
||||
// FIX ME
|
||||
// LOCKING BUG: getArtifactAndImageSource assumes a locked ArtifactStore
|
||||
arty, imgSrc, err := getArtifactAndImageSource(ctx, as, asr, &options.FilterBlobOptions)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -495,7 +494,9 @@ func (as ArtifactStore) BlobMountPaths(ctx context.Context, nameOrDigest string,
|
|||
}
|
||||
|
||||
// Extract an artifact to local file or directory.
|
||||
func (as ArtifactStore) Extract(ctx context.Context, nameOrDigest string, target string, options *libartTypes.ExtractOptions) error {
|
||||
func (as ArtifactStore) Extract(ctx context.Context, nameOrDigest ArtifactStoreReference, target string, options *libartTypes.ExtractOptions) error {
|
||||
// FIX ME
|
||||
// LOCKING BUG: getArtifactAndImageSource assumes a locked ArtifactStore
|
||||
arty, imgSrc, err := getArtifactAndImageSource(ctx, as, nameOrDigest, &options.FilterBlobOptions)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -562,12 +563,14 @@ func (as ArtifactStore) Extract(ctx context.Context, nameOrDigest string, target
|
|||
}
|
||||
|
||||
// Extract an artifact to tar stream.
|
||||
func (as ArtifactStore) ExtractTarStream(ctx context.Context, w io.Writer, nameOrDigest string, options *libartTypes.ExtractOptions) error {
|
||||
func (as ArtifactStore) ExtractTarStream(ctx context.Context, w io.Writer, asr ArtifactStoreReference, options *libartTypes.ExtractOptions) error {
|
||||
if options == nil {
|
||||
options = &libartTypes.ExtractOptions{}
|
||||
}
|
||||
|
||||
arty, imgSrc, err := getArtifactAndImageSource(ctx, as, nameOrDigest, &options.FilterBlobOptions)
|
||||
// FIX ME
|
||||
// LOCKING BUG: getArtifactAndImageSource assumes a locked ArtifactStore
|
||||
arty, imgSrc, err := getArtifactAndImageSource(ctx, as, asr, &options.FilterBlobOptions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
35
vendor/go.podman.io/common/pkg/libartifact/store/store_reference.go
generated
vendored
Normal file
35
vendor/go.podman.io/common/pkg/libartifact/store/store_reference.go
generated
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
package store
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"go.podman.io/common/pkg/libartifact/types"
|
||||
"go.podman.io/image/v5/docker/reference"
|
||||
)
|
||||
|
||||
type ArtifactStoreReference struct {
|
||||
ref *reference.Named
|
||||
possibleDigest string
|
||||
}
|
||||
|
||||
// NewArtifactStorageReference refers to a theoretical object already in the artifact store. It
|
||||
// can be a name or a full or partial digest. If this object exists in the store is unknown at this
|
||||
// time.
|
||||
func NewArtifactStorageReference(nameOrDigest string) (ArtifactStoreReference, error) {
|
||||
asr := ArtifactStoreReference{}
|
||||
if len(nameOrDigest) == 0 {
|
||||
return asr, errors.New("nameOrDigest cannot be empty")
|
||||
}
|
||||
// Try to parse as a valid OCI reference
|
||||
named, err := stringToNamed(nameOrDigest)
|
||||
if errors.Is(err, types.ErrTaggedAndDigested) {
|
||||
return asr, err
|
||||
}
|
||||
if err == nil {
|
||||
asr.ref = &named
|
||||
return asr, nil
|
||||
}
|
||||
// The input is not a valid oci ref, so we store the input as possible digest
|
||||
asr.possibleDigest = nameOrDigest
|
||||
return asr, nil
|
||||
}
|
||||
4
vendor/go.podman.io/common/pkg/libartifact/types/errors.go
generated
vendored
4
vendor/go.podman.io/common/pkg/libartifact/types/errors.go
generated
vendored
|
|
@ -10,4 +10,8 @@ var (
|
|||
ErrArtifactAlreadyExists = errors.New("artifact already exists")
|
||||
ErrArtifactFileExists = errors.New("file already exists in artifact")
|
||||
ErrArtifactBlobTitleInvalid = errors.New("artifact blob title invalid")
|
||||
|
||||
// ErrTaggedAndDigested refers to a reference that is both tagged and digested.
|
||||
// For example: quay.io/foo/bar:tag@sha256:1234...
|
||||
ErrTaggedAndDigested = errors.New("reference cannot be tagged and digested")
|
||||
)
|
||||
|
|
|
|||
2
vendor/go.podman.io/common/pkg/manifests/manifests.go
generated
vendored
2
vendor/go.podman.io/common/pkg/manifests/manifests.go
generated
vendored
|
|
@ -18,6 +18,8 @@ import (
|
|||
|
||||
// List is a generic interface for manipulating a manifest list or an image
|
||||
// index.
|
||||
//
|
||||
// Note: the instanceDigest values used for lookups/removals must exactly match the digests in the manifest list, in particular use the algorithm used there.
|
||||
type List interface {
|
||||
AddInstance(manifestDigest digest.Digest, manifestSize int64, manifestType, os, architecture, osVersion string, osFeatures []string, variant string, features []string, annotations []string) error
|
||||
Remove(instanceDigest digest.Digest) error
|
||||
|
|
|
|||
5
vendor/go.podman.io/image/v5/copy/multiple.go
generated
vendored
5
vendor/go.podman.io/image/v5/copy/multiple.go
generated
vendored
|
|
@ -216,6 +216,7 @@ func (c *copier) copyMultipleImages(ctx context.Context) (copiedManifest []byte,
|
|||
case imgspecv1.MediaTypeImageManifest:
|
||||
forceListMIMEType = imgspecv1.MediaTypeImageIndex
|
||||
}
|
||||
// FIXME: This does not take into account cannotModifyManifestListReason.
|
||||
selectedListType, otherManifestMIMETypeCandidates, err := c.determineListConversion(manifestType, c.dest.SupportedManifestMIMETypes(), forceListMIMEType)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("determining manifest list type to write to destination: %w", err)
|
||||
|
|
@ -284,7 +285,7 @@ func (c *copier) copyMultipleImages(ctx context.Context) (copiedManifest []byte,
|
|||
}
|
||||
|
||||
// Now reset the digest/size/types of the manifests in the list to account for any conversions that we made.
|
||||
if err = updatedList.EditInstances(instanceEdits); err != nil {
|
||||
if err = updatedList.EditInstances(instanceEdits, cannotModifyManifestListReason != ""); err != nil {
|
||||
return nil, fmt.Errorf("updating manifest list: %w", err)
|
||||
}
|
||||
|
||||
|
|
@ -318,7 +319,7 @@ func (c *copier) copyMultipleImages(ctx context.Context) (copiedManifest []byte,
|
|||
// If we can't just use the original value, but we have to change it, flag an error.
|
||||
if !bytes.Equal(attemptedManifestList, originalManifestList) {
|
||||
if cannotModifyManifestListReason != "" {
|
||||
return nil, fmt.Errorf("Manifest list must be converted to type %q to be written to destination, but we cannot modify it: %q", thisListType, cannotModifyManifestListReason)
|
||||
return nil, fmt.Errorf("Manifest list was edited, but we cannot modify it: %q", cannotModifyManifestListReason)
|
||||
}
|
||||
logrus.Debugf("Manifest list has been updated")
|
||||
} else {
|
||||
|
|
|
|||
18
vendor/go.podman.io/image/v5/copy/single.go
generated
vendored
18
vendor/go.podman.io/image/v5/copy/single.go
generated
vendored
|
|
@ -379,11 +379,6 @@ func (ic *imageCopier) noPendingManifestUpdates() bool {
|
|||
// compareImageDestinationManifestEqual compares the source and destination image manifests (reading the manifest from the
|
||||
// (possibly remote) destination). If they are equal, it returns a full copySingleImageResult, nil otherwise.
|
||||
func (ic *imageCopier) compareImageDestinationManifestEqual(ctx context.Context, targetInstance *digest.Digest) (*copySingleImageResult, error) {
|
||||
srcManifestDigest, err := manifest.Digest(ic.src.ManifestBlob)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("calculating manifest digest: %w", err)
|
||||
}
|
||||
|
||||
destImageSource, err := ic.c.dest.Reference().NewImageSource(ctx, ic.c.options.DestinationCtx)
|
||||
if err != nil {
|
||||
logrus.Debugf("Unable to create destination image %s source: %v", ic.c.dest.Reference(), err)
|
||||
|
|
@ -397,16 +392,17 @@ func (ic *imageCopier) compareImageDestinationManifestEqual(ctx context.Context,
|
|||
return nil, nil
|
||||
}
|
||||
|
||||
destManifestDigest, err := manifest.Digest(destManifest)
|
||||
if !bytes.Equal(ic.src.ManifestBlob, destManifest) {
|
||||
logrus.Debugf("Source and destination manifests differ")
|
||||
return nil, nil
|
||||
}
|
||||
logrus.Debugf("Destination already matches the source manifest")
|
||||
|
||||
srcManifestDigest, err := manifest.Digest(ic.src.ManifestBlob)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("calculating manifest digest: %w", err)
|
||||
}
|
||||
|
||||
logrus.Debugf("Comparing source and destination manifest digests: %v vs. %v", srcManifestDigest, destManifestDigest)
|
||||
if srcManifestDigest != destManifestDigest {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
compressionAlgos := set.New[string]()
|
||||
for _, srcInfo := range ic.src.LayerInfos() {
|
||||
_, c, err := compressionEditsFromBlobInfo(srcInfo)
|
||||
|
|
|
|||
6
vendor/go.podman.io/image/v5/directory/directory_dest.go
generated
vendored
6
vendor/go.podman.io/image/v5/directory/directory_dest.go
generated
vendored
|
|
@ -227,6 +227,9 @@ func (d *dirImageDestination) TryReusingBlobWithOptions(ctx context.Context, inf
|
|||
// If the destination is in principle available, refuses this manifest type (e.g. it does not recognize the schema),
|
||||
// but may accept a different manifest type, the returned error must be an ManifestTypeRejectedError.
|
||||
func (d *dirImageDestination) PutManifest(ctx context.Context, manifest []byte, instanceDigest *digest.Digest) error {
|
||||
if instanceDigest != nil && instanceDigest.Algorithm() != digest.Canonical { // compare the special case in manifestPath
|
||||
d.usesNonSHA256Digest = true
|
||||
}
|
||||
path, err := d.ref.manifestPath(instanceDigest)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -239,6 +242,9 @@ func (d *dirImageDestination) PutManifest(ctx context.Context, manifest []byte,
|
|||
// (when the primary manifest is a manifest list); this should always be nil if the primary manifest is not a manifest list.
|
||||
// MUST be called after PutManifest (signatures may reference manifest contents).
|
||||
func (d *dirImageDestination) PutSignaturesWithFormat(ctx context.Context, signatures []signature.Signature, instanceDigest *digest.Digest) error {
|
||||
if instanceDigest != nil && instanceDigest.Algorithm() != digest.Canonical { // compare the special case in signaturePath
|
||||
d.usesNonSHA256Digest = true
|
||||
}
|
||||
for i, sig := range signatures {
|
||||
blob, err := signature.Blob(sig)
|
||||
if err != nil {
|
||||
|
|
|
|||
16
vendor/go.podman.io/image/v5/directory/directory_transport.go
generated
vendored
16
vendor/go.podman.io/image/v5/directory/directory_transport.go
generated
vendored
|
|
@ -166,7 +166,13 @@ func (ref dirReference) manifestPath(instanceDigest *digest.Digest) (string, err
|
|||
if err := instanceDigest.Validate(); err != nil { // digest.Digest.Encoded() panics on failure, and could possibly result in a path with ../, so validate explicitly.
|
||||
return "", err
|
||||
}
|
||||
return filepath.Join(ref.path, instanceDigest.Encoded()+".manifest.json"), nil
|
||||
var filename string
|
||||
if instanceDigest.Algorithm() == digest.Canonical {
|
||||
filename = instanceDigest.Encoded() + ".manifest.json"
|
||||
} else {
|
||||
filename = instanceDigest.Algorithm().String() + "-" + instanceDigest.Encoded() + ".manifest.json"
|
||||
}
|
||||
return filepath.Join(ref.path, filename), nil
|
||||
}
|
||||
return filepath.Join(ref.path, "manifest.json"), nil
|
||||
}
|
||||
|
|
@ -193,7 +199,13 @@ func (ref dirReference) signaturePath(index int, instanceDigest *digest.Digest)
|
|||
if err := instanceDigest.Validate(); err != nil { // digest.Digest.Encoded() panics on failure, and could possibly result in a path with ../, so validate explicitly.
|
||||
return "", err
|
||||
}
|
||||
return filepath.Join(ref.path, fmt.Sprintf(instanceDigest.Encoded()+".signature-%d", index+1)), nil
|
||||
var prefix string
|
||||
if instanceDigest.Algorithm() == digest.Canonical {
|
||||
prefix = instanceDigest.Encoded()
|
||||
} else {
|
||||
prefix = instanceDigest.Algorithm().String() + "-" + instanceDigest.Encoded()
|
||||
}
|
||||
return filepath.Join(ref.path, fmt.Sprintf(prefix+".signature-%d", index+1)), nil
|
||||
}
|
||||
return filepath.Join(ref.path, fmt.Sprintf("signature-%d", index+1)), nil
|
||||
}
|
||||
|
|
|
|||
13
vendor/go.podman.io/image/v5/internal/manifest/docker_schema2_list.go
generated
vendored
13
vendor/go.podman.io/image/v5/internal/manifest/docker_schema2_list.go
generated
vendored
|
|
@ -85,10 +85,13 @@ func (list *Schema2ListPublic) UpdateInstances(updates []ListUpdate) error {
|
|||
ListOperation: ListOpUpdate,
|
||||
})
|
||||
}
|
||||
return list.editInstances(editInstances)
|
||||
return list.editInstances(editInstances, false)
|
||||
}
|
||||
|
||||
func (list *Schema2ListPublic) editInstances(editInstances []ListEdit) error {
|
||||
// editInstances edits information about the list's instances, based on instructions in editInstances.
|
||||
// If cannotModifyManifest, avoidable updates should be skipped.
|
||||
func (list *Schema2ListPublic) editInstances(editInstances []ListEdit, cannotModifyManifest bool) error {
|
||||
_ = cannotModifyManifest // None of the edits we make are avoidable.
|
||||
addedEntries := []Schema2ManifestDescriptor{}
|
||||
for i, editInstance := range editInstances {
|
||||
switch editInstance.ListOperation {
|
||||
|
|
@ -141,8 +144,10 @@ func (list *Schema2ListPublic) editInstances(editInstances []ListEdit) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (list *Schema2List) EditInstances(editInstances []ListEdit) error {
|
||||
return list.editInstances(editInstances)
|
||||
// EditInstances edits information about the list's instances, based on instructions in editInstances.
|
||||
// If cannotModifyManifest, avoidable updates should be skipped.
|
||||
func (list *Schema2List) EditInstances(editInstances []ListEdit, cannotModifyManifest bool) error {
|
||||
return list.editInstances(editInstances, cannotModifyManifest)
|
||||
}
|
||||
|
||||
func (list *Schema2ListPublic) ChooseInstanceByCompression(ctx *types.SystemContext, preferGzip types.OptionalBool) (digest.Digest, error) {
|
||||
|
|
|
|||
7
vendor/go.podman.io/image/v5/internal/manifest/list.go
generated
vendored
7
vendor/go.podman.io/image/v5/internal/manifest/list.go
generated
vendored
|
|
@ -56,10 +56,9 @@ type List interface {
|
|||
// SystemContext ( or for the current platform if the SystemContext doesn't specify any detail ) and preferGzip for compression which
|
||||
// when configured to OptionalBoolTrue and chooses best available compression when it is OptionalBoolFalse or left OptionalBoolUndefined.
|
||||
ChooseInstanceByCompression(ctx *types.SystemContext, preferGzip types.OptionalBool) (digest.Digest, error)
|
||||
// Edit information about the list's instances. Contains Slice of ListEdit where each element
|
||||
// is responsible for either Modifying or Adding a new instance to the Manifest. Operation is
|
||||
// selected on the basis of configured ListOperation field.
|
||||
EditInstances([]ListEdit) error
|
||||
// EditInstances edits information about the list's instances, based on instructions in editInstances.
|
||||
// If cannotModifyManifest, avoidable updates should be skipped.
|
||||
EditInstances(editInstances []ListEdit, cannotModifyManifest bool) error
|
||||
}
|
||||
|
||||
// ListUpdate includes the fields which a List's UpdateInstances() method will modify.
|
||||
|
|
|
|||
12
vendor/go.podman.io/image/v5/internal/manifest/manifest.go
generated
vendored
12
vendor/go.podman.io/image/v5/internal/manifest/manifest.go
generated
vendored
|
|
@ -107,9 +107,16 @@ func GuessMIMEType(manifest []byte) string {
|
|||
return ""
|
||||
}
|
||||
|
||||
// Digest returns the a digest of a docker manifest, with any necessary implied transformations like stripping v1s1 signatures.
|
||||
// Digest returns the digest of a docker manifest, with any necessary implied transformations like stripping v1s1 signatures.
|
||||
// This is publicly visible as c/image/manifest.Digest.
|
||||
func Digest(manifest []byte) (digest.Digest, error) {
|
||||
return DigestWithAlgorithm(manifest, digest.Canonical)
|
||||
}
|
||||
|
||||
// DigestWithAlgorithm returns the digest of a docker manifest using the specified algorithm,
|
||||
// with any necessary implied transformations like stripping v1s1 signatures.
|
||||
// This is publicly visible as c/image/manifest.DigestWithAlgorithm.
|
||||
func DigestWithAlgorithm(manifest []byte, algo digest.Algorithm) (digest.Digest, error) {
|
||||
if GuessMIMEType(manifest) == DockerV2Schema1SignedMediaType {
|
||||
sig, err := libtrust.ParsePrettySignature(manifest, "signatures")
|
||||
if err != nil {
|
||||
|
|
@ -122,8 +129,7 @@ func Digest(manifest []byte) (digest.Digest, error) {
|
|||
return "", err
|
||||
}
|
||||
}
|
||||
|
||||
return digest.FromBytes(manifest), nil
|
||||
return algo.FromBytes(manifest), nil
|
||||
}
|
||||
|
||||
// MatchesDigest returns true iff the manifest matches expectedDigest.
|
||||
|
|
|
|||
25
vendor/go.podman.io/image/v5/internal/manifest/oci_index.go
generated
vendored
25
vendor/go.podman.io/image/v5/internal/manifest/oci_index.go
generated
vendored
|
|
@ -82,7 +82,7 @@ func (index *OCI1IndexPublic) UpdateInstances(updates []ListUpdate) error {
|
|||
ListOperation: ListOpUpdate,
|
||||
})
|
||||
}
|
||||
return index.editInstances(editInstances)
|
||||
return index.editInstances(editInstances, false)
|
||||
}
|
||||
|
||||
func annotationsToCompressionAlgorithmNames(annotations map[string]string) []string {
|
||||
|
|
@ -97,7 +97,12 @@ func annotationsToCompressionAlgorithmNames(annotations map[string]string) []str
|
|||
return result
|
||||
}
|
||||
|
||||
func addCompressionAnnotations(compressionAlgorithms []compression.Algorithm, annotationsMap *map[string]string) {
|
||||
// addCompressionAnnotations updates annotationsMap for a manifest, based on compressionAlgorithms known to be used in that instance.
|
||||
// If cannotModifyManifest, avoidable updates should be skipped (i.e. this does nothing, because the algorithm annotation is “only” used for prioritization).
|
||||
func addCompressionAnnotations(compressionAlgorithms []compression.Algorithm, annotationsMap *map[string]string, cannotModifyManifest bool) {
|
||||
if cannotModifyManifest {
|
||||
return
|
||||
}
|
||||
// TODO: This should also delete the algorithm if map already contains an algorithm and compressionAlgorithm
|
||||
// list has a different algorithm. To do that, we would need to modify the callers to always provide a reliable
|
||||
// and full compressionAlghorithms list.
|
||||
|
|
@ -114,7 +119,9 @@ func addCompressionAnnotations(compressionAlgorithms []compression.Algorithm, an
|
|||
}
|
||||
}
|
||||
|
||||
func (index *OCI1IndexPublic) editInstances(editInstances []ListEdit) error {
|
||||
// editInstances edits information about the list's instances, based on instructions in editInstances.
|
||||
// If cannotModifyManifest, avoidable updates should be skipped.
|
||||
func (index *OCI1IndexPublic) editInstances(editInstances []ListEdit, cannotModifyManifest bool) error {
|
||||
addedEntries := []imgspecv1.Descriptor{}
|
||||
updatedAnnotations := false
|
||||
for i, editInstance := range editInstances {
|
||||
|
|
@ -152,13 +159,15 @@ func (index *OCI1IndexPublic) editInstances(editInstances []ListEdit) error {
|
|||
maps.Copy(index.Manifests[targetIndex].Annotations, editInstance.UpdateAnnotations)
|
||||
}
|
||||
}
|
||||
addCompressionAnnotations(editInstance.UpdateCompressionAlgorithms, &index.Manifests[targetIndex].Annotations)
|
||||
// FIXME: This does not set updatedAnnotations, so we don’t re-sort images with Zstd instances if some other
|
||||
// tool created them without the OCI1InstanceAnnotationCompressionZSTD annotation.
|
||||
addCompressionAnnotations(editInstance.UpdateCompressionAlgorithms, &index.Manifests[targetIndex].Annotations, cannotModifyManifest)
|
||||
case ListOpAdd:
|
||||
annotations := map[string]string{}
|
||||
if editInstance.AddAnnotations != nil {
|
||||
annotations = maps.Clone(editInstance.AddAnnotations)
|
||||
}
|
||||
addCompressionAnnotations(editInstance.AddCompressionAlgorithms, &annotations)
|
||||
addCompressionAnnotations(editInstance.AddCompressionAlgorithms, &annotations, false) // We are adding a full new entry, so skipping the annotation would still not allow preserving the original manifest.
|
||||
addedEntries = append(addedEntries, imgspecv1.Descriptor{
|
||||
MediaType: editInstance.AddMediaType,
|
||||
ArtifactType: editInstance.AddArtifactType,
|
||||
|
|
@ -195,8 +204,10 @@ func (index *OCI1IndexPublic) editInstances(editInstances []ListEdit) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (index *OCI1Index) EditInstances(editInstances []ListEdit) error {
|
||||
return index.editInstances(editInstances)
|
||||
// EditInstances edits information about the list's instances, based on instructions in editInstances.
|
||||
// If cannotModifyManifest, avoidable updates should be skipped.
|
||||
func (index *OCI1Index) EditInstances(editInstances []ListEdit, cannotModifyManifest bool) error {
|
||||
return index.editInstances(editInstances, cannotModifyManifest)
|
||||
}
|
||||
|
||||
// instanceIsZstd returns true if instance is a zstd instance otherwise false.
|
||||
|
|
|
|||
6
vendor/go.podman.io/image/v5/manifest/manifest.go
generated
vendored
6
vendor/go.podman.io/image/v5/manifest/manifest.go
generated
vendored
|
|
@ -113,6 +113,12 @@ func Digest(manifestBlob []byte) (digest.Digest, error) {
|
|||
return manifest.Digest(manifestBlob)
|
||||
}
|
||||
|
||||
// DigestWithAlgorithm returns the digest of a docker manifest using the specified algorithm,
|
||||
// with any necessary implied transformations like stripping v1s1 signatures.
|
||||
func DigestWithAlgorithm(manifestBlob []byte, algo digest.Algorithm) (digest.Digest, error) {
|
||||
return manifest.DigestWithAlgorithm(manifestBlob, algo)
|
||||
}
|
||||
|
||||
// MatchesDigest returns true iff the manifest matches expectedDigest.
|
||||
// Error may be set if this returns false.
|
||||
// Note that this is not doing ConstantTimeCompare; by the time we get here, the cryptographic signature must already have been verified,
|
||||
|
|
|
|||
4
vendor/golang.org/x/mod/semver/semver.go
generated
vendored
4
vendor/golang.org/x/mod/semver/semver.go
generated
vendored
|
|
@ -45,8 +45,8 @@ func IsValid(v string) bool {
|
|||
|
||||
// Canonical returns the canonical formatting of the semantic version v.
|
||||
// It fills in any missing .MINOR or .PATCH and discards build metadata.
|
||||
// Two semantic versions compare equal only if their canonical formattings
|
||||
// are identical strings.
|
||||
// Two semantic versions compare equal only if their canonical formatting
|
||||
// is an identical string.
|
||||
// The canonical invalid semantic version is the empty string.
|
||||
func Canonical(v string) string {
|
||||
p, ok := parse(v)
|
||||
|
|
|
|||
4
vendor/golang.org/x/sync/errgroup/errgroup.go
generated
vendored
4
vendor/golang.org/x/sync/errgroup/errgroup.go
generated
vendored
|
|
@ -144,8 +144,8 @@ func (g *Group) SetLimit(n int) {
|
|||
g.sem = nil
|
||||
return
|
||||
}
|
||||
if len(g.sem) != 0 {
|
||||
panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", len(g.sem)))
|
||||
if active := len(g.sem); active != 0 {
|
||||
panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", active))
|
||||
}
|
||||
g.sem = make(chan token, n)
|
||||
}
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/cpu/cpu.go
generated
vendored
3
vendor/golang.org/x/sys/cpu/cpu.go
generated
vendored
|
|
@ -92,9 +92,6 @@ var ARM64 struct {
|
|||
HasSHA2 bool // SHA2 hardware implementation
|
||||
HasCRC32 bool // CRC32 hardware implementation
|
||||
HasATOMICS bool // Atomic memory operation instruction set
|
||||
HasHPDS bool // Hierarchical permission disables in translations tables
|
||||
HasLOR bool // Limited ordering regions
|
||||
HasPAN bool // Privileged access never
|
||||
HasFPHP bool // Half precision floating-point instruction set
|
||||
HasASIMDHP bool // Advanced SIMD half precision instruction set
|
||||
HasCPUID bool // CPUID identification scheme registers
|
||||
|
|
|
|||
20
vendor/golang.org/x/sys/cpu/cpu_arm64.go
generated
vendored
20
vendor/golang.org/x/sys/cpu/cpu_arm64.go
generated
vendored
|
|
@ -65,10 +65,10 @@ func setMinimalFeatures() {
|
|||
func readARM64Registers() {
|
||||
Initialized = true
|
||||
|
||||
parseARM64SystemRegisters(getisar0(), getisar1(), getmmfr1(), getpfr0())
|
||||
parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0())
|
||||
}
|
||||
|
||||
func parseARM64SystemRegisters(isar0, isar1, mmfr1, pfr0 uint64) {
|
||||
func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) {
|
||||
// ID_AA64ISAR0_EL1
|
||||
switch extractBits(isar0, 4, 7) {
|
||||
case 1:
|
||||
|
|
@ -152,22 +152,6 @@ func parseARM64SystemRegisters(isar0, isar1, mmfr1, pfr0 uint64) {
|
|||
ARM64.HasI8MM = true
|
||||
}
|
||||
|
||||
// ID_AA64MMFR1_EL1
|
||||
switch extractBits(mmfr1, 12, 15) {
|
||||
case 1, 2:
|
||||
ARM64.HasHPDS = true
|
||||
}
|
||||
|
||||
switch extractBits(mmfr1, 16, 19) {
|
||||
case 1:
|
||||
ARM64.HasLOR = true
|
||||
}
|
||||
|
||||
switch extractBits(mmfr1, 20, 23) {
|
||||
case 1, 2, 3:
|
||||
ARM64.HasPAN = true
|
||||
}
|
||||
|
||||
// ID_AA64PFR0_EL1
|
||||
switch extractBits(pfr0, 16, 19) {
|
||||
case 0:
|
||||
|
|
|
|||
7
vendor/golang.org/x/sys/cpu/cpu_arm64.s
generated
vendored
7
vendor/golang.org/x/sys/cpu/cpu_arm64.s
generated
vendored
|
|
@ -20,13 +20,6 @@ TEXT ·getisar1(SB),NOSPLIT,$0-8
|
|||
MOVD R0, ret+0(FP)
|
||||
RET
|
||||
|
||||
// func getmmfr1() uint64
|
||||
TEXT ·getmmfr1(SB),NOSPLIT,$0-8
|
||||
// get Memory Model Feature Register 1 into x0
|
||||
MRS ID_AA64MMFR1_EL1, R0
|
||||
MOVD R0, ret+0(FP)
|
||||
RET
|
||||
|
||||
// func getpfr0() uint64
|
||||
TEXT ·getpfr0(SB),NOSPLIT,$0-8
|
||||
// get Processor Feature Register 0 into x0
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
generated
vendored
1
vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
generated
vendored
|
|
@ -8,6 +8,5 @@ package cpu
|
|||
|
||||
func getisar0() uint64
|
||||
func getisar1() uint64
|
||||
func getmmfr1() uint64
|
||||
func getpfr0() uint64
|
||||
func getzfr0() uint64
|
||||
|
|
|
|||
1
vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
generated
vendored
1
vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
generated
vendored
|
|
@ -8,5 +8,4 @@ package cpu
|
|||
|
||||
func getisar0() uint64 { return 0 }
|
||||
func getisar1() uint64 { return 0 }
|
||||
func getmmfr1() uint64 { return 0 }
|
||||
func getpfr0() uint64 { return 0 }
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go
generated
vendored
2
vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go
generated
vendored
|
|
@ -167,7 +167,7 @@ func doinit() {
|
|||
setMinimalFeatures()
|
||||
return
|
||||
}
|
||||
parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64mmfr1, cpuid.aa64pfr0)
|
||||
parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64pfr0)
|
||||
|
||||
Initialized = true
|
||||
}
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go
generated
vendored
2
vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go
generated
vendored
|
|
@ -59,7 +59,7 @@ func doinit() {
|
|||
if !ok {
|
||||
return
|
||||
}
|
||||
parseARM64SystemRegisters(isar0, isar1, 0, 0)
|
||||
parseARM64SystemRegisters(isar0, isar1, 0)
|
||||
|
||||
Initialized = true
|
||||
}
|
||||
|
|
|
|||
3
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
3
vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
|
|
@ -256,6 +256,7 @@ struct ltchars {
|
|||
#include <linux/loop.h>
|
||||
#include <linux/lwtunnel.h>
|
||||
#include <linux/magic.h>
|
||||
#include <linux/mei.h>
|
||||
#include <linux/memfd.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mount.h>
|
||||
|
|
@ -613,7 +614,7 @@ ccflags="$@"
|
|||
$2 !~ /IOC_MAGIC/ &&
|
||||
$2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ ||
|
||||
$2 ~ /^(VM|VMADDR)_/ ||
|
||||
$2 ~ /^IOCTL_VM_SOCKETS_/ ||
|
||||
$2 ~ /^(IOCTL_VM_SOCKETS_|IOCTL_MEI_)/ ||
|
||||
$2 ~ /^(TASKSTATS|TS)_/ ||
|
||||
$2 ~ /^CGROUPSTATS_/ ||
|
||||
$2 ~ /^GENL_/ ||
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
|
|
@ -1615,6 +1615,8 @@ const (
|
|||
IN_OPEN = 0x20
|
||||
IN_Q_OVERFLOW = 0x4000
|
||||
IN_UNMOUNT = 0x2000
|
||||
IOCTL_MEI_CONNECT_CLIENT = 0xc0104801
|
||||
IOCTL_MEI_CONNECT_CLIENT_VTAG = 0xc0144804
|
||||
IPPROTO_AH = 0x33
|
||||
IPPROTO_BEETPH = 0x5e
|
||||
IPPROTO_COMP = 0x6c
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
|
|
@ -116,6 +116,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x80044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x40044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
|
|
@ -116,6 +116,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x80044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x40044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x80044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x40044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
|
|
@ -120,6 +120,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x80044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x40044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
generated
vendored
|
|
@ -116,6 +116,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x80044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x40044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x100
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x80
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xfffffff
|
||||
IPV6_FLOWLABEL_MASK = 0xfffff
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x100
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x80
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xfffffff
|
||||
IPV6_FLOWLABEL_MASK = 0xfffff
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x100
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x80
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x100
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x80
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x400
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xfffffff
|
||||
IPV6_FLOWLABEL_MASK = 0xfffff
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x400
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xfffffff
|
||||
IPV6_FLOWLABEL_MASK = 0xfffff
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x400
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x80044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x40044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
|
|
@ -115,6 +115,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x80000
|
||||
IN_NONBLOCK = 0x800
|
||||
IOCTL_MEI_NOTIFY_GET = 0x80044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x40044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9
|
||||
IPV6_FLOWINFO_MASK = 0xfffffff
|
||||
IPV6_FLOWLABEL_MASK = 0xfffff
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
2
vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
|
|
@ -119,6 +119,8 @@ const (
|
|||
IEXTEN = 0x8000
|
||||
IN_CLOEXEC = 0x400000
|
||||
IN_NONBLOCK = 0x4000
|
||||
IOCTL_MEI_NOTIFY_GET = 0x40044803
|
||||
IOCTL_MEI_NOTIFY_SET = 0x80044802
|
||||
IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9
|
||||
IPV6_FLOWINFO_MASK = 0xfffffff
|
||||
IPV6_FLOWLABEL_MASK = 0xfffff
|
||||
|
|
|
|||
2
vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
generated
vendored
2
vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
generated
vendored
|
|
@ -104,7 +104,7 @@ type Statvfs_t struct {
|
|||
Fsid uint32
|
||||
Namemax uint32
|
||||
Owner uint32
|
||||
Spare [4]uint32
|
||||
Spare [4]uint64
|
||||
Fstypename [32]byte
|
||||
Mntonname [1024]byte
|
||||
Mntfromname [1024]byte
|
||||
|
|
|
|||
6
vendor/golang.org/x/text/encoding/japanese/eucjp.go
generated
vendored
6
vendor/golang.org/x/text/encoding/japanese/eucjp.go
generated
vendored
|
|
@ -17,9 +17,9 @@ import (
|
|||
var EUCJP encoding.Encoding = &eucJP
|
||||
|
||||
var eucJP = internal.Encoding{
|
||||
&internal.SimpleEncoding{eucJPDecoder{}, eucJPEncoder{}},
|
||||
"EUC-JP",
|
||||
identifier.EUCPkdFmtJapanese,
|
||||
Encoding: &internal.SimpleEncoding{Decoder: eucJPDecoder{}, Encoder: eucJPEncoder{}},
|
||||
Name: "EUC-JP",
|
||||
MIB: identifier.EUCPkdFmtJapanese,
|
||||
}
|
||||
|
||||
type eucJPDecoder struct{ transform.NopResetter }
|
||||
|
|
|
|||
6
vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
generated
vendored
6
vendor/golang.org/x/text/encoding/japanese/iso2022jp.go
generated
vendored
|
|
@ -17,9 +17,9 @@ import (
|
|||
var ISO2022JP encoding.Encoding = &iso2022JP
|
||||
|
||||
var iso2022JP = internal.Encoding{
|
||||
internal.FuncEncoding{iso2022JPNewDecoder, iso2022JPNewEncoder},
|
||||
"ISO-2022-JP",
|
||||
identifier.ISO2022JP,
|
||||
Encoding: internal.FuncEncoding{Decoder: iso2022JPNewDecoder, Encoder: iso2022JPNewEncoder},
|
||||
Name: "ISO-2022-JP",
|
||||
MIB: identifier.ISO2022JP,
|
||||
}
|
||||
|
||||
func iso2022JPNewDecoder() transform.Transformer {
|
||||
|
|
|
|||
6
vendor/golang.org/x/text/encoding/japanese/shiftjis.go
generated
vendored
6
vendor/golang.org/x/text/encoding/japanese/shiftjis.go
generated
vendored
|
|
@ -18,9 +18,9 @@ import (
|
|||
var ShiftJIS encoding.Encoding = &shiftJIS
|
||||
|
||||
var shiftJIS = internal.Encoding{
|
||||
&internal.SimpleEncoding{shiftJISDecoder{}, shiftJISEncoder{}},
|
||||
"Shift JIS",
|
||||
identifier.ShiftJIS,
|
||||
Encoding: &internal.SimpleEncoding{Decoder: shiftJISDecoder{}, Encoder: shiftJISEncoder{}},
|
||||
Name: "Shift JIS",
|
||||
MIB: identifier.ShiftJIS,
|
||||
}
|
||||
|
||||
type shiftJISDecoder struct{ transform.NopResetter }
|
||||
|
|
|
|||
6
vendor/golang.org/x/text/encoding/korean/euckr.go
generated
vendored
6
vendor/golang.org/x/text/encoding/korean/euckr.go
generated
vendored
|
|
@ -20,9 +20,9 @@ var All = []encoding.Encoding{EUCKR}
|
|||
var EUCKR encoding.Encoding = &eucKR
|
||||
|
||||
var eucKR = internal.Encoding{
|
||||
&internal.SimpleEncoding{eucKRDecoder{}, eucKREncoder{}},
|
||||
"EUC-KR",
|
||||
identifier.EUCKR,
|
||||
Encoding: &internal.SimpleEncoding{Decoder: eucKRDecoder{}, Encoder: eucKREncoder{}},
|
||||
Name: "EUC-KR",
|
||||
MIB: identifier.EUCKR,
|
||||
}
|
||||
|
||||
type eucKRDecoder struct{ transform.NopResetter }
|
||||
|
|
|
|||
20
vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
generated
vendored
20
vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go
generated
vendored
|
|
@ -22,21 +22,21 @@ var (
|
|||
)
|
||||
|
||||
var gbk = internal.Encoding{
|
||||
&internal.SimpleEncoding{
|
||||
gbkDecoder{gb18030: false},
|
||||
gbkEncoder{gb18030: false},
|
||||
Encoding: &internal.SimpleEncoding{
|
||||
Decoder: gbkDecoder{gb18030: false},
|
||||
Encoder: gbkEncoder{gb18030: false},
|
||||
},
|
||||
"GBK",
|
||||
identifier.GBK,
|
||||
Name: "GBK",
|
||||
MIB: identifier.GBK,
|
||||
}
|
||||
|
||||
var gbk18030 = internal.Encoding{
|
||||
&internal.SimpleEncoding{
|
||||
gbkDecoder{gb18030: true},
|
||||
gbkEncoder{gb18030: true},
|
||||
Encoding: &internal.SimpleEncoding{
|
||||
Decoder: gbkDecoder{gb18030: true},
|
||||
Encoder: gbkEncoder{gb18030: true},
|
||||
},
|
||||
"GB18030",
|
||||
identifier.GB18030,
|
||||
Name: "GB18030",
|
||||
MIB: identifier.GB18030,
|
||||
}
|
||||
|
||||
type gbkDecoder struct {
|
||||
|
|
|
|||
6
vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
generated
vendored
6
vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go
generated
vendored
|
|
@ -17,9 +17,9 @@ import (
|
|||
var HZGB2312 encoding.Encoding = &hzGB2312
|
||||
|
||||
var hzGB2312 = internal.Encoding{
|
||||
internal.FuncEncoding{hzGB2312NewDecoder, hzGB2312NewEncoder},
|
||||
"HZ-GB2312",
|
||||
identifier.HZGB2312,
|
||||
Encoding: internal.FuncEncoding{Decoder: hzGB2312NewDecoder, Encoder: hzGB2312NewEncoder},
|
||||
Name: "HZ-GB2312",
|
||||
MIB: identifier.HZGB2312,
|
||||
}
|
||||
|
||||
func hzGB2312NewDecoder() transform.Transformer {
|
||||
|
|
|
|||
6
vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
generated
vendored
6
vendor/golang.org/x/text/encoding/traditionalchinese/big5.go
generated
vendored
|
|
@ -20,9 +20,9 @@ var All = []encoding.Encoding{Big5}
|
|||
var Big5 encoding.Encoding = &big5
|
||||
|
||||
var big5 = internal.Encoding{
|
||||
&internal.SimpleEncoding{big5Decoder{}, big5Encoder{}},
|
||||
"Big5",
|
||||
identifier.Big5,
|
||||
Encoding: &internal.SimpleEncoding{Decoder: big5Decoder{}, Encoder: big5Encoder{}},
|
||||
Name: "Big5",
|
||||
MIB: identifier.Big5,
|
||||
}
|
||||
|
||||
type big5Decoder struct{ transform.NopResetter }
|
||||
|
|
|
|||
6
vendor/golang.org/x/text/encoding/unicode/unicode.go
generated
vendored
6
vendor/golang.org/x/text/encoding/unicode/unicode.go
generated
vendored
|
|
@ -60,9 +60,9 @@ func (utf8bomEncoding) NewDecoder() *encoding.Decoder {
|
|||
}
|
||||
|
||||
var utf8enc = &internal.Encoding{
|
||||
&internal.SimpleEncoding{utf8Decoder{}, runes.ReplaceIllFormed()},
|
||||
"UTF-8",
|
||||
identifier.UTF8,
|
||||
Encoding: &internal.SimpleEncoding{Decoder: utf8Decoder{}, Encoder: runes.ReplaceIllFormed()},
|
||||
Name: "UTF-8",
|
||||
MIB: identifier.UTF8,
|
||||
}
|
||||
|
||||
type utf8bomDecoder struct {
|
||||
|
|
|
|||
17
vendor/golang.org/x/tools/go/ast/inspector/cursor.go
generated
vendored
17
vendor/golang.org/x/tools/go/ast/inspector/cursor.go
generated
vendored
|
|
@ -467,7 +467,9 @@ func (c Cursor) FindByPos(start, end token.Pos) (Cursor, bool) {
|
|||
// This algorithm could be implemented using c.Inspect,
|
||||
// but it is about 2.5x slower.
|
||||
|
||||
best := int32(-1) // push index of latest (=innermost) node containing range
|
||||
// best is the push-index of the latest (=innermost) node containing range.
|
||||
// (Beware: latest is not always innermost because FuncDecl.{Name,Type} overlap.)
|
||||
best := int32(-1)
|
||||
for i, limit := c.indices(); i < limit; i++ {
|
||||
ev := events[i]
|
||||
if ev.index > i { // push?
|
||||
|
|
@ -481,6 +483,19 @@ func (c Cursor) FindByPos(start, end token.Pos) (Cursor, bool) {
|
|||
continue
|
||||
}
|
||||
} else {
|
||||
// Edge case: FuncDecl.Name and .Type overlap:
|
||||
// Don't update best from Name to FuncDecl.Type.
|
||||
//
|
||||
// The condition can be read as:
|
||||
// - n is FuncType
|
||||
// - n.parent is FuncDecl
|
||||
// - best is strictly beneath the FuncDecl
|
||||
if ev.typ == 1<<nFuncType &&
|
||||
events[ev.parent].typ == 1<<nFuncDecl &&
|
||||
best > ev.parent {
|
||||
continue
|
||||
}
|
||||
|
||||
nodeEnd = n.End()
|
||||
if n.Pos() > start {
|
||||
break // disjoint, after; stop
|
||||
|
|
|
|||
2
vendor/golang.org/x/tools/go/packages/visit.go
generated
vendored
2
vendor/golang.org/x/tools/go/packages/visit.go
generated
vendored
|
|
@ -78,7 +78,7 @@ func PrintErrors(pkgs []*Package) int {
|
|||
return n
|
||||
}
|
||||
|
||||
// Postorder returns an iterator over the the packages in
|
||||
// Postorder returns an iterator over the packages in
|
||||
// the import graph whose roots are pkg.
|
||||
// Packages are enumerated in dependencies-first order.
|
||||
func Postorder(pkgs []*Package) iter.Seq[*Package] {
|
||||
|
|
|
|||
4
vendor/golang.org/x/tools/go/types/objectpath/objectpath.go
generated
vendored
4
vendor/golang.org/x/tools/go/types/objectpath/objectpath.go
generated
vendored
|
|
@ -249,7 +249,7 @@ func (enc *Encoder) For(obj types.Object) (Path, error) {
|
|||
|
||||
case *types.Func:
|
||||
// A func, if not package-level, must be a method.
|
||||
if recv := obj.Type().(*types.Signature).Recv(); recv == nil {
|
||||
if recv := obj.Signature().Recv(); recv == nil {
|
||||
return "", fmt.Errorf("func is not a method: %v", obj)
|
||||
}
|
||||
|
||||
|
|
@ -405,7 +405,7 @@ func (enc *Encoder) concreteMethod(meth *types.Func) (Path, bool) {
|
|||
return "", false
|
||||
}
|
||||
|
||||
_, named := typesinternal.ReceiverNamed(meth.Type().(*types.Signature).Recv())
|
||||
_, named := typesinternal.ReceiverNamed(meth.Signature().Recv())
|
||||
if named == nil {
|
||||
return "", false
|
||||
}
|
||||
|
|
|
|||
3
vendor/golang.org/x/tools/go/types/typeutil/map.go
generated
vendored
3
vendor/golang.org/x/tools/go/types/typeutil/map.go
generated
vendored
|
|
@ -304,8 +304,7 @@ func (h hasher) hash(t types.Type) uint32 {
|
|||
case *types.Named:
|
||||
hash := h.hashTypeName(t.Obj())
|
||||
targs := t.TypeArgs()
|
||||
for i := 0; i < targs.Len(); i++ {
|
||||
targ := targs.At(i)
|
||||
for targ := range targs.Types() {
|
||||
hash += 2 * h.hash(targ)
|
||||
}
|
||||
return hash
|
||||
|
|
|
|||
2
vendor/golang.org/x/tools/internal/gcimporter/bimport.go
generated
vendored
2
vendor/golang.org/x/tools/internal/gcimporter/bimport.go
generated
vendored
|
|
@ -34,7 +34,7 @@ type fileInfo struct {
|
|||
const maxlines = 64 * 1024
|
||||
|
||||
func (s *fakeFileSet) pos(file string, line, column int) token.Pos {
|
||||
// TODO(mdempsky): Make use of column.
|
||||
_ = column // TODO(mdempsky): Make use of column.
|
||||
|
||||
// Since we don't know the set of needed file positions, we reserve maxlines
|
||||
// positions per file. We delay calling token.File.SetLines until all
|
||||
|
|
|
|||
36
vendor/golang.org/x/tools/internal/gcimporter/iexport.go
generated
vendored
36
vendor/golang.org/x/tools/internal/gcimporter/iexport.go
generated
vendored
|
|
@ -829,8 +829,7 @@ func (p *iexporter) doDecl(obj types.Object) {
|
|||
// their name must be qualified before exporting recv.
|
||||
if rparams := sig.RecvTypeParams(); rparams.Len() > 0 {
|
||||
prefix := obj.Name() + "." + m.Name()
|
||||
for i := 0; i < rparams.Len(); i++ {
|
||||
rparam := rparams.At(i)
|
||||
for rparam := range rparams.TypeParams() {
|
||||
name := tparamExportName(prefix, rparam)
|
||||
w.p.tparamNames[rparam.Obj()] = name
|
||||
}
|
||||
|
|
@ -944,6 +943,13 @@ func (w *exportWriter) posV0(pos token.Pos) {
|
|||
}
|
||||
|
||||
func (w *exportWriter) pkg(pkg *types.Package) {
|
||||
if pkg == nil {
|
||||
// [exportWriter.typ] accepts a nil pkg only for types
|
||||
// of constants, which cannot contain named objects
|
||||
// such as fields or methods and thus should never
|
||||
// reach this method (#76222).
|
||||
panic("nil package")
|
||||
}
|
||||
// Ensure any referenced packages are declared in the main index.
|
||||
w.p.allPkgs[pkg] = true
|
||||
|
||||
|
|
@ -959,9 +965,11 @@ func (w *exportWriter) qualifiedType(obj *types.TypeName) {
|
|||
w.pkg(obj.Pkg())
|
||||
}
|
||||
|
||||
// TODO(rfindley): what does 'pkg' even mean here? It would be better to pass
|
||||
// it in explicitly into signatures and structs that may use it for
|
||||
// constructing fields.
|
||||
// typ emits the specified type.
|
||||
//
|
||||
// Objects within the type (struct fields and interface methods) are
|
||||
// qualified by pkg. It may be nil if the type cannot contain objects,
|
||||
// such as the type of a constant.
|
||||
func (w *exportWriter) typ(t types.Type, pkg *types.Package) {
|
||||
w.data.uint64(w.p.typOff(t, pkg))
|
||||
}
|
||||
|
|
@ -991,6 +999,7 @@ func (w *exportWriter) startType(k itag) {
|
|||
w.data.uint64(uint64(k))
|
||||
}
|
||||
|
||||
// doTyp is the implementation of [exportWriter.typ].
|
||||
func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
|
||||
if trace {
|
||||
w.p.trace("exporting type %s (%T)", t, t)
|
||||
|
|
@ -1064,7 +1073,7 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
|
|||
|
||||
case *types.Signature:
|
||||
w.startType(signatureType)
|
||||
w.pkg(pkg)
|
||||
w.pkg(pkg) // qualifies param/result vars
|
||||
w.signature(t)
|
||||
|
||||
case *types.Struct:
|
||||
|
|
@ -1110,19 +1119,19 @@ func (w *exportWriter) doTyp(t types.Type, pkg *types.Package) {
|
|||
|
||||
case *types.Interface:
|
||||
w.startType(interfaceType)
|
||||
w.pkg(pkg)
|
||||
w.pkg(pkg) // qualifies unexported method funcs
|
||||
|
||||
n := t.NumEmbeddeds()
|
||||
w.uint64(uint64(n))
|
||||
for i := 0; i < n; i++ {
|
||||
ft := t.EmbeddedType(i)
|
||||
tPkg := pkg
|
||||
if named, _ := types.Unalias(ft).(*types.Named); named != nil {
|
||||
w.pos(named.Obj().Pos())
|
||||
} else {
|
||||
// e.g. ~int
|
||||
w.pos(token.NoPos)
|
||||
}
|
||||
w.typ(ft, tPkg)
|
||||
w.typ(ft, pkg)
|
||||
}
|
||||
|
||||
// See comment for struct fields. In shallow mode we change the encoding
|
||||
|
|
@ -1223,20 +1232,19 @@ func (w *exportWriter) signature(sig *types.Signature) {
|
|||
|
||||
func (w *exportWriter) typeList(ts *types.TypeList, pkg *types.Package) {
|
||||
w.uint64(uint64(ts.Len()))
|
||||
for i := 0; i < ts.Len(); i++ {
|
||||
w.typ(ts.At(i), pkg)
|
||||
for t := range ts.Types() {
|
||||
w.typ(t, pkg)
|
||||
}
|
||||
}
|
||||
|
||||
func (w *exportWriter) tparamList(prefix string, list *types.TypeParamList, pkg *types.Package) {
|
||||
ll := uint64(list.Len())
|
||||
w.uint64(ll)
|
||||
for i := 0; i < list.Len(); i++ {
|
||||
tparam := list.At(i)
|
||||
for tparam := range list.TypeParams() {
|
||||
// Set the type parameter exportName before exporting its type.
|
||||
exportName := tparamExportName(prefix, tparam)
|
||||
w.p.tparamNames[tparam.Obj()] = exportName
|
||||
w.typ(list.At(i), pkg)
|
||||
w.typ(tparam, pkg)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
60
vendor/golang.org/x/tools/internal/gcimporter/iimport.go
generated
vendored
60
vendor/golang.org/x/tools/internal/gcimporter/iimport.go
generated
vendored
|
|
@ -432,10 +432,10 @@ func (p *iimporter) doDecl(pkg *types.Package, name string) {
|
|||
errorf("%v.%v not in index", pkg, name)
|
||||
}
|
||||
|
||||
r := &importReader{p: p, currPkg: pkg}
|
||||
r := &importReader{p: p}
|
||||
r.declReader.Reset(p.declData[off:])
|
||||
|
||||
r.obj(name)
|
||||
r.obj(pkg, name)
|
||||
}
|
||||
|
||||
func (p *iimporter) stringAt(off uint64) string {
|
||||
|
|
@ -551,7 +551,6 @@ func canReuse(def *types.Named, rhs types.Type) bool {
|
|||
type importReader struct {
|
||||
p *iimporter
|
||||
declReader bytes.Reader
|
||||
currPkg *types.Package
|
||||
prevFile string
|
||||
prevLine int64
|
||||
prevColumn int64
|
||||
|
|
@ -565,7 +564,8 @@ type importReader struct {
|
|||
// for 1.24, but the fix was not worth back-porting).
|
||||
var markBlack = func(name *types.TypeName) {}
|
||||
|
||||
func (r *importReader) obj(name string) {
|
||||
// obj decodes and declares the package-level object denoted by (pkg, name).
|
||||
func (r *importReader) obj(pkg *types.Package, name string) {
|
||||
tag := r.byte()
|
||||
pos := r.pos()
|
||||
|
||||
|
|
@ -576,27 +576,27 @@ func (r *importReader) obj(name string) {
|
|||
tparams = r.tparamList()
|
||||
}
|
||||
typ := r.typ()
|
||||
obj := aliases.NewAlias(r.p.aliases, pos, r.currPkg, name, typ, tparams)
|
||||
obj := aliases.NewAlias(r.p.aliases, pos, pkg, name, typ, tparams)
|
||||
markBlack(obj) // workaround for golang/go#69912
|
||||
r.declare(obj)
|
||||
|
||||
case constTag:
|
||||
typ, val := r.value()
|
||||
|
||||
r.declare(types.NewConst(pos, r.currPkg, name, typ, val))
|
||||
r.declare(types.NewConst(pos, pkg, name, typ, val))
|
||||
|
||||
case funcTag, genericFuncTag:
|
||||
var tparams []*types.TypeParam
|
||||
if tag == genericFuncTag {
|
||||
tparams = r.tparamList()
|
||||
}
|
||||
sig := r.signature(nil, nil, tparams)
|
||||
r.declare(types.NewFunc(pos, r.currPkg, name, sig))
|
||||
sig := r.signature(pkg, nil, nil, tparams)
|
||||
r.declare(types.NewFunc(pos, pkg, name, sig))
|
||||
|
||||
case typeTag, genericTypeTag:
|
||||
// Types can be recursive. We need to setup a stub
|
||||
// declaration before recursing.
|
||||
obj := types.NewTypeName(pos, r.currPkg, name, nil)
|
||||
obj := types.NewTypeName(pos, pkg, name, nil)
|
||||
named := types.NewNamed(obj, nil, nil)
|
||||
|
||||
markBlack(obj) // workaround for golang/go#69912
|
||||
|
|
@ -616,7 +616,7 @@ func (r *importReader) obj(name string) {
|
|||
for n := r.uint64(); n > 0; n-- {
|
||||
mpos := r.pos()
|
||||
mname := r.ident()
|
||||
recv := r.param()
|
||||
recv := r.param(pkg)
|
||||
|
||||
// If the receiver has any targs, set those as the
|
||||
// rparams of the method (since those are the
|
||||
|
|
@ -630,9 +630,9 @@ func (r *importReader) obj(name string) {
|
|||
rparams[i] = types.Unalias(targs.At(i)).(*types.TypeParam)
|
||||
}
|
||||
}
|
||||
msig := r.signature(recv, rparams, nil)
|
||||
msig := r.signature(pkg, recv, rparams, nil)
|
||||
|
||||
named.AddMethod(types.NewFunc(mpos, r.currPkg, mname, msig))
|
||||
named.AddMethod(types.NewFunc(mpos, pkg, mname, msig))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -644,12 +644,12 @@ func (r *importReader) obj(name string) {
|
|||
errorf("unexpected type param type")
|
||||
}
|
||||
name0 := tparamName(name)
|
||||
tn := types.NewTypeName(pos, r.currPkg, name0, nil)
|
||||
tn := types.NewTypeName(pos, pkg, name0, nil)
|
||||
t := types.NewTypeParam(tn, nil)
|
||||
|
||||
// To handle recursive references to the typeparam within its
|
||||
// bound, save the partial type in tparamIndex before reading the bounds.
|
||||
id := ident{r.currPkg, name}
|
||||
id := ident{pkg, name}
|
||||
r.p.tparamIndex[id] = t
|
||||
var implicit bool
|
||||
if r.p.version >= iexportVersionGo1_18 {
|
||||
|
|
@ -672,7 +672,7 @@ func (r *importReader) obj(name string) {
|
|||
case varTag:
|
||||
typ := r.typ()
|
||||
|
||||
v := types.NewVar(pos, r.currPkg, name, typ)
|
||||
v := types.NewVar(pos, pkg, name, typ)
|
||||
typesinternal.SetVarKind(v, typesinternal.PackageVar)
|
||||
r.declare(v)
|
||||
|
||||
|
|
@ -905,11 +905,11 @@ func (r *importReader) doType(base *types.Named) (res types.Type) {
|
|||
case mapType:
|
||||
return types.NewMap(r.typ(), r.typ())
|
||||
case signatureType:
|
||||
r.currPkg = r.pkg()
|
||||
return r.signature(nil, nil, nil)
|
||||
paramPkg := r.pkg()
|
||||
return r.signature(paramPkg, nil, nil, nil)
|
||||
|
||||
case structType:
|
||||
r.currPkg = r.pkg()
|
||||
fieldPkg := r.pkg()
|
||||
|
||||
fields := make([]*types.Var, r.uint64())
|
||||
tags := make([]string, len(fields))
|
||||
|
|
@ -932,7 +932,7 @@ func (r *importReader) doType(base *types.Named) (res types.Type) {
|
|||
// discussed in iexport.go, this is not correct, but mostly works and is
|
||||
// preferable to failing (for now at least).
|
||||
if field == nil {
|
||||
field = types.NewField(fpos, r.currPkg, fname, ftyp, emb)
|
||||
field = types.NewField(fpos, fieldPkg, fname, ftyp, emb)
|
||||
}
|
||||
|
||||
fields[i] = field
|
||||
|
|
@ -941,7 +941,7 @@ func (r *importReader) doType(base *types.Named) (res types.Type) {
|
|||
return types.NewStruct(fields, tags)
|
||||
|
||||
case interfaceType:
|
||||
r.currPkg = r.pkg()
|
||||
methodPkg := r.pkg() // qualifies methods and their param/result vars
|
||||
|
||||
embeddeds := make([]types.Type, r.uint64())
|
||||
for i := range embeddeds {
|
||||
|
|
@ -963,12 +963,12 @@ func (r *importReader) doType(base *types.Named) (res types.Type) {
|
|||
// don't agree with this.
|
||||
var recv *types.Var
|
||||
if base != nil {
|
||||
recv = types.NewVar(token.NoPos, r.currPkg, "", base)
|
||||
recv = types.NewVar(token.NoPos, methodPkg, "", base)
|
||||
}
|
||||
msig := r.signature(recv, nil, nil)
|
||||
msig := r.signature(methodPkg, recv, nil, nil)
|
||||
|
||||
if method == nil {
|
||||
method = types.NewFunc(mpos, r.currPkg, mname, msig)
|
||||
method = types.NewFunc(mpos, methodPkg, mname, msig)
|
||||
}
|
||||
methods[i] = method
|
||||
}
|
||||
|
|
@ -1049,9 +1049,9 @@ func (r *importReader) objectPathObject() types.Object {
|
|||
return obj
|
||||
}
|
||||
|
||||
func (r *importReader) signature(recv *types.Var, rparams []*types.TypeParam, tparams []*types.TypeParam) *types.Signature {
|
||||
params := r.paramList()
|
||||
results := r.paramList()
|
||||
func (r *importReader) signature(paramPkg *types.Package, recv *types.Var, rparams []*types.TypeParam, tparams []*types.TypeParam) *types.Signature {
|
||||
params := r.paramList(paramPkg)
|
||||
results := r.paramList(paramPkg)
|
||||
variadic := params.Len() > 0 && r.bool()
|
||||
return types.NewSignatureType(recv, rparams, tparams, params, results, variadic)
|
||||
}
|
||||
|
|
@ -1070,19 +1070,19 @@ func (r *importReader) tparamList() []*types.TypeParam {
|
|||
return xs
|
||||
}
|
||||
|
||||
func (r *importReader) paramList() *types.Tuple {
|
||||
func (r *importReader) paramList(pkg *types.Package) *types.Tuple {
|
||||
xs := make([]*types.Var, r.uint64())
|
||||
for i := range xs {
|
||||
xs[i] = r.param()
|
||||
xs[i] = r.param(pkg)
|
||||
}
|
||||
return types.NewTuple(xs...)
|
||||
}
|
||||
|
||||
func (r *importReader) param() *types.Var {
|
||||
func (r *importReader) param(pkg *types.Package) *types.Var {
|
||||
pos := r.pos()
|
||||
name := r.ident()
|
||||
typ := r.typ()
|
||||
return types.NewParam(pos, r.currPkg, name, typ)
|
||||
return types.NewParam(pos, pkg, name, typ)
|
||||
}
|
||||
|
||||
func (r *importReader) bool() bool {
|
||||
|
|
|
|||
770
vendor/golang.org/x/tools/internal/stdlib/deps.go
generated
vendored
770
vendor/golang.org/x/tools/internal/stdlib/deps.go
generated
vendored
|
|
@ -12,354 +12,508 @@ type pkginfo struct {
|
|||
}
|
||||
|
||||
var deps = [...]pkginfo{
|
||||
{"archive/tar", "\x03k\x03E;\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\f"},
|
||||
{"archive/zip", "\x02\x04a\a\x03\x12\x021;\x01+\x05\x01\x0f\x03\x02\x0e\x04"},
|
||||
{"bufio", "\x03k\x83\x01D\x14"},
|
||||
{"bytes", "n*Y\x03\fG\x02\x02"},
|
||||
{"archive/tar", "\x03n\x03E<\x01\n\x01$\x01\x01\x02\x05\b\x02\x01\x02\x02\f"},
|
||||
{"archive/zip", "\x02\x04d\a\x03\x12\x021<\x01+\x05\x01\x0f\x03\x02\x0e\x04"},
|
||||
{"bufio", "\x03n\x84\x01D\x14"},
|
||||
{"bytes", "q*Z\x03\fG\x02\x02"},
|
||||
{"cmp", ""},
|
||||
{"compress/bzip2", "\x02\x02\xed\x01A"},
|
||||
{"compress/flate", "\x02l\x03\x80\x01\f\x033\x01\x03"},
|
||||
{"compress/gzip", "\x02\x04a\a\x03\x14lT"},
|
||||
{"compress/lzw", "\x02l\x03\x80\x01"},
|
||||
{"compress/zlib", "\x02\x04a\a\x03\x12\x01m"},
|
||||
{"container/heap", "\xb3\x02"},
|
||||
{"compress/bzip2", "\x02\x02\xf1\x01A"},
|
||||
{"compress/flate", "\x02o\x03\x81\x01\f\x033\x01\x03"},
|
||||
{"compress/gzip", "\x02\x04d\a\x03\x14mT"},
|
||||
{"compress/lzw", "\x02o\x03\x81\x01"},
|
||||
{"compress/zlib", "\x02\x04d\a\x03\x12\x01n"},
|
||||
{"container/heap", "\xb7\x02"},
|
||||
{"container/list", ""},
|
||||
{"container/ring", ""},
|
||||
{"context", "n\\m\x01\r"},
|
||||
{"crypto", "\x83\x01nC"},
|
||||
{"crypto/aes", "\x10\n\a\x93\x02"},
|
||||
{"crypto/cipher", "\x03\x1e\x01\x01\x1e\x11\x1c+X"},
|
||||
{"crypto/des", "\x10\x13\x1e-+\x9b\x01\x03"},
|
||||
{"crypto/dsa", "A\x04)\x83\x01\r"},
|
||||
{"crypto/ecdh", "\x03\v\f\x0e\x04\x15\x04\r\x1c\x83\x01"},
|
||||
{"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x0e\a\v\x05\x01\x04\f\x01\x1c\x83\x01\r\x05K\x01"},
|
||||
{"crypto/ed25519", "\x0e\x1c\x11\x06\n\a\x1c\x83\x01C"},
|
||||
{"crypto/elliptic", "0>\x83\x01\r9"},
|
||||
{"crypto/fips140", " \x05"},
|
||||
{"crypto/hkdf", "-\x13\x01-\x15"},
|
||||
{"crypto/hmac", "\x1a\x14\x12\x01\x111"},
|
||||
{"crypto/internal/boring", "\x0e\x02\rf"},
|
||||
{"crypto/internal/boring/bbig", "\x1a\xe4\x01M"},
|
||||
{"crypto/internal/boring/bcache", "\xb8\x02\x13"},
|
||||
{"context", "q[o\x01\r"},
|
||||
{"crypto", "\x86\x01oC"},
|
||||
{"crypto/aes", "\x10\n\t\x95\x02"},
|
||||
{"crypto/cipher", "\x03 \x01\x01\x1f\x11\x1c+Y"},
|
||||
{"crypto/des", "\x10\x15\x1f-+\x9c\x01\x03"},
|
||||
{"crypto/dsa", "D\x04)\x84\x01\r"},
|
||||
{"crypto/ecdh", "\x03\v\f\x10\x04\x16\x04\r\x1c\x84\x01"},
|
||||
{"crypto/ecdsa", "\x0e\x05\x03\x04\x01\x10\a\v\x06\x01\x04\f\x01\x1c\x84\x01\r\x05K\x01"},
|
||||
{"crypto/ed25519", "\x0e\x1e\x11\a\n\a\x1c\x84\x01C"},
|
||||
{"crypto/elliptic", "2?\x84\x01\r9"},
|
||||
{"crypto/fips140", "\"\x05"},
|
||||
{"crypto/hkdf", "/\x14\x01-\x15"},
|
||||
{"crypto/hmac", "\x1a\x16\x13\x01\x111"},
|
||||
{"crypto/internal/boring", "\x0e\x02\ri"},
|
||||
{"crypto/internal/boring/bbig", "\x1a\xe8\x01M"},
|
||||
{"crypto/internal/boring/bcache", "\xbc\x02\x13"},
|
||||
{"crypto/internal/boring/sig", ""},
|
||||
{"crypto/internal/cryptotest", "\x03\r\n\x06$\x0e\x19\x06\x12\x12 \x04\a\t\x16\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\v"},
|
||||
{"crypto/internal/entropy", "F"},
|
||||
{"crypto/internal/fips140", "?/\x15\xa7\x01\v\x16"},
|
||||
{"crypto/internal/fips140/aes", "\x03\x1d\x03\x02\x13\x05\x01\x01\x05*\x92\x014"},
|
||||
{"crypto/internal/fips140/aes/gcm", " \x01\x02\x02\x02\x11\x05\x01\x06*\x8f\x01"},
|
||||
{"crypto/internal/fips140/alias", "\xcb\x02"},
|
||||
{"crypto/internal/fips140/bigmod", "%\x18\x01\x06*\x92\x01"},
|
||||
{"crypto/internal/fips140/check", " \x0e\x06\t\x02\xb2\x01Z"},
|
||||
{"crypto/internal/fips140/check/checktest", "%\x85\x02!"},
|
||||
{"crypto/internal/fips140/drbg", "\x03\x1c\x01\x01\x04\x13\x05\b\x01(\x83\x01\x0f7"},
|
||||
{"crypto/internal/fips140/ecdh", "\x03\x1d\x05\x02\t\r1\x83\x01\x0f7"},
|
||||
{"crypto/internal/fips140/ecdsa", "\x03\x1d\x04\x01\x02\a\x02\x068\x15nF"},
|
||||
{"crypto/internal/fips140/ed25519", "\x03\x1d\x05\x02\x04\v8\xc6\x01\x03"},
|
||||
{"crypto/internal/fips140/edwards25519", "%\a\f\x051\x92\x017"},
|
||||
{"crypto/internal/fips140/edwards25519/field", "%\x13\x051\x92\x01"},
|
||||
{"crypto/internal/fips140/hkdf", "\x03\x1d\x05\t\x06:\x15"},
|
||||
{"crypto/internal/fips140/hmac", "\x03\x1d\x14\x01\x018\x15"},
|
||||
{"crypto/internal/fips140/mlkem", "\x03\x1d\x05\x02\x0e\x03\x051"},
|
||||
{"crypto/internal/fips140/nistec", "%\f\a\x051\x92\x01*\r\x14"},
|
||||
{"crypto/internal/fips140/nistec/fiat", "%\x136\x92\x01"},
|
||||
{"crypto/internal/fips140/pbkdf2", "\x03\x1d\x05\t\x06:\x15"},
|
||||
{"crypto/internal/fips140/rsa", "\x03\x1d\x04\x01\x02\r\x01\x01\x026\x15nF"},
|
||||
{"crypto/internal/fips140/sha256", "\x03\x1d\x1d\x01\x06*\x15}"},
|
||||
{"crypto/internal/fips140/sha3", "\x03\x1d\x18\x05\x010\x92\x01K"},
|
||||
{"crypto/internal/fips140/sha512", "\x03\x1d\x1d\x01\x06*\x15}"},
|
||||
{"crypto/internal/fips140/ssh", "%^"},
|
||||
{"crypto/internal/fips140/subtle", "#\x1a\xc3\x01"},
|
||||
{"crypto/internal/fips140/tls12", "\x03\x1d\x05\t\x06\x028\x15"},
|
||||
{"crypto/internal/fips140/tls13", "\x03\x1d\x05\b\a\t1\x15"},
|
||||
{"crypto/internal/fips140cache", "\xaa\x02\r&"},
|
||||
{"crypto/internal/constanttime", ""},
|
||||
{"crypto/internal/cryptotest", "\x03\r\n\b%\x0e\x19\x06\x12\x12 \x04\x06\t\x18\x01\x11\x11\x1b\x01\a\x05\b\x03\x05\v"},
|
||||
{"crypto/internal/entropy", "I"},
|
||||
{"crypto/internal/entropy/v1.0.0", "B/\x93\x018\x13"},
|
||||
{"crypto/internal/fips140", "A0\xbd\x01\v\x16"},
|
||||
{"crypto/internal/fips140/aes", "\x03\x1f\x03\x02\x13\x05\x01\x01\x06*\x93\x014"},
|
||||
{"crypto/internal/fips140/aes/gcm", "\"\x01\x02\x02\x02\x11\x05\x01\a*\x90\x01"},
|
||||
{"crypto/internal/fips140/alias", "\xcf\x02"},
|
||||
{"crypto/internal/fips140/bigmod", "'\x18\x01\a*\x93\x01"},
|
||||
{"crypto/internal/fips140/check", "\"\x0e\x06\t\x02\xb4\x01Z"},
|
||||
{"crypto/internal/fips140/check/checktest", "'\x87\x02!"},
|
||||
{"crypto/internal/fips140/drbg", "\x03\x1e\x01\x01\x04\x13\x05\t\x01(\x84\x01\x0f7\x01"},
|
||||
{"crypto/internal/fips140/ecdh", "\x03\x1f\x05\x02\t\r2\x84\x01\x0f7"},
|
||||
{"crypto/internal/fips140/ecdsa", "\x03\x1f\x04\x01\x02\a\x02\x069\x15oF"},
|
||||
{"crypto/internal/fips140/ed25519", "\x03\x1f\x05\x02\x04\v9\xc7\x01\x03"},
|
||||
{"crypto/internal/fips140/edwards25519", "\x1e\t\a\x112\x93\x017"},
|
||||
{"crypto/internal/fips140/edwards25519/field", "'\x13\x052\x93\x01"},
|
||||
{"crypto/internal/fips140/hkdf", "\x03\x1f\x05\t\x06;\x15"},
|
||||
{"crypto/internal/fips140/hmac", "\x03\x1f\x14\x01\x019\x15"},
|
||||
{"crypto/internal/fips140/mlkem", "\x03\x1f\x05\x02\x0e\x03\x052\xca\x01"},
|
||||
{"crypto/internal/fips140/nistec", "\x1e\t\f\f2\x93\x01*\r\x14"},
|
||||
{"crypto/internal/fips140/nistec/fiat", "'\x137\x93\x01"},
|
||||
{"crypto/internal/fips140/pbkdf2", "\x03\x1f\x05\t\x06;\x15"},
|
||||
{"crypto/internal/fips140/rsa", "\x03\x1b\x04\x04\x01\x02\r\x01\x01\x027\x15oF"},
|
||||
{"crypto/internal/fips140/sha256", "\x03\x1f\x1d\x01\a*\x15~"},
|
||||
{"crypto/internal/fips140/sha3", "\x03\x1f\x18\x05\x011\x93\x01K"},
|
||||
{"crypto/internal/fips140/sha512", "\x03\x1f\x1d\x01\a*\x15~"},
|
||||
{"crypto/internal/fips140/ssh", "'_"},
|
||||
{"crypto/internal/fips140/subtle", "\x1e\a\x1a\xc5\x01"},
|
||||
{"crypto/internal/fips140/tls12", "\x03\x1f\x05\t\x06\x029\x15"},
|
||||
{"crypto/internal/fips140/tls13", "\x03\x1f\x05\b\a\t2\x15"},
|
||||
{"crypto/internal/fips140cache", "\xae\x02\r&"},
|
||||
{"crypto/internal/fips140deps", ""},
|
||||
{"crypto/internal/fips140deps/byteorder", "\x99\x01"},
|
||||
{"crypto/internal/fips140deps/cpu", "\xae\x01\a"},
|
||||
{"crypto/internal/fips140deps/godebug", "\xb6\x01"},
|
||||
{"crypto/internal/fips140hash", "5\x1b3\xc8\x01"},
|
||||
{"crypto/internal/fips140only", "'\r\x01\x01M3;"},
|
||||
{"crypto/internal/fips140deps/byteorder", "\x9c\x01"},
|
||||
{"crypto/internal/fips140deps/cpu", "\xb1\x01\a"},
|
||||
{"crypto/internal/fips140deps/godebug", "\xb9\x01"},
|
||||
{"crypto/internal/fips140deps/time", "\xc9\x02"},
|
||||
{"crypto/internal/fips140hash", "7\x1c3\xc9\x01"},
|
||||
{"crypto/internal/fips140only", ")\r\x01\x01N3<"},
|
||||
{"crypto/internal/fips140test", ""},
|
||||
{"crypto/internal/hpke", "\x0e\x01\x01\x03\x053#+gM"},
|
||||
{"crypto/internal/impl", "\xb5\x02"},
|
||||
{"crypto/internal/randutil", "\xf1\x01\x12"},
|
||||
{"crypto/internal/sysrand", "nn! \r\r\x01\x01\f\x06"},
|
||||
{"crypto/internal/sysrand/internal/seccomp", "n"},
|
||||
{"crypto/md5", "\x0e3-\x15\x16g"},
|
||||
{"crypto/mlkem", "/"},
|
||||
{"crypto/pbkdf2", "2\x0e\x01-\x15"},
|
||||
{"crypto/rand", "\x1a\x06\a\x1a\x04\x01(\x83\x01\rM"},
|
||||
{"crypto/rc4", "#\x1e-\xc6\x01"},
|
||||
{"crypto/rsa", "\x0e\f\x01\t\x0f\r\x01\x04\x06\a\x1c\x03\x123;\f\x01"},
|
||||
{"crypto/sha1", "\x0e\f'\x03*\x15\x16\x15R"},
|
||||
{"crypto/sha256", "\x0e\f\x1aO"},
|
||||
{"crypto/sha3", "\x0e'N\xc8\x01"},
|
||||
{"crypto/sha512", "\x0e\f\x1cM"},
|
||||
{"crypto/subtle", "8\x9b\x01W"},
|
||||
{"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\a\x01\r\n\x01\t\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x12\x16\x15\b;\x16\x16\r\b\x01\x01\x01\x02\x01\r\x06\x02\x01\x0f"},
|
||||
{"crypto/tls/internal/fips140tls", "\x17\xa1\x02"},
|
||||
{"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x012\x05\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x038\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\x02\x05\n\x01\x02\x0e\x02\x01\x01\x02\x03\x01"},
|
||||
{"crypto/x509/pkix", "d\x06\a\x8d\x01G"},
|
||||
{"database/sql", "\x03\nK\x16\x03\x80\x01\v\a\"\x05\b\x02\x03\x01\r\x02\x02\x02"},
|
||||
{"database/sql/driver", "\ra\x03\xb4\x01\x0f\x11"},
|
||||
{"debug/buildinfo", "\x03X\x02\x01\x01\b\a\x03e\x19\x02\x01+\x0f\x1f"},
|
||||
{"debug/dwarf", "\x03d\a\x03\x80\x011\x11\x01\x01"},
|
||||
{"debug/elf", "\x03\x06Q\r\a\x03e\x1a\x01,\x17\x01\x16"},
|
||||
{"debug/gosym", "\x03d\n\xc2\x01\x01\x01\x02"},
|
||||
{"debug/macho", "\x03\x06Q\r\ne\x1b,\x17\x01"},
|
||||
{"debug/pe", "\x03\x06Q\r\a\x03e\x1b,\x17\x01\x16"},
|
||||
{"debug/plan9obj", "g\a\x03e\x1b,"},
|
||||
{"embed", "n*@\x19\x01S"},
|
||||
{"crypto/internal/hpke", "\x0e\x01\x01\x03\x056#+hM"},
|
||||
{"crypto/internal/impl", "\xb9\x02"},
|
||||
{"crypto/internal/randutil", "\xf5\x01\x12"},
|
||||
{"crypto/internal/sysrand", "qo! \r\r\x01\x01\f\x06"},
|
||||
{"crypto/internal/sysrand/internal/seccomp", "q"},
|
||||
{"crypto/md5", "\x0e6-\x15\x16h"},
|
||||
{"crypto/mlkem", "1"},
|
||||
{"crypto/pbkdf2", "4\x0f\x01-\x15"},
|
||||
{"crypto/rand", "\x1a\b\a\x1b\x04\x01(\x84\x01\rM"},
|
||||
{"crypto/rc4", "%\x1f-\xc7\x01"},
|
||||
{"crypto/rsa", "\x0e\f\x01\v\x0f\x0e\x01\x04\x06\a\x1c\x03\x123<\f\x01"},
|
||||
{"crypto/sha1", "\x0e\f*\x03*\x15\x16\x15S"},
|
||||
{"crypto/sha256", "\x0e\f\x1cP"},
|
||||
{"crypto/sha3", "\x0e)O\xc9\x01"},
|
||||
{"crypto/sha512", "\x0e\f\x1eN"},
|
||||
{"crypto/subtle", "\x1e\x1c\x9c\x01X"},
|
||||
{"crypto/tls", "\x03\b\x02\x01\x01\x01\x01\x02\x01\x01\x01\x02\x01\x01\t\x01\r\n\x01\n\x05\x03\x01\x01\x01\x01\x02\x01\x02\x01\x17\x02\x03\x12\x16\x15\b<\x16\x16\r\b\x01\x01\x01\x02\x01\r\x06\x02\x01\x0f"},
|
||||
{"crypto/tls/internal/fips140tls", "\x17\xa5\x02"},
|
||||
{"crypto/x509", "\x03\v\x01\x01\x01\x01\x01\x01\x01\x015\x05\x01\x01\x02\x05\x0e\x06\x02\x02\x03E\x039\x01\x02\b\x01\x01\x02\a\x10\x05\x01\x06\x02\x05\b\x02\x01\x02\x0e\x02\x01\x01\x02\x03\x01"},
|
||||
{"crypto/x509/pkix", "g\x06\a\x8e\x01G"},
|
||||
{"database/sql", "\x03\nN\x16\x03\x81\x01\v\a\"\x05\b\x02\x03\x01\r\x02\x02\x02"},
|
||||
{"database/sql/driver", "\rd\x03\xb5\x01\x0f\x11"},
|
||||
{"debug/buildinfo", "\x03[\x02\x01\x01\b\a\x03e\x1a\x02\x01+\x0f\x1f"},
|
||||
{"debug/dwarf", "\x03g\a\x03\x81\x011\x11\x01\x01"},
|
||||
{"debug/elf", "\x03\x06T\r\a\x03e\x1b\x01\f \x17\x01\x16"},
|
||||
{"debug/gosym", "\x03g\n\xc3\x01\x01\x01\x02"},
|
||||
{"debug/macho", "\x03\x06T\r\ne\x1c,\x17\x01"},
|
||||
{"debug/pe", "\x03\x06T\r\a\x03e\x1c,\x17\x01\x16"},
|
||||
{"debug/plan9obj", "j\a\x03e\x1c,"},
|
||||
{"embed", "q*A\x19\x01S"},
|
||||
{"embed/internal/embedtest", ""},
|
||||
{"encoding", ""},
|
||||
{"encoding/ascii85", "\xf1\x01C"},
|
||||
{"encoding/asn1", "\x03k\x03\x8c\x01\x01'\r\x02\x01\x10\x03\x01"},
|
||||
{"encoding/base32", "\xf1\x01A\x02"},
|
||||
{"encoding/base64", "\x99\x01XA\x02"},
|
||||
{"encoding/binary", "n\x83\x01\f(\r\x05"},
|
||||
{"encoding/csv", "\x02\x01k\x03\x80\x01D\x12\x02"},
|
||||
{"encoding/gob", "\x02`\x05\a\x03e\x1b\v\x01\x03\x1d\b\x12\x01\x0f\x02"},
|
||||
{"encoding/hex", "n\x03\x80\x01A\x03"},
|
||||
{"encoding/json", "\x03\x01^\x04\b\x03\x80\x01\f(\r\x02\x01\x02\x10\x01\x01\x02"},
|
||||
{"encoding/pem", "\x03c\b\x83\x01A\x03"},
|
||||
{"encoding/xml", "\x02\x01_\f\x03\x80\x014\x05\n\x01\x02\x10\x02"},
|
||||
{"errors", "\xca\x01\x81\x01"},
|
||||
{"expvar", "kK?\b\v\x15\r\b\x02\x03\x01\x11"},
|
||||
{"flag", "b\f\x03\x80\x01,\b\x05\b\x02\x01\x10"},
|
||||
{"fmt", "nE>\f \b\r\x02\x03\x12"},
|
||||
{"go/ast", "\x03\x01m\x0e\x01q\x03)\b\r\x02\x01"},
|
||||
{"go/build", "\x02\x01k\x03\x01\x02\x02\a\x02\x01\x17\x1f\x04\x02\t\x19\x13\x01+\x01\x04\x01\a\b\x02\x01\x12\x02\x02"},
|
||||
{"go/build/constraint", "n\xc6\x01\x01\x12\x02"},
|
||||
{"go/constant", "q\x0f}\x01\x024\x01\x02\x12"},
|
||||
{"go/doc", "\x04m\x01\x05\t>31\x10\x02\x01\x12\x02"},
|
||||
{"go/doc/comment", "\x03n\xc1\x01\x01\x01\x01\x12\x02"},
|
||||
{"go/format", "\x03n\x01\v\x01\x02qD"},
|
||||
{"go/importer", "s\a\x01\x01\x04\x01p9"},
|
||||
{"go/internal/gccgoimporter", "\x02\x01X\x13\x03\x04\v\x01n\x02,\x01\x05\x11\x01\f\b"},
|
||||
{"go/internal/gcimporter", "\x02o\x0f\x010\x05\x0e-,\x15\x03\x02"},
|
||||
{"go/internal/srcimporter", "q\x01\x01\n\x03\x01p,\x01\x05\x12\x02\x14"},
|
||||
{"go/parser", "\x03k\x03\x01\x02\v\x01q\x01+\x06\x12"},
|
||||
{"go/printer", "q\x01\x02\x03\tq\f \x15\x02\x01\x02\v\x05\x02"},
|
||||
{"go/scanner", "\x03n\x0fq2\x10\x01\x13\x02"},
|
||||
{"go/token", "\x04m\x83\x01>\x02\x03\x01\x0f\x02"},
|
||||
{"go/types", "\x03\x01\x06d\x03\x01\x03\b\x03\x02\x15\x1f\x061\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x0f\x02\x02"},
|
||||
{"go/version", "\xbb\x01z"},
|
||||
{"hash", "\xf1\x01"},
|
||||
{"hash/adler32", "n\x15\x16"},
|
||||
{"hash/crc32", "n\x15\x16\x15\x89\x01\x01\x13"},
|
||||
{"hash/crc64", "n\x15\x16\x9e\x01"},
|
||||
{"hash/fnv", "n\x15\x16g"},
|
||||
{"hash/maphash", "\x83\x01\x11!\x03\x93\x01"},
|
||||
{"html", "\xb5\x02\x02\x12"},
|
||||
{"html/template", "\x03h\x06\x18-;\x01\n!\x05\x01\x02\x03\f\x01\x02\f\x01\x03\x02"},
|
||||
{"image", "\x02l\x1ee\x0f4\x03\x01"},
|
||||
{"encoding/ascii85", "\xf5\x01C"},
|
||||
{"encoding/asn1", "\x03n\x03e(\x01'\r\x02\x01\x10\x03\x01"},
|
||||
{"encoding/base32", "\xf5\x01A\x02"},
|
||||
{"encoding/base64", "\x9c\x01YA\x02"},
|
||||
{"encoding/binary", "q\x84\x01\f(\r\x05"},
|
||||
{"encoding/csv", "\x02\x01n\x03\x81\x01D\x12\x02"},
|
||||
{"encoding/gob", "\x02c\x05\a\x03e\x1c\v\x01\x03\x1d\b\x12\x01\x0f\x02"},
|
||||
{"encoding/hex", "q\x03\x81\x01A\x03"},
|
||||
{"encoding/json", "\x03\x01a\x04\b\x03\x81\x01\f(\r\x02\x01\x02\x10\x01\x01\x02"},
|
||||
{"encoding/pem", "\x03f\b\x84\x01A\x03"},
|
||||
{"encoding/xml", "\x02\x01b\f\x03\x81\x014\x05\n\x01\x02\x10\x02"},
|
||||
{"errors", "\xcc\x01\x83\x01"},
|
||||
{"expvar", "nK@\b\v\x15\r\b\x02\x03\x01\x11"},
|
||||
{"flag", "e\f\x03\x81\x01,\b\x05\b\x02\x01\x10"},
|
||||
{"fmt", "qE&\x19\f \b\r\x02\x03\x12"},
|
||||
{"go/ast", "\x03\x01p\x0e\x01r\x03)\b\r\x02\x01\x12\x02"},
|
||||
{"go/build", "\x02\x01n\x03\x01\x02\x02\a\x02\x01\x17\x1f\x04\x02\b\x1b\x13\x01+\x01\x04\x01\a\b\x02\x01\x12\x02\x02"},
|
||||
{"go/build/constraint", "q\xc7\x01\x01\x12\x02"},
|
||||
{"go/constant", "t\x0f~\x01\x024\x01\x02\x12"},
|
||||
{"go/doc", "\x04p\x01\x05\t=51\x10\x02\x01\x12\x02"},
|
||||
{"go/doc/comment", "\x03q\xc2\x01\x01\x01\x01\x12\x02"},
|
||||
{"go/format", "\x03q\x01\v\x01\x02rD"},
|
||||
{"go/importer", "v\a\x01\x01\x04\x01q9"},
|
||||
{"go/internal/gccgoimporter", "\x02\x01[\x13\x03\x04\v\x01o\x02,\x01\x05\x11\x01\f\b"},
|
||||
{"go/internal/gcimporter", "\x02r\x0f\x010\x05\r/,\x15\x03\x02"},
|
||||
{"go/internal/srcimporter", "t\x01\x01\n\x03\x01q,\x01\x05\x12\x02\x14"},
|
||||
{"go/parser", "\x03n\x03\x01\x02\v\x01r\x01+\x06\x12"},
|
||||
{"go/printer", "t\x01\x02\x03\tr\f \x15\x02\x01\x02\v\x05\x02"},
|
||||
{"go/scanner", "\x03q\x0fr2\x10\x01\x13\x02"},
|
||||
{"go/token", "\x04p\x84\x01>\x02\x03\x01\x0f\x02"},
|
||||
{"go/types", "\x03\x01\x06g\x03\x01\x03\b\x03\x024\x062\x04\x03\t \x06\a\b\x01\x01\x01\x02\x01\x0f\x02\x02"},
|
||||
{"go/version", "\xbe\x01{"},
|
||||
{"hash", "\xf5\x01"},
|
||||
{"hash/adler32", "q\x15\x16"},
|
||||
{"hash/crc32", "q\x15\x16\x15\x8a\x01\x01\x13"},
|
||||
{"hash/crc64", "q\x15\x16\x9f\x01"},
|
||||
{"hash/fnv", "q\x15\x16h"},
|
||||
{"hash/maphash", "\x86\x01\x11<|"},
|
||||
{"html", "\xb9\x02\x02\x12"},
|
||||
{"html/template", "\x03k\x06\x18-<\x01\n!\x05\x01\x02\x03\f\x01\x02\f\x01\x03\x02"},
|
||||
{"image", "\x02o\x1ef\x0f4\x03\x01"},
|
||||
{"image/color", ""},
|
||||
{"image/color/palette", "\x8c\x01"},
|
||||
{"image/draw", "\x8b\x01\x01\x04"},
|
||||
{"image/gif", "\x02\x01\x05f\x03\x1a\x01\x01\x01\vX"},
|
||||
{"image/internal/imageutil", "\x8b\x01"},
|
||||
{"image/jpeg", "\x02l\x1d\x01\x04a"},
|
||||
{"image/png", "\x02\a^\n\x12\x02\x06\x01eC"},
|
||||
{"index/suffixarray", "\x03d\a\x83\x01\f+\n\x01"},
|
||||
{"internal/abi", "\xb5\x01\x96\x01"},
|
||||
{"internal/asan", "\xcb\x02"},
|
||||
{"internal/bisect", "\xaa\x02\r\x01"},
|
||||
{"internal/buildcfg", "qGe\x06\x02\x05\n\x01"},
|
||||
{"internal/bytealg", "\xae\x01\x9d\x01"},
|
||||
{"image/color/palette", "\x8f\x01"},
|
||||
{"image/draw", "\x8e\x01\x01\x04"},
|
||||
{"image/gif", "\x02\x01\x05i\x03\x1a\x01\x01\x01\vY"},
|
||||
{"image/internal/imageutil", "\x8e\x01"},
|
||||
{"image/jpeg", "\x02o\x1d\x01\x04b"},
|
||||
{"image/png", "\x02\aa\n\x12\x02\x06\x01fC"},
|
||||
{"index/suffixarray", "\x03g\a\x84\x01\f+\n\x01"},
|
||||
{"internal/abi", "\xb8\x01\x97\x01"},
|
||||
{"internal/asan", "\xcf\x02"},
|
||||
{"internal/bisect", "\xae\x02\r\x01"},
|
||||
{"internal/buildcfg", "tGf\x06\x02\x05\n\x01"},
|
||||
{"internal/bytealg", "\xb1\x01\x9e\x01"},
|
||||
{"internal/byteorder", ""},
|
||||
{"internal/cfg", ""},
|
||||
{"internal/cgrouptest", "q[Q\x06\x0f\x02\x01\x04\x01"},
|
||||
{"internal/chacha8rand", "\x99\x01\x15\a\x96\x01"},
|
||||
{"internal/cgrouptest", "tZS\x06\x0f\x02\x01\x04\x01"},
|
||||
{"internal/chacha8rand", "\x9c\x01\x15\a\x97\x01"},
|
||||
{"internal/copyright", ""},
|
||||
{"internal/coverage", ""},
|
||||
{"internal/coverage/calloc", ""},
|
||||
{"internal/coverage/cfile", "k\x06\x16\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01#\x02$,\x06\a\n\x01\x03\r\x06"},
|
||||
{"internal/coverage/cformat", "\x04m-\x04O\v6\x01\x02\r"},
|
||||
{"internal/coverage/cmerge", "q-_"},
|
||||
{"internal/coverage/decodecounter", "g\n-\v\x02F,\x17\x17"},
|
||||
{"internal/coverage/decodemeta", "\x02e\n\x16\x17\v\x02F,"},
|
||||
{"internal/coverage/encodecounter", "\x02e\n-\f\x01\x02D\v!\x15"},
|
||||
{"internal/coverage/encodemeta", "\x02\x01d\n\x12\x04\x17\r\x02D,."},
|
||||
{"internal/coverage/pods", "\x04m-\x7f\x06\x05\n\x02\x01"},
|
||||
{"internal/coverage/rtcov", "\xcb\x02"},
|
||||
{"internal/coverage/slicereader", "g\n\x80\x01Z"},
|
||||
{"internal/coverage/slicewriter", "q\x80\x01"},
|
||||
{"internal/coverage/stringtab", "q8\x04D"},
|
||||
{"internal/coverage/cfile", "n\x06\x16\x17\x01\x02\x01\x01\x01\x01\x01\x01\x01\"\x02&,\x06\a\n\x01\x03\r\x06"},
|
||||
{"internal/coverage/cformat", "\x04p-\x04P\v6\x01\x02\r"},
|
||||
{"internal/coverage/cmerge", "t-`"},
|
||||
{"internal/coverage/decodecounter", "j\n-\v\x02G,\x17\x17"},
|
||||
{"internal/coverage/decodemeta", "\x02h\n\x16\x17\v\x02G,"},
|
||||
{"internal/coverage/encodecounter", "\x02h\n-\f\x01\x02E\v!\x15"},
|
||||
{"internal/coverage/encodemeta", "\x02\x01g\n\x12\x04\x17\r\x02E,."},
|
||||
{"internal/coverage/pods", "\x04p-\x80\x01\x06\x05\n\x02\x01"},
|
||||
{"internal/coverage/rtcov", "\xcf\x02"},
|
||||
{"internal/coverage/slicereader", "j\n\x81\x01Z"},
|
||||
{"internal/coverage/slicewriter", "t\x81\x01"},
|
||||
{"internal/coverage/stringtab", "t8\x04E"},
|
||||
{"internal/coverage/test", ""},
|
||||
{"internal/coverage/uleb128", ""},
|
||||
{"internal/cpu", "\xcb\x02"},
|
||||
{"internal/dag", "\x04m\xc1\x01\x03"},
|
||||
{"internal/diff", "\x03n\xc2\x01\x02"},
|
||||
{"internal/exportdata", "\x02\x01k\x03\x02c\x1b,\x01\x05\x11\x01\x02"},
|
||||
{"internal/filepathlite", "n*@\x1a@"},
|
||||
{"internal/fmtsort", "\x04\xa1\x02\r"},
|
||||
{"internal/fuzz", "\x03\nB\x18\x04\x03\x03\x01\v\x036;\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\f\x04\x02"},
|
||||
{"internal/cpu", "\xcf\x02"},
|
||||
{"internal/dag", "\x04p\xc2\x01\x03"},
|
||||
{"internal/diff", "\x03q\xc3\x01\x02"},
|
||||
{"internal/exportdata", "\x02\x01n\x03\x02c\x1c,\x01\x05\x11\x01\x02"},
|
||||
{"internal/filepathlite", "q*A\x1a@"},
|
||||
{"internal/fmtsort", "\x04\xa5\x02\r"},
|
||||
{"internal/fuzz", "\x03\nE\x18\x04\x03\x03\x01\v\x036<\f\x03\x1d\x01\x05\x02\x05\n\x01\x02\x01\x01\f\x04\x02"},
|
||||
{"internal/goarch", ""},
|
||||
{"internal/godebug", "\x96\x01!\x80\x01\x01\x13"},
|
||||
{"internal/godebug", "\x99\x01!\x81\x01\x01\x13"},
|
||||
{"internal/godebugs", ""},
|
||||
{"internal/goexperiment", ""},
|
||||
{"internal/goos", ""},
|
||||
{"internal/goroot", "\x9d\x02\x01\x05\x12\x02"},
|
||||
{"internal/goroot", "\xa1\x02\x01\x05\x12\x02"},
|
||||
{"internal/gover", "\x04"},
|
||||
{"internal/goversion", ""},
|
||||
{"internal/itoa", ""},
|
||||
{"internal/lazyregexp", "\x9d\x02\v\r\x02"},
|
||||
{"internal/lazytemplate", "\xf1\x01,\x18\x02\f"},
|
||||
{"internal/msan", "\xcb\x02"},
|
||||
{"internal/lazyregexp", "\xa1\x02\v\r\x02"},
|
||||
{"internal/lazytemplate", "\xf5\x01,\x18\x02\f"},
|
||||
{"internal/msan", "\xcf\x02"},
|
||||
{"internal/nettrace", ""},
|
||||
{"internal/obscuretestdata", "f\x8b\x01,"},
|
||||
{"internal/oserror", "n"},
|
||||
{"internal/pkgbits", "\x03L\x18\a\x03\x04\vq\r\x1f\r\n\x01"},
|
||||
{"internal/obscuretestdata", "i\x8c\x01,"},
|
||||
{"internal/oserror", "q"},
|
||||
{"internal/pkgbits", "\x03O\x18\a\x03\x04\vr\r\x1f\r\n\x01"},
|
||||
{"internal/platform", ""},
|
||||
{"internal/poll", "nO\x1f\x159\r\x01\x01\f\x06"},
|
||||
{"internal/profile", "\x03\x04g\x03\x80\x017\v\x01\x01\x10"},
|
||||
{"internal/poll", "qj\x05\x159\r\x01\x01\f\x06"},
|
||||
{"internal/profile", "\x03\x04j\x03\x81\x017\n\x01\x01\x01\x10"},
|
||||
{"internal/profilerecord", ""},
|
||||
{"internal/race", "\x94\x01\xb7\x01"},
|
||||
{"internal/reflectlite", "\x94\x01!9<!"},
|
||||
{"internal/runtime/atomic", "\xb5\x01\x96\x01"},
|
||||
{"internal/runtime/cgroup", "\x98\x01:\x02w"},
|
||||
{"internal/runtime/exithook", "\xcb\x01\x80\x01"},
|
||||
{"internal/runtime/gc", "\xb5\x01"},
|
||||
{"internal/runtime/maps", "\x94\x01\x01 \v\t\a\x03x"},
|
||||
{"internal/runtime/math", "\xb5\x01"},
|
||||
{"internal/race", "\x97\x01\xb8\x01"},
|
||||
{"internal/reflectlite", "\x97\x01!:<!"},
|
||||
{"internal/runtime/atomic", "\xb8\x01\x97\x01"},
|
||||
{"internal/runtime/cgroup", "\x9b\x01<\x04t"},
|
||||
{"internal/runtime/exithook", "\xcd\x01\x82\x01"},
|
||||
{"internal/runtime/gc", "\xb8\x01"},
|
||||
{"internal/runtime/gc/internal/gen", "\n`\n\x17j\x04\v\x1d\b\x10\x02"},
|
||||
{"internal/runtime/gc/scan", "\xb1\x01\a\x18\x06y"},
|
||||
{"internal/runtime/maps", "\x97\x01\x01 \n\t\t\x02y"},
|
||||
{"internal/runtime/math", "\xb8\x01"},
|
||||
{"internal/runtime/startlinetest", ""},
|
||||
{"internal/runtime/strconv", "\xd0\x01"},
|
||||
{"internal/runtime/sys", "\xb5\x01\x04"},
|
||||
{"internal/runtime/syscall", "\xb5\x01\x96\x01"},
|
||||
{"internal/runtime/sys", "\xb8\x01\x04"},
|
||||
{"internal/runtime/syscall/linux", "\xb8\x01\x97\x01"},
|
||||
{"internal/runtime/wasitest", ""},
|
||||
{"internal/saferio", "\xf1\x01Z"},
|
||||
{"internal/singleflight", "\xb7\x02"},
|
||||
{"internal/stringslite", "\x98\x01\xb3\x01"},
|
||||
{"internal/sync", "\x94\x01!\x14o\x13"},
|
||||
{"internal/synctest", "\x94\x01\xb7\x01"},
|
||||
{"internal/syscall/execenv", "\xb9\x02"},
|
||||
{"internal/syscall/unix", "\xaa\x02\x0e\x01\x12"},
|
||||
{"internal/sysinfo", "\x02\x01\xab\x01C,\x18\x02"},
|
||||
{"internal/saferio", "\xf5\x01Z"},
|
||||
{"internal/singleflight", "\xbb\x02"},
|
||||
{"internal/strconv", "\x84\x02K"},
|
||||
{"internal/stringslite", "\x9b\x01\xb4\x01"},
|
||||
{"internal/sync", "\x97\x01!\x13q\x13"},
|
||||
{"internal/synctest", "\x97\x01\xb8\x01"},
|
||||
{"internal/syscall/execenv", "\xbd\x02"},
|
||||
{"internal/syscall/unix", "\xae\x02\x0e\x01\x12"},
|
||||
{"internal/sysinfo", "\x02\x01\xae\x01D,\x18\x02"},
|
||||
{"internal/syslist", ""},
|
||||
{"internal/testenv", "\x03\na\x02\x01)\x1b\x10-+\x01\x05\a\n\x01\x02\x02\x01\v"},
|
||||
{"internal/testhash", "\x03\x80\x01n\x118\v"},
|
||||
{"internal/testlog", "\xb7\x02\x01\x13"},
|
||||
{"internal/testpty", "n\x03\xac\x01"},
|
||||
{"internal/trace", "\x02\x01\x01\x06]\a\x03t\x03\x03\x06\x03\t5\x01\x01\x01\x10\x06"},
|
||||
{"internal/trace/internal/testgen", "\x03d\nr\x03\x02\x03\x011\v\r\x10"},
|
||||
{"internal/trace/internal/tracev1", "\x03\x01c\a\x03z\x06\f5\x01"},
|
||||
{"internal/trace/raw", "\x02e\nw\x03\x06C\x01\x12"},
|
||||
{"internal/trace/testtrace", "\x02\x01k\x03r\x03\x05\x01\x057\n\x02\x01"},
|
||||
{"internal/testenv", "\x03\nd\x02\x01)\x1b\x0f/+\x01\x05\a\n\x01\x02\x02\x01\v"},
|
||||
{"internal/testhash", "\x03\x83\x01o\x118\v"},
|
||||
{"internal/testlog", "\xbb\x02\x01\x13"},
|
||||
{"internal/testpty", "q\x03\xad\x01"},
|
||||
{"internal/trace", "\x02\x01\x01\x06`\a\x03u\x03\x03\x06\x03\t5\x01\x01\x01\x10\x06"},
|
||||
{"internal/trace/internal/testgen", "\x03g\ns\x03\x02\x03\x011\v\r\x10"},
|
||||
{"internal/trace/internal/tracev1", "\x03\x01f\a\x03{\x06\f5\x01"},
|
||||
{"internal/trace/raw", "\x02h\nx\x03\x06C\x01\x12"},
|
||||
{"internal/trace/testtrace", "\x02\x01n\x03o\x04\x03\x05\x01\x05,\v\x02\b\x02\x01\x05"},
|
||||
{"internal/trace/tracev2", ""},
|
||||
{"internal/trace/traceviewer", "\x02^\v\x06\x19=\x1c\a\a\x04\b\v\x15\x01\x05\a\n\x01\x02\x0e"},
|
||||
{"internal/trace/traceviewer", "\x02a\v\x06\x19<\x1e\a\a\x04\b\v\x15\x01\x05\a\n\x01\x02\x0e"},
|
||||
{"internal/trace/traceviewer/format", ""},
|
||||
{"internal/trace/version", "qw\t"},
|
||||
{"internal/txtar", "\x03n\xac\x01\x18"},
|
||||
{"internal/types/errors", "\xb4\x02"},
|
||||
{"internal/unsafeheader", "\xcb\x02"},
|
||||
{"internal/xcoff", "Z\r\a\x03e\x1b,\x17\x01"},
|
||||
{"internal/zstd", "g\a\x03\x80\x01\x0f"},
|
||||
{"io", "n\xc9\x01"},
|
||||
{"io/fs", "n*+.1\x10\x13\x04"},
|
||||
{"io/ioutil", "\xf1\x01\x01+\x15\x03"},
|
||||
{"iter", "\xc9\x01a!"},
|
||||
{"log", "q\x80\x01\x05'\r\r\x01\r"},
|
||||
{"internal/trace/version", "tx\t"},
|
||||
{"internal/txtar", "\x03q\xad\x01\x18"},
|
||||
{"internal/types/errors", "\xb8\x02"},
|
||||
{"internal/unsafeheader", "\xcf\x02"},
|
||||
{"internal/xcoff", "]\r\a\x03e\x1c,\x17\x01"},
|
||||
{"internal/zstd", "j\a\x03\x81\x01\x0f"},
|
||||
{"io", "q\xca\x01"},
|
||||
{"io/fs", "q**01\x10\x13\x04"},
|
||||
{"io/ioutil", "\xf5\x01\x01+\x15\x03"},
|
||||
{"iter", "\xcb\x01c!"},
|
||||
{"log", "t\x81\x01\x05'\r\r\x01\r"},
|
||||
{"log/internal", ""},
|
||||
{"log/slog", "\x03\nU\t\x03\x03\x80\x01\x04\x01\x02\x02\x03(\x05\b\x02\x01\x02\x01\r\x02\x02\x02"},
|
||||
{"log/slog", "\x03\nX\t\x03\x03\x81\x01\x04\x01\x02\x02\x03(\x05\b\x02\x01\x02\x01\r\x02\x02\x02"},
|
||||
{"log/slog/internal", ""},
|
||||
{"log/slog/internal/benchmarks", "\ra\x03\x80\x01\x06\x03:\x11"},
|
||||
{"log/slog/internal/buffer", "\xb7\x02"},
|
||||
{"log/syslog", "n\x03\x84\x01\x12\x16\x18\x02\x0e"},
|
||||
{"maps", "\xf4\x01W"},
|
||||
{"math", "\xae\x01RK"},
|
||||
{"math/big", "\x03k\x03(\x15C\f\x03\x020\x02\x01\x02\x14"},
|
||||
{"math/big/internal/asmgen", "\x03\x01m\x8f\x012\x03"},
|
||||
{"math/bits", "\xcb\x02"},
|
||||
{"math/cmplx", "\xfd\x01\x03"},
|
||||
{"math/rand", "\xb6\x01G:\x01\x13"},
|
||||
{"math/rand/v2", "n+\x03a\x03K"},
|
||||
{"mime", "\x02\x01c\b\x03\x80\x01\v!\x15\x03\x02\x10\x02"},
|
||||
{"mime/multipart", "\x02\x01H#\x03E;\v\x01\a\x02\x15\x02\x06\x0f\x02\x01\x16"},
|
||||
{"mime/quotedprintable", "\x02\x01n\x80\x01"},
|
||||
{"net", "\x04\ta*\x1e\a\x04\x05\x11\x01\x04\x15\x01%\x06\r\b\x05\x01\x01\f\x06\a"},
|
||||
{"net/http", "\x02\x01\x04\x04\x02>\b\x13\x01\a\x03E;\x01\x03\a\x01\x03\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\b\x01\x01\x01\x02\x01\r\x02\x02\x02\b\x01\x01\x01"},
|
||||
{"net/http/cgi", "\x02Q\x1b\x03\x80\x01\x04\a\v\x01\x13\x01\x01\x01\x04\x01\x05\x02\b\x02\x01\x10\x0e"},
|
||||
{"net/http/cookiejar", "\x04j\x03\x96\x01\x01\b\f\x16\x03\x02\x0e\x04"},
|
||||
{"net/http/fcgi", "\x02\x01\nZ\a\x03\x80\x01\x16\x01\x01\x14\x18\x02\x0e"},
|
||||
{"net/http/httptest", "\x02\x01\nF\x02\x1b\x01\x80\x01\x04\x12\x01\n\t\x02\x17\x01\x02\x0e\x0e"},
|
||||
{"net/http/httptrace", "\rFnF\x14\n "},
|
||||
{"net/http/httputil", "\x02\x01\na\x03\x80\x01\x04\x0f\x03\x01\x05\x02\x01\v\x01\x19\x02\x0e\x0e"},
|
||||
{"net/http/internal", "\x02\x01k\x03\x80\x01"},
|
||||
{"net/http/internal/ascii", "\xb5\x02\x12"},
|
||||
{"net/http/internal/httpcommon", "\ra\x03\x9c\x01\x0e\x01\x17\x01\x01\x02\x1c\x02"},
|
||||
{"net/http/internal/testcert", "\xb5\x02"},
|
||||
{"net/http/pprof", "\x02\x01\nd\x18-\x11*\x04\x13\x14\x01\r\x04\x03\x01\x02\x01\x10"},
|
||||
{"log/slog/internal/benchmarks", "\rd\x03\x81\x01\x06\x03:\x11"},
|
||||
{"log/slog/internal/buffer", "\xbb\x02"},
|
||||
{"log/syslog", "q\x03\x85\x01\x12\x16\x18\x02\x0e"},
|
||||
{"maps", "\xf8\x01W"},
|
||||
{"math", "\xb1\x01SK"},
|
||||
{"math/big", "\x03n\x03(\x15D\f\x03\x020\x02\x01\x02\x14"},
|
||||
{"math/big/internal/asmgen", "\x03\x01p\x90\x012\x03"},
|
||||
{"math/bits", "\xcf\x02"},
|
||||
{"math/cmplx", "\x81\x02\x03"},
|
||||
{"math/rand", "\xb9\x01H:\x01\x13"},
|
||||
{"math/rand/v2", "q+\x03b\x03K"},
|
||||
{"mime", "\x02\x01f\b\x03\x81\x01\v!\x15\x03\x02\x10\x02"},
|
||||
{"mime/multipart", "\x02\x01K#\x03E<\v\x01\a\x02\x15\x02\x06\x0f\x02\x01\x16"},
|
||||
{"mime/quotedprintable", "\x02\x01q\x81\x01"},
|
||||
{"net", "\x04\td*\x1e\n\x05\x12\x01\x01\x04\x15\x01%\x06\r\b\x05\x01\x01\f\x06\a"},
|
||||
{"net/http", "\x02\x01\x03\x01\x04\x02A\b\x13\x01\a\x03E<\x01\x03\a\x01\x03\x02\x02\x01\x02\x06\x02\x01\x01\n\x01\x01\x05\x01\x02\x05\b\x01\x01\x01\x02\x01\r\x02\x02\x02\b\x01\x01\x01"},
|
||||
{"net/http/cgi", "\x02T\x1b\x03\x81\x01\x04\a\v\x01\x13\x01\x01\x01\x04\x01\x05\x02\b\x02\x01\x10\x0e"},
|
||||
{"net/http/cookiejar", "\x04m\x03\x97\x01\x01\b\f\x16\x03\x02\x0e\x04"},
|
||||
{"net/http/fcgi", "\x02\x01\n]\a\x03\x81\x01\x16\x01\x01\x14\x18\x02\x0e"},
|
||||
{"net/http/httptest", "\x02\x01\nI\x02\x1b\x01\x81\x01\x04\x12\x01\n\t\x02\x17\x01\x02\x0e\x0e"},
|
||||
{"net/http/httptrace", "\rImH\x14\n "},
|
||||
{"net/http/httputil", "\x02\x01\nd\x03\x81\x01\x04\x0f\x03\x01\x05\x02\x01\v\x01\x19\x02\x0e\x0e"},
|
||||
{"net/http/internal", "\x02\x01n\x03\x81\x01"},
|
||||
{"net/http/internal/ascii", "\xb9\x02\x12"},
|
||||
{"net/http/internal/httpcommon", "\rd\x03\x9d\x01\x0e\x01\x17\x01\x01\x02\x1c\x02"},
|
||||
{"net/http/internal/testcert", "\xb9\x02"},
|
||||
{"net/http/pprof", "\x02\x01\ng\x18-\x02\x0e,\x04\x13\x14\x01\r\x04\x03\x01\x02\x01\x10"},
|
||||
{"net/internal/cgotest", ""},
|
||||
{"net/internal/socktest", "q\xc6\x01\x02"},
|
||||
{"net/mail", "\x02l\x03\x80\x01\x04\x0f\x03\x14\x1a\x02\x0e\x04"},
|
||||
{"net/netip", "\x04j*\x01$@\x034\x16"},
|
||||
{"net/rpc", "\x02g\x05\x03\x0f\ng\x04\x12\x01\x1d\r\x03\x02"},
|
||||
{"net/rpc/jsonrpc", "k\x03\x03\x80\x01\x16\x11\x1f"},
|
||||
{"net/smtp", "\x19/\v\x13\b\x03\x80\x01\x16\x14\x1a"},
|
||||
{"net/textproto", "\x02\x01k\x03\x80\x01\f\n-\x01\x02\x14"},
|
||||
{"net/url", "n\x03\x8b\x01&\x10\x02\x01\x16"},
|
||||
{"os", "n*\x01\x19\x03\b\t\x12\x03\x01\x05\x10\x018\b\x05\x01\x01\f\x06"},
|
||||
{"os/exec", "\x03\naH%\x01\x15\x01+\x06\a\n\x01\x04\f"},
|
||||
{"os/exec/internal/fdtest", "\xb9\x02"},
|
||||
{"os/signal", "\r\x90\x02\x15\x05\x02"},
|
||||
{"os/user", "\x02\x01k\x03\x80\x01,\r\n\x01\x02"},
|
||||
{"path", "n*\xb1\x01"},
|
||||
{"path/filepath", "n*\x1a@+\r\b\x03\x04\x10"},
|
||||
{"plugin", "n"},
|
||||
{"reflect", "n&\x04\x1d\b\f\x06\x04\x1b\x06\t-\n\x03\x10\x02\x02"},
|
||||
{"net/internal/socktest", "t\xc7\x01\x02"},
|
||||
{"net/mail", "\x02o\x03\x81\x01\x04\x0f\x03\x14\x1a\x02\x0e\x04"},
|
||||
{"net/netip", "\x04m*\x01e\x034\x16"},
|
||||
{"net/rpc", "\x02j\x05\x03\x0f\nh\x04\x12\x01\x1d\r\x03\x02"},
|
||||
{"net/rpc/jsonrpc", "n\x03\x03\x81\x01\x16\x11\x1f"},
|
||||
{"net/smtp", "\x192\v\x13\b\x03\x81\x01\x16\x14\x1a"},
|
||||
{"net/textproto", "\x02\x01n\x03\x81\x01\f\n-\x01\x02\x14"},
|
||||
{"net/url", "q\x03\xa7\x01\v\x10\x02\x01\x16"},
|
||||
{"os", "q*\x01\x19\x03\x10\x13\x01\x03\x01\x05\x10\x018\b\x05\x01\x01\f\x06"},
|
||||
{"os/exec", "\x03\ndH&\x01\x15\x01+\x06\a\n\x01\x04\f"},
|
||||
{"os/exec/internal/fdtest", "\xbd\x02"},
|
||||
{"os/signal", "\r\x94\x02\x15\x05\x02"},
|
||||
{"os/user", "\x02\x01n\x03\x81\x01,\r\n\x01\x02"},
|
||||
{"path", "q*\xb2\x01"},
|
||||
{"path/filepath", "q*\x1aA+\r\b\x03\x04\x10"},
|
||||
{"plugin", "q"},
|
||||
{"reflect", "q&\x04\x1d\x13\b\x03\x05\x17\x06\t-\n\x03\x10\x02\x02"},
|
||||
{"reflect/internal/example1", ""},
|
||||
{"reflect/internal/example2", ""},
|
||||
{"regexp", "\x03\xee\x018\t\x02\x01\x02\x10\x02"},
|
||||
{"regexp/syntax", "\xb2\x02\x01\x01\x01\x02\x10\x02"},
|
||||
{"runtime", "\x94\x01\x04\x01\x03\f\x06\a\x02\x01\x01\x0f\x03\x01\x01\x01\x01\x01\x02\x01\x01\x04\x10c"},
|
||||
{"runtime/coverage", "\xa0\x01Q"},
|
||||
{"runtime/debug", "qUW\r\b\x02\x01\x10\x06"},
|
||||
{"runtime/metrics", "\xb7\x01F-!"},
|
||||
{"runtime/pprof", "\x02\x01\x01\x03\x06Z\a\x03#4)\f \r\b\x01\x01\x01\x02\x02\t\x03\x06"},
|
||||
{"runtime/race", "\xb0\x02"},
|
||||
{"regexp", "\x03\xf2\x018\t\x02\x01\x02\x10\x02"},
|
||||
{"regexp/syntax", "\xb6\x02\x01\x01\x01\x02\x10\x02"},
|
||||
{"runtime", "\x97\x01\x04\x01\x03\f\x06\a\x02\x01\x01\x0e\x03\x01\x01\x01\x02\x01\x01\x02\x01\x04\x01\x10c"},
|
||||
{"runtime/coverage", "\xa3\x01R"},
|
||||
{"runtime/debug", "tTY\r\b\x02\x01\x10\x06"},
|
||||
{"runtime/metrics", "\xba\x01G-!"},
|
||||
{"runtime/pprof", "\x02\x01\x01\x03\x06]\a\x03#$\x0f+\f \r\b\x01\x01\x01\x02\x02\t\x03\x06"},
|
||||
{"runtime/race", "\xb4\x02"},
|
||||
{"runtime/race/internal/amd64v1", ""},
|
||||
{"runtime/trace", "\ra\x03w\t9\b\x05\x01\r\x06"},
|
||||
{"slices", "\x04\xf0\x01\fK"},
|
||||
{"sort", "\xca\x0162"},
|
||||
{"strconv", "n*@%\x03I"},
|
||||
{"strings", "n&\x04@\x19\x03\f7\x10\x02\x02"},
|
||||
{"runtime/trace", "\rd\x03x\t9\b\x05\x01\r\x06"},
|
||||
{"slices", "\x04\xf4\x01\fK"},
|
||||
{"sort", "\xcc\x0182"},
|
||||
{"strconv", "q*@\x01q"},
|
||||
{"strings", "q&\x04A\x19\x03\f7\x10\x02\x02"},
|
||||
{"structs", ""},
|
||||
{"sync", "\xc9\x01\x10\x01P\x0e\x13"},
|
||||
{"sync/atomic", "\xcb\x02"},
|
||||
{"syscall", "n'\x03\x01\x1c\b\x03\x03\x06\vV\b\x05\x01\x13"},
|
||||
{"testing", "\x03\na\x02\x01X\x14\x14\f\x05\x1b\x06\x02\x05\x02\x05\x01\x02\x01\x02\x01\r\x02\x02\x02"},
|
||||
{"testing/fstest", "n\x03\x80\x01\x01\n&\x10\x03\b\b"},
|
||||
{"testing/internal/testdeps", "\x02\v\xa7\x01-\x10,\x03\x05\x03\x06\a\x02\x0e"},
|
||||
{"testing/iotest", "\x03k\x03\x80\x01\x04"},
|
||||
{"testing/quick", "p\x01\x8c\x01\x05#\x10\x10"},
|
||||
{"testing/slogtest", "\ra\x03\x86\x01.\x05\x10\v"},
|
||||
{"testing/synctest", "\xda\x01`\x11"},
|
||||
{"text/scanner", "\x03n\x80\x01,*\x02"},
|
||||
{"text/tabwriter", "q\x80\x01X"},
|
||||
{"text/template", "n\x03B>\x01\n \x01\x05\x01\x02\x05\v\x02\r\x03\x02"},
|
||||
{"text/template/parse", "\x03n\xb9\x01\n\x01\x12\x02"},
|
||||
{"time", "n*\x1e\"(*\r\x02\x12"},
|
||||
{"time/tzdata", "n\xcb\x01\x12"},
|
||||
{"sync", "\xcb\x01\x12\x01P\x0e\x13"},
|
||||
{"sync/atomic", "\xcf\x02"},
|
||||
{"syscall", "q'\x03\x01\x1c\n\x03\x06\f\x04S\b\x05\x01\x13"},
|
||||
{"testing", "\x03\nd\x02\x01W\x16\x14\f\x05\x1b\x06\x02\x05\x02\x05\x01\x02\x01\x02\x01\r\x02\x04"},
|
||||
{"testing/fstest", "q\x03\x81\x01\x01\n&\x10\x03\b\b"},
|
||||
{"testing/internal/testdeps", "\x02\v\xaa\x01.\x10,\x03\x05\x03\x06\a\x02\x0e"},
|
||||
{"testing/iotest", "\x03n\x03\x81\x01\x04"},
|
||||
{"testing/quick", "s\x01\x8d\x01\x05#\x10\x10"},
|
||||
{"testing/slogtest", "\rd\x03\x87\x01.\x05\x10\v"},
|
||||
{"testing/synctest", "\xde\x01`\x11"},
|
||||
{"text/scanner", "\x03q\x81\x01,*\x02"},
|
||||
{"text/tabwriter", "t\x81\x01X"},
|
||||
{"text/template", "q\x03B?\x01\n \x01\x05\x01\x02\x05\v\x02\r\x03\x02"},
|
||||
{"text/template/parse", "\x03q\xba\x01\n\x01\x12\x02"},
|
||||
{"time", "q*\x1e#(*\r\x02\x12"},
|
||||
{"time/tzdata", "q\xcc\x01\x12"},
|
||||
{"unicode", ""},
|
||||
{"unicode/utf16", ""},
|
||||
{"unicode/utf8", ""},
|
||||
{"unique", "\x94\x01!#\x01Q\r\x01\x13\x12"},
|
||||
{"unique", "\x97\x01!$\x01Q\r\x01\x13\x12"},
|
||||
{"unsafe", ""},
|
||||
{"vendor/golang.org/x/crypto/chacha20", "\x10W\a\x92\x01*&"},
|
||||
{"vendor/golang.org/x/crypto/chacha20poly1305", "\x10W\a\xde\x01\x04\x01\a"},
|
||||
{"vendor/golang.org/x/crypto/cryptobyte", "d\n\x03\x8d\x01' \n"},
|
||||
{"vendor/golang.org/x/crypto/chacha20", "\x10Z\a\x93\x01*&"},
|
||||
{"vendor/golang.org/x/crypto/chacha20poly1305", "\x10Z\a\xdf\x01\x04\x01\a"},
|
||||
{"vendor/golang.org/x/crypto/cryptobyte", "g\n\x03\x8e\x01' \n"},
|
||||
{"vendor/golang.org/x/crypto/cryptobyte/asn1", ""},
|
||||
{"vendor/golang.org/x/crypto/internal/alias", "\xcb\x02"},
|
||||
{"vendor/golang.org/x/crypto/internal/poly1305", "R\x15\x99\x01"},
|
||||
{"vendor/golang.org/x/net/dns/dnsmessage", "n"},
|
||||
{"vendor/golang.org/x/net/http/httpguts", "\x87\x02\x14\x1a\x14\r"},
|
||||
{"vendor/golang.org/x/net/http/httpproxy", "n\x03\x96\x01\x10\x05\x01\x18\x14\r"},
|
||||
{"vendor/golang.org/x/net/http2/hpack", "\x03k\x03\x80\x01F"},
|
||||
{"vendor/golang.org/x/net/idna", "q\x8c\x018\x14\x10\x02\x01"},
|
||||
{"vendor/golang.org/x/net/nettest", "\x03d\a\x03\x80\x01\x11\x05\x16\x01\f\n\x01\x02\x02\x01\v"},
|
||||
{"vendor/golang.org/x/sys/cpu", "\x9d\x02\r\n\x01\x16"},
|
||||
{"vendor/golang.org/x/text/secure/bidirule", "n\xdb\x01\x11\x01"},
|
||||
{"vendor/golang.org/x/text/transform", "\x03k\x83\x01X"},
|
||||
{"vendor/golang.org/x/text/unicode/bidi", "\x03\bf\x84\x01>\x16"},
|
||||
{"vendor/golang.org/x/text/unicode/norm", "g\n\x80\x01F\x12\x11"},
|
||||
{"weak", "\x94\x01\x96\x01!"},
|
||||
{"vendor/golang.org/x/crypto/internal/alias", "\xcf\x02"},
|
||||
{"vendor/golang.org/x/crypto/internal/poly1305", "U\x15\x9a\x01"},
|
||||
{"vendor/golang.org/x/net/dns/dnsmessage", "q"},
|
||||
{"vendor/golang.org/x/net/http/httpguts", "\x8b\x02\x14\x1a\x14\r"},
|
||||
{"vendor/golang.org/x/net/http/httpproxy", "q\x03\x97\x01\x10\x05\x01\x18\x14\r"},
|
||||
{"vendor/golang.org/x/net/http2/hpack", "\x03n\x03\x81\x01F"},
|
||||
{"vendor/golang.org/x/net/idna", "t\x8d\x018\x14\x10\x02\x01"},
|
||||
{"vendor/golang.org/x/net/nettest", "\x03g\a\x03\x81\x01\x11\x05\x16\x01\f\n\x01\x02\x02\x01\v"},
|
||||
{"vendor/golang.org/x/sys/cpu", "\xa1\x02\r\n\x01\x16"},
|
||||
{"vendor/golang.org/x/text/secure/bidirule", "q\xdc\x01\x11\x01"},
|
||||
{"vendor/golang.org/x/text/transform", "\x03n\x84\x01X"},
|
||||
{"vendor/golang.org/x/text/unicode/bidi", "\x03\bi\x85\x01>\x16"},
|
||||
{"vendor/golang.org/x/text/unicode/norm", "j\n\x81\x01F\x12\x11"},
|
||||
{"weak", "\x97\x01\x97\x01!"},
|
||||
}
|
||||
|
||||
// bootstrap is the list of bootstrap packages extracted from cmd/dist.
|
||||
var bootstrap = map[string]bool{
|
||||
"cmp": true,
|
||||
"cmd/asm": true,
|
||||
"cmd/asm/internal/arch": true,
|
||||
"cmd/asm/internal/asm": true,
|
||||
"cmd/asm/internal/flags": true,
|
||||
"cmd/asm/internal/lex": true,
|
||||
"cmd/cgo": true,
|
||||
"cmd/compile": true,
|
||||
"cmd/compile/internal/abi": true,
|
||||
"cmd/compile/internal/abt": true,
|
||||
"cmd/compile/internal/amd64": true,
|
||||
"cmd/compile/internal/arm": true,
|
||||
"cmd/compile/internal/arm64": true,
|
||||
"cmd/compile/internal/base": true,
|
||||
"cmd/compile/internal/bitvec": true,
|
||||
"cmd/compile/internal/compare": true,
|
||||
"cmd/compile/internal/coverage": true,
|
||||
"cmd/compile/internal/deadlocals": true,
|
||||
"cmd/compile/internal/devirtualize": true,
|
||||
"cmd/compile/internal/dwarfgen": true,
|
||||
"cmd/compile/internal/escape": true,
|
||||
"cmd/compile/internal/gc": true,
|
||||
"cmd/compile/internal/importer": true,
|
||||
"cmd/compile/internal/inline": true,
|
||||
"cmd/compile/internal/inline/inlheur": true,
|
||||
"cmd/compile/internal/inline/interleaved": true,
|
||||
"cmd/compile/internal/ir": true,
|
||||
"cmd/compile/internal/liveness": true,
|
||||
"cmd/compile/internal/logopt": true,
|
||||
"cmd/compile/internal/loong64": true,
|
||||
"cmd/compile/internal/loopvar": true,
|
||||
"cmd/compile/internal/mips": true,
|
||||
"cmd/compile/internal/mips64": true,
|
||||
"cmd/compile/internal/noder": true,
|
||||
"cmd/compile/internal/objw": true,
|
||||
"cmd/compile/internal/pgoir": true,
|
||||
"cmd/compile/internal/pkginit": true,
|
||||
"cmd/compile/internal/ppc64": true,
|
||||
"cmd/compile/internal/rangefunc": true,
|
||||
"cmd/compile/internal/reflectdata": true,
|
||||
"cmd/compile/internal/riscv64": true,
|
||||
"cmd/compile/internal/rttype": true,
|
||||
"cmd/compile/internal/s390x": true,
|
||||
"cmd/compile/internal/ssa": true,
|
||||
"cmd/compile/internal/ssagen": true,
|
||||
"cmd/compile/internal/staticdata": true,
|
||||
"cmd/compile/internal/staticinit": true,
|
||||
"cmd/compile/internal/syntax": true,
|
||||
"cmd/compile/internal/test": true,
|
||||
"cmd/compile/internal/typebits": true,
|
||||
"cmd/compile/internal/typecheck": true,
|
||||
"cmd/compile/internal/types": true,
|
||||
"cmd/compile/internal/types2": true,
|
||||
"cmd/compile/internal/walk": true,
|
||||
"cmd/compile/internal/wasm": true,
|
||||
"cmd/compile/internal/x86": true,
|
||||
"cmd/internal/archive": true,
|
||||
"cmd/internal/bio": true,
|
||||
"cmd/internal/codesign": true,
|
||||
"cmd/internal/dwarf": true,
|
||||
"cmd/internal/edit": true,
|
||||
"cmd/internal/gcprog": true,
|
||||
"cmd/internal/goobj": true,
|
||||
"cmd/internal/hash": true,
|
||||
"cmd/internal/macho": true,
|
||||
"cmd/internal/obj": true,
|
||||
"cmd/internal/obj/arm": true,
|
||||
"cmd/internal/obj/arm64": true,
|
||||
"cmd/internal/obj/loong64": true,
|
||||
"cmd/internal/obj/mips": true,
|
||||
"cmd/internal/obj/ppc64": true,
|
||||
"cmd/internal/obj/riscv": true,
|
||||
"cmd/internal/obj/s390x": true,
|
||||
"cmd/internal/obj/wasm": true,
|
||||
"cmd/internal/obj/x86": true,
|
||||
"cmd/internal/objabi": true,
|
||||
"cmd/internal/par": true,
|
||||
"cmd/internal/pgo": true,
|
||||
"cmd/internal/pkgpath": true,
|
||||
"cmd/internal/quoted": true,
|
||||
"cmd/internal/src": true,
|
||||
"cmd/internal/sys": true,
|
||||
"cmd/internal/telemetry": true,
|
||||
"cmd/internal/telemetry/counter": true,
|
||||
"cmd/link": true,
|
||||
"cmd/link/internal/amd64": true,
|
||||
"cmd/link/internal/arm": true,
|
||||
"cmd/link/internal/arm64": true,
|
||||
"cmd/link/internal/benchmark": true,
|
||||
"cmd/link/internal/dwtest": true,
|
||||
"cmd/link/internal/ld": true,
|
||||
"cmd/link/internal/loadelf": true,
|
||||
"cmd/link/internal/loader": true,
|
||||
"cmd/link/internal/loadmacho": true,
|
||||
"cmd/link/internal/loadpe": true,
|
||||
"cmd/link/internal/loadxcoff": true,
|
||||
"cmd/link/internal/loong64": true,
|
||||
"cmd/link/internal/mips": true,
|
||||
"cmd/link/internal/mips64": true,
|
||||
"cmd/link/internal/ppc64": true,
|
||||
"cmd/link/internal/riscv64": true,
|
||||
"cmd/link/internal/s390x": true,
|
||||
"cmd/link/internal/sym": true,
|
||||
"cmd/link/internal/wasm": true,
|
||||
"cmd/link/internal/x86": true,
|
||||
"compress/flate": true,
|
||||
"compress/zlib": true,
|
||||
"container/heap": true,
|
||||
"debug/dwarf": true,
|
||||
"debug/elf": true,
|
||||
"debug/macho": true,
|
||||
"debug/pe": true,
|
||||
"go/build/constraint": true,
|
||||
"go/constant": true,
|
||||
"go/version": true,
|
||||
"internal/abi": true,
|
||||
"internal/coverage": true,
|
||||
"cmd/internal/cov/covcmd": true,
|
||||
"internal/bisect": true,
|
||||
"internal/buildcfg": true,
|
||||
"internal/exportdata": true,
|
||||
"internal/goarch": true,
|
||||
"internal/godebugs": true,
|
||||
"internal/goexperiment": true,
|
||||
"internal/goroot": true,
|
||||
"internal/gover": true,
|
||||
"internal/goversion": true,
|
||||
"internal/lazyregexp": true,
|
||||
"internal/pkgbits": true,
|
||||
"internal/platform": true,
|
||||
"internal/profile": true,
|
||||
"internal/race": true,
|
||||
"internal/runtime/gc": true,
|
||||
"internal/saferio": true,
|
||||
"internal/syscall/unix": true,
|
||||
"internal/types/errors": true,
|
||||
"internal/unsafeheader": true,
|
||||
"internal/xcoff": true,
|
||||
"internal/zstd": true,
|
||||
"math/bits": true,
|
||||
"sort": true,
|
||||
}
|
||||
|
||||
// BootstrapVersion is the minor version of Go used during toolchain
|
||||
// bootstrapping. Packages for which [IsBootstrapPackage] must not use
|
||||
// features of Go newer than this version.
|
||||
const BootstrapVersion = Version(24) // go1.24.6
|
||||
|
|
|
|||
8
vendor/golang.org/x/tools/internal/stdlib/import.go
generated
vendored
8
vendor/golang.org/x/tools/internal/stdlib/import.go
generated
vendored
|
|
@ -87,3 +87,11 @@ func find(pkg string) (int, bool) {
|
|||
return strings.Compare(p.name, n)
|
||||
})
|
||||
}
|
||||
|
||||
// IsBootstrapPackage reports whether pkg is one of the low-level
|
||||
// packages in the Go distribution that must compile with the older
|
||||
// language version specified by [BootstrapVersion] during toolchain
|
||||
// bootstrapping; see golang.org/s/go15bootstrap.
|
||||
func IsBootstrapPackage(pkg string) bool {
|
||||
return bootstrap[pkg]
|
||||
}
|
||||
|
|
|
|||
41
vendor/golang.org/x/tools/internal/stdlib/manifest.go
generated
vendored
41
vendor/golang.org/x/tools/internal/stdlib/manifest.go
generated
vendored
|
|
@ -225,6 +225,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(*Buffer).Grow", Method, 1, ""},
|
||||
{"(*Buffer).Len", Method, 0, ""},
|
||||
{"(*Buffer).Next", Method, 0, ""},
|
||||
{"(*Buffer).Peek", Method, 26, ""},
|
||||
{"(*Buffer).Read", Method, 0, ""},
|
||||
{"(*Buffer).ReadByte", Method, 0, ""},
|
||||
{"(*Buffer).ReadBytes", Method, 0, ""},
|
||||
|
|
@ -1628,6 +1629,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"ResultNoRows", Var, 0, ""},
|
||||
{"Rows", Type, 0, ""},
|
||||
{"RowsAffected", Type, 0, ""},
|
||||
{"RowsColumnScanner", Type, 26, ""},
|
||||
{"RowsColumnTypeDatabaseTypeName", Type, 8, ""},
|
||||
{"RowsColumnTypeLength", Type, 8, ""},
|
||||
{"RowsColumnTypeNullable", Type, 8, ""},
|
||||
|
|
@ -4953,6 +4955,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
},
|
||||
"errors": {
|
||||
{"As", Func, 13, "func(err error, target any) bool"},
|
||||
{"AsType", Func, 26, "func[E error](err error) (E, bool)"},
|
||||
{"ErrUnsupported", Var, 21, ""},
|
||||
{"Is", Func, 13, "func(err error, target error) bool"},
|
||||
{"Join", Func, 20, "func(errs ...error) error"},
|
||||
|
|
@ -5090,7 +5093,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"Append", Func, 19, "func(b []byte, a ...any) []byte"},
|
||||
{"Appendf", Func, 19, "func(b []byte, format string, a ...any) []byte"},
|
||||
{"Appendln", Func, 19, "func(b []byte, a ...any) []byte"},
|
||||
{"Errorf", Func, 0, "func(format string, a ...any) error"},
|
||||
{"Errorf", Func, 0, "func(format string, a ...any) (err error)"},
|
||||
{"FormatString", Func, 20, "func(state State, verb rune) string"},
|
||||
{"Formatter", Type, 0, ""},
|
||||
{"Fprint", Func, 0, "func(w io.Writer, a ...any) (n int, err error)"},
|
||||
|
|
@ -5155,6 +5158,9 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(*DeclStmt).Pos", Method, 0, ""},
|
||||
{"(*DeferStmt).End", Method, 0, ""},
|
||||
{"(*DeferStmt).Pos", Method, 0, ""},
|
||||
{"(*Directive).End", Method, 26, ""},
|
||||
{"(*Directive).ParseArgs", Method, 26, ""},
|
||||
{"(*Directive).Pos", Method, 26, ""},
|
||||
{"(*Ellipsis).End", Method, 0, ""},
|
||||
{"(*Ellipsis).Pos", Method, 0, ""},
|
||||
{"(*EmptyStmt).End", Method, 0, ""},
|
||||
|
|
@ -5320,6 +5326,15 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"DeferStmt", Type, 0, ""},
|
||||
{"DeferStmt.Call", Field, 0, ""},
|
||||
{"DeferStmt.Defer", Field, 0, ""},
|
||||
{"Directive", Type, 26, ""},
|
||||
{"Directive.Args", Field, 26, ""},
|
||||
{"Directive.ArgsPos", Field, 26, ""},
|
||||
{"Directive.Name", Field, 26, ""},
|
||||
{"Directive.Slash", Field, 26, ""},
|
||||
{"Directive.Tool", Field, 26, ""},
|
||||
{"DirectiveArg", Type, 26, ""},
|
||||
{"DirectiveArg.Arg", Field, 26, ""},
|
||||
{"DirectiveArg.Pos", Field, 26, ""},
|
||||
{"Ellipsis", Type, 0, ""},
|
||||
{"Ellipsis.Ellipsis", Field, 0, ""},
|
||||
{"Ellipsis.Elt", Field, 0, ""},
|
||||
|
|
@ -5469,6 +5484,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"ParenExpr.Lparen", Field, 0, ""},
|
||||
{"ParenExpr.Rparen", Field, 0, ""},
|
||||
{"ParenExpr.X", Field, 0, ""},
|
||||
{"ParseDirective", Func, 26, "func(pos token.Pos, c string) (Directive, bool)"},
|
||||
{"Pkg", Const, 0, ""},
|
||||
{"Preorder", Func, 23, "func(root Node) iter.Seq[Node]"},
|
||||
{"PreorderStack", Func, 25, "func(root Node, stack []Node, f func(n Node, stack []Node) bool)"},
|
||||
|
|
@ -7271,6 +7287,10 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(*Logger).WarnContext", Method, 21, ""},
|
||||
{"(*Logger).With", Method, 21, ""},
|
||||
{"(*Logger).WithGroup", Method, 21, ""},
|
||||
{"(*MultiHandler).Enabled", Method, 26, ""},
|
||||
{"(*MultiHandler).Handle", Method, 26, ""},
|
||||
{"(*MultiHandler).WithAttrs", Method, 26, ""},
|
||||
{"(*MultiHandler).WithGroup", Method, 26, ""},
|
||||
{"(*Record).Add", Method, 21, ""},
|
||||
{"(*Record).AddAttrs", Method, 21, ""},
|
||||
{"(*TextHandler).Enabled", Method, 21, ""},
|
||||
|
|
@ -7358,9 +7378,11 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"LogValuer", Type, 21, ""},
|
||||
{"Logger", Type, 21, ""},
|
||||
{"MessageKey", Const, 21, ""},
|
||||
{"MultiHandler", Type, 26, ""},
|
||||
{"New", Func, 21, "func(h Handler) *Logger"},
|
||||
{"NewJSONHandler", Func, 21, "func(w io.Writer, opts *HandlerOptions) *JSONHandler"},
|
||||
{"NewLogLogger", Func, 21, "func(h Handler, level Level) *log.Logger"},
|
||||
{"NewMultiHandler", Func, 26, "func(handlers ...Handler) *MultiHandler"},
|
||||
{"NewRecord", Func, 21, "func(t time.Time, level Level, msg string, pc uintptr) Record"},
|
||||
{"NewTextHandler", Func, 21, "func(w io.Writer, opts *HandlerOptions) *TextHandler"},
|
||||
{"Record", Type, 21, ""},
|
||||
|
|
@ -7515,7 +7537,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"MinInt64", Const, 0, ""},
|
||||
{"MinInt8", Const, 0, ""},
|
||||
{"Mod", Func, 0, "func(x float64, y float64) float64"},
|
||||
{"Modf", Func, 0, "func(f float64) (int float64, frac float64)"},
|
||||
{"Modf", Func, 0, "func(f float64) (integer float64, fractional float64)"},
|
||||
{"NaN", Func, 0, "func() float64"},
|
||||
{"Nextafter", Func, 0, "func(x float64, y float64) (r float64)"},
|
||||
{"Nextafter32", Func, 4, "func(x float32, y float32) (r float32)"},
|
||||
|
|
@ -7972,6 +7994,10 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(*DNSError).Unwrap", Method, 23, ""},
|
||||
{"(*Dialer).Dial", Method, 1, ""},
|
||||
{"(*Dialer).DialContext", Method, 7, ""},
|
||||
{"(*Dialer).DialIP", Method, 26, ""},
|
||||
{"(*Dialer).DialTCP", Method, 26, ""},
|
||||
{"(*Dialer).DialUDP", Method, 26, ""},
|
||||
{"(*Dialer).DialUnix", Method, 26, ""},
|
||||
{"(*Dialer).MultipathTCP", Method, 21, ""},
|
||||
{"(*Dialer).SetMultipathTCP", Method, 21, ""},
|
||||
{"(*IP).UnmarshalText", Method, 2, ""},
|
||||
|
|
@ -8457,6 +8483,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"HTTP2Config.PermitProhibitedCipherSuites", Field, 24, ""},
|
||||
{"HTTP2Config.PingTimeout", Field, 24, ""},
|
||||
{"HTTP2Config.SendPingTimeout", Field, 24, ""},
|
||||
{"HTTP2Config.StrictMaxConcurrentRequests", Field, 26, ""},
|
||||
{"HTTP2Config.WriteByteTimeout", Field, 24, ""},
|
||||
{"Handle", Func, 0, "func(pattern string, handler Handler)"},
|
||||
{"HandleFunc", Func, 0, "func(pattern string, handler func(ResponseWriter, *Request))"},
|
||||
|
|
@ -8904,6 +8931,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(Prefix).AppendText", Method, 24, ""},
|
||||
{"(Prefix).AppendTo", Method, 18, ""},
|
||||
{"(Prefix).Bits", Method, 18, ""},
|
||||
{"(Prefix).Compare", Method, 26, ""},
|
||||
{"(Prefix).Contains", Method, 18, ""},
|
||||
{"(Prefix).IsSingleIP", Method, 18, ""},
|
||||
{"(Prefix).IsValid", Method, 18, ""},
|
||||
|
|
@ -9177,6 +9205,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(*Process).Release", Method, 0, ""},
|
||||
{"(*Process).Signal", Method, 0, ""},
|
||||
{"(*Process).Wait", Method, 0, ""},
|
||||
{"(*Process).WithHandle", Method, 26, ""},
|
||||
{"(*ProcessState).ExitCode", Method, 12, ""},
|
||||
{"(*ProcessState).Exited", Method, 0, ""},
|
||||
{"(*ProcessState).Pid", Method, 0, ""},
|
||||
|
|
@ -9234,6 +9263,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"ErrExist", Var, 0, ""},
|
||||
{"ErrInvalid", Var, 0, ""},
|
||||
{"ErrNoDeadline", Var, 10, ""},
|
||||
{"ErrNoHandle", Var, 26, ""},
|
||||
{"ErrNotExist", Var, 0, ""},
|
||||
{"ErrPermission", Var, 0, ""},
|
||||
{"ErrProcessDone", Var, 16, ""},
|
||||
|
|
@ -9461,7 +9491,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"ListSeparator", Const, 0, ""},
|
||||
{"Localize", Func, 23, "func(path string) (string, error)"},
|
||||
{"Match", Func, 0, "func(pattern string, name string) (matched bool, err error)"},
|
||||
{"Rel", Func, 0, "func(basepath string, targpath string) (string, error)"},
|
||||
{"Rel", Func, 0, "func(basePath string, targPath string) (string, error)"},
|
||||
{"Separator", Const, 0, ""},
|
||||
{"SkipAll", Var, 20, ""},
|
||||
{"SkipDir", Var, 0, ""},
|
||||
|
|
@ -9932,7 +9962,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"PanicNilError", Type, 21, ""},
|
||||
{"Pinner", Type, 21, ""},
|
||||
{"ReadMemStats", Func, 0, "func(m *MemStats)"},
|
||||
{"ReadTrace", Func, 5, "func() []byte"},
|
||||
{"ReadTrace", Func, 5, "func() (buf []byte)"},
|
||||
{"SetBlockProfileRate", Func, 1, "func(rate int)"},
|
||||
{"SetCPUProfileRate", Func, 0, "func(hz int)"},
|
||||
{"SetCgoTraceback", Func, 7, "func(version int, traceback unsafe.Pointer, context unsafe.Pointer, symbolizer unsafe.Pointer)"},
|
||||
|
|
@ -16679,6 +16709,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"ValueOf", Func, 0, ""},
|
||||
},
|
||||
"testing": {
|
||||
{"(*B).ArtifactDir", Method, 26, ""},
|
||||
{"(*B).Attr", Method, 25, ""},
|
||||
{"(*B).Chdir", Method, 24, ""},
|
||||
{"(*B).Cleanup", Method, 14, ""},
|
||||
|
|
@ -16713,6 +16744,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(*B).StopTimer", Method, 0, ""},
|
||||
{"(*B).TempDir", Method, 15, ""},
|
||||
{"(*F).Add", Method, 18, ""},
|
||||
{"(*F).ArtifactDir", Method, 26, ""},
|
||||
{"(*F).Attr", Method, 25, ""},
|
||||
{"(*F).Chdir", Method, 24, ""},
|
||||
{"(*F).Cleanup", Method, 18, ""},
|
||||
|
|
@ -16738,6 +16770,7 @@ var PackageSymbols = map[string][]Symbol{
|
|||
{"(*F).TempDir", Method, 18, ""},
|
||||
{"(*M).Run", Method, 4, ""},
|
||||
{"(*PB).Next", Method, 3, ""},
|
||||
{"(*T).ArtifactDir", Method, 26, ""},
|
||||
{"(*T).Attr", Method, 25, ""},
|
||||
{"(*T).Chdir", Method, 24, ""},
|
||||
{"(*T).Cleanup", Method, 14, ""},
|
||||
|
|
|
|||
6
vendor/golang.org/x/tools/internal/typeparams/normalize.go
generated
vendored
6
vendor/golang.org/x/tools/internal/typeparams/normalize.go
generated
vendored
|
|
@ -160,8 +160,7 @@ func computeTermSetInternal(t types.Type, seen map[types.Type]*termSet, depth in
|
|||
// The term set of an interface is the intersection of the term sets of its
|
||||
// embedded types.
|
||||
tset.terms = allTermlist
|
||||
for i := 0; i < u.NumEmbeddeds(); i++ {
|
||||
embedded := u.EmbeddedType(i)
|
||||
for embedded := range u.EmbeddedTypes() {
|
||||
if _, ok := embedded.Underlying().(*types.TypeParam); ok {
|
||||
return nil, fmt.Errorf("invalid embedded type %T", embedded)
|
||||
}
|
||||
|
|
@ -174,8 +173,7 @@ func computeTermSetInternal(t types.Type, seen map[types.Type]*termSet, depth in
|
|||
case *types.Union:
|
||||
// The term set of a union is the union of term sets of its terms.
|
||||
tset.terms = nil
|
||||
for i := 0; i < u.Len(); i++ {
|
||||
t := u.Term(i)
|
||||
for t := range u.Terms() {
|
||||
var terms termlist
|
||||
switch t.Type().Underlying().(type) {
|
||||
case *types.Interface:
|
||||
|
|
|
|||
4
vendor/golang.org/x/tools/internal/typesinternal/element.go
generated
vendored
4
vendor/golang.org/x/tools/internal/typesinternal/element.go
generated
vendored
|
|
@ -35,8 +35,8 @@ func ForEachElement(rtypes *typeutil.Map, msets *typeutil.MethodSetCache, T type
|
|||
|
||||
// Recursion over signatures of each method.
|
||||
tmset := msets.MethodSet(T)
|
||||
for i := 0; i < tmset.Len(); i++ {
|
||||
sig := tmset.At(i).Type().(*types.Signature)
|
||||
for method := range tmset.Methods() {
|
||||
sig := method.Type().(*types.Signature)
|
||||
// It is tempting to call visit(sig, false)
|
||||
// but, as noted in golang.org/cl/65450043,
|
||||
// the Signature.Recv field is ignored by
|
||||
|
|
|
|||
59
vendor/golang.org/x/tools/internal/typesinternal/fx.go
generated
vendored
59
vendor/golang.org/x/tools/internal/typesinternal/fx.go
generated
vendored
|
|
@ -19,25 +19,46 @@ func NoEffects(info *types.Info, expr ast.Expr) bool {
|
|||
switch v := n.(type) {
|
||||
case nil, *ast.Ident, *ast.BasicLit, *ast.BinaryExpr, *ast.ParenExpr,
|
||||
*ast.SelectorExpr, *ast.IndexExpr, *ast.SliceExpr, *ast.TypeAssertExpr,
|
||||
*ast.StarExpr, *ast.CompositeLit, *ast.ArrayType, *ast.StructType,
|
||||
*ast.MapType, *ast.InterfaceType, *ast.KeyValueExpr:
|
||||
// No effect
|
||||
*ast.StarExpr, *ast.CompositeLit,
|
||||
// non-expressions that may appear within expressions
|
||||
*ast.KeyValueExpr,
|
||||
*ast.FieldList,
|
||||
*ast.Field,
|
||||
*ast.Ellipsis,
|
||||
*ast.IndexListExpr:
|
||||
// No effect.
|
||||
|
||||
case *ast.ArrayType,
|
||||
*ast.StructType,
|
||||
*ast.ChanType,
|
||||
*ast.FuncType,
|
||||
*ast.MapType,
|
||||
*ast.InterfaceType:
|
||||
// Type syntax: no effects, recursively.
|
||||
// Prune descent.
|
||||
return false
|
||||
|
||||
case *ast.UnaryExpr:
|
||||
// Channel send <-ch has effects
|
||||
// Channel send <-ch has effects.
|
||||
if v.Op == token.ARROW {
|
||||
noEffects = false
|
||||
}
|
||||
case *ast.CallExpr:
|
||||
// Type conversion has no effects
|
||||
if !info.Types[v.Fun].IsType() {
|
||||
// TODO(adonovan): Add a case for built-in functions without side
|
||||
// effects (by using callsPureBuiltin from tools/internal/refactor/inline)
|
||||
|
||||
noEffects = false
|
||||
case *ast.CallExpr:
|
||||
// Type conversion has no effects.
|
||||
if !info.Types[v.Fun].IsType() {
|
||||
if CallsPureBuiltin(info, v) {
|
||||
// A call such as len(e) has no effects of its
|
||||
// own, though the subexpression e might.
|
||||
} else {
|
||||
noEffects = false
|
||||
}
|
||||
}
|
||||
|
||||
case *ast.FuncLit:
|
||||
// A FuncLit has no effects, but do not descend into it.
|
||||
return false
|
||||
|
||||
default:
|
||||
// All other expressions have effects
|
||||
noEffects = false
|
||||
|
|
@ -47,3 +68,21 @@ func NoEffects(info *types.Info, expr ast.Expr) bool {
|
|||
})
|
||||
return noEffects
|
||||
}
|
||||
|
||||
// CallsPureBuiltin reports whether call is a call of a built-in
|
||||
// function that is a pure computation over its operands (analogous to
|
||||
// a + operator). Because it does not depend on program state, it may
|
||||
// be evaluated at any point--though not necessarily at multiple
|
||||
// points (consider new, make).
|
||||
func CallsPureBuiltin(info *types.Info, call *ast.CallExpr) bool {
|
||||
if id, ok := ast.Unparen(call.Fun).(*ast.Ident); ok {
|
||||
if b, ok := info.ObjectOf(id).(*types.Builtin); ok {
|
||||
switch b.Name() {
|
||||
case "len", "cap", "complex", "imag", "real", "make", "new", "max", "min":
|
||||
return true
|
||||
}
|
||||
// Not: append clear close copy delete panic print println recover
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
|
|
|||
4
vendor/golang.org/x/tools/internal/typesinternal/isnamed.go
generated
vendored
4
vendor/golang.org/x/tools/internal/typesinternal/isnamed.go
generated
vendored
|
|
@ -48,7 +48,7 @@ func IsFunctionNamed(obj types.Object, pkgPath string, names ...string) bool {
|
|||
return ok &&
|
||||
IsPackageLevel(obj) &&
|
||||
f.Pkg().Path() == pkgPath &&
|
||||
f.Type().(*types.Signature).Recv() == nil &&
|
||||
f.Signature().Recv() == nil &&
|
||||
slices.Contains(names, f.Name())
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ func IsFunctionNamed(obj types.Object, pkgPath string, names ...string) bool {
|
|||
// which is important for the performance of syntax matching.
|
||||
func IsMethodNamed(obj types.Object, pkgPath string, typeName string, names ...string) bool {
|
||||
if fn, ok := obj.(*types.Func); ok {
|
||||
if recv := fn.Type().(*types.Signature).Recv(); recv != nil {
|
||||
if recv := fn.Signature().Recv(); recv != nil {
|
||||
_, T := ReceiverNamed(recv)
|
||||
return T != nil &&
|
||||
IsTypeNamed(T, pkgPath, typeName) &&
|
||||
|
|
|
|||
2
vendor/golang.org/x/tools/internal/typesinternal/qualifier.go
generated
vendored
2
vendor/golang.org/x/tools/internal/typesinternal/qualifier.go
generated
vendored
|
|
@ -19,7 +19,7 @@ import (
|
|||
// TODO(adonovan): this function ignores the effect of shadowing. It
|
||||
// should accept a [token.Pos] and a [types.Info] and compute only the
|
||||
// set of imports that are not shadowed at that point, analogous to
|
||||
// [analysisinternal.AddImport]. It could also compute (as a side
|
||||
// [analysis.AddImport]. It could also compute (as a side
|
||||
// effect) the set of additional imports required to ensure that there
|
||||
// is an accessible import for each necessary package, making it
|
||||
// converge even more closely with AddImport.
|
||||
|
|
|
|||
39
vendor/golang.org/x/tools/internal/typesinternal/varkind.go
generated
vendored
39
vendor/golang.org/x/tools/internal/typesinternal/varkind.go
generated
vendored
|
|
@ -2,39 +2,22 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package typesinternal
|
||||
//go:build go1.25
|
||||
|
||||
// TODO(adonovan): when CL 645115 lands, define the go1.25 version of
|
||||
// this API that actually does something.
|
||||
package typesinternal
|
||||
|
||||
import "go/types"
|
||||
|
||||
type VarKind uint8
|
||||
type VarKind = types.VarKind
|
||||
|
||||
const (
|
||||
_ VarKind = iota // (not meaningful)
|
||||
PackageVar // a package-level variable
|
||||
LocalVar // a local variable
|
||||
RecvVar // a method receiver variable
|
||||
ParamVar // a function parameter variable
|
||||
ResultVar // a function result variable
|
||||
FieldVar // a struct field
|
||||
PackageVar = types.PackageVar
|
||||
LocalVar = types.LocalVar
|
||||
RecvVar = types.RecvVar
|
||||
ParamVar = types.ParamVar
|
||||
ResultVar = types.ResultVar
|
||||
FieldVar = types.FieldVar
|
||||
)
|
||||
|
||||
func (kind VarKind) String() string {
|
||||
return [...]string{
|
||||
0: "VarKind(0)",
|
||||
PackageVar: "PackageVar",
|
||||
LocalVar: "LocalVar",
|
||||
RecvVar: "RecvVar",
|
||||
ParamVar: "ParamVar",
|
||||
ResultVar: "ResultVar",
|
||||
FieldVar: "FieldVar",
|
||||
}[kind]
|
||||
}
|
||||
|
||||
// GetVarKind returns an invalid VarKind.
|
||||
func GetVarKind(v *types.Var) VarKind { return 0 }
|
||||
|
||||
// SetVarKind has no effect.
|
||||
func SetVarKind(v *types.Var, kind VarKind) {}
|
||||
func GetVarKind(v *types.Var) VarKind { return v.Kind() }
|
||||
func SetVarKind(v *types.Var, kind VarKind) { v.SetKind(kind) }
|
||||
|
|
|
|||
39
vendor/golang.org/x/tools/internal/typesinternal/varkind_go124.go
generated
vendored
Normal file
39
vendor/golang.org/x/tools/internal/typesinternal/varkind_go124.go
generated
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
// Copyright 2024 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build !go1.25
|
||||
|
||||
package typesinternal
|
||||
|
||||
import "go/types"
|
||||
|
||||
type VarKind uint8
|
||||
|
||||
const (
|
||||
_ VarKind = iota // (not meaningful)
|
||||
PackageVar // a package-level variable
|
||||
LocalVar // a local variable
|
||||
RecvVar // a method receiver variable
|
||||
ParamVar // a function parameter variable
|
||||
ResultVar // a function result variable
|
||||
FieldVar // a struct field
|
||||
)
|
||||
|
||||
func (kind VarKind) String() string {
|
||||
return [...]string{
|
||||
0: "VarKind(0)",
|
||||
PackageVar: "PackageVar",
|
||||
LocalVar: "LocalVar",
|
||||
RecvVar: "RecvVar",
|
||||
ParamVar: "ParamVar",
|
||||
ResultVar: "ResultVar",
|
||||
FieldVar: "FieldVar",
|
||||
}[kind]
|
||||
}
|
||||
|
||||
// GetVarKind returns an invalid VarKind.
|
||||
func GetVarKind(v *types.Var) VarKind { return 0 }
|
||||
|
||||
// SetVarKind has no effect.
|
||||
func SetVarKind(v *types.Var, kind VarKind) {}
|
||||
14
vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go
generated
vendored
14
vendor/golang.org/x/tools/internal/typesinternal/zerovalue.go
generated
vendored
|
|
@ -258,12 +258,12 @@ func TypeExpr(t types.Type, qual types.Qualifier) ast.Expr {
|
|||
|
||||
case *types.Signature:
|
||||
var params []*ast.Field
|
||||
for i := 0; i < t.Params().Len(); i++ {
|
||||
for v := range t.Params().Variables() {
|
||||
params = append(params, &ast.Field{
|
||||
Type: TypeExpr(t.Params().At(i).Type(), qual),
|
||||
Type: TypeExpr(v.Type(), qual),
|
||||
Names: []*ast.Ident{
|
||||
{
|
||||
Name: t.Params().At(i).Name(),
|
||||
Name: v.Name(),
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
@ -273,9 +273,9 @@ func TypeExpr(t types.Type, qual types.Qualifier) ast.Expr {
|
|||
last.Type = &ast.Ellipsis{Elt: last.Type.(*ast.ArrayType).Elt}
|
||||
}
|
||||
var returns []*ast.Field
|
||||
for i := 0; i < t.Results().Len(); i++ {
|
||||
for v := range t.Results().Variables() {
|
||||
returns = append(returns, &ast.Field{
|
||||
Type: TypeExpr(t.Results().At(i).Type(), qual),
|
||||
Type: TypeExpr(v.Type(), qual),
|
||||
})
|
||||
}
|
||||
return &ast.FuncType{
|
||||
|
|
@ -315,8 +315,8 @@ func TypeExpr(t types.Type, qual types.Qualifier) ast.Expr {
|
|||
if hasTypeArgs, ok := t.(interface{ TypeArgs() *types.TypeList }); ok {
|
||||
if typeArgs := hasTypeArgs.TypeArgs(); typeArgs != nil && typeArgs.Len() > 0 {
|
||||
var indices []ast.Expr
|
||||
for i := range typeArgs.Len() {
|
||||
indices = append(indices, TypeExpr(typeArgs.At(i), qual))
|
||||
for t0 := range typeArgs.Types() {
|
||||
indices = append(indices, TypeExpr(t0, qual))
|
||||
}
|
||||
expr = &ast.IndexListExpr{
|
||||
X: expr,
|
||||
|
|
|
|||
6
vendor/golang.org/x/tools/internal/versions/features.go
generated
vendored
6
vendor/golang.org/x/tools/internal/versions/features.go
generated
vendored
|
|
@ -7,13 +7,17 @@ package versions
|
|||
// This file contains predicates for working with file versions to
|
||||
// decide when a tool should consider a language feature enabled.
|
||||
|
||||
// GoVersions that features in x/tools can be gated to.
|
||||
// named constants, to avoid misspelling
|
||||
const (
|
||||
Go1_18 = "go1.18"
|
||||
Go1_19 = "go1.19"
|
||||
Go1_20 = "go1.20"
|
||||
Go1_21 = "go1.21"
|
||||
Go1_22 = "go1.22"
|
||||
Go1_23 = "go1.23"
|
||||
Go1_24 = "go1.24"
|
||||
Go1_25 = "go1.25"
|
||||
Go1_26 = "go1.26"
|
||||
)
|
||||
|
||||
// Future is an invalid unknown Go version sometime in the future.
|
||||
|
|
|
|||
30
vendor/modules.txt
vendored
30
vendor/modules.txt
vendored
|
|
@ -393,7 +393,7 @@ github.com/json-iterator/go
|
|||
# github.com/kevinburke/ssh_config v1.4.0
|
||||
## explicit; go 1.18
|
||||
github.com/kevinburke/ssh_config
|
||||
# github.com/klauspost/compress v1.18.1
|
||||
# github.com/klauspost/compress v1.18.2
|
||||
## explicit; go 1.23
|
||||
github.com/klauspost/compress
|
||||
github.com/klauspost/compress/flate
|
||||
|
|
@ -519,7 +519,7 @@ github.com/nxadm/tail/ratelimiter
|
|||
github.com/nxadm/tail/util
|
||||
github.com/nxadm/tail/watch
|
||||
github.com/nxadm/tail/winfile
|
||||
# github.com/onsi/ginkgo/v2 v2.27.2
|
||||
# github.com/onsi/ginkgo/v2 v2.27.3
|
||||
## explicit; go 1.23.0
|
||||
github.com/onsi/ginkgo/v2
|
||||
github.com/onsi/ginkgo/v2/config
|
||||
|
|
@ -543,7 +543,7 @@ github.com/onsi/ginkgo/v2/internal/reporters
|
|||
github.com/onsi/ginkgo/v2/internal/testingtproxy
|
||||
github.com/onsi/ginkgo/v2/reporters
|
||||
github.com/onsi/ginkgo/v2/types
|
||||
# github.com/onsi/gomega v1.38.2
|
||||
# github.com/onsi/gomega v1.38.3
|
||||
## explicit; go 1.23.0
|
||||
github.com/onsi/gomega
|
||||
github.com/onsi/gomega/format
|
||||
|
|
@ -678,7 +678,7 @@ github.com/skeema/knownhosts
|
|||
## explicit; go 1.14
|
||||
github.com/smallstep/pkcs7
|
||||
github.com/smallstep/pkcs7/internal/legacy/x509
|
||||
# github.com/spf13/cobra v1.10.1
|
||||
# github.com/spf13/cobra v1.10.2
|
||||
## explicit; go 1.15
|
||||
github.com/spf13/cobra
|
||||
# github.com/spf13/pflag v1.0.10
|
||||
|
|
@ -772,7 +772,7 @@ go.opentelemetry.io/otel/trace
|
|||
go.opentelemetry.io/otel/trace/embedded
|
||||
go.opentelemetry.io/otel/trace/internal/telemetry
|
||||
go.opentelemetry.io/otel/trace/noop
|
||||
# go.podman.io/common v0.66.1-0.20251202202200-df55d6c661e8
|
||||
# go.podman.io/common v0.66.2-0.20251209230740-724707234895
|
||||
## explicit; go 1.24.6
|
||||
go.podman.io/common/internal
|
||||
go.podman.io/common/internal/attributedstring
|
||||
|
|
@ -841,7 +841,7 @@ go.podman.io/common/pkg/umask
|
|||
go.podman.io/common/pkg/util
|
||||
go.podman.io/common/pkg/version
|
||||
go.podman.io/common/version
|
||||
# go.podman.io/image/v5 v5.38.1-0.20251202202200-df55d6c661e8
|
||||
# go.podman.io/image/v5 v5.38.1-0.20251209230740-724707234895
|
||||
## explicit; go 1.24.6
|
||||
go.podman.io/image/v5/copy
|
||||
go.podman.io/image/v5/directory
|
||||
|
|
@ -915,7 +915,7 @@ go.podman.io/image/v5/transports
|
|||
go.podman.io/image/v5/transports/alltransports
|
||||
go.podman.io/image/v5/types
|
||||
go.podman.io/image/v5/version
|
||||
# go.podman.io/storage v1.61.1-0.20251202202200-df55d6c661e8
|
||||
# go.podman.io/storage v1.61.1-0.20251209230740-724707234895
|
||||
## explicit; go 1.24.0
|
||||
go.podman.io/storage
|
||||
go.podman.io/storage/drivers
|
||||
|
|
@ -970,7 +970,7 @@ go.yaml.in/yaml/v2
|
|||
# go.yaml.in/yaml/v3 v3.0.4
|
||||
## explicit; go 1.16
|
||||
go.yaml.in/yaml/v3
|
||||
# golang.org/x/crypto v0.45.0
|
||||
# golang.org/x/crypto v0.46.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/crypto/argon2
|
||||
golang.org/x/crypto/blake2b
|
||||
|
|
@ -1000,7 +1000,7 @@ golang.org/x/crypto/ssh/internal/bcrypt_pbkdf
|
|||
golang.org/x/crypto/ssh/knownhosts
|
||||
golang.org/x/crypto/twofish
|
||||
golang.org/x/crypto/xts
|
||||
# golang.org/x/mod v0.29.0
|
||||
# golang.org/x/mod v0.30.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/mod/semver
|
||||
# golang.org/x/net v0.47.0
|
||||
|
|
@ -1018,15 +1018,15 @@ golang.org/x/net/internal/socks
|
|||
golang.org/x/net/internal/timeseries
|
||||
golang.org/x/net/proxy
|
||||
golang.org/x/net/trace
|
||||
# golang.org/x/oauth2 v0.33.0
|
||||
# golang.org/x/oauth2 v0.34.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/oauth2
|
||||
golang.org/x/oauth2/internal
|
||||
# golang.org/x/sync v0.18.0
|
||||
# golang.org/x/sync v0.19.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/sync/errgroup
|
||||
golang.org/x/sync/semaphore
|
||||
# golang.org/x/sys v0.38.0
|
||||
# golang.org/x/sys v0.39.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/sys/cpu
|
||||
golang.org/x/sys/plan9
|
||||
|
|
@ -1034,10 +1034,10 @@ golang.org/x/sys/unix
|
|||
golang.org/x/sys/windows
|
||||
golang.org/x/sys/windows/registry
|
||||
golang.org/x/sys/windows/svc/eventlog
|
||||
# golang.org/x/term v0.37.0
|
||||
# golang.org/x/term v0.38.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/term
|
||||
# golang.org/x/text v0.31.0
|
||||
# golang.org/x/text v0.32.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/text/encoding
|
||||
golang.org/x/text/encoding/charmap
|
||||
|
|
@ -1062,7 +1062,7 @@ golang.org/x/text/unicode/norm
|
|||
# golang.org/x/time v0.14.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/time/rate
|
||||
# golang.org/x/tools v0.38.0
|
||||
# golang.org/x/tools v0.39.0
|
||||
## explicit; go 1.24.0
|
||||
golang.org/x/tools/cover
|
||||
golang.org/x/tools/go/ast/edge
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue