IDE: workaround for fpc < 2.7.1 avltre FindPointer

git-svn-id: trunk@33939 -
This commit is contained in:
mattias 2011-12-04 11:07:53 +00:00
parent ba981be9b4
commit a7f15b8541
5 changed files with 16 additions and 22 deletions

View File

@ -31,7 +31,7 @@ interface
uses
Classes, SysUtils, AVL_Tree, CodeAtom, CodeTree, CodeCache,
FileProcs, StdCodeTools;
FileProcs, StdCodeTools, CodeToolsStructs;
type
TCodeBrowserUnit = class;
@ -285,7 +285,7 @@ procedure TCodeBrowserUnit.DeleteNode(var Node: TCodeBrowserNode);
begin
if Node=nil then exit;
if ChildNodes<>nil then
FChildNodes.RemovePointer(Node);
AVLRemovePointer(FChildNodes,Node);
FreeAndNil(Node);
end;

View File

@ -31,7 +31,7 @@ interface
uses
Classes, SysUtils, dynlibs, PPUParser, CodeTree, AVL_Tree, FileProcs,
BasicCodeTools, CodeGraph, CodeToolManager;
BasicCodeTools, CodeGraph, CodeToolManager, CodeToolsStructs;
const
FPCPPUGroupPrefix = 'fpc_';
@ -262,7 +262,7 @@ end;
procedure TPPUGroup.InternalRemoveMember(AMember: TPPUMember);
begin
FUnitGraph.DeleteGraphNode(AMember.KeyNode);
FMembers.RemovePointer(AMember);
AVLRemovePointer(FMembers,AMember);
if Groups<>nil then
Groups.InternalRemoveMember(AMember);
end;
@ -558,12 +558,12 @@ end;
procedure TPPUGroups.InternalRemoveMember(AMember: TPPUMember);
begin
FMembers.RemovePointer(AMember);
AVLRemovePointer(FMembers,AMember);
end;
procedure TPPUGroups.InternalRemoveGroup(AGroup: TPPUGroup);
begin
FGroups.RemovePointer(AGroup);
AVLRemovePointer(FGroups,AGroup);
end;
procedure TPPUGroups.UpdateTopologicalSortedList;

View File

@ -307,8 +307,8 @@ end;
procedure TUDUnitGroup.RemoveUnit(TheUnit: TUDUnit);
begin
if AVLFindPointer(Units,TheUnit)=nil then exit;
Units.RemovePointer(TheUnit);
TheUnit.Groups.RemovePointer(Self);
AVLRemovePointer(Units,TheUnit);
AVLRemovePointer(TheUnit.Groups,Self);
Dictionary.IncreaseChangeStamp;
end;
@ -324,7 +324,7 @@ end;
procedure TUnitDictionary.RemoveIdentifier(Item: TUDIdentifier);
begin
FIdentifiers.RemovePointer(Item);
AVLRemovePointer(FIdentifiers,Item);
end;
constructor TUnitDictionary.Create;
@ -1035,7 +1035,6 @@ procedure TUnitDictionary.DeleteUnit(TheUnit: TUDUnit;
var
Node: TAVLTreeNode;
Group: TUDUnitGroup;
Item: TUDIdentifier;
begin
Node:=TheUnit.Groups.FindLowest;
// remove unit from groups
@ -1049,12 +1048,7 @@ begin
end;
TheUnit.Groups.Clear;
// free identifiers
while TheUnit.FirstIdentifier<>nil do begin
Item:=TheUnit.FirstIdentifier;
AVLRemovePointer(Identifiers,Item);
Item.Free;
TheUnit.FirstIdentifier:=Item.NextInUnit;
end;
TheUnit.ClearIdentifiers;
// remove unit from dictionary
AVLRemovePointer(UnitsByFilename,TheUnit);
AVLRemovePointer(UnitsByName,TheUnit);

View File

@ -1793,7 +1793,7 @@ procedure TPkgDependency.SetPackageName(const AValue: string);
begin
if FPackageName=AValue then exit;
if (PackageDependencies<>nil) and (FPackageName<>'') then
PackageDependencies.RemovePointer(Self);
AVLRemovePointer(PackageDependencies,Self);
FPackageName:=AValue;
if (PackageDependencies<>nil) and (FPackageName<>'') then
PackageDependencies.Add(Self);

View File

@ -40,8 +40,8 @@ interface
uses
Classes, SysUtils, AVL_Tree, Laz_XMLCfg, FileProcs, CodeToolManager,
CodeCache, LCLProc, FileUtil, MacroIntf, PackageIntf, IDEProcs, DialogProcs,
EnvironmentOpts, PackageDefs, LazConf;
CodeCache, CodeToolsStructs, LCLProc, FileUtil, MacroIntf, PackageIntf,
IDEProcs, DialogProcs, EnvironmentOpts, PackageDefs, LazConf;
const
PkgLinksFileVersion = 2;
@ -603,8 +603,8 @@ begin
//debugln('TPackageLinks.RemoveOldUserLinks',
// ' Newer=',NewPkgLink.IDAsString,'=',dbgs(Pointer(NewPkgLink)),
// ' Older=',OldPkgLink.IDAsString,'=',dbgs(Pointer(OldPkgLink)));
FUserLinksSortID.RemovePointer(OldPkgLink);
FUserLinksSortFile.RemovePointer(OldPkgLink);
AVLRemovePointer(FUserLinksSortID,OldPkgLink);
AVLRemovePointer(FUserLinksSortFile,OldPkgLink);
OldPkgLink.Release;
end;
ANode:=NextNode;
@ -956,7 +956,7 @@ begin
if ANode<>nil then begin
OldLink:=TPackageLink(ANode.Data);
FUserLinksSortID.Delete(ANode);
FUserLinksSortFile.RemovePointer(OldLink);
AVLRemovePointer(FUserLinksSortFile,OldLink);
OldLink.Release;
Modified:=true;
end;