Details
-
Sub-task
-
Resolution: Done
-
P1: Critical
-
None
-
f95181c7bb340744a0ce172e8c5a8fcdc2543297
Description
The meta-object data is currently storing type information for methods as strings (signature, parameters, return type). This makes introspection through QMetaMethod utterly inefficient; the signature is re-parsed again at runtime, type names are copied to QByteArrays, and the types have to be looked up by name (QMetaType::type()).
If the meta-type id of the return type and parameter types can be computed at meta-object definition time, they could be stored in the
meta-data for fast and easy retrieval. This is already (partially) supported for meta-properties (see QMetaProperty::userType()), but not for methods.
This change is being implemented at http://codereview.qt-project.org/#change,14763
Once this is done, we should also remove support for the old (Qt4) meta-data revisions (<= 6).
Attachments
Issue Links
- is required for
-
QTBUG-25005 Critical issues for Qt5 Beta 1
- Closed
For Gerrit Dashboard: QTBUG-24154 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
14763,25 | Say hello to meta-object revision 7 ("Qt 5 meta-objects") | master | qt/qtbase | Status: ABANDONED | 0 | 0 |
16885,6 | Change the representation of meta-object string data | master | qt/qtbase | Status: ABANDONED | 0 | 0 |
16904,5 | Rename QMetaMethod::signature() to methodSignature() | master | qt/qtbase | Status: ABANDONED | 0 | 0 |
16915,8 | Long live Qt5 meta-object method/property descriptors | master | qt/qtbase | Status: ABANDONED | 0 | 0 |
17346,3 | Change the representation of meta-object string data | containers | qt/qtbase | Status: MERGED | +2 | 0 |
17347,1 | Rename QMetaMethod::signature() to methodSignature() | containers | qt/qtbase | Status: MERGED | +2 | 0 |
17348,1 | Long live Qt5 meta-object method/property descriptors | containers | qt/qtbase | Status: MERGED | +2 | 0 |