diff --git a/modules/java/generator/gen_java.py b/modules/java/generator/gen_java.py index 3c8da0b450210549e0b436262faaadfb7aa7fe1b..c41d4dfb1df4b6965c73eb6b35105405dab621fe 100755 --- a/modules/java/generator/gen_java.py +++ b/modules/java/generator/gen_java.py @@ -862,10 +862,13 @@ class ClassInfo(GeneralInfo): self.j_code = StringIO() self.jn_code = StringIO() self.cpp_code = StringIO(); - if self.name != Module: - self.j_code.write(T_JAVA_START_INHERITED if self.base else T_JAVA_START_ORPHAN) + if self.base: + self.j_code.write(T_JAVA_START_INHERITED) else: - self.j_code.write(T_JAVA_START_MODULE) + if self.name != Module: + self.j_code.write(T_JAVA_START_ORPHAN) + else: + self.j_code.write(T_JAVA_START_MODULE) # misc handling if self.name == 'Core': self.imports.add("java.lang.String") @@ -962,11 +965,11 @@ class JavaWrapperGenerator(object): logging.info('ignored: %s', classinfo) return name = classinfo.name - if self.isWrapped(name): + if self.isWrapped(name) and not classinfo.base: logging.warning('duplicated: %s', classinfo) return self.classes[name] = classinfo - if name in type_dict: + if name in type_dict and not classinfo.base: logging.warning('duplicated: %s', classinfo) return type_dict[name] = \ @@ -1520,7 +1523,7 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname ci.jn_code.write( ManualFuncs[ci.name][func]["jn_code"] ) ci.cpp_code.write( ManualFuncs[ci.name][func]["cpp_code"] ) - if ci.name != self.Module: + if ci.name != self.Module or ci.base: # finalize() ci.j_code.write( """