mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 13:31:20 +02:00
* symbol nubering begins with 1 in number_symbols
* program tmodule has globalsymtable for its staticsymtable (to get it displayed in IDE globals list) + list of symbol (browcol) greatly improved for IDE
This commit is contained in:
parent
2ac877d04f
commit
dae387cd49
@ -113,7 +113,7 @@ implementation
|
||||
|
||||
uses
|
||||
Drivers,Views,App,
|
||||
globals,files,comphook;
|
||||
globtype,globals,files,comphook;
|
||||
|
||||
{****************************************************************************
|
||||
Helpers
|
||||
@ -377,7 +377,7 @@ begin
|
||||
if assigned(Name) then
|
||||
DisposeStr(Name);
|
||||
if assigned(Params) then
|
||||
FreeMem(Params,ParamCount*2);
|
||||
FreeMem(Params,ParamCount*4);
|
||||
end;
|
||||
|
||||
|
||||
@ -435,7 +435,7 @@ procedure CreateBrowserCol;
|
||||
begin
|
||||
Def:=Table^.GetDefNr(I);
|
||||
end;}
|
||||
for I:=1 to symcount-1 do
|
||||
for I:=1 to symcount do
|
||||
begin
|
||||
Sym:=Table^.GetsymNr(I);
|
||||
if Sym=nil then Continue;
|
||||
@ -460,6 +460,8 @@ procedure CreateBrowserCol;
|
||||
Inc(ParamCount);
|
||||
Params[ParamCount-1]:=TypeNames^.Add(ParSym^.Name);
|
||||
end;
|
||||
Symbol^.SetParams(ParamCount,PPointerArray(@Params));
|
||||
ProcessSymTable(Symbol^.Items,definition^.parast);
|
||||
end;
|
||||
if assigned(definition^.localst) and
|
||||
(definition^.localst^.symtabletype<>staticsymtable) then
|
||||
@ -488,17 +490,41 @@ procedure CreateBrowserCol;
|
||||
var
|
||||
T: PSymTable;
|
||||
UnitS: PSymbol;
|
||||
hp : pmodule;
|
||||
begin
|
||||
DisposeBrowserCol;
|
||||
NewBrowserCol;
|
||||
T:=SymTableStack;
|
||||
{ T:=SymTableStack;
|
||||
while assigned(T) do
|
||||
begin
|
||||
New(UnitS, Init(T^.Name^,unitsym, 0, nil));
|
||||
Modules^.Insert(UnitS);
|
||||
ProcessSymTable(UnitS^.Items,T);
|
||||
T:=T^.Next;
|
||||
end;
|
||||
end;}
|
||||
hp:=pmodule(loaded_units.first);
|
||||
while assigned(hp) do
|
||||
begin
|
||||
t:=psymtable(hp^.globalsymtable);
|
||||
if assigned(t) then
|
||||
begin
|
||||
New(UnitS, Init(T^.Name^,unitsym, 0, nil));
|
||||
Modules^.Insert(UnitS);
|
||||
ProcessSymTable(UnitS^.Items,T);
|
||||
if cs_local_browser in aktmoduleswitches then
|
||||
begin
|
||||
t:=psymtable(hp^.localsymtable);
|
||||
if assigned(t) then
|
||||
begin
|
||||
{New(UnitS, Init(T^.Name^,unitsym, 0, nil));
|
||||
Modules^.Insert(UnitS);}
|
||||
ProcessSymTable(UnitS^.Items,T);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
hp:=pmodule(hp^.next);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
||||
@ -535,7 +561,13 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.4 1999-02-02 16:38:38 peter
|
||||
Revision 1.5 1999-02-03 09:44:32 pierre
|
||||
* symbol nubering begins with 1 in number_symbols
|
||||
* program tmodule has globalsymtable for its staticsymtable
|
||||
(to get it displayed in IDE globals list)
|
||||
+ list of symbol (browcol) greatly improved for IDE
|
||||
|
||||
Revision 1.4 1999/02/02 16:38:38 peter
|
||||
* no endless loop with localst=staticsymtable
|
||||
|
||||
Revision 1.3 1999/01/22 10:19:43 peter
|
||||
|
@ -1174,6 +1174,11 @@ unit pmodules;
|
||||
{ avoid self recursive destructor call !! PM }
|
||||
aktprocsym^.definition^.localst:=nil;
|
||||
|
||||
{ consider these symbols as global ones }
|
||||
{ for browser }
|
||||
current_module^.globalsymtable:=current_module^.localsymtable;
|
||||
current_module^.localsymtable:=nil;
|
||||
|
||||
codegen_doneprocedure;
|
||||
|
||||
{ consume the last point }
|
||||
@ -1229,7 +1234,13 @@ unit pmodules;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.94 1999-01-12 14:25:31 peter
|
||||
Revision 1.95 1999-02-03 09:44:36 pierre
|
||||
* symbol nubering begins with 1 in number_symbols
|
||||
* program tmodule has globalsymtable for its staticsymtable
|
||||
(to get it displayed in IDE globals list)
|
||||
+ list of symbol (browcol) greatly improved for IDE
|
||||
|
||||
Revision 1.94 1999/01/12 14:25:31 peter
|
||||
+ BrowserLog for browser.log generation
|
||||
+ BrowserCol for browser info in TCollections
|
||||
* released all other UseBrowser
|
||||
|
Loading…
Reference in New Issue
Block a user