* 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:
pierre 1999-02-03 09:44:32 +00:00
parent 2ac877d04f
commit dae387cd49
2 changed files with 50 additions and 7 deletions

View File

@ -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

View File

@ -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