diff options
| author | 2025-03-09 17:47:56 +0100 | |
|---|---|---|
| committer | 2025-12-01 22:08:04 +0100 | |
| commit | b1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch) | |
| tree | 9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/github.com/bytedance/sonic/internal/encoder/vars/errors.go | |
| parent | [chore] update URLs to forked source (diff) | |
| download | gotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz | |
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/encoder/vars/errors.go')
| -rw-r--r-- | vendor/github.com/bytedance/sonic/internal/encoder/vars/errors.go | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/vars/errors.go b/vendor/github.com/bytedance/sonic/internal/encoder/vars/errors.go deleted file mode 100644 index 04e6d934d..000000000 --- a/vendor/github.com/bytedance/sonic/internal/encoder/vars/errors.go +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2021 ByteDance Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package vars - -import ( - "encoding/json" - "fmt" - "os" - "reflect" - "strconv" - "strings" - "unsafe" - - "github.com/bytedance/sonic/internal/rt" -) - -var ERR_too_deep = &json.UnsupportedValueError { - Str : "Value nesting too deep", - Value : reflect.ValueOf("..."), -} - -var ERR_nan_or_infinite = &json.UnsupportedValueError { - Str : "NaN or ±Infinite", - Value : reflect.ValueOf("NaN or ±Infinite"), -} - -func Error_type(vtype reflect.Type) error { - return &json.UnsupportedTypeError{Type: vtype} -} - -func Error_number(number json.Number) error { - return &json.UnsupportedValueError { - Str : "invalid number literal: " + strconv.Quote(string(number)), - Value : reflect.ValueOf(number), - } -} - -func Error_unsuppoted(typ *rt.GoType) error { - return &json.UnsupportedTypeError{Type: typ.Pack() } -} - -func Error_marshaler(ret []byte, pos int) error { - return fmt.Errorf("invalid Marshaler output json syntax at %d: %q", pos, ret) -} - -const ( - PanicNilPointerOfNonEmptyString int = 1 + iota -) - -func GoPanic(code int, val unsafe.Pointer, buf string) { - sb := strings.Builder{} - switch(code){ - case PanicNilPointerOfNonEmptyString: - sb.WriteString(fmt.Sprintf("val: %#v has nil pointer while its length is not zero!\nThis is a nil pointer exception (NPE) problem. There might be a data race issue. It is recommended to execute the tests related to the code with the `-race` compile flag to detect the problem.\n", (*rt.GoString)(val))) - default: - sb.WriteString("encoder error: ") - sb.WriteString(strconv.Itoa(code)) - sb.WriteString("\n") - } - sb.WriteString("JSON: ") - if len(buf) > maxJSONLength { - sb.WriteString(buf[len(buf)-maxJSONLength:]) - } else { - sb.WriteString(buf) - } - panic(sb.String()) -} - -var maxJSONLength = 1024 - -func init() { - if v := os.Getenv("SONIC_PANIC_MAX_JSON_LENGTH"); v != "" { - if i, err := strconv.Atoi(v); err == nil { - maxJSONLength = i - } - } -} |
