From 6c2a71138f30932a015b9321f5bb071157f54dc0 Mon Sep 17 00:00:00 2001 From: mattias Date: Sun, 18 Aug 2002 16:49:56 +0000 Subject: [PATCH] find declaration now supports class interfaces git-svn-id: trunk@3144 - --- components/codetools/codecompletiontool.pas | 22 ++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/components/codetools/codecompletiontool.pas b/components/codetools/codecompletiontool.pas index 32c17247f4..d403d40efe 100644 --- a/components/codetools/codecompletiontool.pas +++ b/components/codetools/codecompletiontool.pas @@ -631,14 +631,14 @@ function TCodeCompletionCodeTool.CompleteProperty( property Items[Index1, Index2: integer]: integer read GetItems; default; property X: integer index 1 read GetCoords write SetCoords stored IsStored; property C: char read GetC stored False default 'A'; - property Col8: ICol8 read FCol8 write FCol8 implements ICol8; + property Col8: ICol8 read FCol8 write FCol8 implements ICol8, IColor; property specifiers without parameters: ;nodefault, ;default property specifiers with parameters: - index , read , write , implements , - stored , default + index , read , write , stored , + default , implements [,...] } type TPropPart = (ppName, // property name @@ -757,8 +757,8 @@ var AccessParam, AccessParamPrefix, CleanAccessFunc, AccessFunc, procedure ReadOptionalSpecifiers; begin - while (CurPos.StartPos=1 then RaiseException(ctsNodefaultSpecifierDefinedTwice); Parts[ppNoDefaultWord]:=CurPos; ReadNextAtom; + end else if UpAtomIs('IMPLEMENTS') then begin + ReadSimpleSpec(ppImplementsWord,ppImplements); + while CurPos.Flag=cafComma do begin + ReadNextAtom; + AtomIsIdentifier(true); + if WordIsPropertySpecifier.DoItUpperCase(UpperSrc,CurPos.StartPos, + CurPos.EndPos-CurPos.StartPos) then + RaiseExceptionFmt(ctsIndexParameterExpectedButAtomFound,[GetAtom]); + ReadNextAtom; + end; end else RaiseExceptionFmt(ctsStrExpectedButAtomFound,[';',GetAtom]); end;