5#ifndef METATYPESJSONPROCESSOR_P_H
6#define METATYPESJSONPROCESSOR_P_H
19#include <private/qduplicatetracker_p.h>
21#include <QtCore/qcbormap.h>
22#include <QtCore/qstring.h>
23#include <QtCore/qtyperevision.h>
24#include <QtCore/qvarlengtharray.h>
25#include <QtCore/qvector.h>
34enum class Access { Public, Protected, Private };
116 Method(
const QCborMap &cbor,
bool isConstructor);
141 Enum(
const QCborMap &cbor);
190 MetaType(
const QCborMap &cbor,
const QString &inputFile);
192 bool isEmpty()
const {
return d == &s_empty; }
230 bool isValid()
const {
return !alias.isEmpty() && !original.isEmpty(); }
234 return std::tie(a.alias, a.original) == std::tie(b.alias, b.original);
240 return a.alias != b.alias
241 ? compareThreeWay(a.alias, b.alias)
242 : compareThreeWay(a.original, b.original);
271 enum RegistrationMode {
275 NamespaceRegistration
278 struct PreProcessResult {
279 QList<QAnyStringView> primitiveAliases;
281 QAnyStringView foreignPrimitive;
282 RegistrationMode mode;
285 enum class PopulateMode { No, Yes };
286 static PreProcessResult preProcess(
const MetaType &classDef, PopulateMode populateMode);
287 void addRelatedTypes();
289 void sortTypes(QList<MetaType> &types);
290 QString resolvedInclude(QAnyStringView include);
294 bool isPrimitive(QAnyStringView type)
const
296 return std::binary_search(m_primitiveTypes.begin(), m_primitiveTypes.end(), type);
299 QList<QString> m_includes;
300 QList<QAnyStringView> m_referencedTypes;
301 QList<QAnyStringView> m_primitiveTypes;
302 QList<UsingDeclaration> m_usingDeclarations;
303 QList<MetaType> m_types;
304 QList<MetaType> m_foreignTypes;
305 QDuplicateTracker<QString> m_seenMetaTypesFiles;
306 bool m_privateIncludes =
false;
Combined button and popup list for selecting options.
QDebug warning(const MetaType &classDef)
Argument(const QCborMap &cbor)
BaseType(const QCborMap &cbor)
ClassInfo(const QCborMap &cbor)
QList< QAnyStringView > values
Enum(const QCborMap &cbor)
Interface(const QCborValue &cbor)
QAnyStringView returnType
Argument::Container arguments
bool isJavaScriptFunction
Method(const QCborMap &cbor, bool isConstructor)
static constexpr int InvalidIndex
QAnyStringView privateClass
Property(const QCborMap &cbor)
friend bool comparesEqual(const UsingDeclaration &a, const UsingDeclaration &b) noexcept
friend Qt::strong_ordering compareThreeWay(const UsingDeclaration &a, const UsingDeclaration &b) noexcept