qt5base-lts/tests/auto/corelib
Kent Hansen 3f7a222414 Change the representation of meta-object string data
Up to and including meta-object revision 6, string data have been
stored as 0-terminated C-style strings, that were made directly
accessible as const char pointers through the public API
(QMetaMethod and friends).

This commit changes moc to generate an array of QByteArrayData
instead, and adapts the QObject kernel accordingly.

Generating an array of QByteArrayData (byte array literals)
means that the strings can now be returned from public (or private)
API as QByteArrays, rather than const char *, with zero allocation or
copying. Also, the string length is now computed at compile time
(it's part of the QByteArrayData).

This commit only changes the internal representation, and does
not affect existing public API. The actual (C) string data that the
byte array literals reference still consists of zero-terminated
strings. The benefit of having the QByteArrayData array will only
become apparent in the upcoming meta-object data format change, which
changes the format of property and method descriptors.

Support for the old meta-object string data format was kept; the
codepaths for old revisions (6 and below) will be removed in a
separate commit, once all the other meta-object changes are done and
affected code has been adapted accordingly.

Task-number: QTBUG-24154
Change-Id: I4ec3b363bbc31b8192e5d8915ef091c442c2efad
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-02-29 12:50:14 +01:00
..
animation Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
codecs Eliminate duplicate data row names in utf8 autotest. 2012-02-14 02:48:35 +01:00
global Fixed tst_qlogging app silently not compiled in some -fast builds. 2012-02-22 04:48:36 +01:00
io Fix inconsistent auto test executable names 2012-02-27 13:55:12 +01:00
itemmodels Eliminate duplicate data row names from corelib autotests. 2012-02-14 06:19:16 +01:00
json compile fix: parse under C++11 2012-02-24 22:39:59 +01:00
kernel Change the representation of meta-object string data 2012-02-29 12:50:14 +01:00
mimetypes qmimetype: Fix test failure when LC_ALL is set. 2012-02-21 15:28:40 +01:00
plugin Fix QLibrary autotest for Windows 2012-02-28 12:45:28 +01:00
statemachine Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
thread Fix QThreadstorage test. 2012-02-27 18:33:50 +01:00
tools Merge remote-tracking branch 'gerrit/master' into containers 2012-02-29 00:58:13 +01:00
xml Eliminate duplicate data row names from corelib autotests. 2012-02-14 06:19:16 +01:00
corelib.pro Import QMimeType / QMimeDatabase into QtCore. 2012-02-18 22:19:43 +01:00