mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-01 11:37:22 +02:00
codetools: fixed TPointerToPointerTree.DisposeItem
git-svn-id: trunk@42726 -
This commit is contained in:
parent
15838492b6
commit
376c2af303
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user