Mark each QT_MOC_LITERAL usage with a comment
The comment shows to which string a QT_MOC_LITERAL is pointing. Change-Id: Ia389d750b1b1c21e2242bad6beceea4f9298ff8e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
This commit is contained in:
parent
b526e44a37
commit
78a1c46a86
@ -266,10 +266,12 @@ void Generator::generateCode()
|
|||||||
{
|
{
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
for (int i = 0; i < strings.size(); ++i) {
|
for (int i = 0; i < strings.size(); ++i) {
|
||||||
if (i)
|
|
||||||
fprintf(out, ",\n");
|
|
||||||
const QByteArray &str = strings.at(i);
|
const QByteArray &str = strings.at(i);
|
||||||
fprintf(out, "QT_MOC_LITERAL(%d, %d, %d)", i, idx, str.length());
|
fprintf(out, "QT_MOC_LITERAL(%d, %d, %d)", i, idx, str.length());
|
||||||
|
if (i != strings.size() - 1)
|
||||||
|
fputc(',', out);
|
||||||
|
const QByteArray comment = str.length() > 32 ? str.left(29) + "..." : str;
|
||||||
|
fprintf(out, " // \"%s\"\n", comment.constData());
|
||||||
idx += str.length() + 1;
|
idx += str.length() + 1;
|
||||||
for (int j = 0; j < str.length(); ++j) {
|
for (int j = 0; j < str.length(); ++j) {
|
||||||
if (str.at(j) == '\\') {
|
if (str.at(j) == '\\') {
|
||||||
|
@ -174,6 +174,9 @@ class TestClassinfoWithEscapes: public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_CLASSINFO("escaped", "\"bar\"")
|
Q_CLASSINFO("escaped", "\"bar\"")
|
||||||
Q_CLASSINFO("\"escaped\"", "foo")
|
Q_CLASSINFO("\"escaped\"", "foo")
|
||||||
|
Q_CLASSINFO("cpp c*/omment", "f/*oo")
|
||||||
|
Q_CLASSINFO("endswith\\", "Or?\?/")
|
||||||
|
Q_CLASSINFO("newline\n inside\n", "Or \r")
|
||||||
public slots:
|
public slots:
|
||||||
void slotWithAReallyLongName(int)
|
void slotWithAReallyLongName(int)
|
||||||
{ }
|
{ }
|
||||||
@ -800,6 +803,14 @@ void tst_Moc::classinfoWithEscapes()
|
|||||||
const QMetaObject *mobj = &TestClassinfoWithEscapes::staticMetaObject;
|
const QMetaObject *mobj = &TestClassinfoWithEscapes::staticMetaObject;
|
||||||
QCOMPARE(mobj->methodCount() - mobj->methodOffset(), 1);
|
QCOMPARE(mobj->methodCount() - mobj->methodOffset(), 1);
|
||||||
|
|
||||||
|
QCOMPARE(mobj->classInfoCount(), 5);
|
||||||
|
QCOMPARE(mobj->classInfo(2).name(), "cpp c*/omment");
|
||||||
|
QCOMPARE(mobj->classInfo(2).value(), "f/*oo");
|
||||||
|
QCOMPARE(mobj->classInfo(3).name(), "endswith\\");
|
||||||
|
QCOMPARE(mobj->classInfo(3).value(), "Or?\?/");
|
||||||
|
QCOMPARE(mobj->classInfo(4).name(), "newline\n inside\n");
|
||||||
|
QCOMPARE(mobj->classInfo(4).value(), "Or \r");
|
||||||
|
|
||||||
QMetaMethod mm = mobj->method(mobj->methodOffset());
|
QMetaMethod mm = mobj->method(mobj->methodOffset());
|
||||||
QCOMPARE(mm.methodSignature(), QByteArray("slotWithAReallyLongName(int)"));
|
QCOMPARE(mm.methodSignature(), QByteArray("slotWithAReallyLongName(int)"));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user