From f6ce76b638a08a19d58f35a0aeaeab0a6462e24a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Van=20Canneyt?= Date: Sat, 17 Feb 2024 23:58:42 +0100 Subject: [PATCH] * Fix in overloads of GetFieldList --- rtl/objpas/typinfo.pp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/rtl/objpas/typinfo.pp b/rtl/objpas/typinfo.pp index 78277b4a41..093f36f628 100644 --- a/rtl/objpas/typinfo.pp +++ b/rtl/objpas/typinfo.pp @@ -2420,18 +2420,6 @@ begin end; -Function GetFieldList(TypeInfo: PTypeInfo; out FieldList : PExtendedFieldInfoTable; Visibilities: TVisibilityClasses): SizeInt; - -begin - if TypeInfo^.Kind=tkRecord then - Result:=GetRecordFieldList(PRecordData(GetTypeData(TypeInfo)),FieldList,Visibilities) - else if TypeInfo^.Kind=tkClass then - Result:=GetFieldInfos((PClassData(GetTypeData(TypeInfo))^.ClassType),FieldList,Visibilities) - else - Result:=0 -end; - - Function GetFieldList(AClass: TClass; out FieldList: PExtendedFieldInfoTable; Visibilities: TVisibilityClasses): Integer; Var @@ -2449,13 +2437,24 @@ begin end; end; - Function GetFieldList(Instance: TObject; out FieldList: PExtendedFieldInfoTable; Visibilities: TVisibilityClasses): Integer; begin Result:=GetFieldList(Instance.ClassType,FieldList,Visibilities); end; + +Function GetFieldList(TypeInfo: PTypeInfo; out FieldList : PExtendedFieldInfoTable; Visibilities: TVisibilityClasses): SizeInt; + +begin + if TypeInfo^.Kind=tkRecord then + Result:=GetRecordFieldList(PRecordData(GetTypeData(TypeInfo)),FieldList,Visibilities) + else if TypeInfo^.Kind=tkClass then + Result:=GetFieldList(GetTypeData(TypeInfo)^.ClassType,FieldList,Visibilities) + else + Result:=0 +end; + { -- Methods -- } Function GetMethodInfos(aRecord: PRecordData; MethodList: PRecordMethodInfoTable; Visibilities: TVisibilityClasses): Integer;