Commit Graph

33 Commits

Author SHA1 Message Date
Masaaki Goshima 275aade00d Fix decoding of null value for interface type that does not implement Unmarshaler 2021-05-02 03:36:58 +09:00
Masaaki Goshima 4d80b4b82c Improve decoder performance for empty interface type 2021-04-02 19:24:46 +09:00
Masaaki Goshima 2385cfcdbf Move rtype to internal/runtime package 2021-03-15 13:53:24 +09:00
Masaaki Goshima f8fd59516b Fix decoding of deep recursive structure 2021-02-18 19:05:06 +09:00
Masaaki Goshima b2a7d22fb4 Fix not being able to return UnmarshalTypeError when it should be returned 2021-02-18 11:32:08 +09:00
Masaaki Goshima 5351464001 Fix decoding of null value 2021-02-17 01:51:42 +09:00
Masaaki Goshima e917f04936 Fix decoding for nil value of empty interface type 2021-02-13 02:54:42 +09:00
Masaaki Goshima 6ebd44bb93 Fix decoding of pointer of empty interface type 2021-02-12 20:06:43 +09:00
Nao Yonashiro 405201e4f9 fix: use stringDecoder for decode escaped string to empty interface 2021-02-12 18:13:07 +09:00
Masaaki Goshima 20d1a5ada2 Enable noescape trick for decoder 2021-02-11 01:15:31 +09:00
Masaaki Goshima 3b7d5a6996 Remove unnecessary dependency on decoder 2021-02-11 00:33:54 +09:00
Masaaki Goshima 6befcb123e Fix decoding of interface type 2021-02-09 22:13:58 +09:00
Masaaki Goshima 5227e49c39 Fix decoding of interface type 2021-02-09 21:37:18 +09:00
Masaaki Goshima 2a0d4603ea Fix error output by golangci-lint 2021-02-01 22:32:45 +09:00
Masaaki Goshima 6e154ee727 Fix decoding of escape char at UnmarshalJSON 2021-01-30 02:03:31 +09:00
Masaaki Goshima ccf319b2b0 Fix decoding of interface type 2021-01-22 13:28:03 +09:00
Masaaki Goshima 6506007b6c Fix decoding of embeded struct 2020-12-22 21:55:59 +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
Masaaki Goshima ce1f865330 Remove dummy field for keeping reference of pointer 2020-11-19 12:54:43 +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
Masaaki Goshima 18a8684873 Refactor 2020-08-25 11:18:01 +09:00
Masaaki Goshima a9b9597c2e Fix map key type 2020-08-25 11:17:38 +09:00
Masaaki Goshima 74276c6af3 Fix decoder for string tag 2020-08-20 12:38:50 +09:00
Masaaki Goshima 03b55c1425 Add decoder for escape character 2020-08-14 18:18:32 +09:00
Masaaki Goshima 27f6c70ab3 Fix DisallowUnknownFields 2020-08-14 17:59:49 +09:00
Masaaki Goshima e112aa753e Support DisallowUnknownFields 2020-08-11 19:05:20 +09:00
Masaaki Goshima f9ffbb1940 Support json.Number 2020-08-11 18:04:32 +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 4acc22e0fe Support SyntaxError 2020-05-23 12:51:09 +09:00
Masaaki Goshima 9fe0063679 Support interface{} type for decoding 2020-05-08 15:13:30 +09:00