Browse Source

* Add GetTypeName, GetPropName

Michaël Van Canneyt 4 months ago
parent
commit
1a32b53f2c
1 changed files with 12 additions and 0 deletions
  1. 12 0
      rtl/objpas/typinfo.pp

+ 12 - 0
rtl/objpas/typinfo.pp

@@ -1150,6 +1150,7 @@ unit TypInfo;
 
 
 // general property handling
 // general property handling
 Function GetTypeData(TypeInfo : PTypeInfo) : PTypeData;
 Function GetTypeData(TypeInfo : PTypeInfo) : PTypeData;
+Function GetTypeName(aTypeInfo : PTypeInfo) : String;
 Function AlignTypeData(p : Pointer) : Pointer; inline;
 Function AlignTypeData(p : Pointer) : Pointer; inline;
 Function AlignTParamFlags(p : Pointer) : Pointer; inline;
 Function AlignTParamFlags(p : Pointer) : Pointer; inline;
 Function AlignPTypeInfo(p : Pointer) : Pointer; inline;
 Function AlignPTypeInfo(p : Pointer) : Pointer; inline;
@@ -1161,6 +1162,7 @@ Function GetPropInfo(Instance: TObject; const PropName: string): PPropInfo;
 Function GetPropInfo(Instance: TObject; const PropName: string; AKinds: TTypeKinds): PPropInfo;
 Function GetPropInfo(Instance: TObject; const PropName: string; AKinds: TTypeKinds): PPropInfo;
 Function GetPropInfo(AClass: TClass; const PropName: string): PPropInfo;
 Function GetPropInfo(AClass: TClass; const PropName: string): PPropInfo;
 Function GetPropInfo(AClass: TClass; const PropName: string; AKinds: TTypeKinds): PPropInfo;
 Function GetPropInfo(AClass: TClass; const PropName: string; AKinds: TTypeKinds): PPropInfo;
+Function GetPropName(aPropInfo : PPropInfo) : string;
 
 
 Function FindPropInfo(Instance: TObject; const PropName: string): PPropInfo;
 Function FindPropInfo(Instance: TObject; const PropName: string): PPropInfo;
 Function FindPropInfo(Instance: TObject; const PropName: string; AKinds: TTypeKinds): PPropInfo;
 Function FindPropInfo(Instance: TObject; const PropName: string; AKinds: TTypeKinds): PPropInfo;
@@ -1757,6 +1759,11 @@ begin
   ArrayToSet(PropInfo^.PropType, Value, Result);
   ArrayToSet(PropInfo^.PropType, Value, Result);
 end;
 end;
 
 
+function GetTypeName(aTypeInfo: PTypeInfo): String;
+begin
+  Result:=aTypeInfo^.Name;
+end;
+
 Function AlignTypeData(p : Pointer) : Pointer;
 Function AlignTypeData(p : Pointer) : Pointer;
 {$packrecords c}
 {$packrecords c}
   type
   type
@@ -1939,6 +1946,11 @@ begin
   Result:=GetPropInfo(PTypeInfo(AClass.ClassInfo),PropName,AKinds);
   Result:=GetPropInfo(PTypeInfo(AClass.ClassInfo),PropName,AKinds);
 end;
 end;
 
 
+function GetPropName(aPropInfo: PPropInfo): string;
+begin
+  Result:=aPropInfo^.Name;
+end;
+
 
 
 Function GetPropInfo(Instance: TObject; const PropName: string; AKinds: TTypeKinds) : PPropInfo;
 Function GetPropInfo(Instance: TObject; const PropName: string; AKinds: TTypeKinds) : PPropInfo;
 begin
 begin