* vs_hidden replaced by is_hidden boolean

This commit is contained in:
peter 2003-05-05 14:53:16 +00:00
parent b11c927856
commit e2cbae0ff1
8 changed files with 77 additions and 54 deletions

View File

@ -645,7 +645,7 @@ type
resulttype:=left.resulttype; resulttype:=left.resulttype;
end end
else else
if (paraitem.paratyp = vs_hidden) then if (paraitem.is_hidden) then
begin begin
set_varstate(left,true); set_varstate(left,true);
resulttype:=left.resulttype; resulttype:=left.resulttype;
@ -1320,7 +1320,7 @@ type
end; end;
while assigned(currpara) do while assigned(currpara) do
begin begin
if (currpara.paratyp<>vs_hidden) then if (not currpara.is_hidden) then
Comment(lvl,' - '+currpara.paratype.def.typename+' : '+EqualTypeName[currpara.eqval]); Comment(lvl,' - '+currpara.paratype.def.typename+' : '+EqualTypeName[currpara.eqval]);
currpara:=tparaitem(currpara.previous); currpara:=tparaitem(currpara.previous);
end; end;
@ -1352,7 +1352,7 @@ type
were we need to start comparing } were we need to start comparing }
currparanr:=paralength; currparanr:=paralength;
currpara:=hp^.firstpara; currpara:=hp^.firstpara;
while assigned(currpara) and (currpara.paratyp=vs_hidden) do while assigned(currpara) and (currpara.is_hidden) do
currpara:=tparaitem(currpara.previous); currpara:=tparaitem(currpara.previous);
pt:=tcallparanode(left); pt:=tcallparanode(left);
while assigned(pt) and assigned(currpara) do while assigned(pt) and assigned(currpara) do
@ -1472,7 +1472,7 @@ type
{ Ignore vs_hidden parameters } { Ignore vs_hidden parameters }
repeat repeat
currpara:=tparaitem(currpara.previous); currpara:=tparaitem(currpara.previous);
until (not assigned(currpara)) or (currpara.paratyp<>vs_hidden); until (not assigned(currpara)) or (not currpara.is_hidden);
end; end;
dec(currparanr); dec(currparanr);
end; end;
@ -1605,7 +1605,7 @@ type
currpara:=tparaitem(procdefinition.Para.last); currpara:=tparaitem(procdefinition.Para.last);
while assigned(currpara) do while assigned(currpara) do
begin begin
if (currpara.paratyp=vs_hidden) then if currpara.is_hidden then
begin begin
{ generate hidden tree } { generate hidden tree }
used_by_callnode:=false; used_by_callnode:=false;
@ -1706,7 +1706,7 @@ type
{ Compare parameters from right to left } { Compare parameters from right to left }
currpara:=tparaitem(procdefinition.Para.last); currpara:=tparaitem(procdefinition.Para.last);
while assigned(currpara) and (currpara.paratyp=vs_hidden) do while assigned(currpara) and (currpara.is_hidden) do
currpara:=tparaitem(currpara.previous); currpara:=tparaitem(currpara.previous);
pt:=tcallparanode(left); pt:=tcallparanode(left);
lastpara:=paralength; lastpara:=paralength;
@ -1718,7 +1718,7 @@ type
begin begin
repeat repeat
currpara:=tparaitem(currpara.previous); currpara:=tparaitem(currpara.previous);
until (not assigned(currpara)) or (currpara.paratyp<>vs_hidden); until (not assigned(currpara)) or (not currpara.is_hidden);
end; end;
pt:=tcallparanode(pt.right); pt:=tcallparanode(pt.right);
dec(lastpara); dec(lastpara);
@ -2517,7 +2517,10 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.147 2003-04-27 11:21:33 peter Revision 1.148 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.147 2003/04/27 11:21:33 peter
* aktprocdef renamed to current_procdef * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo * procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be * procinfo will now be stored in current_module so it can be

View File

