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