Skip to content

Commit 58e7a09

Browse files
committed
Fixed TProjectIndexer do accept not only ntUnit
1 parent 6aa7ccf commit 58e7a09

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

Source/DelphiAST.ProjectIndexer.pas

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ TIncludeHandler = class(TInterfacedObject, IIncludeHandler)
103103
FUnitPaths : TUnitPathsCache;
104104
strict protected
105105
procedure AppendUnits(usesNode: TSyntaxNode; const filePath: string; unitList: TStrings);
106-
procedure BuildUsesList(unitNode: TSyntaxNode; const fileName: string; isProject: boolean;
106+
procedure BuildUsesList(rootNode: TSyntaxNode; const fileName: string; isProject: boolean;
107107
unitList: TStringList);
108108
function FindType(node: TSyntaxNode; nodeType: TSyntaxNodeType): TSyntaxNode;
109109
procedure GetUnitSyntax(const fileName: string; var syntaxTree: TSyntaxNode; var
@@ -243,7 +243,7 @@ procedure TProjectIndexer.AppendUnits(usesNode: TSyntaxNode; const filePath: str
243243
end;
244244
end;
245245

246-
procedure TProjectIndexer.BuildUsesList(unitNode: TSyntaxNode; const fileName: string;
246+
procedure TProjectIndexer.BuildUsesList(rootNode: TSyntaxNode; const fileName: string;
247247
isProject: boolean; unitList: TStringList);
248248
var
249249
fileFolder: string;
@@ -253,21 +253,21 @@ procedure TProjectIndexer.BuildUsesList(unitNode: TSyntaxNode; const fileName: s
253253
begin
254254
fileFolder := IncludeTrailingPathDelimiter(ExtractFilePath(fileName));
255255
if isProject then begin
256-
usesNode := FindType(unitNode, ntUses);
256+
usesNode := FindType(rootNode, ntUses);
257257
if assigned(usesNode) then
258258
AppendUnits(usesNode, fileFolder, unitList);
259-
usesNode := FindType(unitNode, ntContains);
259+
usesNode := FindType(rootNode, ntContains);
260260
if assigned(usesNode) then
261261
AppendUnits(usesNode, fileFolder, unitList);
262262
end
263263
else begin
264-
intfNode := FindType(unitNode, ntInterface);
264+
intfNode := FindType(rootNode, ntInterface);
265265
if assigned(intfNode) then begin
266266
usesNode := FindType(intfNode, ntUses);
267267
if assigned(usesNode) then
268268
AppendUnits(usesNode, fileFolder, unitList);
269269
end;
270-
implNode := FindType(unitNode, ntImplementation);
270+
implNode := FindType(rootNode, ntImplementation);
271271
if assigned(implNode) then begin
272272
usesNode := FindType(implNode, ntUses);
273273
if assigned(usesNode) then
@@ -518,17 +518,12 @@ procedure TProjectIndexer.ScanUsedUnits(const unitName, fileName: string; isProj
518518
syntaxTree: TSyntaxNode; syntaxTreeFromParser: boolean);
519519
var
520520
unitList: TStringList;
521-
unitNode: TSyntaxNode;
522521
usesName: string;
523522
usesPath: string;
524523
begin
525-
unitNode := FindType(syntaxTree, ntUnit);
526-
if not assigned(unitNode) then
527-
Exit;
528-
529524
unitList := TStringList.Create;
530525
try
531-
BuildUsesList(unitNode, fileName, isProject, unitList);
526+
BuildUsesList(syntaxTree, fileName, isProject, unitList);
532527

533528
NotifyUnitParsed(unitName, fileName, syntaxTree, syntaxTreeFromParser);
534529

0 commit comments

Comments
 (0)