diff --git a/compiler/pstatmnt.pas b/compiler/pstatmnt.pas index 4aafde0f91..b4e0d90b4d 100644 --- a/compiler/pstatmnt.pas +++ b/compiler/pstatmnt.pas @@ -831,6 +831,7 @@ unit pstatmnt; classh : pobjectdef; pd,pd2 : pdef; store_valid : boolean; + destructorpos,storepos : tfileposinfo; tt : ttreetyp; begin ht:=token; @@ -868,6 +869,7 @@ unit pstatmnt; { function styled new is handled in factor } { destructors have no parameters } destrukname:=pattern; + destructorpos:=tokenpos; consume(_ID); pd:=p^.resulttype; @@ -902,7 +904,11 @@ unit pstatmnt; exit; end; { search cons-/destructor, also in parent classes } + storepos:=tokenpos; + tokenpos:=destructorpos; sym:=search_class_member(classh,pattern); + tokenpos:=storepos; + { the second parameter of new/dispose must be a call } { to a cons-/destructor } if (not assigned(sym)) or (sym^.typ<>procsym) then @@ -1320,7 +1326,10 @@ unit pstatmnt; end. { $Log$ - Revision 1.107 1999-11-09 13:02:46 peter + Revision 1.108 1999-11-10 00:24:02 pierre + * more browser details + + Revision 1.107 1999/11/09 13:02:46 peter * fixed 'raise end;' Revision 1.106 1999/11/06 14:34:23 peter diff --git a/compiler/psub.pas b/compiler/psub.pas index 6b7e73262c..b3533e67cb 100644 --- a/compiler/psub.pas +++ b/compiler/psub.pas @@ -100,7 +100,7 @@ var sp:stringid; hs:string; st : psymtable; overloaded_level:word; - procstartfilepos : tfileposinfo; + storepos,procstartfilepos : tfileposinfo; begin { Save the position where this procedure really starts and set col to 1 which looks nicer } @@ -123,9 +123,11 @@ begin { method ? } if not(parse_only) and try_to_consume(_POINT) then begin + storepos:=tokenpos; tokenpos:=procstartfilepos; getsym(sp,true); sym:=srsym; + tokenpos:=storepos; { load proc name } sp:=pattern; realname:=orgpattern; @@ -1907,7 +1909,10 @@ end. { $Log$ - Revision 1.33 1999-11-09 23:43:08 pierre + Revision 1.34 1999-11-10 00:24:02 pierre + * more browser details + + Revision 1.33 1999/11/09 23:43:08 pierre * better browser info Revision 1.32 1999/11/09 23:06:45 peter