@ttsc/win32-arm64 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/go/VERSION +2 -2
- package/bin/go/bin/go.exe +0 -0
- package/bin/go/bin/gofmt.exe +0 -0
- package/bin/go/lib/time/update.bash +2 -2
- package/bin/go/lib/time/zoneinfo.zip +0 -0
- package/bin/go/pkg/include/asm_ppc64x.h +0 -16
- package/bin/go/pkg/tool/windows_arm64/asm.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cgo.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/compile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/cover.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/fix.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/link.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/preprofile.exe +0 -0
- package/bin/go/pkg/tool/windows_arm64/vet.exe +0 -0
- package/bin/go/src/archive/tar/reader.go +2 -1
- package/bin/go/src/archive/zip/reader.go +5 -29
- package/bin/go/src/archive/zip/struct.go +5 -6
- package/bin/go/src/archive/zip/writer.go +120 -60
- package/bin/go/src/bufio/bufio.go +1 -1
- package/bin/go/src/bytes/buffer.go +3 -3
- package/bin/go/src/bytes/bytes.go +45 -25
- package/bin/go/src/compress/flate/deflate.go +512 -363
- package/bin/go/src/compress/flate/deflatefast.go +156 -262
- package/bin/go/src/compress/flate/dict_decoder.go +1 -4
- package/bin/go/src/compress/flate/huffman_bit_writer.go +673 -250
- package/bin/go/src/compress/flate/huffman_code.go +164 -92
- package/bin/go/src/compress/flate/level1.go +195 -0
- package/bin/go/src/compress/flate/level2.go +190 -0
- package/bin/go/src/compress/flate/level3.go +228 -0
- package/bin/go/src/compress/flate/level4.go +200 -0
- package/bin/go/src/compress/flate/level5.go +287 -0
- package/bin/go/src/compress/flate/level6.go +297 -0
- package/bin/go/src/compress/flate/load_store.go +43 -0
- package/bin/go/src/compress/flate/regmask_amd64.go +9 -0
- package/bin/go/src/compress/flate/regmask_other.go +11 -0
- package/bin/go/src/compress/flate/token.go +238 -26
- package/bin/go/src/compress/gzip/gzip.go +8 -0
- package/bin/go/src/compress/zlib/writer.go +12 -0
- package/bin/go/src/context/context.go +6 -5
- package/bin/go/src/crypto/cipher/gcm.go +0 -4
- package/bin/go/src/crypto/crypto.go +27 -4
- package/bin/go/src/crypto/des/const.go +1 -1
- package/bin/go/src/crypto/ecdsa/ecdsa.go +21 -4
- package/bin/go/src/crypto/ed25519/ed25519.go +13 -0
- package/bin/go/src/crypto/internal/boring/aes.go +2 -3
- package/bin/go/src/crypto/internal/cryptotest/aead.go +53 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary.go +34 -0
- package/bin/go/src/crypto/internal/cryptotest/boundary_compat.go +16 -0
- package/bin/go/src/crypto/internal/cryptotest/fetchmodule.go +9 -3
- package/bin/go/src/crypto/internal/cryptotest/fips140.go +62 -3
- package/bin/go/src/crypto/internal/cryptotest/hash.go +14 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.mod +19 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.sum +27 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/schema_gen.go +151 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schema.go +9792 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/schemaversion.go +11 -0
- package/bin/go/src/crypto/internal/cryptotest/wycheproof/wycheproof.go +165 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.mod +14 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.sum +25 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/schema_gen.go +125 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schema.go +591 -0
- package/bin/go/src/crypto/internal/cryptotest/x509limbo/schemaversion.go +14 -0
- package/bin/go/src/crypto/internal/fips140/aes/_asm/ctr/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/_asm/standard/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/gcm_amd64_asm.go +36 -32
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.mod +5 -5
- package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.sum +8 -6
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_amd64.s +29 -17
- package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_arm64.s +73 -72
- package/bin/go/src/crypto/internal/fips140/aes/gcm/ghash.go +140 -124
- package/bin/go/src/crypto/internal/fips140/bigmod/nat.go +18 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_loong64.s +23 -0
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_none.go +1 -1
- package/bin/go/src/crypto/internal/fips140/check/checktest/asm_stub.go +1 -1
- package/bin/go/src/crypto/internal/fips140/drbg/rand.go +12 -4
- package/bin/go/src/crypto/internal/fips140/ecdsa/ecdsa.go +17 -10
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/_asm/fe_amd64_asm.go +0 -90
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe.go +64 -97
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.go +0 -5
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.s +0 -167
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64_noasm.go +0 -2
- package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_generic.go +57 -1
- package/bin/go/src/crypto/internal/fips140/edwards25519/scalarmult.go +3 -2
- package/bin/go/src/crypto/internal/fips140/mldsa/mldsa.go +31 -25
- package/bin/go/src/crypto/internal/fips140/mldsa/semiexpanded.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.mod +4 -4
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.sum +6 -0
- package/bin/go/src/crypto/internal/fips140/nistec/_asm/p256_asm.go +1 -613
- package/bin/go/src/crypto/internal/fips140/nistec/p256.go +2 -2
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm.go +7 -6
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_amd64.s +0 -503
- package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_arm64.s +4 -429
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv.go +511 -47
- package/bin/go/src/crypto/internal/fips140/pbkdf2/pbkdf2.go +1 -1
- package/bin/go/src/crypto/internal/fips140/rsa/keygen.go +48 -46
- package/bin/go/src/crypto/internal/fips140/rsa/largeexponent.go +365 -0
- package/bin/go/src/crypto/internal/fips140/rsa/pkcs1v15.go +27 -0
- package/bin/go/src/crypto/internal/fips140/sha256/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha3/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/sha512/_asm/go.mod +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/constant_time.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_asm.go +1 -1
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.go +18 -0
- package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.s +33 -2
- package/bin/go/src/crypto/internal/fips140deps/cpu/cpu.go +2 -0
- package/bin/go/src/crypto/internal/fips140deps/time/time.go +7 -4
- package/bin/go/src/crypto/internal/fips140only/fips140only.go +0 -7
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.0.go +17 -0
- package/bin/go/src/crypto/internal/fips140only/random_fips140v1.28.go +16 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_capabilities_fips140v1.28.json +86 -0
- package/bin/go/src/crypto/internal/fips140test/acvp_test_fips140v1.28.config.json +58 -0
- package/bin/go/src/crypto/internal/rand/rand.go +14 -14
- package/bin/go/src/crypto/internal/rand/random_fips140v1.0.go +20 -0
- package/bin/go/src/crypto/internal/rand/random_fips140v1.28.go +19 -0
- package/bin/go/src/crypto/mldsa/mldsa.go +97 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.0.go +116 -0
- package/bin/go/src/crypto/mldsa/mldsa_fips140v1.26.go +226 -0
- package/bin/go/src/crypto/mlkem/mlkem.go +8 -2
- package/bin/go/src/crypto/rsa/fips.go +26 -8
- package/bin/go/src/crypto/rsa/pkcs1v15.go +2 -2
- package/bin/go/src/crypto/rsa/rsa.go +25 -2
- package/bin/go/src/crypto/sha1/sha1block_decl.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_generic.go +1 -1
- package/bin/go/src/crypto/sha1/sha1block_loong64.s +24 -8
- package/bin/go/src/crypto/sha1/sha1block_riscv64.s +225 -0
- package/bin/go/src/crypto/sha3/sha3.go +3 -2
- package/bin/go/src/crypto/tls/alert.go +2 -0
- package/bin/go/src/crypto/tls/auth.go +31 -0
- package/bin/go/src/crypto/tls/bogo_config.json +12 -23
- package/bin/go/src/crypto/tls/cipher_suites.go +3 -11
- package/bin/go/src/crypto/tls/common.go +106 -59
- package/bin/go/src/crypto/tls/common_string.go +18 -5
- package/bin/go/src/crypto/tls/conn.go +33 -35
- package/bin/go/src/crypto/tls/defaults.go +26 -20
- package/bin/go/src/crypto/tls/defaults_fips140.go +9 -0
- package/bin/go/src/crypto/tls/ech.go +9 -4
- package/bin/go/src/crypto/tls/generate_cert.go +8 -2
- package/bin/go/src/crypto/tls/handshake_client.go +17 -17
- package/bin/go/src/crypto/tls/handshake_client_tls13.go +8 -3
- package/bin/go/src/crypto/tls/handshake_server.go +26 -19
- package/bin/go/src/crypto/tls/handshake_server_tls13.go +8 -5
- package/bin/go/src/crypto/tls/key_agreement.go +5 -1
- package/bin/go/src/crypto/tls/key_schedule.go +42 -17
- package/bin/go/src/crypto/tls/prf.go +1 -1
- package/bin/go/src/crypto/tls/quic.go +6 -7
- package/bin/go/src/crypto/tls/tls.go +25 -29
- package/bin/go/src/crypto/x509/cert_pool.go +8 -4
- package/bin/go/src/crypto/x509/constraints.go +5 -0
- package/bin/go/src/crypto/x509/parser.go +101 -15
- package/bin/go/src/crypto/x509/pkcs8.go +45 -4
- package/bin/go/src/crypto/x509/pkix/pkix.go +33 -9
- package/bin/go/src/crypto/x509/root.go +113 -0
- package/bin/go/src/crypto/x509/root_darwin.go +8 -4
- package/bin/go/src/crypto/x509/root_plan9.go +2 -23
- package/bin/go/src/crypto/x509/root_unix.go +0 -97
- package/bin/go/src/crypto/x509/root_windows.go +8 -3
- package/bin/go/src/crypto/x509/verify.go +43 -4
- package/bin/go/src/crypto/x509/x509.go +169 -30
- package/bin/go/src/database/sql/closemu.go +119 -0
- package/bin/go/src/database/sql/convert.go +63 -4
- package/bin/go/src/database/sql/driver/driver.go +26 -0
- package/bin/go/src/database/sql/driver/types.go +4 -0
- package/bin/go/src/database/sql/internal/sql.go +22 -0
- package/bin/go/src/database/sql/sql.go +89 -40
- package/bin/go/src/debug/buildinfo/buildinfo.go +0 -13
- package/bin/go/src/debug/dwarf/buf.go +7 -1
- package/bin/go/src/debug/dwarf/class_string.go +3 -2
- package/bin/go/src/debug/elf/file.go +80 -50
- package/bin/go/src/debug/elf/reader.go +1 -1
- package/bin/go/src/debug/gosym/symtab.go +26 -30
- package/bin/go/src/debug/macho/file.go +2 -2
- package/bin/go/src/debug/macho/reloctype_string.go +12 -8
- package/bin/go/src/debug/pe/file.go +6 -3
- package/bin/go/src/encoding/base32/base32.go +29 -31
- package/bin/go/src/encoding/base64/base64.go +24 -29
- package/bin/go/src/encoding/gob/decode.go +7 -1
- package/bin/go/src/encoding/gob/type.go +6 -6
- package/bin/go/src/encoding/hex/hex.go +6 -6
- package/bin/go/src/encoding/json/decode.go +4 -3
- package/bin/go/src/encoding/json/encode.go +1 -2
- package/bin/go/src/encoding/json/fold.go +1 -1
- package/bin/go/src/encoding/json/internal/internal.go +11 -1
- package/bin/go/src/encoding/json/internal/jsonflags/flags.go +17 -9
- package/bin/go/src/encoding/json/internal/jsonopts/options.go +52 -37
- package/bin/go/src/encoding/json/internal/jsonopts/options_format.go +124 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/canada_geometry.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/citm_catalog.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/golang_source.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_escaped.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/string_unicode.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/synthea_fhir.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/_embed/twitter_status.json.zst +0 -0
- package/bin/go/src/encoding/json/internal/jsontest/testdata.go +10 -4
- package/bin/go/src/encoding/json/internal/jsonwire/decode.go +13 -36
- package/bin/go/src/encoding/json/internal/jsonwire/encode.go +7 -7
- package/bin/go/src/encoding/json/internal/jsonwire/wire.go +30 -38
- package/bin/go/src/encoding/json/jsontext/decode.go +49 -14
- package/bin/go/src/encoding/json/jsontext/doc.go +6 -11
- package/bin/go/src/encoding/json/jsontext/encode.go +55 -39
- package/bin/go/src/encoding/json/jsontext/errors.go +34 -3
- package/bin/go/src/encoding/json/jsontext/export.go +14 -0
- package/bin/go/src/encoding/json/jsontext/options.go +8 -8
- package/bin/go/src/encoding/json/jsontext/quote.go +2 -2
- package/bin/go/src/encoding/json/jsontext/state.go +14 -14
- package/bin/go/src/encoding/json/jsontext/token.go +246 -101
- package/bin/go/src/encoding/json/jsontext/value.go +31 -16
- package/bin/go/src/encoding/json/stream.go +14 -2
- package/bin/go/src/encoding/json/v2/arshal.go +100 -114
- package/bin/go/src/encoding/json/v2/arshal_any.go +6 -5
- package/bin/go/src/encoding/json/v2/arshal_default.go +292 -189
- package/bin/go/src/encoding/json/v2/{arshal_inlined.go → arshal_embedded.go} +14 -14
- package/bin/go/src/encoding/json/v2/arshal_funcs.go +28 -47
- package/bin/go/src/encoding/json/v2/arshal_methods.go +98 -29
- package/bin/go/src/encoding/json/v2/arshal_time.go +33 -13
- package/bin/go/src/encoding/json/v2/doc.go +40 -55
- package/bin/go/src/encoding/json/v2/errors.go +29 -9
- package/bin/go/src/encoding/json/v2/fields.go +83 -81
- package/bin/go/src/encoding/json/v2/intern.go +2 -2
- package/bin/go/src/encoding/json/v2/options.go +57 -41
- package/bin/go/src/encoding/json/v2_decode.go +21 -9
- package/bin/go/src/encoding/json/v2_encode.go +21 -10
- package/bin/go/src/encoding/json/v2_indent.go +2 -0
- package/bin/go/src/encoding/json/v2_inject.go +7 -4
- package/bin/go/src/encoding/json/v2_options.go +37 -30
- package/bin/go/src/encoding/json/v2_scanner.go +6 -1
- package/bin/go/src/encoding/json/v2_stream.go +49 -14
- package/bin/go/src/encoding/pem/pem.go +6 -2
- package/bin/go/src/fmt/doc.go +11 -1
- package/bin/go/src/fmt/print.go +69 -82
- package/bin/go/src/go/ast/ast.go +4 -4
- package/bin/go/src/go/ast/filter.go +1 -1
- package/bin/go/src/go/ast/scope.go +2 -2
- package/bin/go/src/go/build/build.go +1 -1
- package/bin/go/src/go/build/constraint/vers.go +4 -1
- package/bin/go/src/go/build/read.go +2 -2
- package/bin/go/src/go/constant/kind_string.go +3 -2
- package/bin/go/src/go/constant/value.go +26 -4
- package/bin/go/src/go/doc/comment/std.go +1 -0
- package/bin/go/src/go/importer/importer.go +4 -3
- package/bin/go/src/go/internal/gccgoimporter/parser.go +2 -0
- package/bin/go/src/go/internal/gcimporter/ureader.go +141 -56
- package/bin/go/src/go/parser/parser.go +11 -22
- package/bin/go/src/go/printer/math.go +28 -0
- package/bin/go/src/go/printer/nodes.go +28 -11
- package/bin/go/src/go/printer/printer.go +3 -1
- package/bin/go/src/go/scanner/errors.go +2 -0
- package/bin/go/src/go/scanner/scanner.go +40 -28
- package/bin/go/src/go/token/position.go +7 -16
- package/bin/go/src/go/types/alias.go +0 -18
- package/bin/go/src/go/types/api.go +4 -10
- package/bin/go/src/go/types/api_predicates.go +2 -2
- package/bin/go/src/go/types/assignments.go +44 -38
- package/bin/go/src/go/types/builtins.go +199 -168
- package/bin/go/src/go/types/call.go +155 -138
- package/bin/go/src/go/types/check.go +0 -83
- package/bin/go/src/go/types/const.go +22 -10
- package/bin/go/src/go/types/conversions.go +19 -19
- package/bin/go/src/go/types/cycles.go +29 -42
- package/bin/go/src/go/types/decl.go +33 -81
- package/bin/go/src/go/types/expr.go +191 -183
- package/bin/go/src/go/types/gotype.go +1 -0
- package/bin/go/src/go/types/hash.go +309 -0
- package/bin/go/src/go/types/index.go +91 -61
- package/bin/go/src/go/types/infer.go +11 -11
- package/bin/go/src/go/types/instantiate.go +27 -15
- package/bin/go/src/go/types/interface.go +2 -2
- package/bin/go/src/go/types/literals.go +56 -32
- package/bin/go/src/go/types/lookup.go +31 -14
- package/bin/go/src/go/types/named.go +58 -54
- package/bin/go/src/go/types/object.go +4 -3
- package/bin/go/src/go/types/operand.go +50 -34
- package/bin/go/src/go/types/range.go +19 -16
- package/bin/go/src/go/types/recording.go +24 -7
- package/bin/go/src/go/types/resolver.go +16 -18
- package/bin/go/src/go/types/scope.go +1 -15
- package/bin/go/src/go/types/selection.go +3 -1
- package/bin/go/src/go/types/signature.go +10 -11
- package/bin/go/src/go/types/stmt.go +34 -28
- package/bin/go/src/go/types/subst.go +82 -5
- package/bin/go/src/go/types/trie.go +93 -0
- package/bin/go/src/go/types/typelists.go +28 -0
- package/bin/go/src/go/types/typestring.go +5 -9
- package/bin/go/src/go/types/typexpr.go +17 -28
- package/bin/go/src/go/types/unify.go +12 -3
- package/bin/go/src/go/types/universe.go +12 -40
- package/bin/go/src/go/types/version.go +4 -0
- package/bin/go/src/go.mod +5 -5
- package/bin/go/src/go.sum +8 -8
- package/bin/go/src/hash/maphash/hasher.go +139 -0
- package/bin/go/src/hash/maphash/maphash.go +59 -4
- package/bin/go/src/html/template/attr_string.go +3 -2
- package/bin/go/src/html/template/delim_string.go +3 -2
- package/bin/go/src/html/template/element_string.go +3 -2
- package/bin/go/src/html/template/jsctx_string.go +3 -2
- package/bin/go/src/html/template/state_string.go +3 -2
- package/bin/go/src/html/template/template.go +7 -4
- package/bin/go/src/html/template/transition.go +1 -1
- package/bin/go/src/html/template/urlpart_string.go +3 -2
- package/bin/go/src/image/format.go +9 -0
- package/bin/go/src/image/gif/reader.go +18 -0
- package/bin/go/src/image/jpeg/huffman.go +22 -3
- package/bin/go/src/image/jpeg/reader.go +54 -29
- package/bin/go/src/image/jpeg/scan.go +68 -38
- package/bin/go/src/image/png/writer.go +8 -0
- package/bin/go/src/index/suffixarray/suffixarray.go +14 -6
- package/bin/go/src/internal/abi/abi_generic.go +1 -1
- package/bin/go/src/internal/abi/abi_s390x.go +0 -2
- package/bin/go/src/internal/abi/compiletype.go +30 -0
- package/bin/go/src/internal/abi/iface.go +13 -1
- package/bin/go/src/internal/abi/map.go +21 -3
- package/bin/go/src/internal/abi/type.go +136 -27
- package/bin/go/src/internal/buildcfg/exp.go +8 -8
- package/bin/go/src/internal/buildcfg/zbootstrap.go +1 -1
- package/bin/go/src/internal/bytealg/bytealg.go +16 -16
- package/bin/go/src/internal/bytealg/compare_s390x.s +0 -24
- package/bin/go/src/internal/bytealg/equal_s390x.s +0 -18
- package/bin/go/src/internal/bytealg/indexbyte_arm64.s +28 -0
- package/bin/go/src/internal/bytealg/indexbyte_s390x.s +0 -33
- package/bin/go/src/internal/coverage/encodemeta/encode.go +1 -1
- package/bin/go/src/internal/cpu/cpu.go +22 -7
- package/bin/go/src/internal/cpu/cpu_arm64.go +8 -1
- package/bin/go/src/internal/cpu/cpu_arm64.s +7 -0
- package/bin/go/src/internal/cpu/cpu_arm64_darwin.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_freebsd.go +2 -1
- package/bin/go/src/internal/cpu/cpu_arm64_hwcap.go +2 -0
- package/bin/go/src/internal/cpu/cpu_arm64_openbsd.go +6 -1
- package/bin/go/src/internal/cpu/cpu_arm64_other.go +1 -1
- package/bin/go/src/internal/cpu/cpu_arm64_windows.go +26 -0
- package/bin/go/src/internal/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/internal/cpu/cpu_riscv64.go +10 -0
- package/bin/go/src/internal/cpu/cpu_riscv64_linux.go +21 -0
- package/bin/go/src/internal/cpu/cpu_windows.go +20 -0
- package/bin/go/src/internal/cpu/cpu_x86.go +2 -0
- package/bin/go/src/internal/filepathlite/path_windows.go +30 -17
- package/bin/go/src/internal/fuzz/fuzz.go +5 -1
- package/bin/go/src/internal/fuzz/mutator.go +2 -2
- package/bin/go/src/internal/fuzz/worker.go +1 -1
- package/bin/go/src/internal/gate/gate.go +76 -0
- package/bin/go/src/internal/godebugs/table.go +29 -10
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_off.go +8 -0
- package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_on.go +8 -0
- package/bin/go/src/internal/goexperiment/flags.go +5 -3
- package/bin/go/src/internal/goversion/goversion.go +1 -1
- package/bin/go/src/internal/lazyregexp/lazyre.go +4 -0
- package/bin/go/src/internal/nettest/conn.go +437 -0
- package/bin/go/src/internal/nettest/listener.go +148 -0
- package/bin/go/src/internal/nettest/packetconn.go +250 -0
- package/bin/go/src/internal/nettest/queue.go +33 -0
- package/bin/go/src/internal/pkgbits/syncmarker_string.go +4 -4
- package/bin/go/src/internal/pkgbits/version.go +27 -1
- package/bin/go/src/internal/platform/supported.go +8 -10
- package/bin/go/src/internal/platform/zosarch.go +1 -3
- package/bin/go/src/internal/poll/fd_mutex.go +49 -10
- package/bin/go/src/internal/poll/fd_unix.go +6 -1
- package/bin/go/src/internal/poll/fd_windows.go +175 -191
- package/bin/go/src/internal/poll/fd_writev_libc.go +1 -1
- package/bin/go/src/internal/poll/fd_writev_unix.go +1 -1
- package/bin/go/src/internal/poll/file_plan9.go +4 -4
- package/bin/go/src/internal/poll/sendfile_windows.go +1 -3
- package/bin/go/src/internal/poll/splice_linux.go +1 -1
- package/bin/go/src/internal/profile/encode.go +1 -1
- package/bin/go/src/internal/profile/profile.go +5 -3
- package/bin/go/src/internal/profilerecord/profilerecord.go +2 -2
- package/bin/go/src/internal/reflectlite/value.go +1 -15
- package/bin/go/src/internal/runtime/atomic/atomic_386.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_amd64.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_andor_generic.go +0 -11
- package/bin/go/src/internal/runtime/atomic/atomic_arm.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.go +2 -2
- package/bin/go/src/internal/runtime/atomic/atomic_loong64.s +22 -11
- package/bin/go/src/internal/runtime/atomic/atomic_mipsx.go +0 -10
- package/bin/go/src/internal/runtime/atomic/atomic_riscv64.s +4 -4
- package/bin/go/src/internal/runtime/atomic/atomic_s390x.go +0 -6
- package/bin/go/src/internal/runtime/atomic/atomic_wasm.go +0 -31
- package/bin/go/src/internal/runtime/atomic/linkname.go +34 -0
- package/bin/go/src/internal/runtime/exithook/hooks.go +0 -4
- package/bin/go/src/internal/runtime/gc/scan/expand_amd64.s +2285 -2285
- package/bin/go/src/internal/runtime/gc/scan/mkasm.go +1 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.go +2 -1
- package/bin/go/src/internal/runtime/gc/scan/scan_amd64.s +4 -2
- package/bin/go/src/internal/runtime/maps/group.go +22 -13
- package/bin/go/src/internal/runtime/maps/map.go +35 -14
- package/bin/go/src/internal/runtime/maps/memhash_386.s +408 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes.go +38 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_asm.go +24 -0
- package/bin/go/src/internal/runtime/maps/memhash_aes_simd.go +49 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_check.go +10 -0
- package/bin/go/src/internal/runtime/maps/memhash_align_nocheck.go +16 -0
- package/bin/go/src/internal/runtime/maps/memhash_amd64.s +426 -0
- package/bin/go/src/internal/runtime/maps/memhash_arm64.s +366 -0
- package/bin/go/src/internal/runtime/maps/memhash_noaes.go +43 -0
- package/bin/go/src/internal/runtime/maps/memhash_nosimd_amd64.s +33 -0
- package/bin/go/src/internal/runtime/maps/runtime.go +37 -88
- package/bin/go/src/internal/runtime/maps/runtime_alg.go +93 -0
- package/bin/go/src/internal/runtime/maps/runtime_fast32.go +111 -97
- package/bin/go/src/internal/runtime/maps/runtime_fast64.go +137 -98
- package/bin/go/src/internal/runtime/maps/runtime_faststr.go +96 -89
- package/bin/go/src/{runtime/hash32.go → internal/runtime/maps/runtime_hash32.go} +8 -10
- package/bin/go/src/{runtime/hash64.go → internal/runtime/maps/runtime_hash64.go} +8 -8
- package/bin/go/src/internal/runtime/maps/table.go +66 -3
- package/bin/go/src/internal/runtime/math/math.go +0 -21
- package/bin/go/src/internal/runtime/startlinetest/func_amd64.s +2 -1
- package/bin/go/src/internal/runtime/sys/dit_arm64.go +3 -0
- package/bin/go/src/internal/runtime/sys/dit_arm64.s +16 -3
- package/bin/go/src/internal/runtime/syscall/linux/asm_linux_s390x.s +0 -23
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_386.s +7 -4
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_amd64.s +10 -8
- package/bin/go/src/internal/runtime/syscall/windows/asm_windows_arm64.s +0 -1
- package/bin/go/src/internal/runtime/syscall/windows/defs_windows.go +4 -0
- package/bin/go/src/internal/runtime/syscall/windows/syscall_windows.go +7 -9
- package/bin/go/src/internal/strconv/atof.go +69 -42
- package/bin/go/src/internal/strconv/atoi.go +1 -0
- package/bin/go/src/internal/strconv/ftoa.go +329 -357
- package/bin/go/src/internal/strconv/itoa.go +53 -59
- package/bin/go/src/internal/strconv/pow10gen.go +15 -3
- package/bin/go/src/internal/strconv/pow10tab.go +670 -670
- package/bin/go/src/internal/strconv/uscale.go +290 -0
- package/bin/go/src/internal/stringslite/strings.go +14 -42
- package/bin/go/src/internal/syscall/unix/asm_openbsd.s +0 -2
- package/bin/go/src/internal/syscall/unix/at.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_fstatat.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_libc2.go +1 -1
- package/bin/go/src/internal/syscall/unix/at_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/unix/faccessat_bsd.go +1 -1
- package/bin/go/src/internal/syscall/unix/faccessat_openbsd.go +0 -2
- package/bin/go/src/internal/syscall/windows/at_windows.go +5 -5
- package/bin/go/src/internal/syscall/windows/net_windows.go +1 -0
- package/bin/go/src/internal/syscall/windows/string_windows.go +6 -3
- package/bin/go/src/internal/syscall/windows/syscall_windows.go +2 -0
- package/bin/go/src/internal/syscall/windows/types_windows.go +89 -4
- package/bin/go/src/internal/syscall/windows/zsyscall_windows.go +7 -0
- package/bin/go/src/internal/testenv/testenv.go +24 -1
- package/bin/go/src/internal/trace/event.go +1 -1
- package/bin/go/src/internal/trace/tracev2/events.go +2 -0
- package/bin/go/src/internal/trace/traceviewer/pprof.go +1 -0
- package/bin/go/src/internal/types/errors/generrordocs.go +1 -1
- package/bin/go/src/io/fs/fs.go +4 -1
- package/bin/go/src/io/fs/glob.go +1 -1
- package/bin/go/src/io/fs/readdir.go +3 -3
- package/bin/go/src/io/fs/readfile.go +3 -3
- package/bin/go/src/io/fs/stat.go +1 -1
- package/bin/go/src/io/fs/sub.go +4 -2
- package/bin/go/src/iter/iter.go +2 -2
- package/bin/go/src/log/slog/handler.go +0 -1
- package/bin/go/src/log/slog/json_handler.go +7 -1
- package/bin/go/src/log/slog/logger.go +16 -0
- package/bin/go/src/log/slog/text_handler.go +10 -1
- package/bin/go/src/log/slog/value.go +1 -1
- package/bin/go/src/log/syslog/doc.go +5 -0
- package/bin/go/src/math/abs.go +1 -1
- package/bin/go/src/math/big/accuracy_string.go +4 -4
- package/bin/go/src/math/big/arith.go +1 -1
- package/bin/go/src/math/big/arith_loong64.s +2 -4
- package/bin/go/src/math/big/float.go +2 -0
- package/bin/go/src/math/big/ftoa.go +11 -5
- package/bin/go/src/math/big/int.go +84 -1
- package/bin/go/src/math/big/intconv.go +19 -4
- package/bin/go/src/math/big/internal/asmgen/loong64.go +2 -0
- package/bin/go/src/math/big/nat.go +68 -17
- package/bin/go/src/math/big/natdiv.go +8 -5
- package/bin/go/src/math/big/roundingmode_string.go +3 -2
- package/bin/go/src/math/copysign.go +1 -2
- package/bin/go/src/math/exp2_asm.go +1 -1
- package/bin/go/src/math/exp2_noasm.go +1 -1
- package/bin/go/src/math/exp_asm.go +1 -1
- package/bin/go/src/math/exp_loong64.s +4 -12
- package/bin/go/src/math/exp_noasm.go +1 -1
- package/bin/go/src/math/exp_riscv64.s +236 -0
- package/bin/go/src/math/nextafter.go +4 -2
- package/bin/go/src/math/pow10.go +1 -1
- package/bin/go/src/math/rand/v2/rand.go +14 -4
- package/bin/go/src/mime/type.go +3 -2
- package/bin/go/src/net/dial.go +10 -6
- package/bin/go/src/net/dnsclient_unix.go +37 -8
- package/bin/go/src/net/dnsconfig.go +6 -0
- package/bin/go/src/net/fd_plan9.go +13 -6
- package/bin/go/src/net/fd_unix.go +3 -7
- package/bin/go/src/net/fd_windows.go +4 -9
- package/bin/go/src/net/file_plan9.go +1 -1
- package/bin/go/src/net/file_posix.go +1 -5
- package/bin/go/src/net/http/client.go +21 -4
- package/bin/go/src/net/http/clientconn.go +20 -1
- package/bin/go/src/net/http/clone.go +1 -10
- package/bin/go/src/net/http/cookie.go +5 -6
- package/bin/go/src/net/http/cookiejar/jar.go +6 -4
- package/bin/go/src/net/http/fcgi/fcgi.go +1 -2
- package/bin/go/src/net/http/fs.go +8 -1
- package/bin/go/src/net/http/http.go +29 -12
- package/bin/go/src/net/http/http2.go +561 -0
- package/bin/go/src/net/http/httptest/server.go +305 -60
- package/bin/go/src/net/http/httptrace/trace.go +78 -27
- package/bin/go/src/net/http/httputil/reverseproxy.go +0 -30
- package/bin/go/src/net/http/internal/common.go +14 -0
- package/bin/go/src/net/http/internal/http2/api.go +161 -0
- package/bin/go/src/net/http/internal/http2/ascii.go +53 -0
- package/bin/go/src/net/http/internal/http2/ciphers.go +641 -0
- package/bin/go/src/net/http/internal/http2/client_conn_pool.go +285 -0
- package/bin/go/src/net/http/internal/http2/config.go +118 -0
- package/bin/go/src/net/http/internal/http2/databuffer.go +146 -0
- package/bin/go/src/net/http/internal/http2/errors.go +173 -0
- package/bin/go/src/net/http/internal/http2/flow.go +175 -0
- package/bin/go/src/net/http/internal/http2/frame.go +1905 -0
- package/bin/go/src/net/http/internal/http2/gotrack.go +181 -0
- package/bin/go/src/net/http/internal/http2/http2.go +403 -0
- package/bin/go/src/net/http/internal/http2/pipe.go +184 -0
- package/bin/go/src/net/http/internal/http2/server.go +3238 -0
- package/bin/go/src/net/http/internal/http2/transport.go +3267 -0
- package/bin/go/src/net/http/internal/http2/write.go +380 -0
- package/bin/go/src/net/http/internal/http2/writesched.go +289 -0
- package/bin/go/src/net/http/internal/http2/writesched_priority_rfc9218.go +224 -0
- package/bin/go/src/net/http/internal/http2/writesched_roundrobin.go +119 -0
- package/bin/go/src/net/http/internal/httpcommon/httpcommon.go +8 -0
- package/bin/go/src/net/http/internal/httpsfv/httpsfv.go +666 -0
- package/bin/go/src/net/http/internal/sniff.go +304 -0
- package/bin/go/src/net/http/omithttp2.go +28 -49
- package/bin/go/src/net/http/pprof/pprof.go +11 -17
- package/bin/go/src/net/http/request.go +30 -3
- package/bin/go/src/net/http/response.go +6 -2
- package/bin/go/src/net/http/server.go +366 -144
- package/bin/go/src/net/http/sniff.go +2 -289
- package/bin/go/src/net/http/transfer.go +64 -21
- package/bin/go/src/net/http/transport.go +288 -83
- package/bin/go/src/net/ip.go +4 -0
- package/bin/go/src/net/ipsock_plan9.go +4 -4
- package/bin/go/src/net/ipsock_posix.go +8 -2
- package/bin/go/src/net/lookup.go +10 -0
- package/bin/go/src/net/lookup_windows.go +1 -1
- package/bin/go/src/net/mail/message.go +8 -3
- package/bin/go/src/net/net.go +2 -0
- package/bin/go/src/net/netip/netip.go +68 -61
- package/bin/go/src/net/sock_posix.go +1 -4
- package/bin/go/src/net/textproto/reader.go +11 -3
- package/bin/go/src/net/udpsock_plan9.go +2 -7
- package/bin/go/src/net/unixsock.go +11 -3
- package/bin/go/src/net/url/url.go +33 -0
- package/bin/go/src/os/dir_darwin.go +7 -0
- package/bin/go/src/os/exec/exec.go +16 -2
- package/bin/go/src/os/exec.go +1 -0
- package/bin/go/src/os/file.go +8 -1
- package/bin/go/src/os/root_windows.go +5 -1
- package/bin/go/src/os/signal/doc.go +3 -2
- package/bin/go/src/os/signal/signal.go +18 -6
- package/bin/go/src/os/statat_unix.go +5 -1
- package/bin/go/src/path/filepath/path.go +4 -0
- package/bin/go/src/reflect/asm_s390x.s +0 -10
- package/bin/go/src/reflect/iter.go +13 -13
- package/bin/go/src/reflect/makefunc.go +2 -1
- package/bin/go/src/reflect/map.go +61 -18
- package/bin/go/src/reflect/type.go +63 -46
- package/bin/go/src/reflect/value.go +59 -16
- package/bin/go/src/regexp/exec.go +5 -5
- package/bin/go/src/regexp/regexp.go +382 -319
- package/bin/go/src/regexp/syntax/parse.go +19 -10
- package/bin/go/src/runtime/HACKING.md +19 -0
- package/bin/go/src/runtime/_mkmalloc/constants.go +6 -4
- package/bin/go/src/runtime/_mkmalloc/go.mod +1 -1
- package/bin/go/src/runtime/_mkmalloc/mkmalloc.go +405 -64
- package/bin/go/src/runtime/alg.go +21 -53
- package/bin/go/src/runtime/asm_386.s +11 -461
- package/bin/go/src/runtime/asm_amd64.s +30 -537
- package/bin/go/src/runtime/asm_arm.s +4 -39
- package/bin/go/src/runtime/asm_arm64.s +15 -428
- package/bin/go/src/runtime/asm_loong64.s +37 -47
- package/bin/go/src/runtime/asm_mips64x.s +15 -15
- package/bin/go/src/runtime/asm_mipsx.s +0 -15
- package/bin/go/src/runtime/asm_ppc64x.h +0 -16
- package/bin/go/src/runtime/asm_ppc64x.s +13 -59
- package/bin/go/src/runtime/asm_riscv64.s +30 -91
- package/bin/go/src/runtime/asm_s390x.s +49 -49
- package/bin/go/src/runtime/asm_wasm.s +0 -15
- package/bin/go/src/runtime/atomic_riscv64.s +1 -1
- package/bin/go/src/runtime/cgo/abi_riscv64.h +72 -0
- package/bin/go/src/runtime/cgo/asm_riscv64.s +7 -48
- package/bin/go/src/runtime/cgo/callbacks.go +0 -42
- package/bin/go/src/runtime/cgo/callbacks_unix.go +58 -0
- package/bin/go/src/runtime/cgo/cgo.go +6 -3
- package/bin/go/src/runtime/cgo/gcc_aix_ppc64.S +21 -9
- package/bin/go/src/runtime/cgo/gcc_android.c +0 -26
- package/bin/go/src/runtime/cgo/gcc_clearenv.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_fatalf.c +14 -3
- package/bin/go/src/runtime/cgo/{gcc_libinit.c → gcc_libinit_unix.c} +18 -65
- package/bin/go/src/runtime/cgo/gcc_libinit_windows.c +23 -35
- package/bin/go/src/runtime/cgo/gcc_linux_ppc64x.S +16 -7
- package/bin/go/src/runtime/cgo/gcc_netbsd.c +8 -56
- package/bin/go/src/runtime/cgo/gcc_s390x.S +13 -4
- package/bin/go/src/runtime/cgo/gcc_sigaction.c +1 -1
- package/bin/go/src/runtime/cgo/gcc_unix.c +63 -0
- package/bin/go/src/runtime/cgo/gcc_util.c +0 -19
- package/bin/go/src/runtime/cgo/handle.go +3 -0
- package/bin/go/src/runtime/cgo/libcgo.h +7 -10
- package/bin/go/src/runtime/cgo/libcgo_unix.h +2 -10
- package/bin/go/src/runtime/cgo/pthread_unix.c +138 -0
- package/bin/go/src/runtime/cgo/sigaction.go +1 -1
- package/bin/go/src/runtime/cgo/windows.go +18 -1
- package/bin/go/src/runtime/cgo_ppc64x.go +1 -1
- package/bin/go/src/runtime/cgo_sigaction.go +1 -1
- package/bin/go/src/runtime/cgocall.go +10 -2
- package/bin/go/src/runtime/chan.go +2 -16
- package/bin/go/src/runtime/coro.go +2 -2
- package/bin/go/src/runtime/cpuflags.go +4 -3
- package/bin/go/src/runtime/debug/garbage.go +6 -6
- package/bin/go/src/runtime/debug/mod.go +1 -1
- package/bin/go/src/runtime/debug/stack.go +1 -1
- package/bin/go/src/runtime/debugcall.go +0 -3
- package/bin/go/src/runtime/error.go +6 -0
- package/bin/go/src/runtime/extern.go +5 -3
- package/bin/go/src/runtime/heapdump.go +1 -1
- package/bin/go/src/runtime/iface.go +20 -10
- package/bin/go/src/runtime/libinit.go +48 -0
- package/bin/go/src/runtime/lock_js.go +4 -2
- package/bin/go/src/runtime/lock_spinbit.go +13 -12
- package/bin/go/src/runtime/lock_wasip1.go +4 -2
- package/bin/go/src/runtime/lockrank.go +24 -21
- package/bin/go/src/runtime/lockrank_off.go +5 -2
- package/bin/go/src/runtime/lockrank_on.go +8 -7
- package/bin/go/src/runtime/malloc.go +10 -26
- package/bin/go/src/runtime/malloc_generated.go +819 -8628
- package/bin/go/src/runtime/malloc_stubs.go +187 -197
- package/bin/go/src/runtime/malloc_tables_generated.go +16 -882
- package/bin/go/src/runtime/map.go +4 -4
- package/bin/go/src/runtime/mbitmap.go +3 -1
- package/bin/go/src/runtime/mem.go +2 -6
- package/bin/go/src/runtime/mem_sbrk.go +4 -0
- package/bin/go/src/runtime/memclr_s390x.s +0 -5
- package/bin/go/src/runtime/memmove_s390x.s +0 -7
- package/bin/go/src/runtime/metrics/doc.go +5 -29
- package/bin/go/src/runtime/metrics/sample.go +3 -0
- package/bin/go/src/runtime/metrics.go +3 -2
- package/bin/go/src/runtime/mgc.go +41 -25
- package/bin/go/src/runtime/mgcmark.go +5 -0
- package/bin/go/src/runtime/mgcmark_greenteagc.go +1 -1
- package/bin/go/src/runtime/mgcpacer.go +1 -3
- package/bin/go/src/runtime/mgcscavenge.go +1 -1
- package/bin/go/src/runtime/mheap.go +1 -10
- package/bin/go/src/runtime/mklockrank.go +6 -1
- package/bin/go/src/runtime/mkpreempt.go +7 -0
- package/bin/go/src/runtime/mprof.go +12 -23
- package/bin/go/src/runtime/os2_aix.go +3 -3
- package/bin/go/src/runtime/os3_solaris.go +10 -0
- package/bin/go/src/runtime/os_aix.go +9 -2
- package/bin/go/src/runtime/os_darwin.go +3 -8
- package/bin/go/src/runtime/os_dragonfly.go +10 -0
- package/bin/go/src/runtime/os_js.go +10 -0
- package/bin/go/src/runtime/os_linux32.go +19 -6
- package/bin/go/src/runtime/os_netbsd.go +10 -0
- package/bin/go/src/runtime/os_openbsd.go +10 -0
- package/bin/go/src/runtime/os_plan9.go +10 -0
- package/bin/go/src/runtime/os_wasip1.go +10 -0
- package/bin/go/src/runtime/os_windows.go +45 -12
- package/bin/go/src/runtime/os_workdir_ios_arm64.go +98 -0
- package/bin/go/src/runtime/os_workdir_stub.go +9 -0
- package/bin/go/src/runtime/panic.go +93 -8
- package/bin/go/src/runtime/plugin.go +1 -3
- package/bin/go/src/runtime/pprof/pprof.go +11 -14
- package/bin/go/src/runtime/pprof/protomem.go +8 -15
- package/bin/go/src/runtime/preempt_loong64.s +8 -4
- package/bin/go/src/runtime/preempt_noxreg.go +2 -0
- package/bin/go/src/runtime/preempt_xreg.go +29 -2
- package/bin/go/src/runtime/print.go +9 -1
- package/bin/go/src/runtime/proc.go +68 -17
- package/bin/go/src/runtime/race_riscv64.s +40 -83
- package/bin/go/src/runtime/race_s390x.s +0 -16
- package/bin/go/src/runtime/rand.go +40 -12
- package/bin/go/src/runtime/{rt0_linux_ppc64le.s → rt0_linux_ppc64x.s} +12 -2
- package/bin/go/src/runtime/runtime-gdb.py +13 -2
- package/bin/go/src/runtime/runtime1.go +69 -18
- package/bin/go/src/runtime/runtime2.go +23 -22
- package/bin/go/src/runtime/secret/secret.go +7 -2
- package/bin/go/src/runtime/secret.go +27 -9
- package/bin/go/src/runtime/secret_nosecret.go +1 -1
- package/bin/go/src/runtime/sigaction.go +1 -1
- package/bin/go/src/runtime/signal_unix.go +5 -3
- package/bin/go/src/runtime/softfloat64.go +7 -2
- package/bin/go/src/runtime/string.go +4 -1
- package/bin/go/src/runtime/stubs.go +14 -4
- package/bin/go/src/runtime/stubs_amd64.go +4 -0
- package/bin/go/src/runtime/stubs_arm.go +10 -1
- package/bin/go/src/runtime/stubs_arm64.go +13 -0
- package/bin/go/src/runtime/stubs_loong64.go +18 -0
- package/bin/go/src/runtime/stubs_mips64x.go +9 -0
- package/bin/go/src/runtime/stubs_mipsx.go +11 -0
- package/bin/go/src/runtime/stubs_ppc64x.go +15 -0
- package/bin/go/src/runtime/stubs_riscv64.go +13 -0
- package/bin/go/src/runtime/stubs_s390x.go +18 -0
- package/bin/go/src/runtime/symtab.go +15 -16
- package/bin/go/src/runtime/synctest.go +2 -4
- package/bin/go/src/runtime/sys_aix_ppc64.s +9 -0
- package/bin/go/src/runtime/sys_darwin.go +2 -20
- package/bin/go/src/runtime/sys_darwin_amd64.s +1 -4
- package/bin/go/src/runtime/sys_darwin_arm64.s +3 -6
- package/bin/go/src/runtime/sys_freebsd_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_ios_arm64.go +151 -0
- package/bin/go/src/runtime/sys_ios_arm64.s +78 -0
- package/bin/go/src/runtime/sys_linux_amd64.s +7 -1
- package/bin/go/src/runtime/sys_linux_loong64.s +8 -14
- package/bin/go/src/runtime/sys_linux_ppc64x.s +0 -12
- package/bin/go/src/runtime/sys_linux_riscv64.s +2 -2
- package/bin/go/src/runtime/sys_openbsd.go +1 -1
- package/bin/go/src/runtime/sys_openbsd_riscv64.s +16 -16
- package/bin/go/src/runtime/syscall_windows.go +2 -6
- package/bin/go/src/runtime/time.go +19 -57
- package/bin/go/src/runtime/trace/subscribe.go +0 -3
- package/bin/go/src/runtime/traceback.go +90 -13
- package/bin/go/src/runtime/traceregion.go +3 -3
- package/bin/go/src/runtime/tracestring.go +5 -0
- package/bin/go/src/runtime/type.go +85 -15
- package/bin/go/src/runtime/utf8.go +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.mod +2 -2
- package/bin/go/src/simd/archsimd/_gen/go.sum +2 -2
- package/bin/go/src/simd/archsimd/_gen/main.go +106 -15
- package/bin/go/src/simd/archsimd/_gen/midway/comments.yaml +151 -0
- package/bin/go/src/simd/archsimd/_gen/midway/intersect_simd_ops.go +836 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/asbits.go +139 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/compare_natural.go +73 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/formatted_files.go +66 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/insert_ordered_map.go +159 -0
- package/bin/go/src/simd/archsimd/_gen/sgutil/merge_generic_ops.go +245 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arch.go +173 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/emit.go +166 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/instruction.go +642 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/load.go +54 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/operands.go +406 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/etetest.sh +1 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdGenericOps.go +19 -52
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdIntrinsics.go +162 -98
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdMachineOps.go +50 -19
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdTypes.go +198 -140
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdrules.go +278 -57
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdssa.go +133 -68
- package/bin/go/src/simd/archsimd/_gen/simdgen/gen_utility.go +163 -30
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_amd64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/go_arm64.yaml +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/godefs.go +113 -15
- package/bin/go/src/simd/archsimd/_gen/simdgen/main.go +62 -17
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/categories.yaml +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/{go.yaml → go_amd64.yaml} +12 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/go_arm64.yaml +91 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/categories.yaml +11 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/go_arm64.yaml +43 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/go_arm64.yaml +81 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/categories.yaml +11 -6
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/{go.yaml → go_amd64.yaml} +8 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/go_arm64.yaml +358 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/categories.yaml +5 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/{go.yaml → go_amd64.yaml} +4 -4
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/go_arm64.yaml +52 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/categories.yaml +29 -11
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/{go.yaml → go_amd64.yaml} +1 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/go_arm64.yaml +10 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/categories.yaml +2 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/{go.yaml → go_amd64.yaml} +2 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/go_arm64.yaml +35 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/categories.yaml +5 -8
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/{go.yaml → go_amd64.yaml} +7 -5
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/go_arm64.yaml +31 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/go_arm64.yaml +61 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/categories.yaml +79 -23
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/{go.yaml → go_amd64.yaml} +213 -104
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/go_arm64.yaml +264 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/categories.yaml +6 -2
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/{go.yaml → go_amd64.yaml} +3 -3
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/go_arm64.yaml +38 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/categories.yaml +7 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/go_arm64.yaml +36 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/categories.yaml +5 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/go_arm64.yaml +19 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/categories.yaml +16 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/go_arm64.yaml +71 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/categories.yaml +156 -41
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_amd64.yaml +299 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_arm64.yaml +202 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/types.yaml +2 -0
- package/bin/go/src/simd/archsimd/_gen/simdgen/xed.go +44 -11
- package/bin/go/src/simd/archsimd/_gen/tmplgen/main.go +668 -123
- package/bin/go/src/simd/archsimd/_gen/unify/closure.go +1 -1
- package/bin/go/src/simd/archsimd/_gen/unify/env.go +35 -3
- package/bin/go/src/simd/archsimd/_gen/unify/yaml.go +4 -4
- package/bin/go/src/simd/archsimd/_gen/wasmgen/main.go +2064 -0
- package/bin/go/src/simd/archsimd/clmul_arm64.go +79 -0
- package/bin/go/src/simd/archsimd/clmul_emulated.go +103 -0
- package/bin/go/src/simd/archsimd/compare_gen_arm64.go +155 -0
- package/bin/go/src/simd/archsimd/cpu.go +1 -1
- package/bin/go/src/simd/archsimd/cpu_other.go +21 -0
- package/bin/go/src/simd/archsimd/doc.go +0 -2
- package/bin/go/src/simd/archsimd/dummy.s +1 -1
- package/bin/go/src/simd/archsimd/generate.go +1 -1
- package/bin/go/src/simd/archsimd/internal/test_helpers/checkslices.go +2 -2
- package/bin/go/src/simd/archsimd/maskmerge_gen_amd64.go +330 -0
- package/bin/go/src/simd/archsimd/maskmerge_gen_arm64.go +167 -0
- package/bin/go/src/simd/archsimd/ops_amd64.go +4210 -2475
- package/bin/go/src/simd/archsimd/ops_arm64.go +2186 -0
- package/bin/go/src/simd/archsimd/ops_emulated_amd64.go +205 -0
- package/bin/go/src/simd/archsimd/ops_emulated_wasm.go +212 -0
- package/bin/go/src/simd/archsimd/ops_internal_amd64.go +500 -56
- package/bin/go/src/simd/archsimd/ops_internal_arm64.go +234 -0
- package/bin/go/src/simd/archsimd/ops_wasm.go +1795 -0
- package/bin/go/src/simd/archsimd/other_gen_amd64.go +576 -72
- package/bin/go/src/simd/archsimd/other_gen_arm64.go +519 -0
- package/bin/go/src/simd/archsimd/shuffles_amd64.go +217 -76
- package/bin/go/src/simd/archsimd/slice_gen_amd64.go +594 -532
- package/bin/go/src/simd/archsimd/slice_gen_arm64.go +125 -0
- package/bin/go/src/simd/archsimd/slicepart_128.go +302 -0
- package/bin/go/src/simd/archsimd/slicepart_amd64.go +36 -235
- package/bin/go/src/simd/archsimd/slicepart_arm64.go +217 -0
- package/bin/go/src/simd/archsimd/slicepart_wasm.go +217 -0
- package/bin/go/src/simd/archsimd/string.go +1 -1
- package/bin/go/src/simd/archsimd/types_amd64.go +165 -341
- package/bin/go/src/simd/archsimd/types_arm64.go +224 -0
- package/bin/go/src/simd/archsimd/types_wasm.go +354 -0
- package/bin/go/src/simd/archsimd/unsafe_helpers.go +60 -0
- package/bin/go/src/simd/doc.go +91 -0
- package/bin/go/src/simd/dummy.s +7 -0
- package/bin/go/src/simd/internal/bridge/decls_amd64.go +4085 -0
- package/bin/go/src/simd/internal/bridge/decls_arm64.go +1369 -0
- package/bin/go/src/simd/internal/bridge/decls_wasm.go +1369 -0
- package/bin/go/src/simd/internal/bridge/import_hook.go +13 -0
- package/bin/go/src/simd/internal/bridge/simd_emulated.go +3275 -0
- package/bin/go/src/simd/internal/bridge/simd_types_emulated.go +95 -0
- package/bin/go/src/simd/internal/bridge/tofrom_128.go +65 -0
- package/bin/go/src/simd/internal/bridge/tofrom_amd64.go +123 -0
- package/bin/go/src/simd/internal/bridge/tofrom_emulated.go +63 -0
- package/bin/go/src/simd/midway_amd64.go +34 -0
- package/bin/go/src/simd/midway_arm64.go +22 -0
- package/bin/go/src/simd/midway_common.go +138 -0
- package/bin/go/src/simd/midway_wasm.go +13 -0
- package/bin/go/src/simd/simd_emulated.go +3275 -0
- package/bin/go/src/simd/simd_stubs.go +1041 -0
- package/bin/go/src/simd/simd_types.go +96 -0
- package/bin/go/src/simd/tofrom_amd64.go +374 -0
- package/bin/go/src/simd/tofrom_arm64.go +290 -0
- package/bin/go/src/simd/tofrom_wasm.go +290 -0
- package/bin/go/src/slices/slices.go +9 -7
- package/bin/go/src/strconv/isprint.go +81 -51
- package/bin/go/src/strings/builder.go +1 -1
- package/bin/go/src/strings/strings.go +44 -35
- package/bin/go/src/sync/atomic/doc.go +7 -0
- package/bin/go/src/sync/cond.go +4 -2
- package/bin/go/src/sync/pool.go +6 -15
- package/bin/go/src/sync/runtime2_lockrank.go +1 -2
- package/bin/go/src/syscall/exec_bsd.go +3 -3
- package/bin/go/src/syscall/exec_libc2.go +1 -1
- package/bin/go/src/syscall/exec_linux.go +7 -2
- package/bin/go/src/syscall/fs_js.go +9 -4
- package/bin/go/src/syscall/fs_wasip1.go +6 -0
- package/bin/go/src/syscall/js/js.go +2 -2
- package/bin/go/src/syscall/linkname_bsd.go +8 -0
- package/bin/go/src/syscall/linkname_libc.go +1 -1
- package/bin/go/src/syscall/linkname_openbsd.go +0 -2
- package/bin/go/src/syscall/mkall.sh +6 -17
- package/bin/go/src/syscall/syscall_aix.go +5 -0
- package/bin/go/src/syscall/syscall_linux_386.go +9 -0
- package/bin/go/src/syscall/syscall_linux_amd64.go +5 -0
- package/bin/go/src/syscall/syscall_linux_arm.go +4 -0
- package/bin/go/src/syscall/syscall_linux_arm64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_loong64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_mipsx.go +4 -0
- package/bin/go/src/syscall/syscall_linux_riscv64.go +3 -0
- package/bin/go/src/syscall/syscall_linux_s390x.go +5 -0
- package/bin/go/src/syscall/syscall_openbsd.go +77 -2
- package/bin/go/src/syscall/syscall_plan9.go +25 -0
- package/bin/go/src/syscall/syscall_solaris.go +11 -0
- package/bin/go/src/syscall/syscall_unix.go +19 -0
- package/bin/go/src/syscall/syscall_windows.go +1 -1
- package/bin/go/src/testing/synctest/synctest.go +21 -0
- package/bin/go/src/testing/testing.go +211 -52
- package/bin/go/src/text/template/parse/lex.go +6 -6
- package/bin/go/src/text/template/parse/node.go +21 -16
- package/bin/go/src/text/template/parse/parse.go +23 -6
- package/bin/go/src/text/template/template.go +5 -3
- package/bin/go/src/time/format.go +3 -0
- package/bin/go/src/time/sleep.go +0 -33
- package/bin/go/src/time/tick.go +3 -2
- package/bin/go/src/time/time.go +2 -2
- package/bin/go/src/time/tzdata/zzipdata.go +1 -1
- package/bin/go/src/time/zoneinfo.go +5 -4
- package/bin/go/src/time/zoneinfo_read.go +1 -1
- package/bin/go/src/unicode/tables.go +898 -417
- package/bin/go/src/uuid/uuid.go +273 -0
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go +3 -3
- package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s +2066 -6598
- package/bin/go/src/vendor/golang.org/x/crypto/hkdf/hkdf.go +100 -0
- package/bin/go/src/vendor/golang.org/x/net/dns/dnsmessage/message.go +5 -4
- package/bin/go/src/vendor/golang.org/x/net/http/httpproxy/proxy.go +4 -4
- package/bin/go/src/vendor/golang.org/x/net/http3/http3.go +46 -0
- package/bin/go/src/vendor/golang.org/x/net/idna/{idna10.0.0.go → idna.go} +133 -35
- package/bin/go/src/vendor/golang.org/x/net/idna/punycode.go +4 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/net/idna/tables17.0.0.go +5302 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/body.go +231 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/conn.go +131 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/doc.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/errors.go +102 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/http3.go +95 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack.go +356 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_decode.go +81 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_encode.go +61 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_static.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/quic.go +40 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/roundtrip.go +423 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/server.go +866 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/settings.go +66 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/stream.go +260 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/transport.go +333 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/http3/varint.go +23 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/request.go +475 -0
- package/bin/go/src/vendor/golang.org/x/net/internal/quic/quicwire/wire.go +150 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ack_delay.go +26 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/acks.go +213 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/atomic_bits.go +31 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/config.go +158 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/congestion_reno.go +306 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn.go +434 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_close.go +340 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_flow.go +142 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_id.go +502 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_loss.go +85 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_recv.go +631 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_send.go +407 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/conn_streams.go +483 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/crypto_stream.go +157 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/dgram.go +53 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/doc.go +50 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/endpoint.go +478 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/errors.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/frame_debug.go +730 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/gate.go +86 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/idle.go +168 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/log.go +67 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/loss.go +521 -0
- package/bin/go/src/{runtime/cgo/gcc_stack_windows.c → vendor/golang.org/x/net/quic/math.go} +7 -2
- package/bin/go/src/vendor/golang.org/x/net/quic/pacer.go +129 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet.go +267 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_number.go +72 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_parser.go +519 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_protection.go +539 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/packet_writer.go +566 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/path.go +87 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/ping.go +14 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/pipe.go +173 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/qlog.go +272 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/queue.go +63 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/quic.go +221 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_disabled.go +10 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/race_enabled.go +27 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rangeset.go +193 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/retry.go +240 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/rtt.go +71 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet.go +119 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet_list.go +93 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/sent_val.go +103 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/skip.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stateless_reset.go +59 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream.go +1106 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/stream_limits.go +138 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/tls.go +123 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/transport_params.go +283 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp.go +28 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_darwin.go +45 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_linux.go +39 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_msg.go +245 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_other.go +62 -0
- package/bin/go/src/vendor/golang.org/x/net/quic/udp_packetconn.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s +12 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu.go +12 -7
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_arm64.go +3 -6
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go +67 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go +31 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +2 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_loong64.go +14 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +4 -2
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +1 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows.go +26 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go +38 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_x86.go +124 -50
- package/bin/go/src/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go +54 -0
- package/bin/go/src/vendor/golang.org/x/sys/cpu/zcpu_windows.go +48 -0
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule.go +4 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +1 -1
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go +2135 -0
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/forminfo.go +18 -8
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +1410 -1410
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/{tables13.0.0.go → tables17.0.0.go} +3530 -3186
- package/bin/go/src/vendor/modules.txt +14 -8
- package/bin/ttsc-cache.exe +0 -0
- package/bin/ttsc.exe +0 -0
- package/bin/ttscserver.exe +0 -0
- package/package.json +1 -1
- package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv_noasm.go +0 -13
- package/bin/go/src/go/internal/scannerhooks/hooks.go +0 -11
- package/bin/go/src/hash/maphash/maphash_purego.go +0 -200
- package/bin/go/src/hash/maphash/maphash_runtime.go +0 -64
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_off.go +0 -8
- package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_on.go +0 -8
- package/bin/go/src/internal/strconv/atofeisel.go +0 -166
- package/bin/go/src/internal/strconv/ftoadbox.go +0 -349
- package/bin/go/src/internal/strconv/ftoafixed.go +0 -184
- package/bin/go/src/internal/strconv/math.go +0 -179
- package/bin/go/src/net/http/h2_bundle.go +0 -12371
- package/bin/go/src/net/http/h2_error.go +0 -37
- package/bin/go/src/runtime/cgo/gcc_darwin_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_darwin_arm64.c +0 -148
- package/bin/go/src/runtime/cgo/gcc_dragonfly_amd64.c +0 -61
- package/bin/go/src/runtime/cgo/gcc_freebsd.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_freebsd_amd64.c +0 -72
- package/bin/go/src/runtime/cgo/gcc_linux.c +0 -67
- package/bin/go/src/runtime/cgo/gcc_linux_amd64.c +0 -92
- package/bin/go/src/runtime/cgo/gcc_linux_arm64.c +0 -88
- package/bin/go/src/runtime/cgo/gcc_linux_s390x.c +0 -64
- package/bin/go/src/runtime/cgo/gcc_openbsd.c +0 -62
- package/bin/go/src/runtime/cgo/gcc_ppc64x.c +0 -68
- package/bin/go/src/runtime/cgo/gcc_signal2_ios_arm64.c +0 -11
- package/bin/go/src/runtime/cgo/gcc_signal_ios_arm64.c +0 -213
- package/bin/go/src/runtime/cgo/gcc_signal_ios_nolldb.c +0 -10
- package/bin/go/src/runtime/cgo/gcc_solaris_amd64.c +0 -83
- package/bin/go/src/runtime/cgo/gcc_stack_darwin.c +0 -25
- package/bin/go/src/runtime/cgo/gcc_stack_unix.c +0 -48
- package/bin/go/src/runtime/cgo/gcc_windows_386.c +0 -55
- package/bin/go/src/runtime/cgo/gcc_windows_amd64.c +0 -54
- package/bin/go/src/runtime/cgo/gcc_windows_arm64.c +0 -42
- package/bin/go/src/runtime/cgo/libcgo_windows.h +0 -6
- package/bin/go/src/runtime/cgo/signal_ios_arm64.go +0 -10
- package/bin/go/src/runtime/cgo/signal_ios_arm64.s +0 -56
- package/bin/go/src/runtime/rt0_linux_ppc64.s +0 -28
- package/bin/go/src/runtime/stubs_ppc64.go +0 -12
- package/bin/go/src/simd/archsimd/_gen/simdgen/go.yaml +0 -1
- package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go.yaml +0 -172
- package/bin/go/src/syscall/asm_openbsd_mips64.s +0 -129
- package/bin/go/src/syscall/syscall_openbsd1.go +0 -12
- package/bin/go/src/syscall/syscall_openbsd_libc.go +0 -84
- package/bin/go/src/syscall/syscall_openbsd_mips64.go +0 -43
- package/bin/go/src/syscall/zerrors_openbsd_mips64.go +0 -1682
- package/bin/go/src/syscall/zsyscall_openbsd_mips64.go +0 -1289
- package/bin/go/src/syscall/zsysnum_openbsd_mips64.go +0 -218
- package/bin/go/src/syscall/ztypes_openbsd_mips64.go +0 -443
- package/bin/go/src/vendor/golang.org/x/net/idna/go118.go +0 -13
- package/bin/go/src/vendor/golang.org/x/net/idna/idna9.0.0.go +0 -717
- package/bin/go/src/vendor/golang.org/x/net/idna/pre_go118.go +0 -11
- package/bin/go/src/vendor/golang.org/x/net/idna/tables10.0.0.go +0 -4559
- package/bin/go/src/vendor/golang.org/x/net/idna/tables11.0.0.go +0 -4653
- package/bin/go/src/vendor/golang.org/x/net/idna/tables12.0.0.go +0 -4733
- package/bin/go/src/vendor/golang.org/x/net/idna/tables13.0.0.go +0 -4959
- package/bin/go/src/vendor/golang.org/x/net/idna/tables9.0.0.go +0 -4486
- package/bin/go/src/vendor/golang.org/x/net/idna/trie12.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/net/idna/trie13.0.0.go +0 -30
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +0 -11
- package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +0 -14
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +0 -1815
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +0 -1887
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +0 -1923
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +0 -1955
- package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +0 -1781
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +0 -7657
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +0 -7693
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +0 -7710
- package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +0 -7637
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/{go.yaml → go_amd64.yaml} +0 -0
- /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/{go.yaml → go_amd64.yaml} +0 -0
|
@@ -17,7 +17,7 @@ import (
|
|
|
17
17
|
"unicode/utf8"
|
|
18
18
|
)
|
|
19
19
|
|
|
20
|
-
// TrimSuffixWhitespace trims JSON from the end of b.
|
|
20
|
+
// TrimSuffixWhitespace trims JSON whitespace from the end of b.
|
|
21
21
|
func TrimSuffixWhitespace(b []byte) []byte {
|
|
22
22
|
// NOTE: The arguments and logic are kept simple to keep this inlinable.
|
|
23
23
|
n := len(b) - 1
|
|
@@ -59,8 +59,8 @@ func TrimSuffixByte(b []byte, c byte) []byte {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
// QuoteRune quotes the first rune in the input.
|
|
62
|
-
func QuoteRune
|
|
63
|
-
r, n := utf8.
|
|
62
|
+
func QuoteRune(b []byte) string {
|
|
63
|
+
r, n := utf8.DecodeRune(b)
|
|
64
64
|
if r == utf8.RuneError && n == 1 {
|
|
65
65
|
return `'\x` + strconv.FormatUint(uint64(b[0]), 16) + `'`
|
|
66
66
|
}
|
|
@@ -70,7 +70,7 @@ func QuoteRune[Bytes ~[]byte | ~string](b Bytes) string {
|
|
|
70
70
|
// CompareUTF16 lexicographically compares x to y according
|
|
71
71
|
// to the UTF-16 codepoints of the UTF-8 encoded input strings.
|
|
72
72
|
// This implements the ordering specified in RFC 8785, section 3.2.3.
|
|
73
|
-
func CompareUTF16
|
|
73
|
+
func CompareUTF16(x, y []byte) int {
|
|
74
74
|
// NOTE: This is an optimized, mostly allocation-free implementation
|
|
75
75
|
// of CompareUTF16Simple in wire_test.go. FuzzCompareUTF16 verifies that the
|
|
76
76
|
// two implementations agree on the result of comparing any two strings.
|
|
@@ -93,8 +93,8 @@ func CompareUTF16[Bytes ~[]byte | ~string](x, y Bytes) int {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
// Decode next pair of runes as UTF-8.
|
|
96
|
-
rx, nx := utf8.
|
|
97
|
-
ry, ny := utf8.
|
|
96
|
+
rx, nx := utf8.DecodeRune(x)
|
|
97
|
+
ry, ny := utf8.DecodeRune(y)
|
|
98
98
|
|
|
99
99
|
selfx := isUTF16Self(rx)
|
|
100
100
|
selfy := isUTF16Self(ry)
|
|
@@ -123,49 +123,41 @@ func CompareUTF16[Bytes ~[]byte | ~string](x, y Bytes) int {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
// truncateMaxUTF8 truncates b such it contains at least one rune.
|
|
127
|
-
//
|
|
128
|
-
// The utf8 package currently lacks generic variants, which complicates
|
|
129
|
-
// generic functions that operates on either []byte or string.
|
|
130
|
-
// As a hack, we always call the utf8 function operating on strings,
|
|
131
|
-
// but always truncate the input such that the result is identical.
|
|
132
|
-
//
|
|
133
|
-
// Example usage:
|
|
134
|
-
//
|
|
135
|
-
// utf8.DecodeRuneInString(string(truncateMaxUTF8(b)))
|
|
136
|
-
//
|
|
137
|
-
// Converting a []byte to a string is stack allocated since
|
|
138
|
-
// truncateMaxUTF8 guarantees that the []byte is short.
|
|
139
|
-
func truncateMaxUTF8[Bytes ~[]byte | ~string](b Bytes) Bytes {
|
|
140
|
-
// TODO(https://go.dev/issue/56948): Remove this function and
|
|
141
|
-
// instead directly call generic utf8 functions wherever used.
|
|
142
|
-
if len(b) > utf8.UTFMax {
|
|
143
|
-
return b[:utf8.UTFMax]
|
|
144
|
-
}
|
|
145
|
-
return b
|
|
146
|
-
}
|
|
147
|
-
|
|
148
126
|
// TODO(https://go.dev/issue/70547): Use utf8.ErrInvalid instead.
|
|
149
127
|
var ErrInvalidUTF8 = errors.New("invalid UTF-8")
|
|
150
128
|
|
|
151
129
|
func NewInvalidCharacterError[Bytes ~[]byte | ~string](prefix Bytes, where string) error {
|
|
152
|
-
|
|
153
|
-
return
|
|
130
|
+
_, n := utf8.DecodeRune([]byte(prefix))
|
|
131
|
+
return &InvalidTextError{"character", string(prefix[:n]), where}
|
|
154
132
|
}
|
|
155
133
|
|
|
156
134
|
func NewInvalidEscapeSequenceError[Bytes ~[]byte | ~string](what Bytes) error {
|
|
157
|
-
label := "escape sequence"
|
|
158
135
|
if len(what) > 6 {
|
|
159
|
-
|
|
136
|
+
return &InvalidTextError{"surrogate pair", string(what), "in string"}
|
|
160
137
|
}
|
|
161
|
-
|
|
138
|
+
return &InvalidTextError{"escape sequence", string(what), "in string"}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
type InvalidTextError struct {
|
|
142
|
+
Label string // e.g., "character" | "escape sequence" | "surrogate pair"
|
|
143
|
+
What string // raw invalid text
|
|
144
|
+
Where string // e.g., "in string" | "at start of value"
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
func (e *InvalidTextError) Error() string {
|
|
148
|
+
var what string
|
|
149
|
+
needEscape := strings.ContainsFunc(e.What, func(r rune) bool {
|
|
162
150
|
return r == '`' || r == utf8.RuneError || unicode.IsSpace(r) || !unicode.IsPrint(r)
|
|
163
|
-
})
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
151
|
+
})
|
|
152
|
+
switch {
|
|
153
|
+
case utf8.RuneCount([]byte(e.What)) == 1:
|
|
154
|
+
what = QuoteRune([]byte(e.What))
|
|
155
|
+
case needEscape:
|
|
156
|
+
what = strconv.Quote(e.What)
|
|
157
|
+
default:
|
|
158
|
+
what = "`" + e.What + "`"
|
|
168
159
|
}
|
|
160
|
+
return strings.TrimSuffix("invalid "+e.Label+" "+what+" "+e.Where, " ")
|
|
169
161
|
}
|
|
170
162
|
|
|
171
163
|
// TruncatePointer optionally truncates the JSON pointer,
|
|
@@ -34,11 +34,11 @@ import (
|
|
|
34
34
|
// return the end of the consumed JSON token as a position,
|
|
35
35
|
// also relative to the start of Decoder.buf.
|
|
36
36
|
//
|
|
37
|
-
// - In the event of an I/O
|
|
37
|
+
// - In the event of an I/O error or state machine violations,
|
|
38
38
|
// the implementation avoids mutating the state of Decoder
|
|
39
39
|
// (aside from the book-keeping needed to implement Decoder.fetch).
|
|
40
40
|
// For this reason, only Decoder.ReadToken and Decoder.ReadValue are
|
|
41
|
-
// responsible for
|
|
41
|
+
// responsible for updating Decoder.prevStart and Decoder.prevEnd.
|
|
42
42
|
//
|
|
43
43
|
// - For performance, much of the implementation uses the pattern of calling
|
|
44
44
|
// the inlinable consumeXXX functions first, and if more work is necessary,
|
|
@@ -71,7 +71,7 @@ import (
|
|
|
71
71
|
// d.ReadValue() // {"k":"v"}
|
|
72
72
|
// d.ReadToken() // }
|
|
73
73
|
//
|
|
74
|
-
// The above is one of many possible
|
|
74
|
+
// The above is one of many possible sequences of calls and
|
|
75
75
|
// may not represent the most sensible method to call for any given token/value.
|
|
76
76
|
// For example, it is probably more common to call [Decoder.ReadToken] to obtain a
|
|
77
77
|
// string token for object names.
|
|
@@ -80,7 +80,7 @@ type Decoder struct {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
// decoderState is the low-level state of Decoder.
|
|
83
|
-
// It has exported fields and
|
|
83
|
+
// It has exported fields and methods for use by the "json" package.
|
|
84
84
|
type decoderState struct {
|
|
85
85
|
state
|
|
86
86
|
decodeBuffer
|
|
@@ -126,7 +126,7 @@ func NewDecoder(r io.Reader, opts ...Options) *Decoder {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
// Reset resets a decoder such that it is reading afresh from r and
|
|
129
|
-
// configured with the provided options. Reset must not be called on
|
|
129
|
+
// configured with the provided options. Reset must not be called on
|
|
130
130
|
// a Decoder passed to the [encoding/json/v2.UnmarshalerFrom.UnmarshalJSONFrom] method
|
|
131
131
|
// or the [encoding/json/v2.UnmarshalFromFunc] function.
|
|
132
132
|
func (d *Decoder) Reset(r io.Reader, opts ...Options) {
|
|
@@ -154,7 +154,7 @@ func (d *decoderState) reset(b []byte, r io.Reader, opts ...Options) {
|
|
|
154
154
|
d.Struct = opts2
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
// Options returns the options used to construct the
|
|
157
|
+
// Options returns the options used to construct the decoder and
|
|
158
158
|
// may additionally contain semantic options passed to a
|
|
159
159
|
// [encoding/json/v2.UnmarshalDecode] call.
|
|
160
160
|
//
|
|
@@ -166,6 +166,8 @@ func (d *Decoder) Options() Options {
|
|
|
166
166
|
return &d.s.Struct
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
+
func (d *decoderState) options() *jsonopts.Struct { return &d.Struct }
|
|
170
|
+
|
|
169
171
|
var errBufferWriteAfterNext = errors.New("invalid bytes.Buffer.Write call after calling bytes.Buffer.Next")
|
|
170
172
|
|
|
171
173
|
// fetch reads at least 1 byte from the underlying io.Reader.
|
|
@@ -193,7 +195,7 @@ func (d *decoderState) fetch() error {
|
|
|
193
195
|
// may overwrite the contents of the current buffer.
|
|
194
196
|
//
|
|
195
197
|
// The user is trying to use a bytes.Buffer as a pipe,
|
|
196
|
-
// but a bytes.Buffer is poor implementation of a pipe,
|
|
198
|
+
// but a bytes.Buffer is a poor implementation of a pipe,
|
|
197
199
|
// the purpose-built io.Pipe should be used instead.
|
|
198
200
|
return &ioError{action: "read", err: errBufferWriteAfterNext}
|
|
199
201
|
}
|
|
@@ -407,10 +409,11 @@ func (d *decoderState) checkDelim(delim byte, next Kind) error {
|
|
|
407
409
|
}
|
|
408
410
|
|
|
409
411
|
// SkipValue is semantically equivalent to calling [Decoder.ReadValue] and discarding
|
|
410
|
-
// the result except that memory is not wasted trying to hold the entire result.
|
|
412
|
+
// the result, except that memory is not wasted trying to hold the entire result.
|
|
411
413
|
func (d *Decoder) SkipValue() error {
|
|
412
414
|
return d.s.SkipValue()
|
|
413
415
|
}
|
|
416
|
+
|
|
414
417
|
func (d *decoderState) SkipValue() error {
|
|
415
418
|
switch d.PeekKind() {
|
|
416
419
|
case '{', '[':
|
|
@@ -621,6 +624,7 @@ func (d *decoderState) ReadToken() (Token, error) {
|
|
|
621
624
|
if !d.Flags.Get(jsonflags.AllowDuplicateNames) {
|
|
622
625
|
d.Namespaces.push()
|
|
623
626
|
}
|
|
627
|
+
d.Flags.Clear(jsonflags.TagFlags) // tags only apply to current depth
|
|
624
628
|
pos += 1
|
|
625
629
|
d.prevStart, d.prevEnd = pos, pos
|
|
626
630
|
return BeginObject, nil
|
|
@@ -641,6 +645,7 @@ func (d *decoderState) ReadToken() (Token, error) {
|
|
|
641
645
|
if err = d.Tokens.pushArray(); err != nil {
|
|
642
646
|
return Token{}, wrapSyntacticError(d, err, pos, +1)
|
|
643
647
|
}
|
|
648
|
+
d.Flags.Clear(jsonflags.TagFlags) // tags only apply to current depth
|
|
644
649
|
pos += 1
|
|
645
650
|
d.prevStart, d.prevEnd = pos, pos
|
|
646
651
|
return BeginArray, nil
|
|
@@ -1127,24 +1132,54 @@ func (d *decoderState) consumeArray(flags *jsonwire.ValueFlags, pos, depth int)
|
|
|
1127
1132
|
// InputOffset returns the current input byte offset. It gives the location
|
|
1128
1133
|
// of the next byte immediately after the most recently returned token or value.
|
|
1129
1134
|
// The number of bytes actually read from the underlying [io.Reader] may be more
|
|
1130
|
-
// than this offset due to internal buffering
|
|
1135
|
+
// than this offset due to internal buffering.
|
|
1131
1136
|
func (d *Decoder) InputOffset() int64 {
|
|
1132
1137
|
return d.s.previousOffsetEnd()
|
|
1133
1138
|
}
|
|
1134
1139
|
|
|
1135
1140
|
// UnreadBuffer returns the data remaining in the unread buffer,
|
|
1136
1141
|
// which may contain zero or more bytes.
|
|
1142
|
+
// This is the data already consumed from the input [io.Reader],
|
|
1143
|
+
// but not yet read by a [Decoder.ReadToken] or [Decoder.ReadValue] call.
|
|
1144
|
+
// It may contain bytes that do not form valid JSON, since it has not yet
|
|
1145
|
+
// been validated according to the JSON grammar.
|
|
1146
|
+
// The exact amount of buffered data is an implementation detail
|
|
1147
|
+
// of the Decoder and may change over time.
|
|
1148
|
+
//
|
|
1149
|
+
// It is the caller's responsibility to concatenate this buffer with
|
|
1150
|
+
// the remainder of the input Reader to obtain the full sequence
|
|
1151
|
+
// of bytes after the last read JSON token or value.
|
|
1152
|
+
//
|
|
1137
1153
|
// The returned buffer must not be mutated while Decoder continues to be used.
|
|
1138
1154
|
// The buffer contents are valid until the next Peek, Read, or Skip call.
|
|
1139
1155
|
func (d *Decoder) UnreadBuffer() []byte {
|
|
1140
1156
|
return d.s.unreadBuffer()
|
|
1141
1157
|
}
|
|
1142
1158
|
|
|
1143
|
-
// StackDepth returns the depth of the state machine for
|
|
1159
|
+
// StackDepth returns the depth of the state machine for JSON data
|
|
1160
|
+
// that has already been read.
|
|
1144
1161
|
// Each level on the stack represents a nested JSON object or array.
|
|
1145
|
-
// It is incremented whenever
|
|
1162
|
+
// It is incremented whenever a [BeginObject] or [BeginArray] token is encountered
|
|
1146
1163
|
// and decremented whenever an [EndObject] or [EndArray] token is encountered.
|
|
1147
|
-
//
|
|
1164
|
+
//
|
|
1165
|
+
// StackDepth returns 0 when not inside any object or array.
|
|
1166
|
+
// In particular, it returns 0 before any tokens have been read,
|
|
1167
|
+
// after any top-level value has been read, and between values
|
|
1168
|
+
// when decoding a stream of top-level values (e.g., NDJSON).
|
|
1169
|
+
// StackDepth returns 1 inside a top-level object or array,
|
|
1170
|
+
// 2 inside a nested object or array, and so on.
|
|
1171
|
+
//
|
|
1172
|
+
// For example, consider decoding the following JSON:
|
|
1173
|
+
//
|
|
1174
|
+
// {"a": [1, 2], "b": {"c": 3}}
|
|
1175
|
+
//
|
|
1176
|
+
// While decoding, StackDepth would report the following:
|
|
1177
|
+
//
|
|
1178
|
+
// - At the start, StackDepth reports 0.
|
|
1179
|
+
// - After decoding the outer '{', StackDepth reports 1.
|
|
1180
|
+
// - After decoding the inner '[', StackDepth reports 2.
|
|
1181
|
+
// - After decoding the inner ']', StackDepth reports 1.
|
|
1182
|
+
// - After decoding the outer '}', StackDepth reports 0.
|
|
1148
1183
|
func (d *Decoder) StackDepth() int {
|
|
1149
1184
|
// NOTE: Keep in sync with Encoder.StackDepth.
|
|
1150
1185
|
return d.s.Tokens.Depth() - 1
|
|
@@ -1158,9 +1193,9 @@ func (d *Decoder) StackDepth() int {
|
|
|
1158
1193
|
// - [KindBeginObject] for a level representing a JSON object, and
|
|
1159
1194
|
// - [KindBeginArray] for a level representing a JSON array.
|
|
1160
1195
|
//
|
|
1161
|
-
// It also reports the length of that JSON object or array.
|
|
1196
|
+
// It also reports the length of that JSON object or array decoded so far.
|
|
1162
1197
|
// Each name and value in a JSON object is counted separately,
|
|
1163
|
-
// so the effective number of members
|
|
1198
|
+
// so the effective number of members is half the length.
|
|
1164
1199
|
// A complete JSON object must have an even length.
|
|
1165
1200
|
func (d *Decoder) StackIndex(i int) (Kind, int64) {
|
|
1166
1201
|
// NOTE: Keep in sync with Encoder.StackIndex.
|
|
@@ -10,11 +10,6 @@
|
|
|
10
10
|
// primitive data types such as booleans, strings, and numbers,
|
|
11
11
|
// in addition to structured data types such as objects and arrays.
|
|
12
12
|
//
|
|
13
|
-
// This package (encoding/json/jsontext) is experimental,
|
|
14
|
-
// and not subject to the Go 1 compatibility promise.
|
|
15
|
-
// It only exists when building with the GOEXPERIMENT=jsonv2 environment variable set.
|
|
16
|
-
// Most users should use [encoding/json].
|
|
17
|
-
//
|
|
18
13
|
// The [Encoder] and [Decoder] types are used to encode or decode
|
|
19
14
|
// a stream of JSON tokens or values.
|
|
20
15
|
//
|
|
@@ -39,7 +34,7 @@
|
|
|
39
34
|
//
|
|
40
35
|
// - a JSON literal, string, or number
|
|
41
36
|
// - a JSON object (e.g., `{"name":"value"}`)
|
|
42
|
-
// - a JSON array (e.g., `[1,2,3
|
|
37
|
+
// - a JSON array (e.g., `[1,2,3]`)
|
|
43
38
|
//
|
|
44
39
|
// A JSON value is represented by the [Value] type in Go and is a []byte
|
|
45
40
|
// containing the raw textual representation of the value. There is some overlap
|
|
@@ -48,18 +43,18 @@
|
|
|
48
43
|
//
|
|
49
44
|
// The [Encoder] and [Decoder] types contain methods to read or write the next
|
|
50
45
|
// [Token] or [Value] in a sequence. They maintain a state machine to validate
|
|
51
|
-
// whether the sequence of JSON tokens and/or values produces
|
|
46
|
+
// whether the sequence of JSON tokens and/or values produces valid JSON.
|
|
52
47
|
// [Options] may be passed to the [NewEncoder] or [NewDecoder] constructors
|
|
53
|
-
// to configure the
|
|
48
|
+
// to configure the behavior of encoding and decoding.
|
|
54
49
|
//
|
|
55
50
|
// # Terminology
|
|
56
51
|
//
|
|
57
52
|
// The terms "encode" and "decode" are used for syntactic functionality
|
|
58
53
|
// that is concerned with processing JSON based on its grammar, and
|
|
59
54
|
// the terms "marshal" and "unmarshal" are used for semantic functionality
|
|
60
|
-
// that determines the meaning of JSON values as Go values and vice
|
|
61
|
-
// This package
|
|
62
|
-
// while [encoding/json/v2] deals with JSON
|
|
55
|
+
// that determines the meaning of JSON values as Go values and vice versa.
|
|
56
|
+
// This package deals with JSON syntax,
|
|
57
|
+
// while [encoding/json/v2] deals with JSON semantics.
|
|
63
58
|
// The goal is to provide a clear distinction between functionality that
|
|
64
59
|
// is purely concerned with encoding versus that of marshaling.
|
|
65
60
|
// For example, one can directly encode a stream of JSON tokens without
|
|
@@ -16,7 +16,7 @@ import (
|
|
|
16
16
|
"encoding/json/internal/jsonwire"
|
|
17
17
|
)
|
|
18
18
|
|
|
19
|
-
// Encoder is a streaming encoder
|
|
19
|
+
// Encoder is a streaming encoder to raw JSON tokens and values.
|
|
20
20
|
// It is used to write a stream of top-level JSON values,
|
|
21
21
|
// each terminated with a newline character.
|
|
22
22
|
//
|
|
@@ -41,7 +41,7 @@ import (
|
|
|
41
41
|
// e.WriteValue(Value(`{"k":"v"}`)) // {"k":"v"}
|
|
42
42
|
// e.WriteToken(EndObject) // }
|
|
43
43
|
//
|
|
44
|
-
// The above is one of many possible
|
|
44
|
+
// The above is one of many possible sequences of calls and
|
|
45
45
|
// may not represent the most sensible method to call for any given token/value.
|
|
46
46
|
// For example, it is probably more common to call [Encoder.WriteToken] with a string
|
|
47
47
|
// for object names.
|
|
@@ -50,7 +50,7 @@ type Encoder struct {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
// encoderState is the low-level state of Encoder.
|
|
53
|
-
// It has exported fields and
|
|
53
|
+
// It has exported fields and methods for use by the "json" package.
|
|
54
54
|
type encoderState struct {
|
|
55
55
|
state
|
|
56
56
|
encodeBuffer
|
|
@@ -96,7 +96,7 @@ func NewEncoder(w io.Writer, opts ...Options) *Encoder {
|
|
|
96
96
|
|
|
97
97
|
// Reset resets an encoder such that it is writing afresh to w and
|
|
98
98
|
// configured with the provided options. Reset must not be called on
|
|
99
|
-
//
|
|
99
|
+
// an Encoder passed to the [encoding/json/v2.MarshalerTo.MarshalJSONTo] method
|
|
100
100
|
// or the [encoding/json/v2.MarshalToFunc] function.
|
|
101
101
|
func (e *Encoder) Reset(w io.Writer, opts ...Options) {
|
|
102
102
|
switch {
|
|
@@ -124,21 +124,12 @@ func (e *encoderState) reset(b []byte, w io.Writer, opts ...Options) {
|
|
|
124
124
|
opts2 := jsonopts.Struct{} // avoid mutating e.Struct in case it is part of opts
|
|
125
125
|
opts2.Join(opts...)
|
|
126
126
|
e.Struct = opts2
|
|
127
|
-
if e.Flags.Get(jsonflags.Multiline) {
|
|
128
|
-
|
|
129
|
-
e.Flags.Set(jsonflags.SpaceAfterColon | 1)
|
|
130
|
-
}
|
|
131
|
-
if !e.Flags.Has(jsonflags.SpaceAfterComma) {
|
|
132
|
-
e.Flags.Set(jsonflags.SpaceAfterComma | 0)
|
|
133
|
-
}
|
|
134
|
-
if !e.Flags.Has(jsonflags.Indent) {
|
|
135
|
-
e.Flags.Set(jsonflags.Indent | 1)
|
|
136
|
-
e.Indent = "\t"
|
|
137
|
-
}
|
|
127
|
+
if e.Struct.Flags.Get(jsonflags.Multiline) {
|
|
128
|
+
e.Struct.InitializeMultiline()
|
|
138
129
|
}
|
|
139
130
|
}
|
|
140
131
|
|
|
141
|
-
// Options returns the options used to construct the
|
|
132
|
+
// Options returns the options used to construct the encoder and
|
|
142
133
|
// may additionally contain semantic options passed to a
|
|
143
134
|
// [encoding/json/v2.MarshalEncode] call.
|
|
144
135
|
//
|
|
@@ -150,6 +141,8 @@ func (e *Encoder) Options() Options {
|
|
|
150
141
|
return &e.s.Struct
|
|
151
142
|
}
|
|
152
143
|
|
|
144
|
+
func (e *encoderState) options() *jsonopts.Struct { return &e.Struct }
|
|
145
|
+
|
|
153
146
|
// NeedFlush determines whether to flush at this point.
|
|
154
147
|
func (e *encoderState) NeedFlush() bool {
|
|
155
148
|
// NOTE: This function is carefully written to be inlinable.
|
|
@@ -178,7 +171,7 @@ func (e *encoderState) Flush() error {
|
|
|
178
171
|
|
|
179
172
|
// Specialize bytes.Buffer for better performance.
|
|
180
173
|
if bb, ok := e.wr.(*bytes.Buffer); ok {
|
|
181
|
-
// If e.
|
|
174
|
+
// If e.Buf already aliases the internal buffer of bb,
|
|
182
175
|
// then the Write call simply increments the internal offset,
|
|
183
176
|
// otherwise Write operates as expected.
|
|
184
177
|
// See https://go.dev/issue/42986.
|
|
@@ -213,7 +206,7 @@ func (e *encoderState) Flush() error {
|
|
|
213
206
|
e.Buf = e.Buf[:0]
|
|
214
207
|
|
|
215
208
|
// Check whether to grow the buffer.
|
|
216
|
-
// Note that cap(e.
|
|
209
|
+
// Note that cap(e.Buf) may already exceed maxBufferSize since
|
|
217
210
|
// an append elsewhere already grew it to store a large token.
|
|
218
211
|
const maxBufferSize = 4 << 10
|
|
219
212
|
const growthSizeFactor = 2 // higher value is faster
|
|
@@ -229,7 +222,7 @@ func (e *encoderState) Flush() error {
|
|
|
229
222
|
|
|
230
223
|
return nil
|
|
231
224
|
}
|
|
232
|
-
func (
|
|
225
|
+
func (e *encodeBuffer) offsetAt(pos int) int64 { return e.baseOffset + int64(pos) }
|
|
233
226
|
func (e *encodeBuffer) previousOffsetEnd() int64 { return e.baseOffset + int64(len(e.Buf)) }
|
|
234
227
|
func (e *encodeBuffer) unflushedBuffer() []byte { return e.Buf }
|
|
235
228
|
|
|
@@ -344,9 +337,10 @@ func (e *encoderState) UnwriteOnlyObjectMemberName() string {
|
|
|
344
337
|
// For example, it is an error to provide a number when the encoder
|
|
345
338
|
// is expecting an object name (which is always a string), or
|
|
346
339
|
// to provide an end object delimiter when the encoder is finishing an array.
|
|
347
|
-
// If the provided token is invalid, then
|
|
340
|
+
// If the provided token is invalid, then WriteToken reports a [SyntacticError] and
|
|
348
341
|
// the internal state remains unchanged. The offset reported
|
|
349
|
-
// in [SyntacticError] will be
|
|
342
|
+
// in [SyntacticError] will be the [Encoder.OutputOffset] plus any delimiter
|
|
343
|
+
// or whitespace characters that would have preceded the provided token.
|
|
350
344
|
func (e *Encoder) WriteToken(t Token) error {
|
|
351
345
|
return e.s.WriteToken(t)
|
|
352
346
|
}
|
|
@@ -405,6 +399,7 @@ func (e *encoderState) WriteToken(t Token) error {
|
|
|
405
399
|
if !e.Flags.Get(jsonflags.AllowDuplicateNames) {
|
|
406
400
|
e.Namespaces.push()
|
|
407
401
|
}
|
|
402
|
+
e.Flags.Clear(jsonflags.TagFlags) // tags only apply to current depth
|
|
408
403
|
case '}':
|
|
409
404
|
b = append(b, '}')
|
|
410
405
|
if err = e.Tokens.popObject(); err != nil {
|
|
@@ -417,6 +412,7 @@ func (e *encoderState) WriteToken(t Token) error {
|
|
|
417
412
|
case '[':
|
|
418
413
|
b = append(b, '[')
|
|
419
414
|
err = e.Tokens.pushArray()
|
|
415
|
+
e.Flags.Clear(jsonflags.TagFlags) // tags only apply to current depth
|
|
420
416
|
case ']':
|
|
421
417
|
b = append(b, ']')
|
|
422
418
|
err = e.Tokens.popArray()
|
|
@@ -471,7 +467,7 @@ func (e *encoderState) AppendRaw(k Kind, safeASCII bool, appendFn func([]byte) (
|
|
|
471
467
|
if !isVerbatim {
|
|
472
468
|
var err error
|
|
473
469
|
b2 := append(e.availBuffer, b[pos+len(`"`):len(b)-len(`"`)]...)
|
|
474
|
-
b, err = jsonwire.AppendQuote(b[:pos],
|
|
470
|
+
b, err = jsonwire.AppendQuote(b[:pos], b2, &e.Flags)
|
|
475
471
|
e.availBuffer = b2[:0]
|
|
476
472
|
if err != nil {
|
|
477
473
|
return wrapSyntacticError(e, err, pos, +1)
|
|
@@ -482,7 +478,7 @@ func (e *encoderState) AppendRaw(k Kind, safeASCII bool, appendFn func([]byte) (
|
|
|
482
478
|
if e.Tokens.Last.NeedObjectName() {
|
|
483
479
|
if !e.Flags.Get(jsonflags.AllowDuplicateNames) {
|
|
484
480
|
if !e.Tokens.Last.isValidNamespace() {
|
|
485
|
-
return wrapSyntacticError(e,
|
|
481
|
+
return wrapSyntacticError(e, errInvalidNamespace, pos, +1)
|
|
486
482
|
}
|
|
487
483
|
if e.Tokens.Last.isActiveNamespace() && !e.Namespaces.Last().insertQuoted(b[pos:], isVerbatim) {
|
|
488
484
|
err = wrapWithObjectName(ErrDuplicateName, b[pos:])
|
|
@@ -522,9 +518,9 @@ func (e *encoderState) AppendRaw(k Kind, safeASCII bool, appendFn func([]byte) (
|
|
|
522
518
|
//
|
|
523
519
|
// The provided value kind must be consistent with the JSON grammar
|
|
524
520
|
// (see examples on [Encoder.WriteToken]). If the provided value is invalid,
|
|
525
|
-
// then
|
|
526
|
-
// The offset reported in [SyntacticError] will be
|
|
527
|
-
//
|
|
521
|
+
// then WriteValue reports a [SyntacticError] and the internal state remains unchanged.
|
|
522
|
+
// The offset reported in [SyntacticError] will be the [Encoder.OutputOffset]
|
|
523
|
+
// plus the offset into v of any encountered syntax error.
|
|
528
524
|
func (e *Encoder) WriteValue(v Value) error {
|
|
529
525
|
return e.s.WriteValue(v)
|
|
530
526
|
}
|
|
@@ -541,7 +537,7 @@ func (e *encoderState) WriteValue(v Value) error {
|
|
|
541
537
|
}
|
|
542
538
|
pos := len(b) // offset before the value
|
|
543
539
|
|
|
544
|
-
// Append the value the output.
|
|
540
|
+
// Append the value to the output.
|
|
545
541
|
var n int
|
|
546
542
|
n += jsonwire.ConsumeWhitespace(v[n:])
|
|
547
543
|
b, m, err := e.reformatValue(b, v[n:], e.Tokens.Depth())
|
|
@@ -715,7 +711,7 @@ func (e *encoderState) reformatValue(dst []byte, src Value, depth int) ([]byte,
|
|
|
715
711
|
}
|
|
716
712
|
|
|
717
713
|
// reformatObject parses a JSON object from the start of src and
|
|
718
|
-
// appends it to the end of
|
|
714
|
+
// appends it to the end of dst, reformatting whitespace and strings as needed.
|
|
719
715
|
// It returns the extended dst buffer and the number of consumed input bytes.
|
|
720
716
|
func (e *encoderState) reformatObject(dst []byte, src Value, depth int) ([]byte, int, error) {
|
|
721
717
|
// Append object begin.
|
|
@@ -900,7 +896,7 @@ func (e *encoderState) reformatArray(dst []byte, src Value, depth int) ([]byte,
|
|
|
900
896
|
// OutputOffset returns the current output byte offset. It gives the location
|
|
901
897
|
// of the next byte immediately after the most recently written token or value.
|
|
902
898
|
// The number of bytes actually written to the underlying [io.Writer] may be less
|
|
903
|
-
// than this offset due to internal buffering
|
|
899
|
+
// than this offset due to internal buffering.
|
|
904
900
|
func (e *Encoder) OutputOffset() int64 {
|
|
905
901
|
return e.s.previousOffsetEnd()
|
|
906
902
|
}
|
|
@@ -911,19 +907,21 @@ func (e *Encoder) OutputOffset() int64 {
|
|
|
911
907
|
//
|
|
912
908
|
// Example usage:
|
|
913
909
|
//
|
|
914
|
-
// b :=
|
|
910
|
+
// b := e.AvailableBuffer()
|
|
915
911
|
// b = append(b, '"')
|
|
916
912
|
// b = appendString(b, v) // append the string formatting of v
|
|
917
913
|
// b = append(b, '"')
|
|
918
|
-
// ... :=
|
|
914
|
+
// ... := e.WriteValue(b)
|
|
919
915
|
//
|
|
920
|
-
//
|
|
916
|
+
// Note that WriteValue expects a valid JSON value. Constructing a value in a
|
|
917
|
+
// raw []byte requires more care than using constructor functions like
|
|
918
|
+
// [String], which always return valid [Token]s or [Value]s.
|
|
921
919
|
func (e *Encoder) AvailableBuffer() []byte {
|
|
922
|
-
// NOTE: We don't return e.
|
|
920
|
+
// NOTE: We don't return e.Buf[len(e.Buf):cap(e.Buf)] since WriteValue would
|
|
923
921
|
// need to take special care to avoid mangling the data while reformatting.
|
|
924
|
-
// WriteValue can't easily identify whether the input Value aliases e.
|
|
922
|
+
// WriteValue can't easily identify whether the input Value aliases e.Buf
|
|
925
923
|
// without using unsafe.Pointer. Thus, we just return a different buffer.
|
|
926
|
-
// Should this ever alias e.
|
|
924
|
+
// Should this ever alias e.Buf, we need to consider how it operates with
|
|
927
925
|
// the specialized performance optimization for bytes.Buffer.
|
|
928
926
|
n := 1 << bits.Len(uint(e.s.maxValue|63)) // fast approximation for max length
|
|
929
927
|
if cap(e.s.availBuffer) < n {
|
|
@@ -934,9 +932,27 @@ func (e *Encoder) AvailableBuffer() []byte {
|
|
|
934
932
|
|
|
935
933
|
// StackDepth returns the depth of the state machine for written JSON data.
|
|
936
934
|
// Each level on the stack represents a nested JSON object or array.
|
|
937
|
-
// It is incremented whenever
|
|
935
|
+
// It is incremented whenever a [BeginObject] or [BeginArray] token is encountered
|
|
938
936
|
// and decremented whenever an [EndObject] or [EndArray] token is encountered.
|
|
939
|
-
//
|
|
937
|
+
//
|
|
938
|
+
// StackDepth returns 0 when not inside any object or array.
|
|
939
|
+
// In particular, it returns 0 before any tokens have been written,
|
|
940
|
+
// after any top-level value has been written, and between values
|
|
941
|
+
// when encoding a stream of top-level values (e.g., NDJSON).
|
|
942
|
+
// StackDepth returns 1 inside a top-level object or array,
|
|
943
|
+
// 2 inside a nested object or array, and so on.
|
|
944
|
+
//
|
|
945
|
+
// For example, consider encoding the following JSON:
|
|
946
|
+
//
|
|
947
|
+
// {"a": [1, 2], "b": {"c": 3}}
|
|
948
|
+
//
|
|
949
|
+
// While encoding, StackDepth would report the following:
|
|
950
|
+
//
|
|
951
|
+
// - At the start, StackDepth reports 0.
|
|
952
|
+
// - After encoding the outer '{', StackDepth reports 1.
|
|
953
|
+
// - After encoding the inner '[', StackDepth reports 2.
|
|
954
|
+
// - After encoding the inner ']', StackDepth reports 1.
|
|
955
|
+
// - After encoding the outer '}', StackDepth reports 0.
|
|
940
956
|
func (e *Encoder) StackDepth() int {
|
|
941
957
|
// NOTE: Keep in sync with Decoder.StackDepth.
|
|
942
958
|
return e.s.Tokens.Depth() - 1
|
|
@@ -950,9 +966,9 @@ func (e *Encoder) StackDepth() int {
|
|
|
950
966
|
// - [KindBeginObject] for a level representing a JSON object, and
|
|
951
967
|
// - [KindBeginArray] for a level representing a JSON array.
|
|
952
968
|
//
|
|
953
|
-
// It also reports the length of that JSON object or array.
|
|
969
|
+
// It also reports the length of that JSON object or array encoded so far.
|
|
954
970
|
// Each name and value in a JSON object is counted separately,
|
|
955
|
-
// so the effective number of members
|
|
971
|
+
// so the effective number of members is half the length.
|
|
956
972
|
// A complete JSON object must have an even length.
|
|
957
973
|
func (e *Encoder) StackIndex(i int) (Kind, int64) {
|
|
958
974
|
// NOTE: Keep in sync with Decoder.StackIndex.
|
|
@@ -11,6 +11,8 @@ import (
|
|
|
11
11
|
"io"
|
|
12
12
|
"strconv"
|
|
13
13
|
|
|
14
|
+
"encoding/json/internal/jsonflags"
|
|
15
|
+
"encoding/json/internal/jsonopts"
|
|
14
16
|
"encoding/json/internal/jsonwire"
|
|
15
17
|
)
|
|
16
18
|
|
|
@@ -28,7 +30,20 @@ func (e *ioError) Unwrap() error {
|
|
|
28
30
|
return e.err
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
type numError struct {
|
|
34
|
+
accessor string // either "Int", "Uint", or "Float"
|
|
35
|
+
value string // e.g., "1e1000"
|
|
36
|
+
err error // either [strconv.ErrSyntax] or [strconv.ErrRange]
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
func (e *numError) Error() string {
|
|
40
|
+
return "jsontext.Token(" + e.value + ")." + e.accessor + " error: " + e.err.Error()
|
|
41
|
+
}
|
|
42
|
+
func (e *numError) Unwrap() error {
|
|
43
|
+
return e.err
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// SyntacticError is a description of an error that occurred when
|
|
32
47
|
// encoding or decoding JSON according to the grammar.
|
|
33
48
|
//
|
|
34
49
|
// The contents of this error as produced by this package may change over time.
|
|
@@ -36,7 +51,7 @@ type SyntacticError struct {
|
|
|
36
51
|
requireKeyedLiterals
|
|
37
52
|
nonComparable
|
|
38
53
|
|
|
39
|
-
// ByteOffset indicates that an error occurred after this byte offset.
|
|
54
|
+
// ByteOffset indicates that an error occurred at or after this byte offset.
|
|
40
55
|
ByteOffset int64
|
|
41
56
|
// JSONPointer indicates that an error occurred within this JSON value
|
|
42
57
|
// as indicated using the JSON Pointer notation (see RFC 6901).
|
|
@@ -53,10 +68,11 @@ type SyntacticError struct {
|
|
|
53
68
|
// It takes a relative offset pos that can be resolved into
|
|
54
69
|
// an absolute offset using state.offsetAt.
|
|
55
70
|
//
|
|
56
|
-
// It takes a where that
|
|
71
|
+
// It takes a where that specifies how the JSON pointer is derived.
|
|
57
72
|
// If the underlying error is a [pointerSuffixError],
|
|
58
73
|
// then the suffix is appended to the derived pointer.
|
|
59
74
|
func wrapSyntacticError(state interface {
|
|
75
|
+
options() *jsonopts.Struct
|
|
60
76
|
offsetAt(pos int) int64
|
|
61
77
|
AppendStackPointer(b []byte, where int) []byte
|
|
62
78
|
}, err error, pos, where int) error {
|
|
@@ -83,6 +99,21 @@ func wrapSyntacticError(state interface {
|
|
|
83
99
|
}
|
|
84
100
|
err = jsonwire.NewInvalidCharacterError(d.buf[pos:], where)
|
|
85
101
|
}
|
|
102
|
+
if state.options().Flags.Get(jsonflags.ReportErrorsWithLegacySemantics) && err != io.ErrUnexpectedEOF {
|
|
103
|
+
// The v1 error offset more consistently reported
|
|
104
|
+
// the number of bytes read that lead to the error.
|
|
105
|
+
// This implies that the offset is after the invalid text.
|
|
106
|
+
if werr, ok := err.(*jsonwire.InvalidTextError); ok && werr != nil {
|
|
107
|
+
offset += int64(len(werr.What))
|
|
108
|
+
} else {
|
|
109
|
+
// This implies a structural error (e.g., parsing a JSON number
|
|
110
|
+
// when the grammar is expecting a JSON string for the object name).
|
|
111
|
+
// In such a case, simply increment by one, since the first byte
|
|
112
|
+
// is usually sufficient to indicate that the incoming token
|
|
113
|
+
// cannot possibly be correct.
|
|
114
|
+
offset++
|
|
115
|
+
}
|
|
116
|
+
}
|
|
86
117
|
return &SyntacticError{ByteOffset: offset, JSONPointer: Pointer(ptr), Err: err}
|
|
87
118
|
}
|
|
88
119
|
|
|
@@ -12,6 +12,20 @@ import (
|
|
|
12
12
|
"encoding/json/internal"
|
|
13
13
|
)
|
|
14
14
|
|
|
15
|
+
// TODO(https://go.dev/issue/73435): Remove the Internal symbol.
|
|
16
|
+
//
|
|
17
|
+
// The Go language lacks a 3rd category of visibility where
|
|
18
|
+
// certain symbols can only be referenced from within the same module.
|
|
19
|
+
// One solution to this is to put the entirety of a package with
|
|
20
|
+
// both public and module-only symbols exposed as an internal package.
|
|
21
|
+
// A separate, public package can re-export all of the public symbols
|
|
22
|
+
// via type aliases and thus ensuring module-only symbols cannot be
|
|
23
|
+
// referenced by the end-user. While this works, it unfortunately
|
|
24
|
+
// leads to a poor user experience since the Go pkgsite is unable to
|
|
25
|
+
// forward the documentation for symbols like methods and fields.
|
|
26
|
+
// We need to improve the pkgsite experience before we can delete
|
|
27
|
+
// the Internal symbol.
|
|
28
|
+
|
|
15
29
|
// Internal is for internal use only.
|
|
16
30
|
// This is exempt from the Go compatibility agreement.
|
|
17
31
|
var Internal exporter
|