@ -111,7 +111,6 @@ implementation
oflabel : tasmlabel; oflabel : tasmlabel;
tmpreg : tregister; tmpreg : tregister;
href : treference; href : treference;
varspez : tvarspez;
begin begin
if not(assigned(paraitem.paratype.def) or if not(assigned(paraitem.paratype.def) or
assigned(paraitem.parasym)) then assigned(paraitem.parasym)) then
@ -137,11 +136,6 @@ implementation
objectlibrary.getlabel(truelabel); objectlibrary.getlabel(truelabel);
objectlibrary.getlabel(falselabel); objectlibrary.getlabel(falselabel);
secondpass(left); secondpass(left);
{ retrieve the type of parameter, for hidden parameters
the value is stored in the parasym }
varspez:=paraitem.paratyp;
if varspez=vs_hidden then
varspez:=tvarsym(paraitem.parasym).varspez;
{ handle varargs first, because defcoll is not valid } { handle varargs first, because defcoll is not valid }
if (nf_varargs_para in flags) then if (nf_varargs_para in flags) then
begin begin
@ -164,7 +158,7 @@ implementation
(paraitem.paratype.def.deftype=formaldef) then (paraitem.paratype.def.deftype=formaldef) then
begin begin
{ allow passing of a constant to a const formaldef } { allow passing of a constant to a const formaldef }
if (varspez=vs_const) and if (tvarsym(paraitem.parasym).varspez=vs_const) and
(left.location.loc=LOC_CONSTANT) then (left.location.loc=LOC_CONSTANT) then
location_force_mem(exprasmlist,left.location); location_force_mem(exprasmlist,left.location);
@ -209,7 +203,7 @@ implementation
end; end;
end end
{ handle call by reference parameter } { handle call by reference parameter }
else if (varspez in [vs_var,vs_out]) then else if (paraitem.paratyp in [vs_var,vs_out]) then
begin begin
if (left.location.loc<>LOC_REFERENCE) then if (left.location.loc<>LOC_REFERENCE) then
begin begin
@ -219,7 +213,7 @@ implementation
(left.nodetype=selfn)) then (left.nodetype=selfn)) then
internalerror(200106041); internalerror(200106041);
end; end;
if (varspez=vs_out) and if (paraitem.paratyp=vs_out) and
assigned(paraitem.paratype.def) and assigned(paraitem.paratype.def) and
not is_class(paraitem.paratype.def) and not is_class(paraitem.paratype.def) and
paraitem.paratype.def.needs_inittable then paraitem.paratype.def.needs_inittable then
@ -1443,7 +1437,10 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.57 2003-04-30 20:53:32 florian Revision 1.58 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.57 2003/04/30 20:53:32 florian
* error when address of an abstract method is taken * error when address of an abstract method is taken
* fixed some x86-64 problems * fixed some x86-64 problems
* merged some more x86-64 and i386 code * merged some more x86-64 and i386 code

View File

@ -433,7 +433,8 @@ implementation
hp2:=TParaItem(hp3.Para.first); hp2:=TParaItem(hp3.Para.first);
while assigned(hp2) do while assigned(hp2) do
begin begin
tprocvardef(resulttype.def).concatpara(nil,hp2.paratype,hp2.parasym,hp2.paratyp,hp2.defaultvalue); tprocvardef(resulttype.def).concatpara(nil,hp2.paratype,hp2.parasym,
hp2.defaultvalue,hp2.is_hidden);
hp2:=TParaItem(hp2.next); hp2:=TParaItem(hp2.next);
end; end;
end end
@ -1059,7 +1060,10 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.51 2003-04-27 11:21:33 peter Revision 1.52 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.51 2003/04/27 11:21:33 peter
* aktprocdef renamed to current_procdef * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo * procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be * procinfo will now be stored in current_module so it can be

View File

