FCL-FPCUnit: many non-const string params
Continuation of #40047. In SUBJ package using the same RegEx, I found many non-const str params. Full log: ``` +Search "[\(;]\s*\w+\s*:\s*string". Report with [styles]. <fpcunit.pp>: #12 < 143>: class procedure AssertException(const AMessage: string; AExceptionClass: ExceptClass; AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0; AErrorAddr : Pointer = Nil); overload; < 144>: class procedure AssertException(AExceptionClass: ExceptClass; AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0); overload; < 226>: procedure ExpectException(AExceptionClass: TClass; AExceptionMessage: string=''; AExceptionHelpContext: Integer=0); < 227>: procedure ExpectException(const Msg: String; AExceptionClass: TClass; AExceptionMessage: string=''; AExceptionHelpContext: Integer=0); < 264>: constructor Create(AClass: TClass; AName: string); reintroduce; overload; virtual; < 267>: constructor Create(AName: string); reintroduce; overload; virtual; < 941>: AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0; AErrorAddr : Pointer = Nil); < 943>: Function MisMatch (AClassName : String) : String; < 976>: AMethod: TRunMethod;AExceptionMessage : String = ''; AExceptionContext : Integer = 0); <1195>: constructor TTestSuite.Create(AClass: TClass; AName: string); <1255>: constructor TTestSuite.Create(AName: string); <1375>: AExceptionClass: TClass; AExceptionMessage: string = ''; <DUnitCompatibleInterface.inc>: #56 < 21>: class procedure Check(pValue: boolean; pMessage: string = ''); < 22>: class procedure CheckEquals(expected, actual: extended; msg: string = ''); overload; < 23>: class procedure CheckEquals(expected, actual: extended; delta: extended; msg: string = ''); overload; < 24>: class procedure CheckEquals(expected, actual: string; msg: string = ''); overload; < 25>: class procedure CheckEquals(expected, actual: unicodestring; msg: string = ''); overload; < 26>: class procedure CheckEquals(expected, actual: integer; msg: string = ''); overload; < 27>: class procedure CheckEquals(expected, actual: boolean; msg: string = ''); overload; < 28>: class procedure CheckEquals(expected, actual: TClass; msg: string = ''); overload; < 29>: class procedure CheckEquals(expected, actual: int64; msg: string = ''); overload; < 30>: class procedure CheckEquals(expected, actual: QWord; msg: string = ''); overload; < 31>: class procedure CheckNotEquals(expected, actual: string; msg: string = ''); overload; < 32>: class procedure CheckNotEquals(expected, actual: unicodestring; msg: string = ''); overload; < 33>: class procedure CheckNotEquals(expected, actual: integer; msg: string = ''); overload; virtual; < 34>: class procedure CheckNotEquals(expected, actual: boolean; msg: string = ''); overload; virtual; < 35>: class procedure CheckNotEquals(expected: extended; actual: extended; delta: extended = 0; msg: string = ''); overload; virtual; < 36>: class procedure CheckNotEquals(expected, actual: int64; msg: string = ''); overload; virtual; < 37>: class procedure CheckNotEquals(expected, actual: QWord; msg: string = ''); overload; virtual; < 38>: class procedure CheckNull(obj: IUnknown; msg: string = ''); overload; < 39>: class procedure CheckNull(obj: TObject; msg: string = ''); overload; < 40>: class procedure CheckNotNull(obj: TObject; msg: string = ''); overload; < 41>: class procedure CheckNotNull(obj: IUnknown; msg: string = ''); overload; virtual; < 42>: class procedure CheckIs(obj :TObject; pClass: TClass; msg: string = ''); overload; < 43>: class procedure CheckSame(expected, actual: TObject; msg: string = ''); overload; < 44>: class procedure CheckTrue(condition: Boolean; msg: string = ''); < 45>: class procedure CheckFalse(condition: Boolean; msg: string = ''); < 46>: class procedure CheckException(AMethod: TRunMethod; AExceptionClass: ExceptClass; msg: string = ''); < 55>: procedure CheckEqualsBin(expected, actual: longword; msg: string = ''; digits: integer=32); virtual; < 56>: procedure CheckEqualsHex(expected, actual: longword; msg: string = ''; digits: integer=8); virtual; < 57>: procedure CheckNotEqualsBin(expected, actual: longword; msg: string = ''; digits: integer=32); virtual; < 58>: procedure CheckNotEqualsHex(expected, actual: longword; msg: string = ''; digits: integer=8); virtual; < 59>: procedure CheckNotNull(obj :IUnknown; msg :string = ''); overload; virtual; < 60>: procedure CheckSame(expected, actual: IUnknown; msg: string = ''); overload; virtual; < 61>: procedure CheckException(AMethod: TTestMethod; AExceptionClass: TClass; msg :string = ''); < 62>: procedure CheckInherits(expected, actual: TClass; msg: string = ''); overload; virtual; < 70>: class procedure TAssert.Check(pValue: boolean; pMessage: string); < 75>: class procedure TAssert.CheckEquals(expected, actual: extended; msg: string); < 81>: delta: extended; msg: string); < 86>: class procedure TAssert.CheckEquals(expected, actual: string; msg: string); < 90>: class procedure TAssert.CheckEquals(expected, actual: unicodestring; msg: string); < 95>: class procedure TAssert.CheckEquals(expected, actual: integer; msg: string); < 100>: class procedure TAssert.CheckEquals(expected, actual: boolean; msg: string); < 105>: class procedure TAssert.CheckEquals(expected, actual: TClass; msg: string); < 122>: class procedure TAssert.CheckNotEquals(expected, actual: string; msg: string); < 130>: class procedure TAssert.CheckNotEquals(expected, actual: unicodestring; msg: string); < 138>: class procedure TAssert.CheckNotEquals(expected, actual: integer; msg: string); < 146>: class procedure TAssert.CheckNotEquals(expected, actual: boolean; msg: string); < 155>: delta: extended; msg: string); < 181>: class procedure TAssert.CheckNull(obj: IUnknown; msg: string); < 186>: class procedure TAssert.CheckNull(obj: TObject; msg: string); < 191>: class procedure TAssert.CheckNotNull(obj: TObject; msg: string); < 196>: class procedure TAssert.CheckNotNull(obj: IUnknown; msg: string); < 201>: class procedure TAssert.CheckIs(obj: TObject; pClass: TClass; msg: string); < 212>: class procedure TAssert.CheckSame(expected, actual: TObject; msg: string); < 217>: class procedure TAssert.CheckTrue(condition: Boolean; msg: string); < 225>: class procedure TAssert.CheckFalse(condition: Boolean; msg: string); < 234>: class procedure TAssert.CheckException(AMethod: TRunMethod; AExceptionClass: ExceptClass; msg: string = ''); <plaintestreport.pp>: #1 < 211>: function DoTestSuiteAsPlain(aSuite:TTest; Prefix : String; Options : TTestResultOptions = []): string; <testregistry.pp>: #7 < 31>: procedure RegisterTest(ASuitePath: String; ATestClass: TTestCaseClass); overload; < 32>: procedure RegisterTest(ASuitePath: String; ATest: TTest); overload; < 35>: procedure RegisterTests(ASuitePath: String; ATests: Array of TTestCaseClass); < 58>: procedure RegisterTestInSuite(ARootSuite: TTestSuite; APath: string; ATest: TTest); < 117>: procedure RegisterTest(ASuitePath: String; ATestClass: TTestCaseClass); < 122>: procedure RegisterTest(ASuitePath: String; ATest: TTest); < 143>: procedure RegisterTests(ASuitePath: String; ATests: Array of TTestCaseClass); <consoletestrunner.pas>: #2 < 58>: Class function StrToFormat(S: String): TFormat; < 232>: class function TTestRunner.StrToFormat(S: String): TFormat; <exampletests/fpcunittests.pp>: #2 < 115>: procedure AddExpectedLine(ALine: string); < 625>: procedure TMockListener.AddExpectedLine(ALine: string); <exampletests/money.pp>: #4 < 46>: constructor Create(aAmount: int64; aCurrencyUnit: String); < 66>: function FindMoney(aCurrencyUnit: string): Integer; < 111>: function TMoneyBag.FindMoney(aCurrencyUnit: string): Integer; < 321>: constructor TMoney.Create(aAmount: int64; aCurrencyUnit: string); ```
issue