Browse Source

* Fix compiler warnings and hints

Michaël Van Canneyt 8 months ago
parent
commit
4a596a2de3
1 changed files with 20 additions and 25 deletions
  1. 20 25
      packages/rtl-objpas/src/inc/rtti.pp

+ 20 - 25
packages/rtl-objpas/src/inc/rtti.pp

@@ -587,13 +587,14 @@ type
     FHandle : PExtendedFieldEntry;
     FHandle : PExtendedFieldEntry;
     FAttributes: TCustomAttributeArray;
     FAttributes: TCustomAttributeArray;
     FAttributesResolved : Boolean;
     FAttributesResolved : Boolean;
-    function GetName: string; override;
     function GetDataType: TRttiType; override;
     function GetDataType: TRttiType; override;
     function GetIsReadable: Boolean; override;
     function GetIsReadable: Boolean; override;
     function GetIsWritable: Boolean; override;
     function GetIsWritable: Boolean; override;
+    procedure ResolveAttributes;
+  protected
+    function GetName: string; override;
     function GetHandle: Pointer; override;
     function GetHandle: Pointer; override;
     Function GetAttributes: TCustomAttributeArray; override;
     Function GetAttributes: TCustomAttributeArray; override;
-    procedure ResolveAttributes;
 //    constructor Create(AParent: TRttiObject; var P: PByte); override;
 //    constructor Create(AParent: TRttiObject; var P: PByte); override;
   public
   public
     destructor destroy; override;
     destructor destroy; override;
@@ -2377,6 +2378,14 @@ begin
   result := ATypeInfo = TypeInfo;
   result := ATypeInfo = TypeInfo;
 end;
 end;
 
 
+function TValue.GetIsEmpty: boolean;
+begin
+  result := (FData.FTypeInfo=nil) or
+            ((Kind in [tkSString, tkObject, tkRecord, tkArray]) and not Assigned(FData.FValueData)) or
+            ((Kind in [tkClass, tkClassRef, tkInterfaceRaw]) and not Assigned(FData.FAsPointer));
+end;
+
+
 function TValue.IsType(ATypeInfo: PTypeInfo; const EmptyAsAnyType : Boolean): boolean;
 function TValue.IsType(ATypeInfo: PTypeInfo; const EmptyAsAnyType : Boolean): boolean;
 begin
 begin
   Result:=IsEmpty;
   Result:=IsEmpty;
@@ -3816,12 +3825,6 @@ begin
 end;
 end;
 
 
 
 
-function TValue.GetIsEmpty: boolean;
-begin
-  result := (FData.FTypeInfo=nil) or
-            ((Kind in [tkSString, tkObject, tkRecord, tkArray]) and not Assigned(FData.FValueData)) or
-            ((Kind in [tkClass, tkClassRef, tkInterfaceRaw]) and not Assigned(FData.FAsPointer));
-end;
 
 
 function TValue.IsArray: boolean;
 function TValue.IsArray: boolean;
 begin
 begin
@@ -4521,6 +4524,7 @@ var
   hiddenVmt : Pointer;
   hiddenVmt : Pointer;
   highArg: SizeInt;
   highArg: SizeInt;
 begin
 begin
+  castedargs:=[];
   mgr := FuncCallMgr[aCallConv];
   mgr := FuncCallMgr[aCallConv];
   if not Assigned(mgr.Invoke) then
   if not Assigned(mgr.Invoke) then
     raise EInvocationError.CreateFmt(SErrCallConvNotSupported, [CCToStr(aCallConv)]);
     raise EInvocationError.CreateFmt(SErrCallConvNotSupported, [CCToStr(aCallConv)]);
@@ -5604,9 +5608,7 @@ end;
 { TRttiIndexedProperty }
 { TRttiIndexedProperty }
 
 
 procedure TRttiIndexedProperty.GetAccessors;
 procedure TRttiIndexedProperty.GetAccessors;
-var
-  context: TRttiContext;
-  obj: TRttiObject;
+
 begin
 begin
   if Assigned(FReadMethod) or Assigned(FWriteMethod) or
   if Assigned(FReadMethod) or Assigned(FWriteMethod) or
      not IsReadable and not IsWritable then
      not IsReadable and not IsWritable then
