From 341a3f7a74e2277f73c84df14bbe8f9ca2fcf989 Mon Sep 17 00:00:00 2001 From: mattias Date: Sun, 28 Feb 2021 23:34:09 +0000 Subject: [PATCH] codetools: fixed TFindDeclarationTool.FindUnitReferences search in uses section, bug #38559 git-svn-id: trunk@64704 - --- components/codetools/finddeclarationtool.pas | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/components/codetools/finddeclarationtool.pas b/components/codetools/finddeclarationtool.pas index 478a54ae4b..8c2096ccbc 100644 --- a/components/codetools/finddeclarationtool.pas +++ b/components/codetools/finddeclarationtool.pas @@ -6759,23 +6759,24 @@ var var ReferencePos: TCodeXYPosition; UnitNamePos, UnitInFilePos: TAtomPosition; + UnitNameP: PChar; begin Result:=false; if UsesNode=nil then exit; - //DebugLn(['CheckUsesSection ']); + //DebugLn(['CheckUsesSection ',UsesNode.DescAsString]); MoveCursorToNodeStart(UsesNode); if (UsesNode.Desc=ctnUsesSection) then begin ReadNextAtom; if not UpAtomIs('USES') then RaiseUsesExpected(20170421200509); end; + UnitNameP:=PChar(UpperUnitName); repeat ReadNextAtom; // read name ReadNextUsedUnit(UnitNamePos,UnitInFilePos); // read dotted name + IN file if CurPos.StartPos>SrcLen then break; - if AtomIsChar(';') then break; - if UpAtomIs(UpperUnitName) then begin // compare case insensitive - if CleanPosToCaret(CurPos.StartPos,ReferencePos) then begin + if CompareSrcIdentifiers(UnitNamePos.StartPos,UnitNameP) then begin // compare case insensitive + if CleanPosToCaret(UnitNamePos.StartPos,ReferencePos) then begin //DebugLn(['CheckUsesSection found in uses section: ',Dbgs(ReferencePos)]); Result:=true; AddCodePosition(ListOfPCodeXYPosition,ReferencePos);