mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 19:29:27 +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
|
uses
|
||||||
Drivers,Views,App,
|
Drivers,Views,App,
|
||||||
globals,files,comphook;
|
globtype,globals,files,comphook;
|
||||||
|
|
||||||
{****************************************************************************
|
{****************************************************************************
|
||||||
Helpers
|
Helpers
|
||||||
@ -377,7 +377,7 @@ begin
|
|||||||
if assigned(Name) then
|
if assigned(Name) then
|
||||||
DisposeStr(Name);
|
DisposeStr(Name);
|
||||||
if assigned(Params) then
|
if assigned(Params) then
|
||||||
FreeMem(Params,ParamCount*2);
|
FreeMem(Params,ParamCount*4);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -435,7 +435,7 @@ procedure CreateBrowserCol;
|
|||||||
begin
|
begin
|
||||||
Def:=Table^.GetDefNr(I);
|
Def:=Table^.GetDefNr(I);
|
||||||
end;}
|
end;}
|
||||||
for I:=1 to symcount-1 do
|
for I:=1 to symcount do
|
||||||
begin
|
begin
|
||||||
Sym:=Table^.GetsymNr(I);
|
Sym:=Table^.GetsymNr(I);
|
||||||
if Sym=nil then Continue;
|
if Sym=nil then Continue;
|
||||||
@ -460,6 +460,8 @@ procedure CreateBrowserCol;
|
|||||||
Inc(ParamCount);
|
Inc(ParamCount);
|
||||||
Params[ParamCount-1]:=TypeNames^.Add(ParSym^.Name);
|
Params[ParamCount-1]:=TypeNames^.Add(ParSym^.Name);
|
||||||
end;
|
end;
|
||||||
|
Symbol^.SetParams(ParamCount,PPointerArray(@Params));
|
||||||
|
ProcessSymTable(Symbol^.Items,definition^.parast);
|
||||||
end;
|
end;
|
||||||
if assigned(definition^.localst) and
|
if assigned(definition^.localst) and
|
||||||
(definition^.localst^.symtabletype<>staticsymtable) then
|
(definition^.localst^.symtabletype<>staticsymtable) then
|
||||||
@ -488,17 +490,41 @@ procedure CreateBrowserCol;
|
|||||||
var
|
var
|
||||||
T: PSymTable;
|
T: PSymTable;
|
||||||
UnitS: PSymbol;
|
UnitS: PSymbol;
|
||||||
|
hp : pmodule;
|
||||||
begin
|
begin
|
||||||
DisposeBrowserCol;
|
DisposeBrowserCol;
|
||||||
NewBrowserCol;
|
NewBrowserCol;
|
||||||
T:=SymTableStack;
|
{ T:=SymTableStack;
|
||||||
while assigned(T) do
|
while assigned(T) do
|
||||||
begin
|
begin
|
||||||
New(UnitS, Init(T^.Name^,unitsym, 0, nil));
|
New(UnitS, Init(T^.Name^,unitsym, 0, nil));
|
||||||
Modules^.Insert(UnitS);
|
Modules^.Insert(UnitS);
|
||||||
ProcessSymTable(UnitS^.Items,T);
|
ProcessSymTable(UnitS^.Items,T);
|
||||||
T:=T^.Next;
|
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;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -535,7 +561,13 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* no endless loop with localst=staticsymtable
|
||||||
|
|
||||||
Revision 1.3 1999/01/22 10:19:43 peter
|
Revision 1.3 1999/01/22 10:19:43 peter
|
||||||
|
@ -1174,6 +1174,11 @@ unit pmodules;
|
|||||||
{ avoid self recursive destructor call !! PM }
|
{ avoid self recursive destructor call !! PM }
|
||||||
aktprocsym^.definition^.localst:=nil;
|
aktprocsym^.definition^.localst:=nil;
|
||||||
|
|
||||||
|
{ consider these symbols as global ones }
|
||||||
|
{ for browser }
|
||||||
|
current_module^.globalsymtable:=current_module^.localsymtable;
|
||||||
|
current_module^.localsymtable:=nil;
|
||||||
|
|
||||||
codegen_doneprocedure;
|
codegen_doneprocedure;
|
||||||
|
|
||||||
{ consume the last point }
|
{ consume the last point }
|
||||||
@ -1229,7 +1234,13 @@ unit pmodules;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
+ BrowserLog for browser.log generation
|
||||||
+ BrowserCol for browser info in TCollections
|
+ BrowserCol for browser info in TCollections
|
||||||
* released all other UseBrowser
|
* released all other UseBrowser
|
||||||
|
Loading…
Reference in New Issue
Block a user