Commit 6501d542 authored by utibenkei's avatar utibenkei

Fix bug that occurs when module name and inherited class name are same.

parent dfb348ef
...@@ -862,10 +862,13 @@ class ClassInfo(GeneralInfo): ...@@ -862,10 +862,13 @@ class ClassInfo(GeneralInfo):
self.j_code = StringIO() self.j_code = StringIO()
self.jn_code = StringIO() self.jn_code = StringIO()
self.cpp_code = StringIO(); self.cpp_code = StringIO();
if self.name != Module: if self.base:
self.j_code.write(T_JAVA_START_INHERITED if self.base else T_JAVA_START_ORPHAN) self.j_code.write(T_JAVA_START_INHERITED)
else: 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 # misc handling
if self.name == 'Core': if self.name == 'Core':
self.imports.add("java.lang.String") self.imports.add("java.lang.String")
...@@ -962,11 +965,11 @@ class JavaWrapperGenerator(object): ...@@ -962,11 +965,11 @@ class JavaWrapperGenerator(object):
logging.info('ignored: %s', classinfo) logging.info('ignored: %s', classinfo)
return return
name = classinfo.name name = classinfo.name
if self.isWrapped(name): if self.isWrapped(name) and not classinfo.base:
logging.warning('duplicated: %s', classinfo) logging.warning('duplicated: %s', classinfo)
return return
self.classes[name] = classinfo self.classes[name] = classinfo
if name in type_dict: if name in type_dict and not classinfo.base:
logging.warning('duplicated: %s', classinfo) logging.warning('duplicated: %s', classinfo)
return return
type_dict[name] = \ type_dict[name] = \
...@@ -1520,7 +1523,7 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname ...@@ -1520,7 +1523,7 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname
ci.jn_code.write( ManualFuncs[ci.name][func]["jn_code"] ) ci.jn_code.write( ManualFuncs[ci.name][func]["jn_code"] )
ci.cpp_code.write( ManualFuncs[ci.name][func]["cpp_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() # finalize()
ci.j_code.write( ci.j_code.write(
""" """
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment