* fix for tw2178. When a ^ or . follows a procsym then the procsym

needs to be called
This commit is contained in:
peter 2002-11-26 22:58:24 +00:00
parent 6c097b4546
commit 2e692659df

View File

@ -640,9 +640,8 @@ implementation
end
else
begin
if token=_LKLAMMER then
if try_to_consume(_LKLAMMER) then
begin
consume(_LKLAMMER);
para:=parse_paras(false,false);
consume(_RKLAMMER);
end;
@ -898,7 +897,7 @@ implementation
procsym:
begin
do_proc_call(sym,sym.owner,
getaddr or
(getaddr and not(token in [_CARET,_POINT])) or
(assigned(getprocvardef) and
((block_type=bt_const) or
((m_tp_procvar in aktmodeswitches) and
@ -1235,7 +1234,7 @@ implementation
assigned(aktprocsym) and
(po_classmethod in aktprocdef.procoptions);
do_proc_call(srsym,srsymtable,
getaddr or
(getaddr and not(token in [_CARET,_POINT])) or
(assigned(getprocvardef) and
((block_type=bt_const) or
((m_tp_procvar in aktmodeswitches) and
@ -1906,19 +1905,23 @@ implementation
consume(_KLAMMERAFFE);
got_addrn:=true;
{ support both @<x> and @(<x>) }
if token=_LKLAMMER then
if try_to_consume(_LKLAMMER) then
begin
consume(_LKLAMMER);
p1:=factor(true);
consume(_RKLAMMER);
if token in [_CARET,_POINT,_LECKKLAMMER] then
begin
again:=true;
postfixoperators(p1,again);
end;
consume(_RKLAMMER);
end
else
p1:=factor(true);
if token in [_CARET,_POINT,_LECKKLAMMER] then
begin
again:=true;
postfixoperators(p1,again);
end;
got_addrn:=false;
p1:=caddrnode.create(p1);
if assigned(getprocvardef) and
@ -2261,7 +2264,11 @@ implementation
end.
{
$Log$
Revision 1.92 2002-11-25 17:43:22 peter
Revision 1.93 2002-11-26 22:58:24 peter
* fix for tw2178. When a ^ or . follows a procsym then the procsym
needs to be called
Revision 1.92 2002/11/25 17:43:22 peter
* splitted defbase in defutil,symutil,defcmp
* merged isconvertable and is_equal into compare_defs(_ext)
* made operator search faster by walking the list only once