aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--find-modules/sip_generator.py6
-rw-r--r--tests/GenerateSipBindings/cpplib.h15
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: