Bläddra i källkod

fcl-passrc: resolver: no hints that cannot be hidden

git-svn-id: trunk@39012 -
Mattias Gaertner 7 år sedan
förälder
incheckning
52befe4595
1 ändrade filer med 11 tillägg och 5 borttagningar
  1. 11 5
      packages/fcl-passrc/src/pasresolver.pp

+ 11 - 5
packages/fcl-passrc/src/pasresolver.pp

@@ -4029,9 +4029,12 @@ begin
           RaiseMsg(20170216151649,nDuplicateIdentifier,sDuplicateIdentifier,
             [El.Name,GetElementSourcePosStr(El)],Data^.Proc.ProcType)
         else
+          begin
           // give a hint
-          LogMsg(20171118205344,mtHint,nFunctionHidesIdentifier_NonProc,sFunctionHidesIdentifier,
-            [GetElementSourcePosStr(El)],Data^.Proc.ProcType);
+          if Data^.Proc.Parent is TPasClassType then
+            LogMsg(20171118205344,mtHint,nFunctionHidesIdentifier_NonProc,sFunctionHidesIdentifier,
+              [GetElementSourcePosStr(El)],Data^.Proc.ProcType);
+          end;
       fopkMethod:
         // method hides a non proc
         RaiseMsg(20171118232543,nDuplicateIdentifier,sDuplicateIdentifier,
@@ -4124,11 +4127,14 @@ begin
               sMethodHidesMethodOfBaseType,
               [Data^.Proc.Name,Proc.Parent.Name,GetElementSourcePosStr(Proc)],Data^.Proc.ProcType)
           else
+            begin
             // Delphi/FPC do not give a message when hiding a non virtual method
             // -> emit Hint with other message id
-            LogMsg(20171118214523,mtHint,
-              nFunctionHidesIdentifier_NonVirtualMethod,sFunctionHidesIdentifier,
-              [GetElementSourcePosStr(Proc)],Data^.Proc.ProcType);
+            if Data^.Proc.Parent is TPasClassType then
+              LogMsg(20171118214523,mtHint,
+                nFunctionHidesIdentifier_NonVirtualMethod,sFunctionHidesIdentifier,
+                [GetElementSourcePosStr(Proc)],Data^.Proc.ProcType);
+            end;
           Abort:=true;
           end;
         end;