codetools: fixed TPointerToPointerTree.DisposeItem

git-svn-id: trunk@42726 -
This commit is contained in:
mattias 2013-09-10 20:04:56 +00:00
parent 15838492b6
commit 376c2af303

View File

@ -91,22 +91,22 @@ type
TPointerToPointerTree = class TPointerToPointerTree = class
private private
FTree: TAVLTree;// tree of PPointerToPointerItem FTree: TAVLTree;// tree of PPointerToPointerItem
function GetItems(const Key: Pointer): Pointer; function GetItems(Key: Pointer): Pointer;
procedure SetItems(const Key: Pointer; AValue: Pointer); procedure SetItems(Key: Pointer; AValue: Pointer);
protected protected
procedure DisposeItem(p: PPointerToPointerItem); virtual; procedure DisposeItem(p: PPointerToPointerItem); virtual;
public public
constructor Create; constructor Create;
destructor Destroy; override; destructor Destroy; override;
procedure Clear; virtual; procedure Clear; virtual;
function Contains(const Key: Pointer): boolean; function Contains(Key: Pointer): boolean;
procedure Remove(const Key: Pointer); virtual; procedure Remove(Key: Pointer); virtual;
property Tree: TAVLTree read FTree; // tree of PPointerToPointerItem property Tree: TAVLTree read FTree; // tree of PPointerToPointerItem
function GetNodeData(AVLNode: TAVLTreeNode): PPointerToPointerItem; inline; function GetNodeData(AVLNode: TAVLTreeNode): PPointerToPointerItem; inline;
function Count: integer; function Count: integer;
function FindNode(const Key: Pointer): TAVLTreeNode; function FindNode(Key: Pointer): TAVLTreeNode;
procedure Add(const Key, Value: Pointer); virtual; procedure Add(Key, Value: Pointer); virtual;
property Items[const Key: Pointer]: Pointer read GetItems write SetItems; default; property Items[Key: Pointer]: Pointer read GetItems write SetItems; default;
end; end;
TStringMap = class; TStringMap = class;
@ -492,7 +492,7 @@ end;
{ TPointerToPointerTree } { TPointerToPointerTree }
function TPointerToPointerTree.GetItems(const Key: Pointer): Pointer; function TPointerToPointerTree.GetItems(Key: Pointer): Pointer;
var var
Node: TAVLTreeNode; Node: TAVLTreeNode;
begin begin
@ -503,7 +503,7 @@ begin
Result:=nil; Result:=nil;
end; end;
procedure TPointerToPointerTree.SetItems(const Key: Pointer; AValue: Pointer); procedure TPointerToPointerTree.SetItems(Key: Pointer; AValue: Pointer);
var var
Node: TAVLTreeNode; Node: TAVLTreeNode;
NewItem: PPointerToPointerItem; NewItem: PPointerToPointerItem;
@ -521,7 +521,7 @@ end;
procedure TPointerToPointerTree.DisposeItem(p: PPointerToPointerItem); procedure TPointerToPointerTree.DisposeItem(p: PPointerToPointerItem);
begin begin
DisposeItem(p); Dispose(p);
end; end;
constructor TPointerToPointerTree.Create; constructor TPointerToPointerTree.Create;
@ -548,12 +548,12 @@ begin
FTree.Clear; FTree.Clear;
end; end;
function TPointerToPointerTree.Contains(const Key: Pointer): boolean; function TPointerToPointerTree.Contains(Key: Pointer): boolean;
begin begin
Result:=FindNode(Key)<>nil; Result:=FindNode(Key)<>nil;
end; end;
procedure TPointerToPointerTree.Remove(const Key: Pointer); procedure TPointerToPointerTree.Remove(Key: Pointer);
var var
Node: TAVLTreeNode; Node: TAVLTreeNode;
Item: PPointerToPointerItem; Item: PPointerToPointerItem;
@ -577,12 +577,12 @@ begin
Result:=FTree.Count; Result:=FTree.Count;
end; end;
function TPointerToPointerTree.FindNode(const Key: Pointer): TAVLTreeNode; function TPointerToPointerTree.FindNode(Key: Pointer): TAVLTreeNode;
begin begin
Result:=FTree.FindKey(Key,@ComparePointerAndP2PItem); Result:=FTree.FindKey(Key,@ComparePointerAndP2PItem);
end; end;
procedure TPointerToPointerTree.Add(const Key, Value: Pointer); procedure TPointerToPointerTree.Add(Key, Value: Pointer);
begin begin
Items[Key]:=Value; Items[Key]:=Value;
end; end;