fix: Add synthetic check for reflection fields

This commit is contained in:
Krrish Ghimire
2019-12-05 21:29:30 +05:45
parent 4595a00421
commit 3d909c3632
2 changed files with 6 additions and 4 deletions

Binary file not shown.

View File

@@ -10,10 +10,12 @@ public class Mapper {
object = aClass.getConstructor().newInstance();
Field[] sourceFields = source.getClass().getDeclaredFields();
for (Field sourceField : sourceFields) {
sourceField.setAccessible(true);
Field destinationField = object.getClass().getDeclaredField(sourceField.getName());
destinationField.setAccessible(true);
destinationField.set(object, sourceField.get(source));
if (!sourceField.isSynthetic()) {
sourceField.setAccessible(true);
Field destinationField = object.getClass().getDeclaredField(sourceField.getName());
destinationField.setAccessible(true);
destinationField.set(object, sourceField.get(source));
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();