@ -279,6 +279,7 @@ implementation
sc.reset; sc.reset;
repeat repeat
readvs:=tvarsym.create(orgpattern,generrortype); readvs:=tvarsym.create(orgpattern,generrortype);
readvs.varspez:=varspez;
readprocdef.parast.insert(readvs); readprocdef.parast.insert(readvs);
sc.insert(readvs); sc.insert(readvs);
consume(_ID); consume(_ID);
@ -304,11 +305,11 @@ implementation
readvs:=tvarsym(sc.first); readvs:=tvarsym(sc.first);
while assigned(readvs) do while assigned(readvs) do
begin begin
readprocdef.concatpara(nil,tt,readvs,varspez,nil); readprocdef.concatpara(nil,tt,readvs,nil,false);
{ also update the writeprocdef } { also update the writeprocdef }
hvs:=tvarsym.create(readvs.realname,generrortype); hvs:=tvarsym.create(readvs.realname,generrortype);
writeprocdef.parast.insert(hvs); writeprocdef.parast.insert(hvs);
writeprocdef.concatpara(nil,tt,hvs,varspez,nil); writeprocdef.concatpara(nil,tt,hvs,nil,false);
readvs:=tvarsym(readvs.listnext); readvs:=tvarsym(readvs.listnext);
end; end;
until not try_to_consume(_SEMICOLON); until not try_to_consume(_SEMICOLON);
@ -345,10 +346,10 @@ implementation
{ concat a longint to the para templates } { concat a longint to the para templates }
hvs:=tvarsym.create('$index',p.indextype); hvs:=tvarsym.create('$index',p.indextype);
readprocdef.parast.insert(hvs); readprocdef.parast.insert(hvs);
readprocdef.concatpara(nil,p.indextype,hvs,vs_value,nil); readprocdef.concatpara(nil,p.indextype,hvs,nil,false);
hvs:=tvarsym.create('$index',p.indextype); hvs:=tvarsym.create('$index',p.indextype);
writeprocdef.parast.insert(hvs); writeprocdef.parast.insert(hvs);
writeprocdef.concatpara(nil,p.indextype,hvs,vs_value,nil); writeprocdef.concatpara(nil,p.indextype,hvs,nil,false);
pt.free; pt.free;
end; end;
end end
@ -423,7 +424,7 @@ implementation
writeprocdef.rettype:=voidtype; writeprocdef.rettype:=voidtype;
hvs:=tvarsym.create('$value',p.proptype); hvs:=tvarsym.create('$value',p.proptype);
writeprocdef.parast.insert(hvs); writeprocdef.parast.insert(hvs);
writeprocdef.concatpara(nil,p.proptype,hvs,vs_value,nil); writeprocdef.concatpara(nil,p.proptype,hvs,nil,false);
{ Insert hidden parameters } { Insert hidden parameters }
calc_parast(writeprocdef); calc_parast(writeprocdef);
{ search procdefs matching writeprocdef } { search procdefs matching writeprocdef }
@ -1144,7 +1145,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.63 2003-04-27 11:21:33 peter Revision 1.64 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.63 2003/04/27 11:21:33 peter
* aktprocdef renamed to current_procdef * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo * procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be * procinfo will now be stored in current_module so it can be

View File

@ -119,7 +119,7 @@ implementation
vs.varspez:=vs_var; vs.varspez:=vs_var;
pd.parast.insert(vs); pd.parast.insert(vs);
{ Also insert a hidden parameter as first } { Also insert a hidden parameter as first }
pd.insertpara(vs.vartype,vs,vs_hidden,nil); pd.insertpara(vs.vartype,vs,nil,true);
akttokenpos:=storepos; akttokenpos:=storepos;
end; end;
@ -162,7 +162,7 @@ implementation
pd.parast.insert(vs); pd.parast.insert(vs);
{ Also insert a hidden parameter as first } { Also insert a hidden parameter as first }
pd.insertpara(vs.vartype,vs,vs_hidden,nil); pd.insertpara(vs.vartype,vs,nil,true);
akttokenpos:=storepos; akttokenpos:=storepos;
end; end;
@ -240,7 +240,7 @@ implementation
end end
else else
hvs:=nil; hvs:=nil;
pd.concatpara(currpara,s32bittype,hvs,vs_hidden,nil); pd.concatpara(currpara,s32bittype,hvs,nil,true);
end end
else else
begin begin
@ -492,7 +492,7 @@ implementation
paramanager.push_addr_param(tt.def,pd.proccalloption) then paramanager.push_addr_param(tt.def,pd.proccalloption) then
include(vs.varoptions,vo_regable); include(vs.varoptions,vo_regable);
end; end;
hpara:=pd.concatpara(nil,tt,vs,varspez,tdefaultvalue); hpara:=pd.concatpara(nil,tt,vs,tdefaultvalue,false);
{ save position of self parameter } { save position of self parameter }
if vs.name='SELF' then if vs.name='SELF' then
pd.selfpara:=hpara; pd.selfpara:=hpara;
@ -2170,7 +2170,10 @@ const
end. end.
{ {
$Log$ $Log$
Revision 1.120 2003-04-30 09:42:42 florian Revision 1.121 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.120 2003/04/30 09:42:42 florian
+ first changes to make self a hidden parameter + first changes to make self a hidden parameter
Revision 1.119 2003/04/27 11:21:33 peter Revision 1.119 2003/04/27 11:21:33 peter

View File

@ -280,7 +280,7 @@ type
vs_set_but_first_not_passed,vs_assigned,vs_used vs_set_but_first_not_passed,vs_assigned,vs_used
); );
tvarspez = (vs_value,vs_const,vs_var,vs_out,vs_hidden); tvarspez = (vs_value,vs_const,vs_var,vs_out);
absolutetyp = (tovar,toasm,toaddr); absolutetyp = (tovar,toasm,toaddr);
@ -350,7 +350,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.52 2003-04-27 11:21:34 peter Revision 1.53 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.52 2003/04/27 11:21:34 peter
* aktprocdef renamed to current_procdef * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo * procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be * procinfo will now be stored in current_module so it can be

