From 52befe4595b8b6455b2e0afcd3e8af66311fdbc1 Mon Sep 17 00:00:00 2001 From: Mattias Gaertner Date: Thu, 17 May 2018 13:26:34 +0000 Subject: [PATCH] fcl-passrc: resolver: no hints that cannot be hidden git-svn-id: trunk@39012 - --- packages/fcl-passrc/src/pasresolver.pp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/fcl-passrc/src/pasresolver.pp b/packages/fcl-passrc/src/pasresolver.pp index ab0e7fef41..4666b4eb44 100644 --- a/packages/fcl-passrc/src/pasresolver.pp +++ b/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;