Method deletion : remove deleted item from the list

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3196 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa 2014-06-18 10:06:50 +00:00
parent 5a7933c556
commit 816d45da0c

View File

@ -249,6 +249,10 @@ type
var AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
):Boolean;override;
class procedure DeleteObject(
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
);override;
end;
{ TArgumentUpdater }
@ -566,6 +570,22 @@ begin
end;
end;
class procedure TMethodUpdater.DeleteObject(
AObject : TPasElement;
ASymbolTable : TwstPasTreeContainer
);
var
owner : TPasClassType;
begin
if (AObject = nil) then
exit;
if (AObject.RefCount > 0) then
raise EWstEditException.CreateFmt(s_CantDeleteStillReferencedObject,[AObject.Name]);
owner := AObject.Parent as TPasClassType;
owner.Members.Extract(AObject);
AObject.Release();
end;
{ TInterfaceUpdater }
class function TInterfaceUpdater.CanHandle(AObject : TObject; const AEditAction : TEditType): Boolean;