W503 missing with "self"

The following code does not produce a warning W503. If self is removed there is a warning.

type
  TNoWarning = class
  private
    FText: String;
  public
    Procedure SetText(const AText: String);
  end;

{ TNoWarning }

procedure TNoWarning.SetText(const AText: String);
begin
  self.FText:= FText;
end;

I have found a similar thing with this code:


procedure AMethod(AString : string);
begin
  System.Delete(AString, 1, 1);
end;

FixInsight says that "AString" is missing "const". If you remove the "System.", all is good.

There are a lot of false positives like this. If a string is passed into a method (without const) and the same string is passed into another method where it is modified, FixInsight complains about the missing const