diff options
-rw-r--r-- | find-modules/sip_generator.py | 6 | ||||
-rw-r--r-- | tests/GenerateSipBindings/cpplib.h | 15 |
2 files changed, 21 insertions, 0 deletions
diff --git a/find-modules/sip_generator.py b/find-modules/sip_generator.py index 7df9de3d..8845c81e 100644 --- a/find-modules/sip_generator.py +++ b/find-modules/sip_generator.py @@ -434,6 +434,12 @@ class SipGenerator(object): :param level: Recursion level controls indentation. :return: A string. """ + if container.kind == CursorKind.TRANSLATION_UNIT and \ + (function.semantic_parent.kind == CursorKind.CLASS_DECL or + function.semantic_parent.kind == CursorKind.STRUCT_DECL) and \ + function.is_definition(): + # Skip inline methods + return def skippable_attribute(member, text): """ diff --git a/tests/GenerateSipBindings/cpplib.h b/tests/GenerateSipBindings/cpplib.h index 3ae9448a..dd797a9c 100644 --- a/tests/GenerateSipBindings/cpplib.h +++ b/tests/GenerateSipBindings/cpplib.h @@ -21,6 +21,8 @@ class MyObject : public QObject public: MyObject(QObject* parent = nullptr); + inline MyObject(const QString& inlineCtor, QObject* parent = nullptr); + enum LocalEnum { Val1 = 1, Val2 @@ -44,6 +46,8 @@ public: int qtEnumTest(QFlags<Qt::MatchFlag> flags); int localEnumTest(QFlags<MyObject::LocalEnum> flags); + inline int inlineMethod(int arg); + int functionParam(std::function<int()> fn); int groups(unsigned int maxCount = std::numeric_limits<uint>::max()) const; @@ -86,6 +90,17 @@ private Q_SLOTS: void privateSlot2(); }; +inline MyObject::MyObject(const QString& inlineCtor, QObject* parent) + : MyObject(parent) +{ + +} + +inline int MyObject::inlineMethod(int arg) +{ + return arg; +} + class LocalFwdDecl { public: |