@@ -104,7 +104,7 @@ trait MacroCodec[T] extends Codec[T] {
104104 if (typeArgs.isEmpty) {
105105 reader.skipValue()
106106 } else {
107- map += (name -> readValue(reader, decoderContext, typeArgs.head, typeArgs.tail, fieldTypeArgsMap ))
107+ map += (name -> readValue(reader, decoderContext, typeArgs.head, typeArgs.tail))
108108 }
109109 }
110110 reader.readEndDocument()
@@ -180,13 +180,12 @@ trait MacroCodec[T] extends Codec[T] {
180180 reader : BsonReader ,
181181 decoderContext : DecoderContext ,
182182 clazz : Class [V ],
183- typeArgs : List [Class [_]],
184- fieldTypeArgsMap : Map [String , List [Class [_]]]
183+ typeArgs : List [Class [_]]
185184 ): V = {
186185 val currentType = reader.getCurrentBsonType
187186 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)
190189 case BsonType .NULL =>
191190 reader.readNull()
192191 null .asInstanceOf [V ] // scalastyle:ignore
@@ -198,8 +197,7 @@ trait MacroCodec[T] extends Codec[T] {
198197 reader : BsonReader ,
199198 decoderContext : DecoderContext ,
200199 clazz : Class [V ],
201- typeArgs : List [Class [_]],
202- fieldTypeArgsMap : Map [String , List [Class [_]]]
200+ typeArgs : List [Class [_]]
203201 ): V = {
204202
205203 if (typeArgs.isEmpty) {
@@ -210,7 +208,7 @@ trait MacroCodec[T] extends Codec[T] {
210208 reader.readStartArray()
211209 val list = mutable.ListBuffer [Any ]()
212210 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))
214212 }
215213 reader.readEndArray()
216214 if (classOf [Set [_]].isAssignableFrom(clazz)) {
@@ -228,8 +226,7 @@ trait MacroCodec[T] extends Codec[T] {
228226 reader : BsonReader ,
229227 decoderContext : DecoderContext ,
230228 clazz : Class [V ],
231- typeArgs : List [Class [_]],
232- fieldTypeArgsMap : Map [String , List [Class [_]]]
229+ typeArgs : List [Class [_]]
233230 ): V = {
234231 if (classToCaseClassMap.getOrElse(clazz, false ) || typeArgs.isEmpty) {
235232 registry.get(clazz).decode(reader, decoderContext)
@@ -238,16 +235,14 @@ trait MacroCodec[T] extends Codec[T] {
238235 reader.readStartDocument()
239236 while (reader.readBsonType ne BsonType .END_OF_DOCUMENT ) {
240237 val name = reader.readName
241- val fieldClazzTypeArgs = fieldTypeArgsMap.getOrElse(name, typeArgs)
242- if (fieldClazzTypeArgs.isEmpty) {
238+ if (typeArgs.isEmpty) {
243239 reader.skipValue()
244240 } else {
245241 map += (name -> readValue(
246242 reader,
247243 decoderContext,
248- fieldClazzTypeArgs.head,
249- fieldClazzTypeArgs.tail,
250- fieldTypeArgsMap
244+ typeArgs.head,
245+ typeArgs.tail
251246 ))
252247 }
253248 }
0 commit comments