From 75c181bb3362141ad4f97c133f6aee8c2d477322 Mon Sep 17 00:00:00 2001 From: mattias Date: Sun, 28 Nov 2010 13:29:15 +0000 Subject: [PATCH] IDE: fpdoc editor: operator result identifier git-svn-id: trunk@28533 - --- ide/codehelp.pas | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ide/codehelp.pas b/ide/codehelp.pas index dc0b62bdc9..b2f44c64d3 100644 --- a/ide/codehelp.pas +++ b/ide/codehelp.pas @@ -42,7 +42,7 @@ uses Classes, SysUtils, LCLProc, Forms, Controls, FileUtil, Dialogs, AvgLvlTree, // codetools CodeAtom, CodeTree, CodeToolManager, FindDeclarationTool, BasicCodeTools, - CodeCache, CacheCodeTools, FileProcs, + PascalParserTool, CodeCache, CacheCodeTools, FileProcs, {$IFDEF NewXMLCfg} Laz2_DOM, Laz2_XMLRead, Laz2_XMLWrite, {$ELSE} @@ -1750,12 +1750,22 @@ begin end else begin while CodeNode<>nil do begin case CodeNode.Desc of - ctnVarDefinition, ctnConstDefinition, ctnTypeDefinition, ctnGenericType: + ctnVarDefinition: + if Tool.NodeIsResultIdentifier(CodeNode) then + // fpdoc prefixes the result variable with 'Identifier ' (don't ask) + NodeName:='Identifier '+Tool.ExtractDefinitionName(CodeNode) + else + NodeName:=Tool.ExtractDefinitionName(CodeNode); + ctnConstDefinition, ctnTypeDefinition, ctnGenericType: NodeName:=Tool.ExtractDefinitionName(CodeNode); ctnProperty: NodeName:=Tool.ExtractPropName(CodeNode,false); ctnProcedure: - NodeName:=Tool.ExtractProcName(CodeNode,[]); + if Tool.NodeIsOperator(CodeNode) then + NodeName:=Tool.ExtractProcHead(CodeNode, + [phpWithStart,phpWithResultType,phpWithoutSemicolon]) + else + NodeName:=Tool.ExtractProcName(CodeNode,[]); ctnEnumIdentifier: NodeName:=GetIdentifier(@Tool.Src[CodeNode.StartPos]); ctnIdentifier: