codetools: removed TCodeTreeNodeMemManager, not needed anymore

git-svn-id: trunk@29333 -
This commit is contained in:
mattias 2011-02-02 18:36:45 +00:00
parent ba99b14873
commit e60e0f810e
5 changed files with 10 additions and 75 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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;