mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-05 16:18:36 +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
|
||||
begin
|
||||
sym:=tsym(unnamed_syms[i]);
|
||||
sym.ChangeOwnerAndName(owner.symlist,sym.realname);
|
||||
sym.ChangeOwnerAndName(owner,sym.realname);
|
||||
end;
|
||||
unnamed_syms.clear;
|
||||
end;
|
||||
|
@ -143,6 +143,7 @@ interface
|
||||
procedure buildderef;virtual;
|
||||
procedure deref;virtual;
|
||||
procedure ChangeOwner(st:TSymtable);
|
||||
procedure ChangeOwnerAndName(st:TSymtable;const aname:tsymstr);
|
||||
procedure IncRefCount;
|
||||
procedure IncRefCountBy(AValue : longint);
|
||||
procedure MaybeCreateRefList;
|
||||
@ -687,6 +688,15 @@ implementation
|
||||
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
|
||||
****************************************************************************}
|
||||
|
Loading…
Reference in New Issue
Block a user