View File

@ -103,6 +103,7 @@ interface
defaultvalue : tsym; { tconstsym } defaultvalue : tsym; { tconstsym }
paratyp : tvarspez; { required for procvar } paratyp : tvarspez; { required for procvar }
paraloc : tparalocation; paraloc : tparalocation;
is_hidden : boolean; { is this a hidden (implicit) parameter }
{$ifdef EXTDEBUG} {$ifdef EXTDEBUG}
eqval : tequaltype; eqval : tequaltype;
{$endif EXTDEBUG} {$endif EXTDEBUG}
@ -428,8 +429,8 @@ interface
procedure ppuwrite(ppufile:tcompilerppufile);override; procedure ppuwrite(ppufile:tcompilerppufile);override;
procedure deref;override; procedure deref;override;
procedure releasemem; procedure releasemem;
function concatpara(afterpara:tparaitem;const tt:ttype;sym : tsym;vsp : tvarspez;defval:tsym):tparaitem; function concatpara(afterpara:tparaitem;const tt:ttype;sym : tsym;defval:tsym;vhidden:boolean):tparaitem;
function insertpara(const tt:ttype;sym : tsym;vsp : tvarspez;defval:tsym):tparaitem; function insertpara(const tt:ttype;sym : tsym;defval:tsym;vhidden:boolean):tparaitem;
procedure removepara(currpara:tparaitem); procedure removepara(currpara:tparaitem);
function para_size(alignsize:longint) : longint; function para_size(alignsize:longint) : longint;
function typename_paras(showhidden:boolean): string; function typename_paras(showhidden:boolean): string;
@ -3097,14 +3098,15 @@ implementation
end; end;
function tabstractprocdef.concatpara(afterpara:tparaitem;const tt:ttype;sym : tsym;vsp : tvarspez;defval:tsym):tparaitem; function tabstractprocdef.concatpara(afterpara:tparaitem;const tt:ttype;sym : tsym;defval:tsym;vhidden:boolean):tparaitem;
var var
hp : TParaItem; hp : TParaItem;
begin begin
hp:=TParaItem.Create; hp:=TParaItem.Create;
hp.paratyp:=vsp; hp.paratyp:=tvarsym(sym).varspez;
hp.parasym:=sym; hp.parasym:=sym;
hp.paratype:=tt; hp.paratype:=tt;
hp.is_hidden:=vhidden;
hp.defaultvalue:=defval; hp.defaultvalue:=defval;
{ Parameters are stored from left to right } { Parameters are stored from left to right }
if assigned(afterpara) then if assigned(afterpara) then
@ -3112,7 +3114,7 @@ implementation
else else
Para.concat(hp); Para.concat(hp);
{ Don't count hidden parameters } { Don't count hidden parameters }
if (vsp<>vs_hidden) then if not vhidden then
begin begin
if not assigned(defval) then if not assigned(defval) then
inc(minparacount); inc(minparacount);
@ -3122,19 +3124,20 @@ implementation
end; end;
function tabstractprocdef.insertpara(const tt:ttype;sym : tsym;vsp : tvarspez;defval:tsym):tparaitem; function tabstractprocdef.insertpara(const tt:ttype;sym : tsym;defval:tsym;vhidden:boolean):tparaitem;
var var
hp : TParaItem; hp : TParaItem;
begin begin
hp:=TParaItem.Create; hp:=TParaItem.Create;
hp.paratyp:=vsp; hp.paratyp:=tvarsym(sym).varspez;
hp.parasym:=sym; hp.parasym:=sym;
hp.paratype:=tt; hp.paratype:=tt;
hp.is_hidden:=vhidden;
hp.defaultvalue:=defval; hp.defaultvalue:=defval;
{ Parameters are stored from left to right } { Parameters are stored from left to right }
Para.insert(hp); Para.insert(hp);
{ Don't count hidden parameters } { Don't count hidden parameters }
if (vsp<>vs_hidden) then if (not vhidden) then
begin begin
if not assigned(defval) then if not assigned(defval) then
inc(minparacount); inc(minparacount);
@ -3147,7 +3150,7 @@ implementation
procedure tabstractprocdef.removepara(currpara:tparaitem); procedure tabstractprocdef.removepara(currpara:tparaitem);
begin begin
{ Don't count hidden parameters } { Don't count hidden parameters }
if (currpara.paratyp<>vs_hidden) then if (not currpara.is_hidden) then
begin begin
if not assigned(currpara.defaultvalue) then if not assigned(currpara.defaultvalue) then
dec(minparacount); dec(minparacount);
@ -3221,13 +3224,14 @@ implementation
ppufile.gettype(hp.paratype); ppufile.gettype(hp.paratype);
hp.defaultvalue:=tsym(ppufile.getderef); hp.defaultvalue:=tsym(ppufile.getderef);
hp.parasym:=tsym(ppufile.getderef); hp.parasym:=tsym(ppufile.getderef);
hp.is_hidden:=boolean(ppufile.getbyte);
{ later, we'll gerate this on the fly (FK) } { later, we'll gerate this on the fly (FK) }
paraloclen:=ppufile.getbyte; paraloclen:=ppufile.getbyte;
if paraloclen<>sizeof(tparalocation) then if paraloclen<>sizeof(tparalocation) then
internalerror(200304261); internalerror(200304261);
ppufile.getdata(hp.paraloc,sizeof(tparalocation)); ppufile.getdata(hp.paraloc,sizeof(tparalocation));
{ Don't count hidden parameters } { Don't count hidden parameters }
if (hp.paratyp<>vs_hidden) then if (not hp.is_hidden) then
begin begin
if not assigned(hp.defaultvalue) then if not assigned(hp.defaultvalue) then
inc(minparacount); inc(minparacount);
@ -3264,6 +3268,7 @@ implementation
ppufile.puttype(hp.paratype); ppufile.puttype(hp.paratype);
ppufile.putderef(hp.defaultvalue); ppufile.putderef(hp.defaultvalue);
ppufile.putderef(hp.parasym); ppufile.putderef(hp.parasym);
ppufile.putbyte(byte(hp.is_hidden));
{ write the length of tparalocation so ppudump can { write the length of tparalocation so ppudump can
parse the .ppu without knowing the tparalocation size } parse the .ppu without knowing the tparalocation size }
ppufile.putbyte(sizeof(tparalocation)); ppufile.putbyte(sizeof(tparalocation));
@ -3309,7 +3314,7 @@ implementation
first:=true; first:=true;
while assigned(hp) do while assigned(hp) do
begin begin
if (hp.paratyp<>vs_hidden) or if (not hp.is_hidden) or
(showhidden) then (showhidden) then
begin begin
if first then if first then
@ -3326,8 +3331,6 @@ implementation
s:=s+'const'; s:=s+'const';
vs_out : vs_out :
s:=s+'out'; s:=s+'out';
vs_hidden :
s:=s+'hidden';
end; end;
if assigned(hp.paratype.def.typesym) then if assigned(hp.paratype.def.typesym) then
begin begin
@ -4010,7 +4013,7 @@ implementation
hp:=TParaItem(Para.first); hp:=TParaItem(Para.first);
while assigned(hp) do while assigned(hp) do
begin begin
if hp.paratyp<>vs_hidden then if not hp.is_hidden then
s:=s+'$'+hp.paratype.def.mangledparaname; s:=s+'$'+hp.paratype.def.mangledparaname;
hp:=TParaItem(hp.next); hp:=TParaItem(hp.next);
end; end;
@ -5748,7 +5751,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.139 2003-05-01 07:59:43 florian Revision 1.140 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.139 2003/05/01 07:59:43 florian
* introduced defaultordconsttype to decribe the default size of ordinal constants * introduced defaultordconsttype to decribe the default size of ordinal constants
on 64 bit CPUs it's equal to cs64bitdef while on 32 bit CPUs it's equal to s32bitdef on 64 bit CPUs it's equal to cs64bitdef while on 32 bit CPUs it's equal to s32bitdef
+ added defines CPU32 and CPU64 for 32 bit and 64 bit CPUs + added defines CPU32 and CPU64 for 32 bit and 64 bit CPUs

