@@ -63,208 +63,268 @@ object CirceCodecs {
63
63
// codecs for numeric types
64
64
implicit val byteC3C : Codec [Byte ] = io.circe.JsoniterScalaCodec .byteCodec {
65
65
val codec : JsonValueCodec [Byte ] = new JsonValueCodec [Byte ] {
66
+ @ inline
66
67
override def decodeValue (in : JsonReader , default : Byte ): Byte = {
67
68
val x = in.readByte(isToken = false )
68
69
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
69
70
x
70
71
}
71
72
73
+ @ inline
72
74
override def encodeValue (x : Byte , out : JsonWriter ): Unit = out.writeVal(x)
73
75
76
+ @ inline
74
77
override def nullValue : Byte = 0
75
78
}
76
79
s =>
77
80
numberPool.get.read(codec, s, readerConfig)
78
81
}
79
82
implicit val shortC3C : Codec [Short ] = io.circe.JsoniterScalaCodec .shortCodec {
80
83
val codec : JsonValueCodec [Short ] = new JsonValueCodec [Short ] {
84
+ @ inline
81
85
override def decodeValue (in : JsonReader , default : Short ): Short = {
82
86
val x = in.readShort(isToken = false )
83
87
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
84
88
x
85
89
}
86
90
91
+ @ inline
87
92
override def encodeValue (x : Short , out : JsonWriter ): Unit = out.writeVal(x)
88
93
94
+ @ inline
89
95
override def nullValue : Short = 0
90
96
}
91
97
s =>
92
98
numberPool.get.read(codec, s, readerConfig)
93
99
}
94
100
implicit val intC3C : Codec [Int ] = io.circe.JsoniterScalaCodec .intCodec {
95
101
val codec : JsonValueCodec [Int ] = new JsonValueCodec [Int ] {
102
+ @ inline
96
103
override def decodeValue (in : JsonReader , default : Int ): Int = {
97
104
val x = in.readInt(isToken = false )
98
105
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
99
106
x
100
107
}
101
108
109
+ @ inline
102
110
override def encodeValue (x : Int , out : JsonWriter ): Unit = out.writeVal(x)
103
111
112
+ @ inline
104
113
override def nullValue : Int = 0
105
114
}
106
115
s =>
107
116
numberPool.get.read(codec, s, readerConfig)
108
117
}
109
118
implicit val longC3C : Codec [Long ] = io.circe.JsoniterScalaCodec .longCodec {
110
119
val codec : JsonValueCodec [Long ] = new JsonValueCodec [Long ] {
120
+ @ inline
111
121
override def decodeValue (in : JsonReader , default : Long ): Long = {
112
122
val x = in.readLong(isToken = false )
113
123
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
114
124
x
115
125
}
116
126
127
+ @ inline
117
128
override def encodeValue (x : Long , out : JsonWriter ): Unit = out.writeVal(x)
118
129
119
- override def nullValue : Long = 0
130
+ @ inline
131
+ override def nullValue : Long = 0L
120
132
}
121
133
s =>
122
134
numberPool.get.read(codec, s, readerConfig)
123
135
}
124
136
implicit val floatC3C : Codec [Float ] = io.circe.JsoniterScalaCodec .floatCodec {
125
137
val codec : JsonValueCodec [Float ] = new JsonValueCodec [Float ] {
138
+ @ inline
126
139
override def decodeValue (in : JsonReader , default : Float ): Float = {
127
140
val x = in.readFloat(isToken = false )
128
141
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
129
142
x
130
143
}
131
144
145
+ @ inline
132
146
override def encodeValue (x : Float , out : JsonWriter ): Unit = out.writeVal(x)
133
147
134
- override def nullValue : Float = 0
148
+ @ inline
149
+ override def nullValue : Float = 0.0f
135
150
}
136
151
s =>
137
152
numberPool.get.read(codec, s, readerConfig)
138
153
}
139
154
implicit val doubleC3C : Codec [Double ] = io.circe.JsoniterScalaCodec .doubleCodec {
140
155
val codec : JsonValueCodec [Double ] = new JsonValueCodec [Double ] {
156
+ @ inline
141
157
override def decodeValue (in : JsonReader , default : Double ): Double = {
142
158
val x = in.readDouble(isToken = false )
143
159
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
144
160
x
145
161
}
146
162
163
+ @ inline
147
164
override def encodeValue (x : Double , out : JsonWriter ): Unit = out.writeVal(x)
148
165
149
- override def nullValue : Double = 0
166
+ @ inline
167
+ override def nullValue : Double = 0.0
150
168
}
151
169
s =>
152
170
numberPool.get.read(codec, s, readerConfig)
153
171
}
154
172
implicit val bigIntC3C : Codec [BigInt ] = io.circe.JsoniterScalaCodec .bigIntCodec {
155
173
val codec : JsonValueCodec [BigInt ] = new JsonValueCodec [BigInt ] {
174
+ @ inline
156
175
override def decodeValue (in : JsonReader , default : BigInt ): BigInt = {
157
176
val x = in.readBigInt(isToken = false , default, JsonReader .bigIntDigitsLimit)
158
177
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
159
178
x
160
179
}
161
180
181
+ @ inline
162
182
override def encodeValue (x : BigInt , out : JsonWriter ): Unit = out.writeVal(x)
163
183
184
+ @ inline
164
185
override def nullValue : BigInt = null
165
186
}
166
187
s =>
167
188
numberPool.get.read(codec, s, readerConfig)
168
189
}
169
190
implicit val bigDecimalC3C : Codec [BigDecimal ] = io.circe.JsoniterScalaCodec .bigDecimalCodec {
170
191
val codec : JsonValueCodec [BigDecimal ] = new JsonValueCodec [BigDecimal ] {
192
+ @ inline
171
193
override def decodeValue (in : JsonReader , default : BigDecimal ): BigDecimal = {
172
194
val x = in.readBigDecimal(isToken = false , default, JsonReader .bigDecimalMathContext,
173
195
JsonReader .bigDecimalScaleLimit, JsonReader .bigDecimalDigitsLimit)
174
196
if (in.hasRemaining()) in.decodeError(" expected '\" '" )
175
197
x
176
198
}
177
199
200
+ @ inline
178
201
override def encodeValue (x : BigDecimal , out : JsonWriter ): Unit = out.writeVal(x)
179
202
203
+ @ inline
180
204
override def nullValue : BigDecimal = null
181
205
}
182
206
s =>
183
207
numberPool.get.read(codec, s, readerConfig)
184
208
}
185
209
// codecs for java.time.* types
186
210
implicit val durationC3C : Codec [Duration ] = new ShortAsciiStringCodec (new JsonValueCodec [Duration ] {
211
+ @ inline
187
212
override def decodeValue (in : JsonReader , default : Duration ): Duration = in.readDuration(default)
188
213
214
+ @ inline
189
215
override def encodeValue (x : Duration , out : JsonWriter ): Unit = out.writeVal(x)
190
216
217
+ @ inline
191
218
override def nullValue : Duration = null
192
219
}, " Duration" )
193
220
implicit val instantC3C : Codec [Instant ] = new ShortAsciiStringCodec (new JsonValueCodec [Instant ] {
221
+ @ inline
194
222
override def decodeValue (in : JsonReader , default : Instant ): Instant = in.readInstant(default)
195
223
224
+ @ inline
196
225
override def encodeValue (x : Instant , out : JsonWriter ): Unit = out.writeVal(x)
197
226
227
+ @ inline
198
228
override def nullValue : Instant = null
199
229
}, " Instant" )
200
230
implicit val localDateC3C : Codec [LocalDate ] = new ShortAsciiStringCodec (new JsonValueCodec [LocalDate ] {
231
+ @ inline
201
232
override def decodeValue (in : JsonReader , default : LocalDate ): LocalDate = in.readLocalDate(default)
202
233
234
+ @ inline
203
235
override def encodeValue (x : LocalDate , out : JsonWriter ): Unit = out.writeVal(x)
204
236
237
+ @ inline
205
238
override def nullValue : LocalDate = null
206
239
}, " LocalDate" )
207
240
implicit val localDateTimeC3C : Codec [LocalDateTime ] = new ShortAsciiStringCodec (new JsonValueCodec [LocalDateTime ] {
241
+ @ inline
208
242
override def decodeValue (in : JsonReader , default : LocalDateTime ): LocalDateTime = in.readLocalDateTime(default)
209
243
244
+ @ inline
210
245
override def encodeValue (x : LocalDateTime , out : JsonWriter ): Unit = out.writeVal(x)
211
246
247
+ @ inline
212
248
override def nullValue : LocalDateTime = null
213
249
}, " LocalDateTime" )
214
250
implicit val localTimeC3C : Codec [LocalTime ] = new ShortAsciiStringCodec (new JsonValueCodec [LocalTime ] {
251
+ @ inline
215
252
override def decodeValue (in : JsonReader , default : LocalTime ): LocalTime = in.readLocalTime(default)
216
253
254
+ @ inline
217
255
override def encodeValue (x : LocalTime , out : JsonWriter ): Unit = out.writeVal(x)
218
256
257
+ @ inline
219
258
override def nullValue : LocalTime = null
220
259
}, " LocalTime" )
221
260
implicit val monthDayC3C : Codec [MonthDay ] = new ShortAsciiStringCodec (new JsonValueCodec [MonthDay ] {
261
+ @ inline
222
262
override def decodeValue (in : JsonReader , default : MonthDay ): MonthDay = in.readMonthDay(default)
223
263
264
+ @ inline
224
265
override def encodeValue (x : MonthDay , out : JsonWriter ): Unit = out.writeVal(x)
225
266
267
+ @ inline
226
268
override def nullValue : MonthDay = null
227
269
}, " MonthDay" )
228
270
implicit val offsetDateTimeC3C : Codec [OffsetDateTime ] = new ShortAsciiStringCodec (new JsonValueCodec [OffsetDateTime ] {
271
+ @ inline
229
272
override def decodeValue (in : JsonReader , default : OffsetDateTime ): OffsetDateTime = in.readOffsetDateTime(default)
230
273
274
+ @ inline
231
275
override def encodeValue (x : OffsetDateTime , out : JsonWriter ): Unit = out.writeVal(x)
232
276
277
+ @ inline
233
278
override def nullValue : OffsetDateTime = null
234
279
}, " OffsetDateTime" )
235
280
implicit val offsetTimeC3C : Codec [OffsetTime ] = new ShortAsciiStringCodec (new JsonValueCodec [OffsetTime ] {
281
+ @ inline
236
282
override def decodeValue (in : JsonReader , default : OffsetTime ): OffsetTime = in.readOffsetTime(default)
237
283
284
+ @ inline
238
285
override def encodeValue (x : OffsetTime , out : JsonWriter ): Unit = out.writeVal(x)
239
286
287
+ @ inline
240
288
override def nullValue : OffsetTime = null
241
289
}, " OffsetTime" )
242
290
implicit val periodC3C : Codec [Period ] = new ShortAsciiStringCodec (new JsonValueCodec [Period ] {
291
+ @ inline
243
292
override def decodeValue (in : JsonReader , default : Period ): Period = in.readPeriod(default)
244
293
294
+ @ inline
245
295
override def encodeValue (x : Period , out : JsonWriter ): Unit = out.writeVal(x)
246
296
297
+ @ inline
247
298
override def nullValue : Period = null
248
299
}, " Period" )
249
300
implicit val yearMonthC3C : Codec [YearMonth ] = new ShortAsciiStringCodec (new JsonValueCodec [YearMonth ] {
301
+ @ inline
250
302
override def decodeValue (in : JsonReader , default : YearMonth ): YearMonth = in.readYearMonth(default)
251
303
304
+ @ inline
252
305
override def encodeValue (x : YearMonth , out : JsonWriter ): Unit = out.writeVal(x)
253
306
307
+ @ inline
254
308
override def nullValue : YearMonth = null
255
309
}, " YearMonth" )
256
310
implicit val yearC3C : Codec [Year ] = new ShortAsciiStringCodec (new JsonValueCodec [Year ] {
257
- override def decodeValue (in : JsonReader , default : Year ): Year = in.readYear(default)
311
+ @ inline
312
+ override def decodeValue (in : JsonReader , default : Year ): Year = in.readYear(default)
258
313
259
- override def encodeValue (x : Year , out : JsonWriter ): Unit = out.writeVal(x)
314
+ @ inline
315
+ override def encodeValue (x : Year , out : JsonWriter ): Unit = out.writeVal(x)
260
316
261
- override def nullValue : Year = null
317
+ @ inline
318
+ override def nullValue : Year = null
262
319
}, " Year" )
263
320
implicit val zonedDateTimeC3C : Codec [ZonedDateTime ] = new ShortAsciiStringCodec (new JsonValueCodec [ZonedDateTime ] {
321
+ @ inline
264
322
override def decodeValue (in : JsonReader , default : ZonedDateTime ): ZonedDateTime = in.readZonedDateTime(default)
265
323
324
+ @ inline
266
325
override def encodeValue (x : ZonedDateTime , out : JsonWriter ): Unit = out.writeVal(x)
267
326
327
+ @ inline
268
328
override def nullValue : ZonedDateTime = null
269
329
}, " ZonedDateTime" )
270
330
}
0 commit comments