瀏覽代碼

* 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 年之前
父節點
當前提交
5f17c0e970
共有 1 個文件被更改,包括 4 次插入1 次删除
  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