mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-28 16:29:57 +02:00
+ provide a tsym based variant of ChangeOwnerAndName
This commit is contained in:
parent
a7a0f47d98
commit
eaeb614887
@ -680,7 +680,7 @@ uses
|
|||||||
for i:=0 to unnamed_syms.count-1 do
|
for i:=0 to unnamed_syms.count-1 do
|
||||||
begin
|
begin
|
||||||
sym:=tsym(unnamed_syms[i]);
|
sym:=tsym(unnamed_syms[i]);
|
||||||
sym.ChangeOwnerAndName(owner.symlist,sym.realname);
|
sym.ChangeOwnerAndName(owner,sym.realname);
|
||||||
end;
|
end;
|
||||||
unnamed_syms.clear;
|
unnamed_syms.clear;
|
||||||
end;
|
end;
|
||||||
|
@ -143,6 +143,7 @@ interface
|
|||||||
procedure buildderef;virtual;
|
procedure buildderef;virtual;
|
||||||
procedure deref;virtual;
|
procedure deref;virtual;
|
||||||
procedure ChangeOwner(st:TSymtable);
|
procedure ChangeOwner(st:TSymtable);
|
||||||
|
procedure ChangeOwnerAndName(st:TSymtable;const aname:tsymstr);
|
||||||
procedure IncRefCount;
|
procedure IncRefCount;
|
||||||
procedure IncRefCountBy(AValue : longint);
|
procedure IncRefCountBy(AValue : longint);
|
||||||
procedure MaybeCreateRefList;
|
procedure MaybeCreateRefList;
|
||||||
@ -687,6 +688,15 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure tsym.ChangeOwnerAndName(st:TSymtable;const aname:tsymstr);
|
||||||
|
begin
|
||||||
|
if assigned(owner) and owner.SymList.OwnsObjects then
|
||||||
|
owner.symlist.extract(self);
|
||||||
|
Owner:=st;
|
||||||
|
inherited ChangeOwnerAndName(Owner.SymList,aname);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
tpropaccesslist
|
tpropaccesslist
|
||||||
****************************************************************************}
|
****************************************************************************}
|
||||||
|
Loading…
Reference in New Issue
Block a user