diff options
author | hjk <hjk@theqtcompany.com> | 2016-07-14 13:13:16 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2016-07-15 10:44:03 +0000 |
commit | 26fa769bab11cd94d2f17a4bbdfaa731b5cfe009 (patch) | |
tree | 8d1db6a7b1ccee3951fd186607272ab268b2a5da /tests/manual | |
parent | ac1c04b6b38a75bc958298d3755a8ed873fba2a5 (diff) | |
download | qt-creator-26fa769bab11cd94d2f17a4bbdfaa731b5cfe009.tar.gz |
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')
-rw-r--r-- | tests/manual/debugger/simple/simple_test_app.cpp | 27 |
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 20f74e347c..bf68715fef 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() |