* search defaulthandler only for message methods

This commit is contained in:
peter 2003-05-22 17:43:21 +00:00
parent 1770c1db0f
commit 31286d02e6

View File

@ -1883,14 +1883,22 @@ implementation
begin
if anon_inherited then
begin
{ we didn't find a member in the parents call the
DefaultHandler }
sym:=searchsym_in_class(classh,'DEFAULTHANDLER');
if not assigned(sym) or
(sym.typ<>procsym) then
internalerror(200303171);
p1:=nil;
do_proc_call(sym,sym.owner,false,again,p1);
{ For message methods we need to call DefaultHandler }
if (po_msgint in pd.procoptions) or
(po_msgstr in pd.procoptions) then
begin
sym:=searchsym_in_class(classh,'DEFAULTHANDLER');
if not assigned(sym) or
(sym.typ<>procsym) then
internalerror(200303171);
p1:=nil;
do_proc_call(sym,sym.owner,false,again,p1);
end
else
begin
{ we need to ignore the inherited; }
p1:=cnothingnode.create;
end;
end
else
begin
@ -2399,7 +2407,10 @@ implementation
end.
{
$Log$
Revision 1.120 2003-05-15 18:58:53 peter
Revision 1.121 2003-05-22 17:43:21 peter
* search defaulthandler only for message methods
Revision 1.120 2003/05/15 18:58:53 peter
* removed selfpointer_offset, vmtpointer_offset
* tvarsym.adjusted_address
* address in localsymtable is now in the real direction