More effectively disable the helper class when pure virtual methods are found that cannot be generated.
This commit is contained in:
1 parent
7359345adc
commit
f48e3618a6
2 files changed
+7
No files matched your search
@@ -680,6 +680,11 @@ public:
|
||||
if self.have_pure_virtual_methods and self.helper_class is None:
|
||||
self.cannot_be_constructed = True
|
||||
|
||||
def set_helper_class_disabled(self, flag=True):
|
||||
self.helper_class_disabled = flag
|
||||
if flag:
|
||||
self.helper_class = None
|
||||
|
||||
def set_cannot_be_constructed(self, flag=True):
|
||||
self.cannot_be_constructed = flag
|
||||
|
||||
|
||||
@@ -600,6 +600,7 @@ class ModuleParser(object):
|
||||
Warning, member.location.file_name, member.location.line)
|
||||
if pure_virtual:
|
||||
class_wrapper.set_cannot_be_constructed(True)
|
||||
class_wrapper.set_helper_class_disabled(True)
|
||||
continue
|
||||
arguments = []
|
||||
ok = True
|
||||
@@ -615,6 +616,7 @@ class ModuleParser(object):
|
||||
if not ok:
|
||||
if pure_virtual:
|
||||
class_wrapper.set_cannot_be_constructed(True)
|
||||
class_wrapper.set_helper_class_disabled(True)
|
||||
continue
|
||||
|
||||
if pure_virtual and not class_wrapper.allow_subclassing:
|
||||
|
||||
Reference in new issue
Block a user