From ddf6591f7f7be2947e61db0860043b1caab0282a Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 20 Aug 2011 08:26:46 +0000 Subject: [PATCH] + support "reintroduce" for Java classes. Although in most cases this won't work because you cannot start new inheritance trees, it can work under some circumstances if the parameters are not exact. In case there is a problem, this will be detected later by TVMTBuilder.is_new_vmt_entry(). git-svn-id: branches/jvmbackend@18711 - --- compiler/pdecsub.pas | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/compiler/pdecsub.pas b/compiler/pdecsub.pas index b12a201726..494c975f93 100644 --- a/compiler/pdecsub.pas +++ b/compiler/pdecsub.pas @@ -1575,7 +1575,8 @@ begin end else if not(is_class_or_interface_or_object(tprocdef(pd).struct)) and - not(is_objccategory(tprocdef(pd).struct)) then + not(is_objccategory(tprocdef(pd).struct)) and + not(is_javaclass(tprocdef(pd).struct)) then Message(parser_e_no_object_reintroduce); end; @@ -2142,7 +2143,7 @@ const mutexclpo : [po_external] ),( idtok:_REINTRODUCE; - pd_flags : [pd_interface,pd_object,pd_notobjintf,pd_objcclass,pd_notrecord]; + pd_flags : [pd_interface,pd_object,pd_notobjintf,pd_objcclass,pd_notrecord,pd_javaclass]; handler : @pd_reintroduce; pocall : pocall_none; pooption : [po_reintroduce];