mirror of https://gitee.com/stylefeng/roses
【8.3.0】【scanner】针对WITH_UNKNOWN_GENERIC优化
parent
cac851f055
commit
e8ae938d4f
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue