Commit Graph

204 Commits

Author SHA1 Message Date
peterlimg 91e691adc5
Fix decodeEscapeString err
`p` was not updated after the `stream.buf` is reallocated
2021-07-27 21:53:59 +10:00
peterlimg ad245e5323
Fix incorrect indent 2021-07-22 17:22:07 +10:00
peterlimg a95c5abe6c
Fix indent issue for embed struct with tag 2021-07-22 14:54:11 +10:00
peterlimg ac9a7dd8e3
Fix encode issue for embed struct with tag 2021-07-20 23:14:26 +10:00
Masaaki Goshima 902856929d Fix indirect layout 2021-07-05 20:30:35 +09:00
Masaaki Goshima 1400b498ab Fix encoding of pointer type in empty interface 2021-06-29 11:35:37 +09:00
Masaaki Goshima 66bf979e47 Improve encoding performance for empty interface type 2021-06-26 15:49:13 +09:00
Masaaki Goshima 3829400241
Merge pull request #259 from goccy/feature/improve-encoding-interface-perf
Improve encoding performance of empty interface type
2021-06-25 23:06:45 +09:00
Masaaki Goshima 12e4bdc2f2 Fix dump of opcode 2021-06-25 22:55:00 +09:00
Masaaki Goshima f93d82dee6 Fix storeIndent 2021-06-25 22:27:00 +09:00
Masaaki Goshima 994dc9ea9d Fix encoding of empty interface type 2021-06-25 20:17:12 +09:00
Preetham Narayanareddy 2aeb1769a2 Fix decoding of []byte type 2021-06-24 14:42:26 -07:00
Kiraub e94f0cd362
Merge branch 'goccy:master' into master 2021-06-23 17:44:36 +02:00
ebauer 5f0b34250c funcDecoder: handle cases of value being true or false 2021-06-23 15:51:42 +02:00
ebauer a7d041a3d4 gofmt -s 2021-06-23 15:22:40 +02:00
ebauer 585ce46b31 add func decoder 2021-06-23 14:22:24 +02:00
Masaaki Goshima 80c460c74b Fix error by linter 2021-06-23 17:42:30 +09:00
Masaaki Goshima ff12fbbe9b Use mapassign_faststr to decode map whose key type is string 2021-06-23 17:23:09 +09:00
IncSW 9a2f108208
fix array stream decoder 2021-06-15 19:05:12 +03:00
IncSW 1037421a83
fix error when unmarshal empty array 2021-06-15 18:19:39 +03:00
Masaaki Goshima 5c22860385
Merge pull request #248 from goccy/feature/context
Support context for MarshalJSON and UnmarshalJSON
2021-06-12 22:51:57 +09:00
Masaaki Goshima b972a9bab3 Fix indent num 2021-06-12 22:38:52 +09:00
Masaaki Goshima 56e5d7a457 Fix index number about length for recursive type 2021-06-12 22:02:03 +09:00
Masaaki Goshima 79ccab759f Fix indent num contains recursive type 2021-06-12 22:01:45 +09:00
Masaaki Goshima cd7fb7392f Support context for MarshalJSON and UnmarshalJSON 2021-06-12 17:06:26 +09:00
Masaaki Goshima edd09e7470 Fix encoding of using empty interface as map key 2021-06-06 20:39:49 +09:00
Masaaki Goshima 5c39787fbd Enable FirstWin option for stream decoder 2021-06-06 11:24:56 +09:00
Masaaki Goshima 34b7053412 Fix decoder option flag 2021-06-06 11:11:04 +09:00
Masaaki Goshima a69176cd30 Fix decoder 2021-06-06 11:01:55 +09:00
Masaaki Goshima 3c0e1b5e8c Fix stream buffer length 2021-06-06 10:52:55 +09:00
Masaaki Goshima 5e281e340f Fix decoder 2021-06-05 16:00:17 +09:00
Masaaki Goshima cbda08a525 Add DecodeFieldPriorityFirstWin option 2021-06-05 13:00:26 +09:00
Masaaki Goshima b074c98070 Use RuntimeContext 2021-06-05 01:08:27 +09:00
Masaaki Goshima f0b4077914 Add DecodeOption 2021-06-05 00:27:02 +09:00
Masaaki Goshima e7b7118f4e Fix skipWhiteSpace for stream decoder 2021-06-04 14:59:43 +09:00
Masaaki Goshima a973797e61 Fix init buffer 2021-06-04 12:41:18 +09:00
Masaaki Goshima c35c3242b6 Merge branch 'master' of github.com:goccy/go-json into feature/refactor-decoder 2021-06-03 19:38:01 +09:00
Masaaki Goshima c41c158a56 Fix error by linter 2021-06-03 19:10:17 +09:00
Masaaki Goshima de4e97ed09 Remove unnecessary prefix 2021-06-03 18:57:41 +09:00
Masaaki Goshima 5a024ca2f1 Fix package layout for decoder 2021-06-03 18:49:01 +09:00
Masaaki Goshima 544e731166 Fix value of totalLength for encoding 2021-06-02 19:02:36 +09:00
Masaaki Goshima 7155d2e437 Fix error by linter 2021-06-01 15:19:09 +09:00
Masaaki Goshima d495f67045 Fix color format 2021-06-01 15:10:28 +09:00
Masaaki Goshima 4e2a9c06ef Manage option flags as bit variable 2021-06-01 13:40:15 +09:00
Masaaki Goshima 4c19a845d9 Support colored JSON 2021-06-01 03:09:47 +09:00
Masaaki Goshima c294f01ac5 Add Colorize option 2021-06-01 01:57:40 +09:00
Masaaki Goshima 69cca05981 Pass RuntimeContext to the first argument of all append functions 2021-06-01 01:36:30 +09:00
Masaaki Goshima 11437c8556 Refactor escape string 2021-06-01 01:25:05 +09:00
Masaaki Goshima a56c080959 Refactor encode option 2021-05-31 22:25:33 +09:00
Masaaki Goshima 7cf15fc56c Fix opcode layout
- Adjust memory layout of the opcode to 128 bytes in a 64-bit environment
2021-05-29 14:47:18 +09:00
Masaaki Goshima 70b93d8963 Generate VM source 2021-05-19 12:34:40 +09:00
Masaaki Goshima aee5d8a6fb Refactor Debug mode for encoding 2021-05-18 14:48:13 +09:00
Masaaki Goshima f65ffc0449 Fix error by linter 2021-05-18 14:03:14 +09:00
Masaaki Goshima f696453c1b Refactor vm sources for encoding ( use same source ) 2021-05-18 13:51:57 +09:00
Masaaki Goshima fc968c75ee Refactor encoding of marshaler and structEnd 2021-05-17 21:08:45 +09:00
Masaaki Goshima 6ae63e3e61 Refactor encoding of structHead and structKey 2021-05-17 18:58:59 +09:00
Shawn Wang 7e03a13225 Add type addrShift to enable bigger encoder/decoder cache
Change-Id: I630fa501f3b96702b69a40bc0b2f79f4db2a57eb
2021-05-10 13:39:37 +08:00
Masaaki Goshima a6c1f6442c Add test case for string type 2021-05-09 00:40:18 +09:00
Masaaki Goshima 87b93ad8a4 Fix lint error 2021-05-07 01:04:25 +09:00
Masaaki Goshima 4823e8bed3 Add omitempty and string operation for vm 2021-05-07 00:53:39 +09:00
Masaaki Goshima 7d7a5163c4 Add OmitEmpty and String operation for indent vm 2021-05-07 00:12:59 +09:00
Masaaki Goshima 56dabe2da4 Refactor StringTag operation 2021-05-06 20:54:22 +09:00
Masaaki Goshima 7ae14cd24c Optimize json.Compact and json.Indent 2021-04-20 20:12:32 +09:00
Masaaki Goshima e0b5ba8df4 Add test cases 2021-04-19 22:54:10 +09:00
Masaaki Goshima 34396640d5 Fix Indent ( validate the input buffer ) 2021-04-19 19:55:12 +09:00
Masaaki Goshima 7565171124 Fix allocation strategy for Compact 2021-04-19 18:58:09 +09:00
Masaaki Goshima 4e0c525f9c Fix lint error 2021-04-19 18:20:51 +09:00
Masaaki Goshima addda3a90e Fix Compact ( validate the input buffer ) 2021-04-19 18:18:59 +09:00
IncSW a0bf49d201
update debug vm 2021-04-14 20:49:10 +03:00
IncSW 53590387e6
fix OpStructFieldOmitEmptyMarshalJSON with custom type marshaller on all VMs 2021-04-12 11:41:31 +03:00
IncSW d12ffe2c66
revert vm OpStructFieldOmitEmptyMarshalJSON 2021-04-12 10:26:32 +03:00
IncSW ac14c18dbb
remove zero value checker for complex 2021-04-12 10:23:57 +03:00
IncSW b57146602e
Fix encoding custom types zero values with omitempty when marshaller exists 2021-04-11 21:45:59 +03:00
Masaaki Goshima 69e40becbf Fix encoding of omitempty feature for the slice or interface type 2021-04-10 16:25:45 +09:00
Masaaki Goshima ae56d8371d Fix unnecessary indent 2021-04-10 15:25:02 +09:00
Masaaki Goshima 2622779349
Merge pull request #172 from goccy/feature/fix-recursive-slice
Fix encoding of recursive slice/map
2021-04-02 14:21:27 +09:00
Masaaki Goshima 7007d6ee41 Fix encoding of recursive slice/map 2021-04-02 14:03:00 +09:00
Masaaki Goshima f3aded9b12 Fix detection of indirect field 2021-03-30 19:37:19 +09:00
Masaaki Goshima 5093e5bd78 Add type infromation to the debug information 2021-03-27 12:35:43 +09:00
Masaaki Goshima 3d47fc9e41 Add debug mode 2021-03-27 12:18:19 +09:00
Masaaki Goshima 2bda5ef91f Fix encoding of MarshalJSON of function type 2021-03-22 21:29:16 +09:00
Masaaki Goshima b364115cac Add slice test 2021-03-21 01:33:13 +09:00
Masaaki Goshima 906e29acda Optimize wrapped omitempty operation 2021-03-20 20:35:44 +09:00
Masaaki Goshima 29c30bdd14 Fix indent num for OpMarshalJSON 2021-03-20 20:13:55 +09:00
Masaaki Goshima d0d58b9026 Add test case of encoder for json.Number type 2021-03-20 19:01:04 +09:00
Masaaki Goshima f4a7cdf543 Fix bugs of nil pointer of typeAddr value 2021-03-20 18:24:13 +09:00
Masaaki Goshima ef29061807 Fix error by linter 2021-03-19 23:55:01 +09:00
Masaaki Goshima b2bbd63168 Fix compiler for encoder 2021-03-19 23:47:29 +09:00
Masaaki Goshima ff871cb20d Add bytes test 2021-03-19 23:31:29 +09:00
Masaaki Goshima a100884788 Fix recursive operation 2021-03-19 15:47:16 +09:00
Masaaki Goshima e5d855ff42 Refactor Recursive optype 2021-03-19 15:46:53 +09:00
Masaaki Goshima a02cea2c89 Fix encoding of marshaler 2021-03-18 23:56:56 +09:00
Masaaki Goshima d2d7e6d367 Fix error by linter 2021-03-18 18:31:45 +09:00
Masaaki Goshima 75d7b8e673 Enable inline function call 2021-03-18 18:23:58 +09:00
Masaaki Goshima 6a749c956b Fix error by linter 2021-03-18 16:30:08 +09:00
Masaaki Goshima 969dfcec31 Reduce memory usage at compile time 2021-03-18 16:17:14 +09:00
Masaaki Goshima 4db967f28d Remove unnecessary files 2021-03-18 15:53:22 +09:00
Masaaki Goshima 9cbe7b3991 Move encoder source to internal package 2021-03-18 15:46:55 +09:00
Masaaki Goshima cccf9f9f33 Replace vm and escaped vm codes with internal package 2021-03-17 12:32:23 +09:00
Masaaki Goshima 10c4118a45 Fix vm code 2021-03-17 00:22:19 +09:00
Masaaki Goshima 62b7d3ba0a Move compiler for encoder to internal package 2021-03-16 19:44:32 +09:00
Masaaki Goshima c45f1e8b2c Add internal/vm package 2021-03-16 02:50:19 +09:00
Masaaki Goshima 2385cfcdbf Move rtype to internal/runtime package 2021-03-15 13:53:24 +09:00
Masaaki Goshima 377d0b0dfc Move error types to internal/errors package 2021-03-15 13:53:24 +09:00