@@ -104,7 +104,7 @@ trait MacroCodec[T] extends Codec[T] {
104
104
if (typeArgs.isEmpty) {
105
105
reader.skipValue()
106
106
} else {
107
- map += (name -> readValue(reader, decoderContext, typeArgs.head, typeArgs.tail, fieldTypeArgsMap ))
107
+ map += (name -> readValue(reader, decoderContext, typeArgs.head, typeArgs.tail))
108
108
}
109
109
}
110
110
reader.readEndDocument()
@@ -180,13 +180,12 @@ trait MacroCodec[T] extends Codec[T] {
180
180
reader : BsonReader ,
181
181
decoderContext : DecoderContext ,
182
182
clazz : Class [V ],
183
- typeArgs : List [Class [_]],
184
- fieldTypeArgsMap : Map [String , List [Class [_]]]
183
+ typeArgs : List [Class [_]]
185
184
): V = {
186
185
val currentType = reader.getCurrentBsonType
187
186
currentType match {
188
- case BsonType .DOCUMENT => readDocument(reader, decoderContext, clazz, typeArgs, fieldTypeArgsMap )
189
- case BsonType .ARRAY => readArray(reader, decoderContext, clazz, typeArgs, fieldTypeArgsMap )
187
+ case BsonType .DOCUMENT => readDocument(reader, decoderContext, clazz, typeArgs)
188
+ case BsonType .ARRAY => readArray(reader, decoderContext, clazz, typeArgs)
190
189
case BsonType .NULL =>
191
190
reader.readNull()
192
191
null .asInstanceOf [V ] // scalastyle:ignore
@@ -198,8 +197,7 @@ trait MacroCodec[T] extends Codec[T] {
198
197
reader : BsonReader ,
199
198
decoderContext : DecoderContext ,
200
199
clazz : Class [V ],
201
- typeArgs : List [Class [_]],
202
- fieldTypeArgsMap : Map [String , List [Class [_]]]
200
+ typeArgs : List [Class [_]]
203
201
): V = {
204
202
205
203
if (typeArgs.isEmpty) {
@@ -210,7 +208,7 @@ trait MacroCodec[T] extends Codec[T] {
210
208
reader.readStartArray()
211
209
val list = mutable.ListBuffer [Any ]()
212
210
while (reader.readBsonType ne BsonType .END_OF_DOCUMENT ) {
213
- list.append(readValue(reader, decoderContext, typeArgs.head, typeArgs.tail, fieldTypeArgsMap ))
211
+ list.append(readValue(reader, decoderContext, typeArgs.head, typeArgs.tail))
214
212
}
215
213
reader.readEndArray()
216
214
if (classOf [Set [_]].isAssignableFrom(clazz)) {
@@ -228,8 +226,7 @@ trait MacroCodec[T] extends Codec[T] {
228
226
reader : BsonReader ,
229
227
decoderContext : DecoderContext ,
230
228
clazz : Class [V ],
231
- typeArgs : List [Class [_]],
232
- fieldTypeArgsMap : Map [String , List [Class [_]]]
229
+ typeArgs : List [Class [_]]
233
230
): V = {
234
231
if (classToCaseClassMap.getOrElse(clazz, false ) || typeArgs.isEmpty) {
235
232
registry.get(clazz).decode(reader, decoderContext)
@@ -238,16 +235,14 @@ trait MacroCodec[T] extends Codec[T] {
238
235
reader.readStartDocument()
239
236
while (reader.readBsonType ne BsonType .END_OF_DOCUMENT ) {
240
237
val name = reader.readName
241
- val fieldClazzTypeArgs = fieldTypeArgsMap.getOrElse(name, typeArgs)
242
- if (fieldClazzTypeArgs.isEmpty) {
238
+ if (typeArgs.isEmpty) {
243
239
reader.skipValue()
244
240
} else {
245
241
map += (name -> readValue(
246
242
reader,
247
243
decoderContext,
248
- fieldClazzTypeArgs.head,
249
- fieldClazzTypeArgs.tail,
250
- fieldTypeArgsMap
244
+ typeArgs.head,
245
+ typeArgs.tail
251
246
))
252
247
}
253
248
}
0 commit comments