|
@@ -329,6 +329,7 @@ function CompareElementWithPAElement(El, Id: Pointer): integer;
|
|
|
function ComparePAOverrideLists(List1, List2: Pointer): integer;
|
|
|
function CompareElementWithPAOverrideList(El, List: Pointer): integer;
|
|
|
{$endif}
|
|
|
+function CreatePasElementSet: TPasAnalyzerKeySet;
|
|
|
function GetElModName(El: TPasElement): string;
|
|
|
function dbgs(a: TPAIdentifierAccess): string; overload;
|
|
|
|
|
@@ -394,6 +395,17 @@ begin
|
|
|
end;
|
|
|
{$endif}
|
|
|
|
|
|
+function CreatePasElementSet: TPasAnalyzerKeySet;
|
|
|
+begin
|
|
|
+ Result:=TPasAnalyzerKeySet.Create(
|
|
|
+ {$ifdef pas2js}
|
|
|
+ @PasElementToHashName
|
|
|
+ {$else}
|
|
|
+ @ComparePointer
|
|
|
+ {$endif}
|
|
|
+ ,nil);
|
|
|
+end;
|
|
|
+
|
|
|
function GetElModName(El: TPasElement): string;
|
|
|
var
|
|
|
aModule: TPasModule;
|
|
@@ -898,12 +910,7 @@ end;
|
|
|
|
|
|
procedure TPasAnalyzer.CreateTree;
|
|
|
begin
|
|
|
- FUsedElements:=TPasAnalyzerKeySet.Create(
|
|
|
- {$ifdef pas2js}
|
|
|
- @PAElement_ElToHashName,@PasElementToHashName
|
|
|
- {$else}
|
|
|
- @ComparePAElements,@CompareElementWithPAElement
|
|
|
- {$endif});
|
|
|
+ FUsedElements:=CreatePasElementSet;
|
|
|
end;
|
|
|
|
|
|
function TPasAnalyzer.MarkElementAsUsed(El: TPasElement; aClass: TPAElementClass
|
|
@@ -2977,23 +2984,9 @@ var
|
|
|
begin
|
|
|
CreateTree;
|
|
|
for m in TPAUseMode do
|
|
|
- FModeChecked[m]:=TPasAnalyzerKeySet.Create(
|
|
|
- {$ifdef pas2js}
|
|
|
- @PasElementToHashName
|
|
|
- {$else}
|
|
|
- @ComparePointer
|
|
|
- {$endif}
|
|
|
- ,nil
|
|
|
- );
|
|
|
+ FModeChecked[m]:=CreatePasElementSet;
|
|
|
for oc in TPAOtherCheckedEl do
|
|
|
- FOtherChecked[oc]:=TPasAnalyzerKeySet.Create(
|
|
|
- {$ifdef pas2js}
|
|
|
- @PasElementToHashName
|
|
|
- {$else}
|
|
|
- @ComparePointer
|
|
|
- {$endif}
|
|
|
- ,nil
|
|
|
- );
|
|
|
+ FOtherChecked[oc]:=CreatePasElementSet;
|
|
|
FOverrideLists:=TPasAnalyzerKeySet.Create(
|
|
|
{$ifdef pas2js}
|
|
|
@PAOverrideList_ElToHashName,@PasElementToHashName
|