Finally upgraded to FixInsight 2017.11 and ran into some issues.
It looks like there is a bug in this option and/or in the detection of empty methods
The following code passed the FixInsight 2016.09 checks, but under FixInsight 2017.11 the hint "[FixInsight Internal] Unit.pas(304): I901 Useless comment "fi:w519" detected. No warnings or hints have been found at this line" is shown.
procedure TFormBase.Translate;
begin //FI:W519 - Placeholder for derived classes
end;
begin //FI:W519 - Placeholder for derived classes
end;
When I remove the comment, the FI:W519 "Method %s is empty" isn't shown as expected. So it looks like the empty method detection was changed and/or doesn't work anymore.
We also have tons of code of the following form where FixInsight now shows a hint:
procedure TFormBase.DoSomething;
begin //FI:W519 - Code not needed for product X
begin //FI:W519 - Code not needed for product X
{$IFNDEF PRODUCTX}
DoSomethingMore;
{$ENDIF}
end;
Even worse, FixInsight ignores the define when checking for this hint. The hint is shown no matter whether PRODUCTX is defined or not.
procedure TFormBase.DoSomething;begin
{$IFNDEF PRODUCTX}
//FI:W519 - Code not needed for product X{$ELSE}
DoSomethingMore;
{$ENDIF}
end;
The same problem seems to exist for W528. The code below also shows the "useless comment error" and the W528 isn't detected anymore.
for I := 1 to Count div 2 do // FI:W528 ignorieren
if UseNew then
begin
Send(ID2_neu);
Send(ID3_neu);
end
else
begin
Send(ID2);
Send(ID3);
end;
if UseNew then
begin
Send(ID2_neu);
Send(ID3_neu);
end
else
begin
Send(ID2);
Send(ID3);
end;
Hopefully you can fix this soon.