View File

@ -1085,7 +1085,7 @@ implementation
begin begin
currpara:=tparaitem(pd^.def.para.first); currpara:=tparaitem(pd^.def.para.first);
{ ignore vs_hidden parameters } { ignore vs_hidden parameters }
while assigned(currpara) and (currpara.paratyp=vs_hidden) do while assigned(currpara) and (currpara.is_hidden) do
currpara:=tparaitem(currpara.next); currpara:=tparaitem(currpara.next);
if assigned(currpara) then if assigned(currpara) then
begin begin
@ -1121,7 +1121,7 @@ implementation
begin begin
currpara:=Tparaitem(pd^.def.para.first); currpara:=Tparaitem(pd^.def.para.first);
{ ignore vs_hidden parameters } { ignore vs_hidden parameters }
while assigned(currpara) and (currpara.paratyp=vs_hidden) do while assigned(currpara) and (currpara.is_hidden) do
currpara:=tparaitem(currpara.next); currpara:=tparaitem(currpara.next);
if assigned(currpara) then if assigned(currpara) then
begin begin
@ -1165,7 +1165,7 @@ implementation
begin begin
currpara:=Tparaitem(pd^.def.para.first); currpara:=Tparaitem(pd^.def.para.first);
{ ignore vs_hidden parameters } { ignore vs_hidden parameters }
while assigned(currpara) and (currpara.paratyp=vs_hidden) do while assigned(currpara) and (currpara.is_hidden) do
currpara:=tparaitem(currpara.next); currpara:=tparaitem(currpara.next);
if assigned(currpara) then if assigned(currpara) then
begin begin
@ -1177,14 +1177,14 @@ implementation
{ Ignore vs_hidden parameters } { Ignore vs_hidden parameters }
repeat repeat
currpara:=tparaitem(currpara.next); currpara:=tparaitem(currpara.next);
until (not assigned(currpara)) or (currpara.paratyp<>vs_hidden); until (not assigned(currpara)) or (not currpara.is_hidden);
if assigned(currpara) then if assigned(currpara) then
begin begin
{ Ignore vs_hidden parameters } { Ignore vs_hidden parameters }
nextpara:=currpara; nextpara:=currpara;
repeat repeat
nextpara:=tparaitem(nextpara.next); nextpara:=tparaitem(nextpara.next);
until (not assigned(nextpara)) or (nextpara.paratyp<>vs_hidden); until (not assigned(nextpara)) or (not nextpara.is_hidden);
{ There should be no other parameters left } { There should be no other parameters left }
if not assigned(nextpara) then if not assigned(nextpara) then
begin begin
@ -2557,7 +2557,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.100 2003-04-27 11:21:34 peter Revision 1.101 2003-05-05 14:53:16 peter
* vs_hidden replaced by is_hidden boolean
Revision 1.100 2003/04/27 11:21:34 peter
* aktprocdef renamed to current_procdef * aktprocdef renamed to current_procdef
* procinfo renamed to current_procinfo * procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be * procinfo will now be stored in current_module so it can be