Browse Source

fcl-passrc: resolver: no hint for abstract methods aclassof.create

git-svn-id: trunk@38891 -
Mattias Gaertner 7 years ago
parent
commit
abbba47708

+ 2 - 4
packages/fcl-passrc/src/pasresolver.pp

@@ -13684,10 +13684,8 @@ begin
       TResolvedRefCtxConstructor(Ref.Context).Typ:=TypeEl;
       TResolvedRefCtxConstructor(Ref.Context).Typ:=TypeEl;
       if (length(ClassScope.AbstractProcs)>0) then
       if (length(ClassScope.AbstractProcs)>0) then
         begin
         begin
-        if Proc.IsVirtual and IsClassOf then
-          begin
-          // virtual constructor called with aClass.Create: do not warn
-          end
+        if IsClassOf then
+          // aClass.Create: do not warn
         else
         else
           for i:=0 to length(ClassScope.AbstractProcs)-1 do
           for i:=0 to length(ClassScope.AbstractProcs)-1 do
             LogMsg(20171227110746,mtNote,nConstructingClassXWithAbstractMethodY,
             LogMsg(20171227110746,mtNote,nConstructingClassXWithAbstractMethodY,

+ 1 - 1
packages/fcl-passrc/tests/tcresolver.pas

@@ -7828,7 +7828,7 @@ begin
   'type',
   'type',
   '  TObject = class',
   '  TObject = class',
   '    procedure DoIt; virtual; abstract;',
   '    procedure DoIt; virtual; abstract;',
-  '    constructor Create; virtual;',
+  '    constructor Create;',
   '  end;',
   '  end;',
   '  TClass = class of TObject;',
   '  TClass = class of TObject;',
   'constructor TObject.Create;',
   'constructor TObject.Create;',