mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-05 09:39:27 +01:00
PoChecker: TPoFamily.CheckDuplicateOriginals rewritten in order not to use TPOFile.OriginalList
git-svn-id: trunk@57345 -
This commit is contained in:
parent
b37b2476b5
commit
d67b1cba36
@ -11,7 +11,7 @@ uses
|
|||||||
// LCL
|
// LCL
|
||||||
LCLProc, Masks,
|
LCLProc, Masks,
|
||||||
// LazUtils
|
// LazUtils
|
||||||
FileUtil, LazFileUtils, Translations,
|
FileUtil, LazFileUtils, Translations, StringHashList,
|
||||||
// PoChecker
|
// PoChecker
|
||||||
PoCheckerConsts;
|
PoCheckerConsts;
|
||||||
|
|
||||||
@ -721,23 +721,29 @@ procedure TPoFamily.CheckDuplicateOriginals(out WarningCount: Integer;
|
|||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
PoItem: TPOFileItem;
|
PoItem: TPOFileItem;
|
||||||
|
DupItemsList: TStringHashList;
|
||||||
LastHash, CurHash: Cardinal;
|
LastHash, CurHash: Cardinal;
|
||||||
begin
|
begin
|
||||||
//debugln('TPoFamily.CheckMismatchedOriginals');
|
//debugln('TPoFamily.CheckMismatchedOriginals');
|
||||||
DoTestStart(PoTestTypeNames[pttCheckDuplicateOriginals], ShortMasterName);
|
DoTestStart(PoTestTypeNames[pttCheckDuplicateOriginals], ShortMasterName);
|
||||||
WarningCount := 0;
|
WarningCount := 0;
|
||||||
|
|
||||||
|
DupItemsList := TStringHashList.Create(true);
|
||||||
|
for i := 0 to FMaster.Items.Count - 1 do begin
|
||||||
|
PoItem := TPOFileItem(FMaster.Items[i]);
|
||||||
|
if PoItem.Duplicate = true then
|
||||||
|
DupItemsList.Add(PoItem.Original, PoItem);
|
||||||
|
end;
|
||||||
|
|
||||||
//debugln('TPoFamily.CehckDuplicateOriginals');
|
//debugln('TPoFamily.CehckDuplicateOriginals');
|
||||||
//debugln('FMaster.OriginalList.Count = ',DbgS(FMaster.OriginalList.Count));
|
//debugln('DupItemsList.Count = ',DbgS(DupItemsList.Count));
|
||||||
LastHash := 0;
|
LastHash := 0;
|
||||||
for i := 0 to FMaster.OriginalList.Count - 1 do
|
for i := 0 to DupItemsList.Count - 1 do
|
||||||
begin
|
begin
|
||||||
PoItem := TPoFileItem(FMaster.OriginalList.List[i]^.Data);
|
PoItem := TPoFileItem(DupItemsList.List[i]^.Data);
|
||||||
if Assigned(PoItem) then
|
if Assigned(PoItem) then
|
||||||
begin
|
begin
|
||||||
CurHash := FMaster.OriginalList.List[i]^.HashValue ;
|
CurHash := DupItemsList.List[i]^.HashValue;
|
||||||
if PoItem.Duplicate = true then
|
|
||||||
begin
|
|
||||||
if (WarningCount = 0) then
|
if (WarningCount = 0) then
|
||||||
begin
|
begin
|
||||||
ErrorLog.Add(Divider);
|
ErrorLog.Add(Divider);
|
||||||
@ -758,7 +764,6 @@ begin
|
|||||||
//debugln(format(sDuplicateLineNrWithValue,[PoItem.LineNr,PoItem.IdentifierLow]));
|
//debugln(format(sDuplicateLineNrWithValue,[PoItem.LineNr,PoItem.IdentifierLow]));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
if (WarningCount > 0) then
|
if (WarningCount > 0) then
|
||||||
begin
|
begin
|
||||||
@ -769,6 +774,8 @@ begin
|
|||||||
ErrorLog.Add('');
|
ErrorLog.Add('');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
DupItemsList.Free;
|
||||||
|
|
||||||
DoTestEnd(PoTestTypeNames[pttCheckDuplicateOriginals], WarningCount);
|
DoTestEnd(PoTestTypeNames[pttCheckDuplicateOriginals], WarningCount);
|
||||||
//debugln('TPoFamily.CheckDuplicateOriginals: ',Dbgs(WarningCount),' Errors');
|
//debugln('TPoFamily.CheckDuplicateOriginals: ',Dbgs(WarningCount),' Errors');
|
||||||
end;
|
end;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user