mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-01 13:50:29 +02:00
+ support for abstract methods in Java classes
git-svn-id: branches/jvmbackend@18395 -
This commit is contained in:
parent
121a141953
commit
9e8bb70548
@ -1657,8 +1657,9 @@ begin
|
||||
if assigned(tprocdef(pd).struct) and
|
||||
(oo_is_sealed in tprocdef(pd).struct.objectoptions) then
|
||||
Message(parser_e_sealed_class_cannot_have_abstract_methods)
|
||||
else
|
||||
if (po_virtualmethod in pd.procoptions) then
|
||||
else if (po_virtualmethod in pd.procoptions) or
|
||||
{ all Java methods are virtual }
|
||||
is_javaclass(tdef(pd.owner.defowner)) then
|
||||
include(pd.procoptions,po_abstractmethod)
|
||||
else
|
||||
Message(parser_e_only_virtual_methods_abstract);
|
||||
@ -2154,13 +2155,13 @@ const
|
||||
(
|
||||
(
|
||||
idtok:_ABSTRACT;
|
||||
pd_flags : [pd_interface,pd_object,pd_notobjintf,pd_notrecord];
|
||||
pd_flags : [pd_interface,pd_object,pd_notobjintf,pd_notrecord,pd_javaclass];
|
||||
handler : @pd_abstract;
|
||||
pocall : pocall_none;
|
||||
pooption : [po_abstractmethod];
|
||||
mutexclpocall : [pocall_internproc];
|
||||
mutexclpotype : [];
|
||||
mutexclpo : [po_exports,po_interrupt,po_external,po_inline]
|
||||
mutexclpo : [po_exports,po_interrupt,po_inline]
|
||||
),(
|
||||
idtok:_ALIAS;
|
||||
pd_flags : [pd_implemen,pd_body,pd_notobjintf];
|
||||
|
Loading…
Reference in New Issue
Block a user