nested classes support
This commit is contained in:
parent
5ad7f9910f
commit
4a519a25f3
@ -83,8 +83,6 @@ catch (const cv::Exception &e) \
|
|||||||
}
|
}
|
||||||
|
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
using cv::flann::IndexParams;
|
|
||||||
using cv::flann::SearchParams;
|
|
||||||
|
|
||||||
typedef std::vector<uchar> vector_uchar;
|
typedef std::vector<uchar> vector_uchar;
|
||||||
typedef std::vector<char> vector_char;
|
typedef std::vector<char> vector_char;
|
||||||
|
@ -774,18 +774,17 @@ class PythonWrapperGenerator(object):
|
|||||||
chunks = decl[0].split('.')
|
chunks = decl[0].split('.')
|
||||||
name = chunks[-1]
|
name = chunks[-1]
|
||||||
cname = '::'.join(chunks)
|
cname = '::'.join(chunks)
|
||||||
namespace = '.'.join(chunks[:-1])
|
namespace = chunks[:-1]
|
||||||
classname = normalize_class_name(namespace)
|
classes = []
|
||||||
if classname in self.classes:
|
while normalize_class_name('.'.join(namespace)) in self.classes:
|
||||||
bareclassname = chunks[-2]
|
classes.insert(0, namespace.pop())
|
||||||
namespace = '.'.join(chunks[:-2])
|
classname = ''
|
||||||
if normalize_class_name(namespace) in self.classes:
|
bareclassname = ''
|
||||||
print('Note: skipping "%s" (nested classes are currently not supported)'%decl[0])
|
if classes:
|
||||||
return
|
classname = normalize_class_name('.'.join(namespace+classes))
|
||||||
else:
|
bareclassname = classes[-1]
|
||||||
classname = ''
|
namespace = '.'.join(namespace)
|
||||||
bareclassname = ''
|
|
||||||
|
|
||||||
isconstructor = name == bareclassname
|
isconstructor = name == bareclassname
|
||||||
isclassmethod = False
|
isclassmethod = False
|
||||||
for m in decl[2]:
|
for m in decl[2]:
|
||||||
@ -794,8 +793,10 @@ class PythonWrapperGenerator(object):
|
|||||||
elif m.startswith("="):
|
elif m.startswith("="):
|
||||||
name = m[1:]
|
name = m[1:]
|
||||||
if isclassmethod:
|
if isclassmethod:
|
||||||
name = bareclassname+"_"+name
|
name = "_".join(classes+[name])
|
||||||
classname = ''
|
classname = ''
|
||||||
|
elif isconstructor:
|
||||||
|
name = "_".join(classes[:-1]+[name])
|
||||||
|
|
||||||
if classname and not isconstructor:
|
if classname and not isconstructor:
|
||||||
cname = chunks[-1]
|
cname = chunks[-1]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user