Sfoglia il codice sorgente

* Fix in overloads of GetFieldList

Michaël Van Canneyt 1 anno fa
parent
commit
f6ce76b638
1 ha cambiato i file con 12 aggiunte e 13 eliminazioni
  1. 12 13
      rtl/objpas/typinfo.pp

+ 12 - 13
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;