aboutsummaryrefslogtreecommitdiffstats
path: root/tests/manual/debugger
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-07-14 13:13:16 +0200
committerhjk <hjk@qt.io>2016-07-15 10:44:03 +0000
commit26fa769bab11cd94d2f17a4bbdfaa731b5cfe009 (patch)
tree8d1db6a7b1ccee3951fd186607272ab268b2a5da /tests/manual/debugger
parentac1c04b6b38a75bc958298d3755a8ed873fba2a5 (diff)
Debugger: Add dumper for QMeta{Enum,Method,Property}
Task-number: QTCREATORBUG-16593 Change-Id: Iaa710660d8ef69459596f93831cf8467913f0468 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'tests/manual/debugger')
-rw-r--r--tests/manual/debugger/simple/simple_test_app.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp
index 20f74e347c8..bf68715feff 100644
--- a/tests/manual/debugger/simple/simple_test_app.cpp
+++ b/tests/manual/debugger/simple/simple_test_app.cpp
@@ -217,6 +217,7 @@ void dummyStatement(...) {}
#include <string>
#include <vector>
+#include <QMetaMethod>
#include <stdarg.h>
#include <stdint.h>
@@ -1842,6 +1843,9 @@ namespace qobject {
Q_SIGNAL void sigFoo();
Q_SIGNAL void sigBar(int);
+ enum Side { LeftSide, RightSide };
+ Q_ENUMS(Side)
+
public:
Ui *m_ui;
QString m_myProp1;
@@ -1860,11 +1864,32 @@ namespace qobject {
test.setObjectName("An object");
QString s = test.myProp1();
s += test.myProp2();
+ const QMetaObject *mo = test.metaObject();
+ QMetaMethod mm0;
+ const QMetaObject smo = test.staticMetaObject;
+ QMetaMethod mm = mo->method(0);
+ QByteArray mmname = mm.name();
+
+ QMetaEnum me0;
+ QMetaEnum me = mo->enumerator(0);
+
+ QMetaProperty mp0;
+ QMetaProperty mp = mo->property(0);
+
+ QMetaClassInfo mci0;
+ QMetaClassInfo mci = mo->classInfo(0);
+
+ int n = mo->methodCount();
+ QVector<QMetaMethod> v(n);
+ for (int i = 0; i < n; ++i)
+ v[i] = mo->method(i);
+
+
BREAK_HERE;
// Check s "HELLOWORLD" QString.
// Check test qobject::Names::Bar::TestObject.
// Continue.
- dummyStatement(&s);
+ dummyStatement(&s, &mm, &smo, &mo, &mmname, &mm0, &me, &me0, &mp, &mp0, &mci, &mci0);
}
void testQObject3()