moc: Output the "cloned" flag for methods

We will need it in QML to determine which signal out of a number of
"overloads" to generate handlers for.

Task-number: QTBUG-108762
Change-Id: Ib73eeb59dbf037bd03faf0d841860d9ebc9e7032
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Ulf Hermann 2022-11-23 14:11:27 +01:00
parent 7d7ed24f51
commit 481338751b
5 changed files with 59 additions and 0 deletions

View File

@ -2020,6 +2020,9 @@ QJsonObject FunctionDef::toJson() const
if (revision > 0)
fdef["revision"_L1] = revision;
if (wasCloned)
fdef["isCloned"_L1] = true;
return fdef;
}

View File

@ -41,6 +41,7 @@ set(JSON_HEADERS
related-metaobjects-in-gadget.h
related-metaobjects-in-namespaces.h
related-metaobjects-name-conflict.h
signal-with-default-arg.h
single-quote-digit-separator-n3781.h
single_function_keyword.h
slots-with-void-template.h

View File

@ -2447,6 +2447,42 @@
"inputFile": "related-metaobjects-name-conflict.h",
"outputRevision": 68
},
{
"classes": [
{
"className": "SignalWithDefaultArg",
"object": true,
"qualifiedClassName": "SignalWithDefaultArg",
"signals": [
{
"access": "public",
"arguments": [
{
"name": "i",
"type": "int"
}
],
"name": "signalWithDefaultArg",
"returnType": "void"
},
{
"access": "public",
"isCloned": true,
"name": "signalWithDefaultArg",
"returnType": "void"
}
],
"superClasses": [
{
"access": "public",
"name": "QObject"
}
]
}
],
"inputFile": "signal-with-default-arg.h",
"outputRevision": 68
},
{
"classes": [
{

View File

@ -0,0 +1,16 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#ifndef SIGNAL_WITH_DEFAULT_ARG_H
#define SIGNAL_WITH_DEFAULT_ARG_H
#include <QtCore/qobject.h>
class SignalWithDefaultArg : public QObject
{
Q_OBJECT
signals:
void signalWithDefaultArg(int i = 12);
};
#endif // SIGNAL_WITH_DEFAULT_ARG_H

View File

@ -56,6 +56,8 @@
#include "fwdclass2.h"
#include "fwdclass3.h"
#include "signal-with-default-arg.h"
#include "qmlmacro.h"
#ifdef Q_MOC_RUN
@ -767,6 +769,7 @@ signals:
void constSignal2(int arg) const;
void member4Changed();
void member5Changed(const QString &newVal);
void sigWithDefaultArg(int i = 12);
private:
bool user1() { return true; };