Fixed issue 126 by ensuring that parameterized type deduction is not done for transient fields.
This commit is contained in:
parent
6d50bcea87
commit
4f0728f6a0
@ -133,11 +133,11 @@ final class ObjectNavigator {
|
|||||||
Field[] fields = clazz.getDeclaredFields();
|
Field[] fields = clazz.getDeclaredFields();
|
||||||
AccessibleObject.setAccessible(fields, true);
|
AccessibleObject.setAccessible(fields, true);
|
||||||
for (Field f : fields) {
|
for (Field f : fields) {
|
||||||
TypeInfo fieldTypeInfo = TypeInfoFactory.getTypeInfoForField(f, objType);
|
|
||||||
Type actualTypeOfField = fieldTypeInfo.getActualType();
|
|
||||||
if (exclusionStrategy.shouldSkipField(f)) {
|
if (exclusionStrategy.shouldSkipField(f)) {
|
||||||
continue; // skip
|
continue; // skip
|
||||||
} else {
|
} else {
|
||||||
|
TypeInfo fieldTypeInfo = TypeInfoFactory.getTypeInfoForField(f, objType);
|
||||||
|
Type actualTypeOfField = fieldTypeInfo.getActualType();
|
||||||
boolean visitedWithCustomHandler =
|
boolean visitedWithCustomHandler =
|
||||||
visitor.visitFieldUsingCustomHandler(f, actualTypeOfField, obj);
|
visitor.visitFieldUsingCustomHandler(f, actualTypeOfField, obj);
|
||||||
if (!visitedWithCustomHandler) {
|
if (!visitedWithCustomHandler) {
|
||||||
|
@ -219,7 +219,8 @@ public class TestTypes {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ClassWithTransientFields {
|
public static class ClassWithTransientFields<T> {
|
||||||
|
public transient T transientT;
|
||||||
public final transient long transientLongValue;
|
public final transient long transientLongValue;
|
||||||
private final long[] longValue;
|
private final long[] longValue;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user