Masaaki Goshima
51905367ec
Merge pull request #200 from IncSW/slice-decoding-compatibility
...
when cap is enough, reuse slice data for compatibility with encoding/json
2021-05-03 17:11:43 +09:00
IncSW
c7747ba9b2
remove unnecessary assignments
2021-05-03 10:55:17 +03:00
Masaaki Goshima
9e882fb664
Remove unused code
2021-05-01 14:56:49 +09:00
Masaaki Goshima
75b72584a5
Use typedmemmove for copying element of slice
2021-05-01 14:53:48 +09:00
IncSW
e6ff77fe8d
remove useless dstCap var
2021-04-30 20:07:44 +03:00
IncSW
2ad2f11326
when cap is enough, reuse slice data for compatibility with encoding/json
2021-04-30 19:09:15 +03:00
Masaaki Goshima
6444a1b057
Fix checkptr error
2021-04-30 23:49:04 +09:00
Masaaki Goshima
e647dafb41
Fix decoding of slice with unmarshal json type
2021-04-30 22:55:08 +09:00
Masaaki Goshima
17392ab716
Fix stream decoder
2021-04-30 04:06:23 +09:00
Masaaki Goshima
16a358048e
if elem type is slice, clear it
2021-04-30 04:02:06 +09:00
Masaaki Goshima
bfbfa474d6
Add map type to initialize type list
2021-03-29 02:57:41 +09:00
Masaaki Goshima
e660ae468d
Fix pointer alignment error
2021-03-29 02:44:49 +09:00
Masaaki Goshima
e38c3606b3
Fix decoding of slice pointer type
2021-03-29 02:28:04 +09:00
Masaaki Goshima
f8fd59516b
Fix decoding of deep recursive structure
2021-02-18 19:05:06 +09:00
Masaaki Goshima
5351464001
Fix decoding of null value
2021-02-17 01:51:42 +09:00
Masaaki Goshima
98de7ff51b
Fix error by linter
2021-02-09 22:20:23 +09:00
Masaaki Goshima
721f830cef
Fix error handling of decoding of slice type
2021-02-09 22:19:13 +09:00
Masaaki Goshima
5227e49c39
Fix decoding of interface type
2021-02-09 21:37:18 +09:00
Masaaki Goshima
a90f2cbf1b
Refactor by linter
2021-02-03 23:50:02 +09:00
Masaaki Goshima
24aa07e47f
Merge branch 'master' of github.com:goccy/go-json into feature/fix-decoder
2020-12-23 01:37:54 +09:00
Masaaki Goshima
4332d1353e
Fix stream decoding
2020-12-05 22:27:33 +09:00
Masaaki Goshima
5c82b00ee7
Add structName and fieldName argument to each constructor of decoder for UnmarshalTypeError
2020-11-23 17:16:31 +09:00
Koichi Shiraishi
2b4097577d
Pass expression to unsafe.Pointer directly
2020-11-23 14:13:45 +09:00
Koichi Shiraishi
e4214835d8
Fix checkptr validation error on decode
2020-11-23 06:47:57 +09:00
Masaaki Goshima
fd7a72c0b8
Pass unsafe.Pointer instead of uintptr
2020-11-19 12:47:42 +09:00
Cuong Manh Le
6b1d701387
Fix all invalid usages of unsafe.Pointer
...
Most of the invalid usages due to the conversion from uintptr to
unsafe.Pointer. In general, unsafe.Pointer(p) where p of type uintptr is
considered unsafe.
To fix that, use &p instead of p, then introduce another dereference.
Example, the invalid usage:
*(*int)(unsafe.Pointer(p)) = int(v)
wil become:
**(**int)(unsafe.Pointer(&p)) = int(v)
Closes #53
2020-11-16 20:37:12 +07:00
Cuong Manh Le
e58b1eabaf
Remove all usages of reflect.SliceHeader
...
There're some problem with current usage of reflect.SliceHeader.
First, it violates the unsafe pointer conversion (rule 6th), that said,
reflect.SliceHeader must not used as plain struct.
Second, the lowest version that go-json supports, go1.12, reflect
package did not use SliceHeader in typedslicecopy, but use the safety
version. There's no reason that go-json continue using them.
See:
- https://golang.org/pkg/unsafe/#Pointer
- https://github.com/golang/go/blob/release-branch.go1.12/src/reflect/value.go#L2702
2020-11-16 20:33:49 +07:00
Masaaki Goshima
27f6c70ab3
Fix DisallowUnknownFields
2020-08-14 17:59:49 +09:00
Masaaki Goshima
ee13701278
Add Compact/Indent/HTMLEscape/Valid
2020-08-12 16:54:15 +09:00
Masaaki Goshima
e112aa753e
Support DisallowUnknownFields
2020-08-11 19:05:20 +09:00
Masaaki Goshima
69573d1b74
Fix null value for struct field
2020-08-08 13:20:42 +09:00
Masaaki Goshima
c14253089e
Fix stream decoder for slice
2020-07-31 18:52:22 +09:00
Masaaki Goshima
daec57244d
Merge branch 'master' of github.com:goccy/go-json into feature/support-stream-decoding
2020-07-31 18:46:54 +09:00
Masaaki Goshima
80acd42b80
Optimize streaming decoder
2020-07-31 17:10:03 +09:00
Masaaki Goshima
20b67ad48d
Support Decoder.Token
2020-07-30 22:41:53 +09:00
Masaaki Goshima
48b2c82759
Fix a bug that crashes in parallel execution
2020-05-31 00:11:50 +09:00
Masaaki Goshima
4acc22e0fe
Support SyntaxError
2020-05-23 12:51:09 +09:00
Masaaki Goshima
bc23c32f1a
Reuse slice instance for decoding
2020-05-07 21:30:36 +09:00
Masaaki Goshima
f198ef6517
Remove context for decoding
2020-05-07 02:37:29 +09:00
Masaaki Goshima
9b1349d40a
Fix decoder
2020-04-26 15:22:55 +09:00
Masaaki Goshima
71d6f845e5
Add decoder for Array or Slice type
2020-04-25 19:55:05 +09:00