codetools: fixed find references wrong tool

This commit is contained in:
mattias 2025-01-30 09:32:30 +01:00
parent 89d494f909
commit fc7ad93a93

View File

@ -6835,7 +6835,7 @@ var
Result:=false; Result:=false;
end; end;
function CheckMethodOverride(ProcNode: TCodeTreeNode): boolean; function CheckMethodOverride(Tool: TFindDeclarationTool; ProcNode: TCodeTreeNode): boolean;
var var
FoundProcs: TFindContextArray; FoundProcs: TFindContextArray;
CurProc: TFindContext; CurProc: TFindContext;
@ -6847,12 +6847,12 @@ var
if not NodeIsMethodDecl(ProcNode) then if not NodeIsMethodDecl(ProcNode) then
exit; exit;
{$IFDEF VerboseFindRefMethodOverrides} {$IFDEF VerboseFindRefMethodOverrides}
debugln(['CheckMethodOverride found method: ',GetNodeNamePath(ProcNode,true,true)]); debugln(['CheckMethodOverride found method: ',Tool.GetNodeNamePath(ProcNode,true,true)]);
{$ENDIF} {$ENDIF}
if not ProcNodeHasSpecifier(ProcNode,psOverride) then exit; if not Tool.ProcNodeHasSpecifier(ProcNode,psOverride) then exit;
FoundProcs:=[]; FoundProcs:=[];
CurProc:=CreateFindContext(Self,ProcNode); CurProc:=CreateFindContext(Tool,ProcNode);
repeat repeat
if ArrayHasNode(OverrideProcNodes,CurProc.Node) then begin if ArrayHasNode(OverrideProcNodes,CurProc.Node) then begin
Result:=true; Result:=true;
@ -6973,7 +6973,7 @@ var
// this identifier is another declaration with the same name // this identifier is another declaration with the same name
if (frfMethodOverrides in Flags) and (CursorNode.Desc=ctnProcedureHead) then if (frfMethodOverrides in Flags) and (CursorNode.Desc=ctnProcedureHead) then
begin begin
if CheckMethodOverride(CursorNode.Parent) then if CheckMethodOverride(Self,CursorNode.Parent) then
AddReference(CursorNode.StartPos); AddReference(CursorNode.StartPos);
end; end;
end end
@ -7063,7 +7063,7 @@ var
{$IFDEF VerboseFindRefMethodOverrides} {$IFDEF VerboseFindRefMethodOverrides}
debugln(['ReadIdentifier identifier is procedure, check overrides...']); debugln(['ReadIdentifier identifier is procedure, check overrides...']);
{$ENDIF} {$ENDIF}
if CheckMethodOverride(Node.Parent) then if CheckMethodOverride(Params.NewCodeTool,Node.Parent) then
AddReference(IdentStartPos); AddReference(IdentStartPos);
end; end;
end; end;