fcl-passrc: separate hints for not used fields: 4501, 4502

This commit is contained in:
mattias 2020-12-29 02:39:15 +00:00
parent 56096412cb
commit 8c7e8e568e
2 changed files with 23 additions and 10 deletions

View File

@ -62,6 +62,10 @@ const
// non fpc hints
nPAParameterInOverrideNotUsed = 4501;
sPAParameterInOverrideNotUsed = 'Parameter "%s" not used';
nPAFieldNotUsed = 4502;
sPAFieldNotUsed = 'Field "%s" not used';
nPAFieldIsAssignedButNeverUsed = 4503;
sPAFieldIsAssignedButNeverUsed = 'Field "%s" is assigned but never used';
// fpc hints: use same IDs as fpc
nPAUnitNotUsed = 5023;
sPAUnitNotUsed = 'Unit "%s" not used in %s';
@ -2827,8 +2831,14 @@ begin
sPAPrivateFieldIsNeverUsed,[El.FullName],El);
end
else if El.ClassType=TPasVariable then
EmitMessage(20170311234201,mtHint,nPALocalVariableNotUsed,
sPALocalVariableNotUsed,[El.Name],El)
begin
if El.Parent is TPasMembersType then
EmitMessage(20201229033108,mtHint,nPAFieldNotUsed,
sPAFieldNotUsed,[El.Name],El)
else
EmitMessage(20170311234201,mtHint,nPALocalVariableNotUsed,
sPALocalVariableNotUsed,[El.Name],El);
end
else
EmitMessage(20170314221334,mtHint,nPALocalXYNotUsed,
sPALocalXYNotUsed,[El.ElementTypeName,El.Name],El);
@ -2842,6 +2852,9 @@ begin
if El.Visibility in [visPrivate,visStrictPrivate] then
EmitMessage(20170311234159,mtHint,nPAPrivateFieldIsAssignedButNeverUsed,
sPAPrivateFieldIsAssignedButNeverUsed,[El.FullName],El)
else if El.Parent is TPasMembersType then
EmitMessage(20201229033618,mtHint,nPAFieldIsAssignedButNeverUsed,
sPAFieldIsAssignedButNeverUsed,[El.Name],El)
else
EmitMessage(20170311233825,mtHint,nPALocalVariableIsAssignedButNeverUsed,
sPALocalVariableIsAssignedButNeverUsed,[El.Name],El);

View File

@ -945,9 +945,9 @@ begin
'begin',
' DoIt;']);
AnalyzeProgram;
CheckUseAnalyzerHint(mtHint,nPALocalVariableNotUsed,'Local variable "b" not used');
CheckUseAnalyzerHint(mtHint,nPALocalVariableIsAssignedButNeverUsed,
'Local variable "c" is assigned but never used');
CheckUseAnalyzerHint(mtHint,nPAFieldNotUsed,'Field "b" not used');
CheckUseAnalyzerHint(mtHint,nPAFieldIsAssignedButNeverUsed,
'Field "c" is assigned but never used');
CheckUseAnalyzerUnexpectedHints;
end;
@ -2278,9 +2278,9 @@ begin
Add('begin');
Add(' Point(1);');
AnalyzeProgram;
CheckUseAnalyzerHint(mtHint,nPALocalVariableIsAssignedButNeverUsed,
'Local variable "X" is assigned but never used');
CheckUseAnalyzerHint(mtHint,nPALocalVariableNotUsed,'Local variable "Y" not used');
CheckUseAnalyzerHint(mtHint,nPAFieldIsAssignedButNeverUsed,
'Field "X" is assigned but never used');
CheckUseAnalyzerHint(mtHint,nPAFieldNotUsed,'Field "Y" not used');
CheckUseAnalyzerUnexpectedHints;
end;
@ -2319,7 +2319,7 @@ begin
Add('begin');
Add(' Point();');
AnalyzeProgram;
CheckUseAnalyzerHint(mtHint,nPALocalVariableNotUsed,'Local variable "Y" not used');
CheckUseAnalyzerHint(mtHint,nPAFieldNotUsed,'Field "Y" not used');
CheckUseAnalyzerUnexpectedHints;
end;
@ -2385,7 +2385,7 @@ begin
' specialize Point<word>();',
'']);
AnalyzeProgram;
CheckUseAnalyzerHint(mtHint,nPALocalVariableNotUsed,'Local variable "Y" not used');
CheckUseAnalyzerHint(mtHint,nPAFieldNotUsed,'Field "Y" not used');
CheckUseAnalyzerUnexpectedHints;
end;