9#include <QtCore/qset.h>
10#include <QtCore/qcborarray.h>
11#include <QtCore/qcbormap.h>
12#include <QtCore/qsavefile.h>
13#include <QtCore/qfile.h>
14#include <QtCore/qversionnumber.h>
16#include <QtCore/private/qstringalgorithms_p.h>
31 return s.toString().
replace(
"::d_func()"_L1,
"Private"_L1);
79 qWarning() <<
"Sequential containers are anonymous. Use QML_ANONYMOUS to register them.";
101 : m_version.majorVersion());
104 exports.append(exportEntry);
109 exportStrings.
reserve(exports.length());
140 if (
type.isEmpty() ||
type ==
"void")
144 bool isPointer =
false;
147 bool isConstant =
false;
159 if (elementType.
back() ==
'*'_L1)
167 if (!handleList(
"QQmlListProperty<"_L1) && !handleList(
"QList<"_L1)) {
168 if (
type.back() ==
'*'_L1) {
178 if (
type ==
"qreal") {
179#ifdef QT_COORD_TYPE_STRING
180 type = QT_COORD_TYPE_STRING;
184 }
else if (
type ==
"qint16") {
186 }
else if (
type ==
"quint16") {
188 }
else if (
type ==
"qint32") {
190 }
else if (
type ==
"quint32") {
192 }
else if (
type ==
"qint64") {
194 }
else if (
type ==
"quint64") {
196 }
else if (
type ==
"QList<QObject*>") {
197 type =
"QObjectList";
223 if (bindable !=
obj.constEnd())
235 if (notify !=
obj.constEnd())
242 if (privateClass !=
obj.constEnd()) {
251 if (
final !=
obj.constEnd() && final->toBool())
259 if (required !=
obj.constEnd() && required->toBool())
270 const auto flag =
obj.find(
key);
271 if (flag !=
obj.constEnd() && flag->toBool())
284 if (revision !=
obj.end())
309void QmlTypesCreator::writeEnums(
const QCborArray &enums)
322 if (alias !=
obj.end())
325 if (isFlag !=
obj.end() && isFlag->toBool())
335 const auto memberObject = member.
toMap();
337 if (
it == memberObject.
end())
345template<
typename Postprocess>
348 Postprocess &&process)
355 classDefMembers.
append(process(std::move(member)));
358 return classDefMembers;
378void QmlTypesCreator::writeComponents()
390 writeClassProperties(collector);
405 && std::binary_search(
406 m_referencedTypes.
begin(), m_referencedTypes.
end(),
418 writeClassProperties(collector);
438 "\n// This file describes the plugin-supplied types contained in the library."
439 "\n// It is used for QML tooling purposes only."
441 "\n// This file was auto-generated by qmltyperegistrar.\n\n");
455 return file.commit();
static JNINativeMethod methods[]
constexpr QChar back() const
Returns the last character in the string view.
constexpr QAnyStringView sliced(qsizetype pos) const
QString toString() const
Returns a deep copy of this string view's data as a QString.
constexpr bool isEmpty() const noexcept
Returns whether this string view is empty - that is, whether {size() == 0}.
constexpr QAnyStringView chopped(qsizetype n) const
constexpr decltype(auto) visit(Visitor &&v) const
Calls v with either a QUtf8StringView, QLatin1String, or QStringView, depending on the encoding of th...
qsizetype size() const noexcept
Returns the number of bytes in this byte array.
static QByteArray number(int, int base=10)
Returns a byte-array representing the whole number n as text.
QByteArray & append(char c)
This is an overloaded member function, provided for convenience. It differs from the above function o...
\inmodule QtCore\reentrant
void append(const QCborValue &value)
\inmodule QtCore\reentrant
QCborValue value(qint64 key) const
Returns the QCborValue element in this map that corresponds to key key, if there is one.
\inmodule QtCore\reentrant
QCborArray toArray() const
bool open(OpenMode flags) override
Opens the file using OpenMode mode, returning true if successful; otherwise false.
qint64 write(const char *data, qint64 len)
Writes at most maxSize bytes of data from data to the device.
qsizetype size() const noexcept
bool isEmpty() const noexcept
void reserve(qsizetype size)
void writeStringListBinding(QByteArrayView name, const QList< QAnyStringView > &elements)
void write(QByteArrayView data)
void writeLibraryImport(QByteArrayView uri, int majorVersion, int minorVersion, QByteArrayView as={})
void writeArrayBinding(QByteArrayView name, const QByteArrayList &elements)
void writeScriptBinding(QByteArrayView name, QByteArrayView rhs)
void writeStartDocument()
void writeStartObject(QByteArrayView component)
void writeBooleanBinding(QByteArrayView name, bool value)
void writeStringBinding(QByteArrayView name, QAnyStringView value)
void writeNumberBinding(QByteArrayView name, qint64 value)
iterator find(const T &value)
\macro QT_RESTRICTED_CAST_FROM_ASCII
QString & replace(qsizetype i, qsizetype len, QChar after)
static constexpr QTypeRevision fromEncodedVersion(Integer value)
Produces a QTypeRevision from the given value.
constexpr bool hasMajorVersion() const
Returns true if the major version is known, otherwise false.
constexpr Integer toEncodedVersion() const
Transforms the revision into an integer value, encoding the minor version into the least significant ...
constexpr quint8 minorVersion() const
Returns the minor version encoded in the revision.
constexpr bool isValid() const
Returns true if the major version or the minor version is known, otherwise false.
constexpr quint8 majorVersion() const
Returns the major version encoded in the revision.
bool generate(const QString &outFileName)
list append(new Employee("Blackpool", "Stephen"))
QSet< QString >::iterator it
QList< QVariant > arguments
static constexpr QLatin1StringView S_FILE
static constexpr QLatin1StringView S_NOTIFY
static constexpr QLatin1StringView S_SIGNAL
static constexpr QLatin1StringView S_IS_SINGLETON
static constexpr QLatin1StringView S_IS_CONSTRUCTOR
static constexpr QLatin1StringView S_ACCESS_SEMANTICS
static constexpr QLatin1StringView S_IS_READONLY
static constexpr QLatin1StringView S_ENUM
static constexpr QLatin1StringView S_READ
static constexpr QLatin1StringView S_VALUE_TYPE
static constexpr QLatin1StringView S_PROPERTY
static constexpr QLatin1StringView S_INDEX
static constexpr QLatin1StringView S_IS_CREATABLE
static constexpr QLatin1StringView S_RESET
static constexpr QLatin1StringView S_TYPE
static constexpr QLatin1StringView S_MODULE
static constexpr QLatin1StringView S_PARAMETER
static constexpr QLatin1StringView S_IS_LIST
static constexpr QLatin1StringView S_IS_CLONED
static constexpr QLatin1StringView S_IS_REQUIRED
static constexpr QLatin1StringView S_IMMEDIATE_NAMES
static constexpr QLatin1StringView S_WRITE
static constexpr QLatin1StringView S_IS_JAVASCRIPT_FUNCTION
static constexpr QLatin1StringView S_EXPORTS
static constexpr QLatin1StringView S_REVISION
static constexpr QLatin1StringView S_DEFAULT_PROPERTY
static constexpr QLatin1StringView S_DEFERRED_NAMES
static constexpr QLatin1StringView S_METHOD
static constexpr QLatin1StringView S_IS_POINTER
static constexpr QLatin1StringView S_ALIAS
static constexpr QLatin1StringView S_VALUES
static constexpr QLatin1StringView S_IS_FLAG
static constexpr QLatin1StringView S_COMPONENT
static constexpr QLatin1StringView S_PROTOTYPE
static constexpr QLatin1StringView S_EXPORT_META_OBJECT_REVISIONS
static constexpr QLatin1StringView S_ATTACHED_TYPE
static constexpr QLatin1StringView S_IS_FINAL
static constexpr QLatin1StringView S_HAS_CUSTOM_PARSER
static constexpr QLatin1StringView S_PARENT_PROPERTY
static constexpr QLatin1StringView S_IS_CONSTANT
static constexpr QLatin1StringView S_PRIVATE_CLASS
static constexpr QLatin1StringView S_EXTENSION_IS_NAMESPACE
static constexpr QLatin1StringView S_BINDABLE
static constexpr QLatin1StringView S_EXTENSION
static constexpr QLatin1StringView S_NAME
static constexpr QLatin1StringView S_INTERFACES
bool startsWith(QAnyStringView whole, QAnyStringView part)
QAnyStringView toStringView(const QCborValue &value)
QAnyStringView trimmed(QAnyStringView string)
auto processAsUtf8(StringView string, Handler &&handler)
Combined button and popup list for selecting options.
static const QCssKnownValue properties[NumProperties - 1]
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char * method
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLenum GLsizei GLsizei GLint * values
[15]
static qreal component(const QPointF &point, unsigned int i)
QCborArray members(const QCborMap *classDef, QLatin1StringView key, QTypeRevision maxMajorVersion, Postprocess &&process)
static bool isAllowedInMajorVersion(const QCborValue &member, QTypeRevision maxMajorVersion)
static QCborArray constructors(const QCborMap *classDef, QLatin1StringView key, QTypeRevision maxMajorVersion)
static QString convertPrivateClassToUsableForm(const QCborValue &s)
QLatin1StringView QLatin1String
ReturnedValue read(const char *data)
static const QV4::Value & constant(Function *function, int index)
gzip write("uncompressed data")
void collectLocalAnonymous(const QCborMap *classDef, const QVector< QCborMap > &types, const QVector< QCborMap > &foreign, QTypeRevision defaultRevision)
QAnyStringView parentProp
QList< QAnyStringView > implementsInterfaces
const QCborMap * resolvedClass
QTypeRevision addedInRevision
QList< QAnyStringView > immediateNames
QAnyStringView sequenceValueType
QTypeRevision removedInRevision
QAnyStringView defaultProp
void collect(const QCborMap *classDef, const QVector< QCborMap > &types, const QVector< QCborMap > &foreign, CollectMode mode, QTypeRevision defaultRevision)
QList< QTypeRevision > revisions
QAnyStringView extensionType
bool extensionIsNamespace
QAnyStringView attachedType
QAnyStringView elementName
QList< QAnyStringView > deferredNames
QAnyStringView accessSemantics
QAnyStringView superClass