【8.3.0】【scanner】针对WITH_UNKNOWN_GENERIC优化

pull/62/head
stylefeng 2024-08-07 15:13:50 +08:00
parent cac851f055
commit e8ae938d4f
1 changed files with 15 additions and 3 deletions

View File

@ -99,9 +99,7 @@ public class ClassMetaFactory {
Type subFieldType = classParseResult.getGenericType();
// 3. 继续进行这个字段的解析,判断是否需要填充子字段或者数组字段
SubFieldMetadataDTO typeSubInfo = ClassMetaFactory.getTypeSubInfo(uuid, subFieldType);
subField.setGenericFieldMetadata(typeSubInfo.getGenericFieldMetadata());
subField.setArrayFieldMetadata(typeSubInfo.getArrayFieldMetadata());
ClassMetaFactory.getSubFieldTypeAndFillOriginMeta(uuid, subField, subFieldType);
}
return rawTypeMetadata;
}
@ -206,4 +204,18 @@ public class ClassMetaFactory {
return fieldInfo;
}
/**
*
*
* @author fengshuonan
* @since 2024/8/7 15:11
*/
private static void getSubFieldTypeAndFillOriginMeta(String uuid, FieldMetadata subField, Type subFieldType) {
FieldMetadata realSubFieldMetadata = ClassMetaFactory.beginCreateFieldMetadata(subFieldType, uuid);
subField.setFieldClassType(realSubFieldMetadata.getFieldClassType());
subField.setFieldClassPath(realSubFieldMetadata.getFieldClassPath());
subField.setFieldType(realSubFieldMetadata.getFieldType());
subField.setGenericFieldMetadata(realSubFieldMetadata.getGenericFieldMetadata());
subField.setArrayFieldMetadata(realSubFieldMetadata.getArrayFieldMetadata());
}
}