protected fun _addFieldMixIns( targetClass: Class<*>?, mixInCls: Class<*>, fields: Map<String?, AnnotatedField?> ) { val parents: MutableList<Class<*>> = ArrayList() parents.add(mixInCls) ClassUtil.findSuperTypes(mixInCls, targetClass, parents) for (mixin in parents) { for (mixinField in mixin.declaredFields) { if (!_isIncludableField(mixinField)) { continue } val name = mixinField.name val maskedField: AnnotatedField? = fields[name] if (maskedField != null) { for (a in mixinField.declaredAnnotations) { if (_annotationIntrospector.isHandled(a)) { maskedField.addOrOverride(a) } } } } } }
Method called to add field mix-ins from given mix-in class ( and its fields ) into already collected actual fields ( from introspected classes and their super-classes )