mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 02:09:33 +01:00
+ extend tstoredsymtable with method register_children to register all its symbols and defs
git-svn-id: trunk@37339 -
This commit is contained in:
parent
ddf91a4d19
commit
b322339758
@ -42,6 +42,8 @@ interface
|
||||
procedure _needs_init_final(sym:TObject;arg:pointer);
|
||||
procedure check_forward(sym:TObject;arg:pointer);
|
||||
procedure check_block_valid(def: TObject;arg:pointer);
|
||||
procedure register_defs(def:tobject;arg:pointer);
|
||||
procedure register_syms(sym:tobject;arg:pointer);
|
||||
procedure labeldefined(sym:TObject;arg:pointer);
|
||||
procedure varsymbolused(sym:TObject;arg:pointer);
|
||||
procedure TestPrivate(sym:TObject;arg:pointer);
|
||||
@ -70,6 +72,7 @@ interface
|
||||
procedure checklabels;
|
||||
function needs_init_final : boolean;
|
||||
procedure testfordefaultproperty(sym:TObject;arg:pointer);
|
||||
procedure register_children;
|
||||
end;
|
||||
|
||||
{$ifdef llvm}
|
||||
@ -872,6 +875,18 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
procedure tstoredsymtable.register_syms(sym:tobject;arg:pointer);
|
||||
begin
|
||||
tsym(sym).register_sym;
|
||||
end;
|
||||
|
||||
|
||||
procedure tstoredsymtable.register_defs(def:tobject;arg:pointer);
|
||||
begin
|
||||
tdef(def).register_def;
|
||||
end;
|
||||
|
||||
|
||||
procedure TStoredSymtable.labeldefined(sym:TObject;arg:pointer);
|
||||
begin
|
||||
if (tsym(sym).typ=labelsym) and
|
||||
@ -1011,6 +1026,13 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
procedure tstoredsymtable.register_children;
|
||||
begin
|
||||
SymList.ForEachCall(@register_syms,nil);
|
||||
DefList.ForEachCall(@register_defs,nil);
|
||||
end;
|
||||
|
||||
|
||||
{***********************************************
|
||||
Process all entries
|
||||
***********************************************}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user