summaryrefslogtreecommitdiff
path: root/compat
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-02-10 21:35:06 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2023-02-10 21:48:22 -0700
commitddffd7b78d81f1b47b5829eb9ff0aa1887cc3b17 (patch)
tree7733466fac856d93bfb6d6100fd703830a915567 /compat
parent3516254a492758dd414b271b85a1603fd53cebad (diff)
Use go:linkname instead of the awful internal/jsontest package
Diffstat (limited to 'compat')
-rw-r--r--compat/json/compat_test.go17
1 files changed, 14 insertions, 3 deletions
diff --git a/compat/json/compat_test.go b/compat/json/compat_test.go
index 9e4e1cf..07c75bc 100644
--- a/compat/json/compat_test.go
+++ b/compat/json/compat_test.go
@@ -8,11 +8,12 @@ import (
"bytes"
"encoding/json"
"io"
+ _ "unsafe"
"git.lukeshu.com/go/lowmemjson"
+ "git.lukeshu.com/go/lowmemjson/internal/fastio"
"git.lukeshu.com/go/lowmemjson/internal/jsonparse"
"git.lukeshu.com/go/lowmemjson/internal/jsonstruct"
- "git.lukeshu.com/go/lowmemjson/internal/jsontest"
)
var (
@@ -57,12 +58,22 @@ type encodeState struct {
bytes.Buffer
}
+//go:linkname encodeStringFromString git.lukeshu.com/go/lowmemjson.encodeStringFromString
+func encodeStringFromString(w fastio.AllWriter, escaper lowmemjson.BackslashEscaper, str string) error
+
+//go:linkname encodeStringFromBytes git.lukeshu.com/go/lowmemjson.encodeStringFromBytes
+func encodeStringFromBytes(w fastio.AllWriter, escaper lowmemjson.BackslashEscaper, str []byte) error
+
func (es *encodeState) string(str string, _ bool) {
- jsontest.EncodeStringFromString(&es.Buffer, str)
+ if err := encodeStringFromString(&es.Buffer, nil, str); err != nil {
+ panic(err)
+ }
}
func (es *encodeState) stringBytes(str []byte, _ bool) {
- jsontest.EncodeStringFromBytes(&es.Buffer, str)
+ if err := encodeStringFromBytes(&es.Buffer, nil, str); err != nil {
+ panic(err)
+ }
}
type (