@@ -5724,6 +5726,7 @@ var
   argsV: TValueArray;
   argsV: TValueArray;
   i: Integer;
   i: Integer;
 begin
 begin
+  argsV:=[];
   setter := WriteMethod;
   setter := WriteMethod;
   if setter = nil then
   if setter = nil then
     raise EPropertyError.CreateFmt(SErrCannotWriteToIndexedProperty, [Name]);
     raise EPropertyError.CreateFmt(SErrCannotWriteToIndexedProperty, [Name]);
@@ -6241,12 +6244,11 @@ Procedure TRttiInstanceType.ResolveExtendedDeclaredProperties;
 var
 var
   Table: PPropDataEx;
   Table: PPropDataEx;
   //List : PPropListEx;
   //List : PPropListEx;
-  Ctx: TRttiContext;
   info : PPropInfoEx;
   info : PPropInfoEx;
   TP : PPropInfo;
   TP : PPropInfo;
   Prop : TRttiProperty;
   Prop : TRttiProperty;
-  i,j,Idx,IdxCount,Len, PropCount : Integer;
-  obj: TRttiObject;
+  i,j,Len, PropCount : Integer;
+
 begin
 begin
   Table:=PClassData(FTypeData)^.ExRTTITable;
   Table:=PClassData(FTypeData)^.ExRTTITable;
   Len:=Table^.PropCount;
   Len:=Table^.PropCount;
@@ -6286,12 +6288,8 @@ Procedure TRttiInstanceType.ResolveClassicDeclaredProperties;
 
 
 var
 var
   Table: PPropData;
   Table: PPropData;
-
-  lTypeInfo: PTypeInfo;
-  TypeRttiType: TRttiType;
-  TD: PTypeData;
   TP: PPropInfo;
   TP: PPropInfo;
-  Idx,I,Len: longint;
+  I,Len: longint;
   Prop: TRttiProperty;
   Prop: TRttiProperty;
 
 
 begin
 begin
@@ -6333,12 +6331,11 @@ Procedure TRttiInstanceType.ResolveDeclaredIndexedProperties;
 
 
 var   
 var   
   Table: PPropDataEx;
   Table: PPropDataEx;
-  Ctx: TRttiContext;
   info : PPropInfoEx;
   info : PPropInfoEx;
   TP : PPropInfo;
   TP : PPropInfo;
   IProp : TRttiIndexedProperty;
   IProp : TRttiIndexedProperty;
-  i,j,Idx,IdxCount,Len, PropCount : Integer;
-  obj: TRttiObject;
+  i,Len, PropCount : Integer;
+
 begin
 begin
   Table:=PClassData(FTypeData)^.ExRTTITable;
   Table:=PClassData(FTypeData)^.ExRTTITable;
   Len:=Table^.PropCount;
   Len:=Table^.PropCount;
@@ -6640,7 +6637,6 @@ var
   TP : PPropInfo;
   TP : PPropInfo;
   IProp : TRttiIndexedProperty;
   IProp : TRttiIndexedProperty;
   i,Len, PropCount : Integer;
   i,Len, PropCount : Integer;
-  obj: TRttiObject;
 
 
 begin
 begin
   List:=Nil;   
   List:=Nil;   
@@ -7121,7 +7117,6 @@ end;
 destructor TRttiField.destroy;
 destructor TRttiField.destroy;
 
 
 var
 var
-  Attr : TCustomAttribute;
   I : Integer;
   I : Integer;
 
 
 begin
 begin
@@ -7620,7 +7615,7 @@ end;
 
 
 class function TRttiContext.Create(aUsePublishedOnly: Boolean): TRttiContext;
 class function TRttiContext.Create(aUsePublishedOnly: Boolean): TRttiContext;
 begin
 begin
-  Result:=Create;
+  Result:=Create();
   Result.UsePublishedOnly:=aUsePublishedOnly;
   Result.UsePublishedOnly:=aUsePublishedOnly;
 end;
 end;