mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-23 14:39:13 +02:00
codetools: removed TCodeTreeNodeMemManager, not needed anymore
git-svn-id: trunk@29333 -
This commit is contained in:
parent
ba99b14873
commit
e60e0f810e
@ -875,7 +875,7 @@ procedure TCCodeParserTool.CreateChildNode(Desc: TCCodeNodeDesc);
|
||||
var
|
||||
NewNode: TCodeTreeNode;
|
||||
begin
|
||||
NewNode:=NodeMemManager.NewNode;
|
||||
NewNode:=TCodeTreeNode.Create;
|
||||
Tree.AddNodeAsLastChild(CurNode,NewNode);
|
||||
NewNode.Desc:=Desc;
|
||||
CurNode:=NewNode;
|
||||
|
@ -295,17 +295,6 @@ type
|
||||
end;
|
||||
|
||||
|
||||
{ TCodeTreeNodeMemManager - memory system for TCodeTreeNode(s) }
|
||||
|
||||
TCodeTreeNodeMemManager = class(TCodeToolMemManager)
|
||||
protected
|
||||
procedure FreeFirstItem; override;
|
||||
public
|
||||
procedure DisposeNode(ANode: TCodeTreeNode);
|
||||
function NewNode: TCodeTreeNode;
|
||||
end;
|
||||
|
||||
|
||||
{ TCodeTreeNodeExtMemManager - memory system for TCodeTreeNodeExtension(s) }
|
||||
|
||||
TCodeTreeNodeExtMemManager = class(TCodeToolMemManager)
|
||||
@ -320,7 +309,6 @@ type
|
||||
|
||||
var
|
||||
NodeExtMemManager: TCodeTreeNodeExtMemManager;
|
||||
NodeMemManager: TCodeTreeNodeMemManager;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// useful functions
|
||||
@ -855,7 +843,8 @@ begin
|
||||
end;
|
||||
if ANode=Root then Root:=nil;
|
||||
dec(FNodeCount);
|
||||
NodeMemManager.DisposeNode(ANode);
|
||||
ANode.Clear; // clear to spot dangling pointers early
|
||||
ANode.Free;
|
||||
end;
|
||||
|
||||
procedure TCodeTree.AddNodeAsLastChild(ParentNode, ANode: TCodeTreeNode);
|
||||
@ -1008,54 +997,6 @@ begin
|
||||
+MemSizeString(ExtTxt3);
|
||||
end;
|
||||
|
||||
{ TCodeTreeNodeMemManager }
|
||||
|
||||
function TCodeTreeNodeMemManager.NewNode: TCodeTreeNode;
|
||||
begin
|
||||
if FFirstFree<>nil then begin
|
||||
// take from free list
|
||||
Result:=TCodeTreeNode(FFirstFree);
|
||||
TCodeTreeNode(FFirstFree):=Result.NextBrother;
|
||||
Result.NextBrother:=nil;
|
||||
dec(FFreeCount);
|
||||
end else begin
|
||||
// free list empty -> create new node
|
||||
Result:=TCodeTreeNode.Create;
|
||||
{$IFDEF DebugCTMemManager}
|
||||
inc(FAllocatedCount);
|
||||
{$ENDIF}
|
||||
end;
|
||||
inc(FCount);
|
||||
end;
|
||||
|
||||
procedure TCodeTreeNodeMemManager.DisposeNode(ANode: TCodeTreeNode);
|
||||
begin
|
||||
if (FFreeCount<FMinFree) or (FFreeCount<((FCount shr 3)*FMaxFreeRatio)) then
|
||||
begin
|
||||
// add ANode to Free list
|
||||
ANode.Clear;
|
||||
ANode.NextBrother:=TCodeTreeNode(FFirstFree);
|
||||
TCodeTreeNode(FFirstFree):=ANode;
|
||||
inc(FFreeCount);
|
||||
end else begin
|
||||
// free list full -> free the ANode
|
||||
ANode.Clear;// clear the node, so that dangling pointers can be spotted early
|
||||
ANode.Free;
|
||||
{$IFDEF DebugCTMemManager}
|
||||
inc(FFreedCount);
|
||||
{$ENDIF}
|
||||
end;
|
||||
dec(FCount);
|
||||
end;
|
||||
|
||||
procedure TCodeTreeNodeMemManager.FreeFirstItem;
|
||||
var ANode: TCodeTreeNode;
|
||||
begin
|
||||
ANode:=TCodeTreeNode(FFirstFree);
|
||||
TCodeTreeNode(FFirstFree):=ANode.NextBrother;
|
||||
ANode.Free;
|
||||
end;
|
||||
|
||||
{ TCodeTreeNodeExtMemManager }
|
||||
|
||||
function TCodeTreeNodeExtMemManager.NewNode: TCodeTreeNodeExtension;
|
||||
@ -1116,14 +1057,12 @@ end;
|
||||
|
||||
procedure InternalInit;
|
||||
begin
|
||||
NodeMemManager:=TCodeTreeNodeMemManager.Create;
|
||||
NodeExtMemManager:=TCodeTreeNodeExtMemManager.Create;
|
||||
end;
|
||||
|
||||
procedure InternalFinal;
|
||||
begin
|
||||
FreeAndNil(NodeExtMemManager);
|
||||
FreeAndNil(NodeMemManager);
|
||||
end;
|
||||
|
||||
|
||||
|
@ -2119,7 +2119,7 @@ end;
|
||||
procedure TCustomCodeTool.CreateChildNode;
|
||||
var NewNode: TCodeTreeNode;
|
||||
begin
|
||||
NewNode:=NodeMemManager.NewNode;
|
||||
NewNode:=TCodeTreeNode.Create;
|
||||
Tree.AddNodeAsLastChild(CurNode,NewNode);
|
||||
CurNode:=NewNode;
|
||||
CurNode.StartPos:=CurPos.StartPos;
|
||||
|
@ -650,7 +650,7 @@ procedure TCompilerDirectivesTree.CreateChildNode(
|
||||
SubDesc: TCompilerDirectiveNodeDesc);
|
||||
var NewNode: TCodeTreeNode;
|
||||
begin
|
||||
NewNode:=NodeMemManager.NewNode;
|
||||
NewNode:=TCodeTreeNode.Create;
|
||||
Tree.AddNodeAsLastChild(CurNode,NewNode);
|
||||
NewNode.Desc:=Desc;
|
||||
NewNode.SubDesc:=SubDesc;
|
||||
@ -1653,7 +1653,7 @@ begin
|
||||
ParentNode:=Tree.Root;
|
||||
while (ParentNode<>Tree.Root) and (ParentNode.EndPos=Position) do
|
||||
ParentNode:=ParentNode.Parent;
|
||||
Result:=NodeMemManager.NewNode;
|
||||
Result:=TCodeTreeNode.Create;
|
||||
Result.Desc:=cdnDefine;
|
||||
Result.SubDesc:=SubDesc;
|
||||
Result.StartPos:=FindNextCompilerDirective(Src,Position,NestedComments);
|
||||
|
@ -181,7 +181,7 @@ end;
|
||||
|
||||
constructor TPPUMember.Create;
|
||||
begin
|
||||
KeyNode:=NodeMemManager.NewNode;
|
||||
KeyNode:=TCodeTreeNode.Create;
|
||||
MainUses:=TStringList.Create;
|
||||
ImplementationUses:=TStringList.Create;
|
||||
end;
|
||||
@ -191,9 +191,7 @@ begin
|
||||
FreeAndNil(PPU);
|
||||
FreeAndNil(MainUses);
|
||||
FreeAndNil(ImplementationUses);
|
||||
if KeyNode<>nil then
|
||||
NodeMemManager.DisposeNode(KeyNode);
|
||||
KeyNode:=nil;
|
||||
FreeAndNil(KeyNode);
|
||||
if Group<>nil then
|
||||
Group.InternalRemoveMember(Self);
|
||||
inherited Destroy;
|
||||
@ -282,7 +280,7 @@ end;
|
||||
constructor TPPUGroup.Create;
|
||||
begin
|
||||
FMembers:=TAVLTree.Create(@ComparePPUMembersByUnitName);
|
||||
KeyNode:=NodeMemManager.NewNode;
|
||||
KeyNode:=TCodeTreeNode.Create;
|
||||
FUnitGraph:=TCodeGraph.Create;
|
||||
end;
|
||||
|
||||
@ -291,9 +289,7 @@ begin
|
||||
Clear;
|
||||
FreeAndNil(FUnitGraph);
|
||||
FreeAndNil(FMembers);
|
||||
if KeyNode<>nil then
|
||||
NodeMemManager.DisposeNode(KeyNode);
|
||||
KeyNode:=nil;
|
||||
FreeAndNil(KeyNode);
|
||||
if Groups<>nil then
|
||||
Groups.InternalRemoveGroup(Self);
|
||||
inherited Destroy;
|
||||
|
Loading…
Reference in New Issue
Block a user