mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 23:49:07 +02:00
* fixed crash
* check if localbrowser is set
This commit is contained in:
parent
7b94465fba
commit
adc2a8397d
@ -909,7 +909,7 @@ procedure CreateBrowserCol;
|
|||||||
if precdef(definition)^.symtable<>Table then
|
if precdef(definition)^.symtable<>Table then
|
||||||
ProcessSymTable(Symbol,Symbol^.Items,precdef(definition)^.symtable);
|
ProcessSymTable(Symbol,Symbol^.Items,precdef(definition)^.symtable);
|
||||||
objectdef :
|
objectdef :
|
||||||
if precdef(definition)^.symtable<>Table then
|
if pobjectdef(definition)^.publicsyms<>Table then
|
||||||
ProcessSymTable(Symbol,Symbol^.Items,pobjectdef(definition)^.publicsyms);
|
ProcessSymTable(Symbol,Symbol^.Items,pobjectdef(definition)^.publicsyms);
|
||||||
{ leads to infinite loops !!
|
{ leads to infinite loops !!
|
||||||
pointerdef :
|
pointerdef :
|
||||||
@ -927,16 +927,18 @@ procedure CreateBrowserCol;
|
|||||||
Exit;
|
Exit;
|
||||||
if Owner=nil then
|
if Owner=nil then
|
||||||
Owner:=New(PSortedSymbolCollection, Init(10,50));
|
Owner:=New(PSortedSymbolCollection, Init(10,50));
|
||||||
|
{$ifdef OLDPPU}
|
||||||
defcount:=Table^.number_defs;
|
defcount:=Table^.number_defs;
|
||||||
symcount:=Table^.number_symbols;
|
symcount:=Table^.number_symbols;
|
||||||
{ for I:=0 to defcount-1 do
|
|
||||||
begin
|
|
||||||
Def:=Table^.GetDefNr(I);
|
|
||||||
end;}
|
|
||||||
for I:=1 to symcount 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;
|
||||||
|
{$else}
|
||||||
|
sym:=psym(Table^.symindex^.first);
|
||||||
|
while assigned(sym) do
|
||||||
|
begin
|
||||||
|
{$endif}
|
||||||
ParamCount:=0;
|
ParamCount:=0;
|
||||||
New(Symbol, Init(Sym^.Name,Sym^.Typ,'',nil));
|
New(Symbol, Init(Sym^.Name,Sym^.Typ,'',nil));
|
||||||
case Sym^.Typ of
|
case Sym^.Typ of
|
||||||
@ -984,7 +986,8 @@ procedure CreateBrowserCol;
|
|||||||
with pprocsym(sym)^ do
|
with pprocsym(sym)^ do
|
||||||
if assigned(definition) then
|
if assigned(definition) then
|
||||||
begin
|
begin
|
||||||
ProcessSymTable(Symbol,Symbol^.Items,definition^.parast);
|
if cs_local_browser in aktmoduleswitches then
|
||||||
|
ProcessSymTable(Symbol,Symbol^.Items,definition^.parast);
|
||||||
if assigned(definition^.parast) then
|
if assigned(definition^.parast) then
|
||||||
begin
|
begin
|
||||||
Symbol^.Params:=TypeNames^.Add(GetAbsProcParmDefStr(definition));
|
Symbol^.Params:=TypeNames^.Add(GetAbsProcParmDefStr(definition));
|
||||||
@ -995,9 +998,12 @@ procedure CreateBrowserCol;
|
|||||||
begin
|
begin
|
||||||
Symbol^.Params:=TypeNames^.Add('...');
|
Symbol^.Params:=TypeNames^.Add('...');
|
||||||
end;
|
end;
|
||||||
if assigned(definition^.localst) and
|
if cs_local_browser in aktmoduleswitches then
|
||||||
(definition^.localst^.symtabletype<>staticsymtable) then
|
begin
|
||||||
ProcessSymTable(Symbol,Symbol^.Items,definition^.localst);
|
if assigned(definition^.localst) and
|
||||||
|
(definition^.localst^.symtabletype<>staticsymtable) then
|
||||||
|
ProcessSymTable(Symbol,Symbol^.Items,definition^.localst);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
typesym :
|
typesym :
|
||||||
@ -1050,7 +1056,10 @@ procedure CreateBrowserCol;
|
|||||||
Ref:=Ref^.nextref;
|
Ref:=Ref^.nextref;
|
||||||
end;
|
end;
|
||||||
if Assigned(Symbol) then
|
if Assigned(Symbol) then
|
||||||
Owner^.Insert(Symbol);
|
Owner^.Insert(Symbol);
|
||||||
|
{$ifndef OLDPPU}
|
||||||
|
sym:=psym(sym^.next);
|
||||||
|
{$endif}
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1232,7 +1241,11 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.14 1999-04-15 09:01:32 peter
|
Revision 1.15 1999-04-29 09:36:55 peter
|
||||||
|
* fixed crash
|
||||||
|
* check if localbrowser is set
|
||||||
|
|
||||||
|
Revision 1.14 1999/04/15 09:01:32 peter
|
||||||
* fixed set loading
|
* fixed set loading
|
||||||
* object inheritance support for browser
|
* object inheritance support for browser
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user