mirror of
https://github.com/alibaba/fastjson.git
synced 2026-10-29 06:06:50 +08:00
merged patch from pull 615. https://github.com/alibaba/fastjson/pull/615
This commit is contained in:
@@ -462,24 +462,22 @@ class JavaBeanInfo {
|
||||
}
|
||||
}
|
||||
|
||||
Field[] classfields;
|
||||
List<Field> classfields;
|
||||
{
|
||||
List<Field> result = new ArrayList<Field>(declaredFields.length);
|
||||
classfields = new ArrayList<Field>(declaredFields.length);
|
||||
for (Field f : declaredFields) {
|
||||
if ((f.getModifiers() & Modifier.PUBLIC) != 0) {
|
||||
result.add(f);
|
||||
classfields.add(f);
|
||||
}
|
||||
}
|
||||
|
||||
for (Class<?> c = clazz.getSuperclass(); c != null && c != Object.class; c = c.getSuperclass()) {
|
||||
for (Field f : c.getDeclaredFields()) {
|
||||
if ((f.getModifiers() & Modifier.PUBLIC) != 0) {
|
||||
result.add(f);
|
||||
classfields.add(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
classfields = new Field[result.size()];
|
||||
result.toArray(classfields);
|
||||
}
|
||||
|
||||
for (Field field : classfields) {
|
||||
|
||||
@@ -819,10 +819,9 @@ public class TypeUtils {
|
||||
boolean jsonFieldSupport, //
|
||||
boolean fieldGenericSupport) {
|
||||
Map<String, FieldInfo> fieldInfoMap = new LinkedHashMap<String, FieldInfo>();
|
||||
|
||||
|
||||
Field[] declaredFields = clazz.getDeclaredFields();
|
||||
if (!fieldOnly) {
|
||||
Field[] declaredFields = clazz.getDeclaredFields();
|
||||
|
||||
for (Method method : clazz.getMethods()) {
|
||||
String methodName = method.getName();
|
||||
int ordinal = 0, serialzeFeatures = 0;
|
||||
@@ -1007,8 +1006,25 @@ public class TypeUtils {
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
for (Field field : clazz.getFields()) {
|
||||
List<Field> classfields;
|
||||
{
|
||||
classfields = new ArrayList<Field>(declaredFields.length);
|
||||
for (Field f : declaredFields) {
|
||||
if ((f.getModifiers() & Modifier.PUBLIC) != 0) {
|
||||
classfields.add(f);
|
||||
}
|
||||
}
|
||||
|
||||
for (Class<?> c = clazz.getSuperclass(); c != null && c != Object.class; c = c.getSuperclass()) {
|
||||
for (Field f : c.getDeclaredFields()) {
|
||||
if ((f.getModifiers() & Modifier.PUBLIC) != 0) {
|
||||
classfields.add(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (Field field : classfields) {
|
||||
if ((field.getModifiers() & Modifier.STATIC) != 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user