From b8ca4e11020f7f38b5d06d76aafd8861b5f661e8 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Sat, 30 Jun 2012 21:01:16 +0000 Subject: [PATCH] Allow setting virtual catcher code for normal methods too git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@71902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- etgtools/extractors.py | 1 + etgtools/sip_generator.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/etgtools/extractors.py b/etgtools/extractors.py index 8fad8138..4d696c9b 100644 --- a/etgtools/extractors.py +++ b/etgtools/extractors.py @@ -522,6 +522,7 @@ class MethodDef(FunctionDef): self.protection = '' self.defaultCtor = False # use this ctor as the default one self.noDerivedCtor = False # don't generate a ctor in the derived class for this ctor + self.virtualCatcherCode = None self.__dict__.update(kw) if element is not None: self.extract(element) diff --git a/etgtools/sip_generator.py b/etgtools/sip_generator.py index e048c226..30bfef65 100644 --- a/etgtools/sip_generator.py +++ b/etgtools/sip_generator.py @@ -633,6 +633,11 @@ from .%s import * cm.body = code self.generateCppMethod(cm, stream, indent, skipDeclaration=True) + if method.virtualCatcherCode: + stream.write('%s%%VirtualCatcherCode\n' % indent) + stream.write(nci(method.virtualCatcherCode, len(indent)+4)) + stream.write('%s%%End\n' % indent) + stream.write('\n') if checkOverloads and method.overloads: