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:
parent
5a7933c556
commit
816d45da0c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user