From 586d4f4108041d5957273364cf02a400b05aea18 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 20 Aug 2011 08:23:39 +0000 Subject: [PATCH] * fixed keeping track of the number of abstract methods in external classes git-svn-id: branches/jvmbackend@18676 - --- compiler/nobj.pas | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/nobj.pas b/compiler/nobj.pas index af1182ecf0..c2fe6b0dca 100644 --- a/compiler/nobj.pas +++ b/compiler/nobj.pas @@ -319,7 +319,7 @@ implementation else MessagePos1(pd.fileinfo,parser_e_must_use_reintroduce_objc,FullTypeName(tdef(vmtpd.owner.defowner),nil)) { there may be a lot of these in auto-translated - heaeders, so only calculate the fulltypename if + headers, so only calculate the fulltypename if the hint will be shown } else if CheckVerbosity(V_Hint) then if not is_objccategory(_class) then @@ -335,6 +335,10 @@ implementation if is_java_class_or_interface(_class) and (pd.procsym.realname<>vmtpd.procsym.realname) then pd.procsym.realname:=vmtpd.procsym.realname; + { in case we are overriding an abstract method, + decrease the number of abstract methods in this class } + if (po_abstractmethod in vmtpd.procoptions) then + dec(tobjectdef(pd.owner.defowner).abstractcnt); result:=true; exit; end;