* Add const to string args where possible. Fix issue #40048

This commit is contained in:
Michaël Van Canneyt 2022-12-20 15:00:35 +01:00
parent c34eedb9cf
commit 125dc64b1e
3 changed files with 24 additions and 22 deletions

View File

@ -144,8 +144,8 @@ type
procedure SaveToStream(aStream: TFPJSStream); virtual; procedure SaveToStream(aStream: TFPJSStream); virtual;
{$ifdef HasStreams} {$ifdef HasStreams}
procedure LoadFromStream(aStream: TStream); virtual; procedure LoadFromStream(aStream: TStream); virtual;
procedure SaveToFile(Filename: string); virtual; procedure SaveToFile(const Filename: string); virtual;
procedure LoadFromFile(Filename: string); virtual; procedure LoadFromFile(const Filename: string); virtual;
{$endif} {$endif}
property GeneratedFilename: string read FGeneratedFilename write SetGeneratedFilename; property GeneratedFilename: string read FGeneratedFilename write SetGeneratedFilename;
function IndexOfName(const Name: string; AddIfNotExists: boolean = false): integer; function IndexOfName(const Name: string; AddIfNotExists: boolean = false): integer;
@ -605,7 +605,7 @@ function TSourceMap.AddMapping(GeneratedLine: integer; GeneratedCol: integer;
const SourceFile: string; SrcLine: integer; SrcCol: integer; const SourceFile: string; SrcLine: integer; SrcCol: integer;
const Name: String): TSourceMapSegment; const Name: String): TSourceMapSegment;
procedure RaiseInvalid(Msg: string); procedure RaiseInvalid(const Msg: string);
begin begin
raise EJSSourceMap.CreateFmt('%s (GeneratedLine=%d GeneratedCol=%d SrcFile="%s" SrcLine=%d SrcCol=%d Name="%s")', raise EJSSourceMap.CreateFmt('%s (GeneratedLine=%d GeneratedCol=%d SrcFile="%s" SrcLine=%d SrcCol=%d Name="%s")',
[Msg,GeneratedLine,GeneratedCol,SourceFile,SrcLine,SrcCol,Name]); [Msg,GeneratedLine,GeneratedCol,SourceFile,SrcLine,SrcCol,Name]);
@ -1134,7 +1134,7 @@ begin
end; end;
end; end;
procedure TSourceMap.SaveToFile(Filename: string); procedure TSourceMap.SaveToFile(const Filename: string);
var var
TheStream: TMemoryStream; TheStream: TMemoryStream;
begin begin
@ -1148,7 +1148,7 @@ begin
end; end;
end; end;
procedure TSourceMap.LoadFromFile(Filename: string); procedure TSourceMap.LoadFromFile(const Filename: string);
var var
TheStream: TMemoryStream; TheStream: TMemoryStream;
begin begin

View File

@ -33,7 +33,7 @@ Type
FStrings : Array of String; FStrings : Array of String;
function GetCount: Integer; function GetCount: Integer;
function GetS(AIndex : Integer): String; function GetS(AIndex : Integer): String;
procedure SetS(AIndex : Integer; AValue: String); procedure SetS(AIndex : Integer; const AValue: String);
Public Public
Function Add(Const S : String) : Integer; Function Add(Const S : String) : Integer;
Procedure Assign(Source : TStrings); Procedure Assign(Source : TStrings);
@ -2565,7 +2565,7 @@ begin
Raise EListError.CreateFmt('List index (%d) out of bounds.',[AIndex]); Raise EListError.CreateFmt('List index (%d) out of bounds.',[AIndex]);
end; end;
procedure TStrings.SetS(AIndex : Integer; AValue: String); procedure TStrings.SetS(AIndex : Integer; const AValue: String);
begin begin
if (AIndex>=0) and (AIndex<=FCount) then if (AIndex>=0) and (AIndex<=FCount) then
begin begin
@ -3445,7 +3445,7 @@ end;
constructor TJSSourceElements.Create(ALine, AColumn: Integer; const ASource: String); constructor TJSSourceElements.Create(ALine, AColumn: Integer; const ASource: String);
Function CN(aName : String; DoClear : Boolean = True) : TJSElementNodes; Function CN(const aName : String; DoClear : Boolean = True) : TJSElementNodes;
begin begin
Result:=TJSElementNodes.Create(TJSElementNode); Result:=TJSElementNodes.Create(TJSElementNode);
Result.NodeType:=aName; Result.NodeType:=aName;

View File

