Commit 60b83fff authored by John Parent's avatar John Parent
Browse files

Final deleted ctor support

parent c85c19e8
Pipeline #232646 failed with stages
in 28 minutes and 19 seconds
......@@ -922,7 +922,9 @@ class BindingsGenerator:
return decl
def include_eigen(self, x, includes):
if not self.filter_component_deps(x, self.depends_on_eigen, True):
if not self.filter_component_deps(
x, self.depends_on_eigen, boolean=True
):
eigen_str = "#include <pybind11/eigen.h>\n"
if not re.search(eigen_str, includes):
includes += eigen_str
......@@ -1052,22 +1054,26 @@ class BindingsGenerator:
return True
return False
def filter_deleted_assn_cpy(self, decl):
def filter_deleted_assn_cpy(self, decl, member=None):
for opr in decl.operators():
if self.is_assn_cpy_opr():
return True
def filter_deleted_cpy_ctor(self, decl):
def filter_deleted_cpy_ctor(self, decl, member=None):
for opr in decl.operators():
if self.filter_copy(decl):
return True
return False
def filter_deleted(self, decl, member=None):
def filter_deleted(self, decl):
if self.static_filter(decl):
return self.filter_deleted_assn_cpy(decl)
return self.filter_component_deps(
decl, self.filter_deleted_assn_cpy
)
else:
return self.filter_deleted_cpy_ctor(decl)
return self.filter_component_deps(
decl, self.filter_deleted_cpy_ctor
)
def dep_filter(self, x, member):
try:
......@@ -1433,9 +1439,7 @@ class BindingsGenerator:
)
def check_component_deps(self, x):
return self.filter_component_deps(
x, self.dep_filter, self.skip_filter, self.filter_deleted
)
return self.filter_component_deps(x, self.dep_filter, self.skip_filter)
def skip_filter(self, x, member=None):
if x.name in self.skip_list:
......@@ -2077,6 +2081,7 @@ class BindingsGenerator:
):
if member_var.name in class_skip_list or not (
self.ensure_deps(member_var)
and self.filter_deleted(member_var)
):
continue
member_var_string += self.generate_member_var_string(
......
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