diff options
Diffstat (limited to 'vendor/github.com/bytedance/sonic/ast')
| -rw-r--r-- | vendor/github.com/bytedance/sonic/ast/api.go | 4 | ||||
| -rw-r--r-- | vendor/github.com/bytedance/sonic/ast/api_compat.go | 5 | ||||
| -rw-r--r-- | vendor/github.com/bytedance/sonic/ast/node.go | 6 | ||||
| -rw-r--r-- | vendor/github.com/bytedance/sonic/ast/stubs.go | 111 |
4 files changed, 8 insertions, 118 deletions
diff --git a/vendor/github.com/bytedance/sonic/ast/api.go b/vendor/github.com/bytedance/sonic/ast/api.go index 7c8253aa1..36151f270 100644 --- a/vendor/github.com/bytedance/sonic/ast/api.go +++ b/vendor/github.com/bytedance/sonic/ast/api.go @@ -1,5 +1,5 @@ -//go:build (amd64 && go1.17 && !go1.24) || (arm64 && go1.20 && !go1.24) -// +build amd64,go1.17,!go1.24 arm64,go1.20,!go1.24 +//go:build (amd64 && go1.17 && !go1.25) || (arm64 && go1.20 && !go1.25) +// +build amd64,go1.17,!go1.25 arm64,go1.20,!go1.25 /* * Copyright 2022 ByteDance Inc. diff --git a/vendor/github.com/bytedance/sonic/ast/api_compat.go b/vendor/github.com/bytedance/sonic/ast/api_compat.go index 6541e219d..74119fed6 100644 --- a/vendor/github.com/bytedance/sonic/ast/api_compat.go +++ b/vendor/github.com/bytedance/sonic/ast/api_compat.go @@ -1,4 +1,4 @@ -// +build !amd64,!arm64 go1.24 !go1.17 arm64,!go1.20 +// +build !amd64,!arm64 go1.25 !go1.17 arm64,!go1.20 /* * Copyright 2022 ByteDance Inc. @@ -24,10 +24,11 @@ import ( `github.com/bytedance/sonic/internal/native/types` `github.com/bytedance/sonic/internal/rt` + `github.com/bytedance/sonic/internal/compat` ) func init() { - println("WARNING:(ast) sonic only supports go1.17~1.23, but your environment is not suitable") + compat.Warn("sonic/ast") } func quote(buf *[]byte, val string) { diff --git a/vendor/github.com/bytedance/sonic/ast/node.go b/vendor/github.com/bytedance/sonic/ast/node.go index 2bb504850..17964c32f 100644 --- a/vendor/github.com/bytedance/sonic/ast/node.go +++ b/vendor/github.com/bytedance/sonic/ast/node.go @@ -71,7 +71,7 @@ func (self *Node) UnmarshalJSON(data []byte) (err error) { /** Node Type Accessor **/ // Type returns json type represented by the node -// It will be one of belows: +// It will be one of bellows: // V_NONE = 0 (empty node, key not exists) // V_ERROR = 1 (error node) // V_NULL = 2 (json value `null`, key exists) @@ -89,7 +89,7 @@ func (self Node) Type() int { } // Type concurrently-safe returns json type represented by the node -// It will be one of belows: +// It will be one of bellows: // V_NONE = 0 (empty node, key not exists) // V_ERROR = 1 (error node) // V_NULL = 2 (json value `null`, key exists) @@ -1678,7 +1678,7 @@ func NewBytes(src []byte) Node { if len(src) == 0 { panic("empty src bytes") } - out := rt.EncodeBase64(src) + out := rt.EncodeBase64ToString(src) return NewString(out) } diff --git a/vendor/github.com/bytedance/sonic/ast/stubs.go b/vendor/github.com/bytedance/sonic/ast/stubs.go index 53bf3b8aa..9991cc89e 100644 --- a/vendor/github.com/bytedance/sonic/ast/stubs.go +++ b/vendor/github.com/bytedance/sonic/ast/stubs.go @@ -17,126 +17,15 @@ package ast import ( - "unicode/utf8" "unsafe" "github.com/bytedance/sonic/internal/rt" ) -//go:noescape -//go:linkname memmove runtime.memmove -//goland:noinspection GoUnusedParameter -func memmove(to unsafe.Pointer, from unsafe.Pointer, n uintptr) - -//go:linkname unsafe_NewArray reflect.unsafe_NewArray -//goland:noinspection GoUnusedParameter -func unsafe_NewArray(typ *rt.GoType, n int) unsafe.Pointer - //go:nosplit func mem2ptr(s []byte) unsafe.Pointer { return (*rt.GoSlice)(unsafe.Pointer(&s)).Ptr } -var safeSet = [utf8.RuneSelf]bool{ - ' ': true, - '!': true, - '"': false, - '#': true, - '$': true, - '%': true, - '&': true, - '\'': true, - '(': true, - ')': true, - '*': true, - '+': true, - ',': true, - '-': true, - '.': true, - '/': true, - '0': true, - '1': true, - '2': true, - '3': true, - '4': true, - '5': true, - '6': true, - '7': true, - '8': true, - '9': true, - ':': true, - ';': true, - '<': true, - '=': true, - '>': true, - '?': true, - '@': true, - 'A': true, - 'B': true, - 'C': true, - 'D': true, - 'E': true, - 'F': true, - 'G': true, - 'H': true, - 'I': true, - 'J': true, - 'K': true, - 'L': true, - 'M': true, - 'N': true, - 'O': true, - 'P': true, - 'Q': true, - 'R': true, - 'S': true, - 'T': true, - 'U': true, - 'V': true, - 'W': true, - 'X': true, - 'Y': true, - 'Z': true, - '[': true, - '\\': false, - ']': true, - '^': true, - '_': true, - '`': true, - 'a': true, - 'b': true, - 'c': true, - 'd': true, - 'e': true, - 'f': true, - 'g': true, - 'h': true, - 'i': true, - 'j': true, - 'k': true, - 'l': true, - 'm': true, - 'n': true, - 'o': true, - 'p': true, - 'q': true, - 'r': true, - 's': true, - 't': true, - 'u': true, - 'v': true, - 'w': true, - 'x': true, - 'y': true, - 'z': true, - '{': true, - '|': true, - '}': true, - '~': true, - '\u007f': true, -} - -var hex = "0123456789abcdef" - //go:linkname unquoteBytes encoding/json.unquoteBytes func unquoteBytes(s []byte) (t []byte, ok bool) |
