codetools: clean up

git-svn-id: trunk@34139 -
This commit is contained in:
mattias 2011-12-13 01:23:25 +00:00
parent 446ffaa84b
commit a4a5380b4a

View File

@ -114,7 +114,6 @@ type
TIdentifierListItem = class
private
FNext: TIdentifierListItem;
FParamTypeList: string;
FParamNameList: string;
FNode: TCodeTreeNode;
@ -502,78 +501,6 @@ begin
Result:=SysUtils.CompareText(HistItem.ParamList,IdentItem.ParamTypeList);
end;
type
TIdentifierListItemMemManager = class(TCodeToolMemManager)
protected
procedure FreeFirstItem; override;
public
procedure DisposeIdentListItem(IdentListItem: TIdentifierListItem);
function NewIdentListItem(NewCompatibility: TIdentifierCompatibility;
NewHasChilds: boolean; NewHistoryIndex: integer;
NewIdentifier: PChar; NewLevel: integer;
NewNode: TCodeTreeNode; NewTool: TFindDeclarationTool;
NewDefaultDesc: TCodeTreeNodeDesc): TIdentifierListItem;
end;
var
IdentifierListItemMemManager: TIdentifierListItemMemManager;
{ TIdentifierListItemMemManager }
procedure TIdentifierListItemMemManager.FreeFirstItem;
var Item: TIdentifierListItem;
begin
Item:=TIdentifierListItem(FFirstFree);
TIdentifierListItem(FFirstFree):=Item.FNext;
Item.Free;
end;
procedure TIdentifierListItemMemManager.DisposeIdentListItem(
IdentListItem: TIdentifierListItem);
begin
if (FFreeCount<FMinFree) or (FFreeCount<((FCount shr 3)*FMaxFreeRatio)) then
begin
// add IdentListItem to Free list
IdentListItem.FNext:=TIdentifierListItem(FFirstFree);
TIdentifierListItem(FFirstFree):=IdentListItem;
inc(FFreeCount);
end else begin
// free list full -> free IdentListItem
IdentListItem.Free;
{$IFDEF DebugCTMemManager}
inc(FFreedCount);
{$ENDIF}
end;
dec(FCount);
end;
function TIdentifierListItemMemManager.NewIdentListItem(
NewCompatibility: TIdentifierCompatibility;
NewHasChilds: boolean; NewHistoryIndex: integer;
NewIdentifier: PChar; NewLevel: integer;
NewNode: TCodeTreeNode; NewTool: TFindDeclarationTool;
NewDefaultDesc: TCodeTreeNodeDesc): TIdentifierListItem;
begin
if FFirstFree<>nil then begin
// take from free list
Result:=TIdentifierListItem(FFirstFree);
// ToDo: set values
TIdentifierListItem(FFirstFree):=Result.FNext;
Result.FNext:=nil;
dec(FFreeCount);
end else begin
// free list empty -> create new node
Result:=TIdentifierListItem.Create(NewCompatibility,
NewHasChilds,NewHistoryIndex,NewIdentifier,NewLevel,
NewNode,NewTool,
NewDefaultDesc);
{$IFDEF DebugCTMemManager}
inc(FAllocatedCount);
{$ENDIF}
end;
inc(FCount);
end;
{ TIdentifierList }
procedure TIdentifierList.SetPrefix(const AValue: string);
@ -3482,12 +3409,5 @@ begin
inherited Destroy;
end;
initialization
IdentifierListItemMemManager:=TIdentifierListItemMemManager.Create;
finalization
IdentifierListItemMemManager.Free;
IdentifierListItemMemManager:=nil;
end.