@ -179,10 +179,10 @@ Type
function CheckUnionTypeDefinition(D: TJSTypeDef): TJSUnionTypeDef; function CheckUnionTypeDefinition(D: TJSTypeDef): TJSUnionTypeDef;
function CreatePasName(const aOriginal : jsBase.TJSString; const aName: String): TPasData;virtual; function CreatePasName(const aOriginal : jsBase.TJSString; const aName: String): TPasData;virtual;
function TypeNeedsTypeName(aType: TJSElement; IgnoreData : Boolean; IsResultType : Boolean = False): Boolean; function TypeNeedsTypeName(aType: TJSElement; IgnoreData : Boolean; IsResultType : Boolean = False): Boolean;
procedure AllocatePasNames(FD: TJSFuncDef; aPrefix: String=''); procedure AllocatePasNames(FD: TJSFuncDef; const aPrefix: String='');
procedure AllocatePasNames(aList: TJSSourceElements; ParentName: String=''); virtual; procedure AllocatePasNames(aList: TJSSourceElements; const ParentName: String=''); virtual;
procedure AllocatePasNames(aList: TJSElementNodes; ParentName: String=''); virtual; procedure AllocatePasNames(aList: TJSElementNodes; Const ParentName: String=''); virtual;
Function AllocatePasName(D: TJSElement; ParentName: String='') : TPasData;virtual; Function AllocatePasName(D: TJSElement; Const ParentName: String='') : TPasData;virtual;
procedure EnsureUniqueNames(ML: TJSSourceElements);virtual; procedure EnsureUniqueNames(ML: TJSSourceElements);virtual;
function GetExternalMemberName(const aName: jsBase.TJSString): string; function GetExternalMemberName(const aName: jsBase.TJSString): string;
function GetName(ADef: TJSElement): String;virtual; function GetName(ADef: TJSElement): String;virtual;
@ -215,7 +215,7 @@ Type
function WriteClassDefs(aClasses: TJSElementNodes) : Integer; function WriteClassDefs(aClasses: TJSElementNodes) : Integer;
// Forwards // Forwards
function WriteForwardClass(aName: string): Boolean; function WriteForwardClass(const aName: string): Boolean;
function WriteForwardClassDef(aIntf: TJSInterfaceDeclaration): Boolean; function WriteForwardClassDef(aIntf: TJSInterfaceDeclaration): Boolean;
function WriteForwardClassDef(aObj: TJSTypeDeclaration): Boolean; function WriteForwardClassDef(aObj: TJSTypeDeclaration): Boolean;
function WriteForwardClassDef(aClass: TJSClassDeclaration): Boolean; function WriteForwardClassDef(aClass: TJSClassDeclaration): Boolean;
@ -1385,10 +1385,11 @@ begin
FPasNameList.Add(Result); FPasNameList.Add(Result);
end; end;
function TTypescriptToPas.AllocatePasName(D: TJSElement; ParentName: String): TPasData; function TTypescriptToPas.AllocatePasName(D: TJSElement; const ParentName: String): TPasData;
Var Var
Org : TJSString; Org : TJSString;
lParentName,
CN : String; CN : String;
CD : TJSClassDeclaration absolute D; CD : TJSClassDeclaration absolute D;
AD : TJSAmbientClassDeclaration absolute D; AD : TJSAmbientClassDeclaration absolute D;
@ -1465,9 +1466,10 @@ begin
D.Data:=Result; D.Data:=Result;
if Verbose and (Result<>Nil) and (Result.PasName<>UTF8Encode(Org)) then if Verbose and (Result<>Nil) and (Result.PasName<>UTF8Encode(Org)) then
begin begin
if (ParentName<>'') then lParentName:=ParentName;
ParentName:=ParentName+'.'; if (lParentName<>'') then
DoLog(SLogRenamedType, [ParentName+UTF8Encode(Org), TPasData(D.Data).PasName]); lParentName:=lParentName+'.';
DoLog(SLogRenamedType, [lParentName+UTF8Encode(Org), TPasData(D.Data).PasName]);
end; end;
end; end;
@ -1636,7 +1638,7 @@ begin
Result:=coRaw in Options; Result:=coRaw in Options;
end; end;
procedure TTypescriptToPas.AllocatePasNames(FD : TJSFuncDef; aPrefix: String = ''); procedure TTypescriptToPas.AllocatePasNames(FD : TJSFuncDef; const aPrefix: String = '');
begin begin
AllocateIndirectTypeDefs(FD.TypedParams,aPrefix); AllocateIndirectTypeDefs(FD.TypedParams,aPrefix);
@ -1644,7 +1646,7 @@ begin
AllocateIndirectTypeDef(FD.ResultType,aPrefix,'Result'); AllocateIndirectTypeDef(FD.ResultType,aPrefix,'Result');
end; end;
procedure TTypescriptToPas.AllocatePasNames(aList : TJSElementNodes; ParentName: String = ''); procedure TTypescriptToPas.AllocatePasNames(aList : TJSElementNodes; const ParentName: String = '');
Var Var
I : Integer; I : Integer;
@ -1701,7 +1703,7 @@ begin
end; end;
end; end;
procedure TTypescriptToPas.AllocatePasNames(aList : TJSSourceElements; ParentName: String = ''); procedure TTypescriptToPas.AllocatePasNames(aList : TJSSourceElements; const ParentName: String = '');
begin begin
AllocatePasNames(aList.Types,ParentName); AllocatePasNames(aList.Types,ParentName);
@ -3037,7 +3039,7 @@ end;
Classes Classes
----------------------------------------------------------------------} ----------------------------------------------------------------------}
function TTypescriptToPas.WriteForwardClass(aName : string) : Boolean; function TTypescriptToPas.WriteForwardClass(const aName : string) : Boolean;
begin begin
Result:=FContext.CurrentForwards.IndexOf(aName)=-1; Result:=FContext.CurrentForwards.IndexOf(aName)=-1;
@ -3356,7 +3358,7 @@ end;
function TTypescriptToPas.WriteInterfaceDefs(aList: TJSElementNodes): Integer; function TTypescriptToPas.WriteInterfaceDefs(aList: TJSElementNodes): Integer;
Function GetInterfaces(aName : String) : TJSInterfaceDeclarationArray; Function GetInterfaces(const aName : String) : TJSInterfaceDeclarationArray;
Var Var
I,aCount : Integer; I,aCount : Integer;