Ver código fonte

* do not check whether all interface methods are implemented in abstract
Java classes. TODO: do perform this check in the first non-abstract
Java class that descends from such classes

git-svn-id: branches/jvmbackend@18402 -

Jonas Maebe 14 anos atrás
pai
commit
5f17c0e970
1 arquivos alterados com 4 adições e 1 exclusões
  1. 4 1
      compiler/nobj.pas

+ 4 - 1
compiler/nobj.pas

@@ -799,7 +799,10 @@ implementation
           and Java interfaces can have multiple parent interfaces, but in that
           case obviously no implementations are required) }
         if assigned(_class.ImplementedInterfaces) and
-           not(_class.objecttype in [odt_objcprotocol,odt_interfacejava]) then
+           not(_class.objecttype in [odt_objcprotocol,odt_interfacejava]) and
+           // abstract java classes do not have to implement all interface
+           // methods. todo: check that non-abstract descendents do!
+           not((_class.objecttype=odt_javaclass) and (oo_is_abstract in _class.objectoptions)) then
           begin
             { Collect implementor functions into the tImplementedInterface.procdefs }
             case _class.objecttype of