Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qfileinfo.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QFILEINFO_H
6#define QFILEINFO_H
7
8#include <QtCore/qcompare.h>
9#include <QtCore/qfile.h>
10#include <QtCore/qlist.h>
11#include <QtCore/qshareddata.h>
12#include <QtCore/qmetatype.h>
13#include <QtCore/qdatetime.h>
14#include <QtCore/qtimezone.h>
15
17
18
19class QDir;
21
23QT_DECLARE_QSDP_SPECIALIZATION_DTOR(QFileInfoPrivate)
24
25class Q_CORE_EXPORT QFileInfo
26{
27 friend class QDirIteratorPrivate;
28 friend class QDirListingPrivate;
29 friend class QFileInfoPrivate;
30public:
31 explicit QFileInfo(QFileInfoPrivate *d);
32
33#ifdef QT_IMPLICIT_QFILEINFO_CONSTRUCTION
34#define QFILEINFO_MAYBE_EXPLICIT Q_IMPLICIT
35#else
36#define QFILEINFO_MAYBE_EXPLICIT explicit
37#endif
38
39 QFileInfo();
40 QFILEINFO_MAYBE_EXPLICIT QFileInfo(const QString &file);
41 QFILEINFO_MAYBE_EXPLICIT QFileInfo(const QFileDevice &file);
42 QFILEINFO_MAYBE_EXPLICIT QFileInfo(const QDir &dir, const QString &file);
43 QFileInfo(const QFileInfo &fileinfo);
44 QFileInfo(QFileInfo &&other) = default;
45#ifdef Q_QDOC
46 QFileInfo(const std::filesystem::path &file);
47 QFileInfo(const QDir &dir, const std::filesystem::path &file);
48#elif QT_CONFIG(cxx17_filesystem)
49 template<typename T, QtPrivate::ForceFilesystemPath<T> = 0>
50 QFILEINFO_MAYBE_EXPLICIT QFileInfo(const T &file) : QFileInfo(QtPrivate::fromFilesystemPath(file)) { }
51
52 template<typename T, QtPrivate::ForceFilesystemPath<T> = 0>
53 QFILEINFO_MAYBE_EXPLICIT QFileInfo(const QDir &dir, const T &file) : QFileInfo(dir, QtPrivate::fromFilesystemPath(file))
54 {
55 }
56#endif // QT_CONFIG(cxx17_filesystem)
57
58#undef QFILEINFO_MAYBE_EXPLICIT
59
60 ~QFileInfo();
61
62 QFileInfo &operator=(const QFileInfo &fileinfo);
63 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QFileInfo)
64
65 void swap(QFileInfo &other) noexcept
66 { d_ptr.swap(other.d_ptr); }
67
68#if QT_CORE_REMOVED_SINCE(6, 8)
69 bool operator==(const QFileInfo &fileinfo) const;
70 inline bool operator!=(const QFileInfo &fileinfo) const { return !(operator==(fileinfo)); }
71#endif
72
73 void setFile(const QString &file);
74 void setFile(const QFileDevice &file);
75 void setFile(const QDir &dir, const QString &file);
76#ifdef Q_QDOC
77 void setFile(const std::filesystem::path &file);
78#elif QT_CONFIG(cxx17_filesystem)
79 template<typename T, QtPrivate::ForceFilesystemPath<T> = 0>
80 void setFile(const T &file) { setFile(QtPrivate::fromFilesystemPath(file)); }
81#endif // QT_CONFIG(cxx17_filesystem)
82
83 bool exists() const;
84 static bool exists(const QString &file);
85 void refresh();
86
87 QString filePath() const;
88 QString absoluteFilePath() const;
89 QString canonicalFilePath() const;
90#if QT_CONFIG(cxx17_filesystem) || defined(Q_QDOC)
91 std::filesystem::path filesystemFilePath() const
92 { return QtPrivate::toFilesystemPath(filePath()); }
93 std::filesystem::path filesystemAbsoluteFilePath() const
94 { return QtPrivate::toFilesystemPath(absoluteFilePath()); }
95 std::filesystem::path filesystemCanonicalFilePath() const
96 { return QtPrivate::toFilesystemPath(canonicalFilePath()); }
97#endif // QT_CONFIG(cxx17_filesystem)
98 QString fileName() const;
99 QString baseName() const;
100 QString completeBaseName() const;
101 QString suffix() const;
102 QString bundleName() const;
103 QString completeSuffix() const;
104
105 QString path() const;
106 QString absolutePath() const;
107 QString canonicalPath() const;
108#if QT_CONFIG(cxx17_filesystem) || defined(Q_QDOC)
109 std::filesystem::path filesystemPath() const { return QtPrivate::toFilesystemPath(path()); }
110 std::filesystem::path filesystemAbsolutePath() const
111 { return QtPrivate::toFilesystemPath(absolutePath()); }
112 std::filesystem::path filesystemCanonicalPath() const
113 { return QtPrivate::toFilesystemPath(canonicalPath()); }
114#endif // QT_CONFIG(cxx17_filesystem)
115 QDir dir() const;
116 QDir absoluteDir() const;
117
118 bool isReadable() const;
119 bool isWritable() const;
120 bool isExecutable() const;
121 bool isHidden() const;
122 bool isNativePath() const;
123
124 bool isRelative() const;
125 inline bool isAbsolute() const { return !isRelative(); }
126 bool makeAbsolute();
127
128 bool isFile() const;
129 bool isDir() const;
130 bool isSymLink() const;
131 bool isSymbolicLink() const;
132 bool isOther() const;
133 bool isShortcut() const;
134 bool isAlias() const;
135 bool isJunction() const;
136 bool isRoot() const;
137 bool isBundle() const;
138
139 QString symLinkTarget() const;
140 QString readSymLink() const;
141 QString junctionTarget() const;
142
143#if QT_CONFIG(cxx17_filesystem) || defined(Q_QDOC)
144 std::filesystem::path filesystemSymLinkTarget() const
145 { return QtPrivate::toFilesystemPath(symLinkTarget()); }
146
147 std::filesystem::path filesystemReadSymLink() const
148 { return QtPrivate::toFilesystemPath(readSymLink()); }
149
150 std::filesystem::path filesystemJunctionTarget() const
151 { return QtPrivate::toFilesystemPath(junctionTarget()); }
152#endif // QT_CONFIG(cxx17_filesystem)
153
154 QString owner() const;
155 uint ownerId() const;
156 QString group() const;
157 uint groupId() const;
158
159 bool permission(QFile::Permissions permissions) const;
160 QFile::Permissions permissions() const;
161
162 qint64 size() const;
163
164 QDateTime birthTime() const { return fileTime(QFile::FileBirthTime); }
165 QDateTime metadataChangeTime() const { return fileTime(QFile::FileMetadataChangeTime); }
166 QDateTime lastModified() const { return fileTime(QFile::FileModificationTime); }
167 QDateTime lastRead() const { return fileTime(QFile::FileAccessTime); }
168 QDateTime fileTime(QFile::FileTime time) const;
169
170 QDateTime birthTime(const QTimeZone &tz) const { return fileTime(QFile::FileBirthTime, tz); }
171 QDateTime metadataChangeTime(const QTimeZone &tz) const { return fileTime(QFile::FileMetadataChangeTime, tz); }
172 QDateTime lastModified(const QTimeZone &tz) const { return fileTime(QFile::FileModificationTime, tz); }
173 QDateTime lastRead(const QTimeZone &tz) const { return fileTime(QFile::FileAccessTime, tz); }
174 QDateTime fileTime(QFile::FileTime time, const QTimeZone &tz) const;
175
176 bool caching() const;
177 void setCaching(bool on);
178 void stat();
179
180protected:
181 QSharedDataPointer<QFileInfoPrivate> d_ptr;
182
183private:
184 friend Q_CORE_EXPORT bool comparesEqual(const QFileInfo &lhs, const QFileInfo &rhs);
185 Q_DECLARE_EQUALITY_COMPARABLE_NON_NOEXCEPT(QFileInfo)
186 QFileInfoPrivate* d_func();
187 inline const QFileInfoPrivate* d_func() const
188 {
189 return d_ptr.constData();
190 }
191};
192
194
196
197#ifndef QT_NO_DEBUG_STREAM
198Q_CORE_EXPORT QDebug operator<<(QDebug, const QFileInfo &);
199#endif
200
201QT_END_NAMESPACE
202
203QT_DECL_METATYPE_EXTERN(QFileInfo, Q_CORE_EXPORT)
204
205#endif // QFILEINFO_H
Definition moc.h:234
bool testFunctionAttribute(Token tok, FunctionDef *def)
Definition moc.cpp:359
void parseEnumOrFlag(BaseDef *def, QtMocConstants::EnumFlags flags)
Definition moc.cpp:1876
bool hasGlobalModuleFragment
Definition moc.h:262
void checkSuperClasses(ClassDef *def)
Definition moc.cpp:2144
Moc()
Definition moc.h:238
void parse()
Definition moc.cpp:775
bool inPrivateModuleFragment
Definition moc.h:261
bool parseEnum(EnumDef *def, ClassDef *containingClass)
Definition moc.cpp:250
void parseProperty(ClassDef *def, PropertyMode mode)
Definition moc.cpp:1771
QByteArray lexemUntil(Token)
Definition moc.cpp:2044
EncounteredQmlMacro parseClassInfo(BaseDef *def)
Definition moc.cpp:1915
bool until(Token)
Definition moc.cpp:2064
QList< QByteArray > includeFiles
Definition moc.h:248
QList< QByteArray > moduleFragmentIncludes
Definition moc.h:273
bool requireCompleteTypes
Definition moc.h:246
QHash< QByteArray, QByteArray > knownQObjectClasses
Definition moc.h:253
void createPropertyDef(PropertyDef &def, int propertyIndex, PropertyMode mode)
Definition moc.cpp:1571
void parseClassInfo(ClassDef *def)
Definition moc.cpp:1942
QByteArrayView strippedFileName() const
Definition moc.cpp:1266
bool parseClassHead(ClassDef *def)
Definition moc.cpp:39
void parsePrivateProperty(ClassDef *def, PropertyMode mode)
Definition moc.cpp:1863
QByteArray includePath
Definition moc.h:247
QByteArray filename
Definition moc.h:242
void parseFlag(BaseDef *def)
Definition moc.cpp:1891
void parsePrivateModuleFragment(qsizetype rewind)
Definition moc.cpp:754
void parseSignals(ClassDef *def)
Definition moc.cpp:1527
void parseDeclareMetatype()
Definition moc.cpp:2004
void parsePropertyAttributes(PropertyDef &propDef)
Definition moc.cpp:1610
void parseInterfaces(ClassDef *def)
Definition moc.cpp:1948
bool testFunctionRevision(FunctionDef *def)
Definition moc.cpp:422
bool testFunctionAttribute(FunctionDef *def)
Definition moc.cpp:350
void prependNamespaces(BaseDef &def, const QList< NamespaceDef > &namespaceList) const
Definition moc.cpp:656
QHash< QByteArray, QByteArray > knownGadgets
Definition moc.h:254
QList< QByteArray > metaTypes
Definition moc.h:251
bool parseFunction(FunctionDef *def, bool inMacro=false)
Definition moc.cpp:434
QByteArray parsePropertyAccessor()
Definition moc.cpp:1845
QMap< QString, QJsonArray > metaArgs
Definition moc.h:255
bool testForFunctionModifiers(FunctionDef *def)
Definition moc.cpp:538
const QByteArray & toFullyQualified(const QByteArray &name) const noexcept
Definition moc.cpp:30
void parseSlots(ClassDef *def, FunctionDef::Access access)
Definition moc.cpp:1485
void parseDeclareInterface()
Definition moc.cpp:1981
void checkListSizes(const ClassDef &def)
Definition moc.cpp:666
QTypeRevision parseRevision()
Definition moc.cpp:391
void parseMocInclude()
Definition moc.cpp:2013
QList< QString > parsedPluginMetadataFiles
Definition moc.h:256
bool skipCxxAttributes()
Definition moc.cpp:382
qsizetype firstSourceSymbolIndex
Definition moc.h:267
PropertyMode
Definition moc.h:236
@ Anonymous
Definition moc.h:236
@ Named
Definition moc.h:236
ModuleUnitKind moduleUnitKind
Definition moc.h:258
bool mustIncludeQPluginH
Definition moc.h:245
bool parseMaybeFunction(const ClassDef *cdef, FunctionDef *def)
Definition moc.cpp:546
void checkProperties(ClassDef *cdef)
Definition moc.cpp:2202
Type parseType()
Definition moc.cpp:130
void parseModuleDeclaration(qsizetype rewind, bool exported)
Definition moc.cpp:702
void parseFunctionArguments(FunctionDef *def)
Definition moc.cpp:310
void parseSlotInPrivate(ClassDef *def, FunctionDef::Access access)
Definition moc.cpp:2023
bool inClass(const ClassDef *def) const
Definition moc.h:283
void parsePluginData(ClassDef *def)
Definition moc.cpp:1781
QByteArray modulePartitionName
Definition moc.h:260
void generate(FILE *out, FILE *jsonOutput)
Definition moc.cpp:1343
QMap< QByteArray, QByteArray > interface2IdMap
Definition moc.h:250
bool noInclude
Definition moc.h:244
EncounteredQmlMacro
Definition moc.h:312
bool inNamespace(const NamespaceDef *def) const
Definition moc.h:287
QList< ClassDef > classList
Definition moc.h:249
QByteArray moduleName
Definition moc.h:259
QByteArray resolveIncludeNext(const QByteArray &filename, qsizetype startIndex, qsizetype *foundIndex=nullptr)
void setDebugIncludes(bool value)
void parseDefineArguments(Macro *m)
void skipUntilEndif()
Symbols preprocessed(const QByteArray &filename, QFile *device)
void substituteUntilNewline(Symbols &substituted)
QList< QByteArray > frameworks
QHash< QByteArray, IncludeResolution > nonlocalIncludePathResolutionCache
static bool preprocessOnly
QByteArray resolveInclude(const QByteArray &filename, const QByteArray &relativeTo, qsizetype *foundIndex=nullptr)
static Symbols macroExpandIdentifier(Preprocessor *that, SymbolStack &symbols, int lineNum, QByteArray *macroName)
static Symbols tokenize(const QByteArray &input, int lineNum=1, TokenizeMode mode=TokenizeCpp)
static void macroExpand(Symbols *into, Preprocessor *that, const Symbols &toExpand, qsizetype &index, int lineNum, bool one, const QSet< QByteArray > &excludeSymbols=QSet< QByteArray >())
@ PreparePreprocessorStatement
@ TokenizePreprocessorStatement
The QCommandLineOption class defines a possible command-line option. \inmodule QtCore.
The QCommandLineParser class provides a means for handling the command line options.
\inmodule QtCore\reentrant
Definition qdatastream.h:50
Definition qfile.h:71
\inmodule QtCore\reentrant
Definition qjsonarray.h:19
\inmodule QtCore\reentrant
Definition qlist.h:82
Definition qmap.h:295
std::map< Key, T > toStdMap() const &
Definition qmap.h:333
QMap()=default
friend size_t qHash(const M &key, size_t seed=0) noexcept(QHashPrivate::noexceptPairHash< typename M::key_type, typename M::mapped_type >())
Definition qmap.h:968
T mapped_type
Definition qmap.h:304
QMap(std::map< Key, T > &&other)
Definition qmap.h:328
Key key_type
Definition qmap.h:303
std::map< Key, T > toStdMap() &&
Definition qmap.h:340
QMap(const std::map< Key, T > &other)
Definition qmap.h:323
friend bool comparesEqual(const QMap &lhs, const QMap &rhs)
Definition qmap.h:356
QMap(std::initializer_list< std::pair< Key, T > > list)
Definition qmap.h:317
void swap(QMap< Key, T > &other) noexcept
Definition qmap.h:312
\inmodule QtSql
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:177
\inmodule QtCore
constexpr Integer toEncodedVersion() const
Transforms the revision into an integer value, encoding the minor version into the least significant ...
constexpr QTypeRevision()=default
Produces an invalid revision.
constexpr quint8 majorVersion() const
Returns the major version encoded in the revision.
static constexpr QTypeRevision fromMajorVersion(Major majorVersion)
Produces a QTypeRevision from the given majorVersion with an invalid minor version.
static constexpr bool isValidSegment(Integer segment)
Returns true if the given number can be used as either major or minor version in a QTypeRevision.
static constexpr QTypeRevision zero()
Produces a QTypeRevision with major and minor version {0}.
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.
static constexpr QTypeRevision fromMinorVersion(Minor minorVersion)
Produces a QTypeRevision from the given minorVersion with an invalid major version.
constexpr bool isValid() const
Returns true if the major version or the minor version is known, otherwise false.
friend constexpr Qt::strong_ordering compareThreeWay(const QTypeRevision &lhs, const QTypeRevision &rhs) noexcept
constexpr quint8 minorVersion() const
Returns the minor version encoded in the revision.
static constexpr QTypeRevision fromVersion(Major majorVersion, Minor minorVersion)
Produces a QTypeRevision from the given majorVersion and minorVersion, both of which need to be a val...
friend constexpr bool comparesEqual(const QTypeRevision &lhs, const QTypeRevision &rhs) noexcept
constexpr bool hasMinorVersion() const
Returns true if the minor version is known, otherwise false.
QByteArray unquotedLexem()
Definition symbols.h:105
const Symbol & symbol() const
Definition symbols.h:102
Token token()
Definition symbols.h:103
bool dontReplaceSymbol(const QByteArray &name) const
Definition symbols.h:125
bool hasNext()
Definition symbols.h:89
QByteArray lexem() const
Definition symbols.h:104
Token next()
Definition symbols.h:94
const SafeSymbols & constTop() const
Definition symbols.h:88
bool test(Token)
Definition symbols.h:111
QT_BEGIN_NAMESPACE int collectJson(const QStringList &jsonFiles, const QString &outputFile, bool skipStdIn)
Q_DECLARE_TYPEINFO(EnumDef, Q_RELOCATABLE_TYPE)
QByteArray noRef(const QByteArray &type)
Definition moc.h:344
Q_DECLARE_TYPEINFO(PropertyDef, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(NamespaceDef, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(ClassDef, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(ClassInfoDef, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(ClassDef::Interface, Q_RELOCATABLE_TYPE)
ModuleUnitKind
Definition moc.h:225
@ InterfacePartition
Definition moc.h:228
@ InternalPartition
Definition moc.h:229
@ PrimaryInterface
Definition moc.h:227
@ ImplementationUnit
Definition moc.h:230
Q_DECLARE_TYPEINFO(SuperClass, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(ArgumentDef, Q_RELOCATABLE_TYPE)
TypeTag
Definition moc.h:23
@ HasEnum
Definition moc.h:27
@ HasClass
Definition moc.h:26
@ None
Definition moc.h:24
@ HasStruct
Definition moc.h:25
Q_DECLARE_TYPEINFO(PrivateQPropertyDef, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(FunctionDef, Q_RELOCATABLE_TYPE)
std::conditional_t< std::is_same_v< HashKey, q20::remove_cvref_t< KeyArgument > >, KeyArgument, HashKey > HeterogenousConstructProxy
Definition qhash.h:834
Combined button and popup list for selecting options.
constexpr PropertyFlags DefaultPropertyFlags
QString && asString(QString &&s)
Definition qstring.h:1714
constexpr QAnyStringArg qStringLikeToArg(QAnyStringView s) noexcept
Definition qstring.h:1776
const QString & asString(const QString &s)
Definition qstring.h:1713
std::is_same< Char, char32_t > IsCompatibleChar32TypeHelper
Definition qstring.h:57
constexpr bool isLatin1(QLatin1StringView s) noexcept
Definition qstring.h:77
Definition qcompare.h:111
QHash< MacroName, Macro > Macros
SubArray MacroName
#define __has_builtin(x)
Q_DECLARE_TYPEINFO(QDateTime::Data, Q_RELOCATABLE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2620
#define QFILE_MAYBE_EXPLICIT
Definition qfile.h:65
#define QFILEINFO_MAYBE_EXPLICIT
Definition qfileinfo.h:36
QList< QFileInfo > QFileInfoList
Definition qfileinfo.h:195
qsizetype erase_if(QMultiHash< Key, T > &hash, Predicate pred)
Definition qhash.h:2782
#define QT_SPECIALIZE_STD_HASH_TO_CALL_QHASH_BY_CREF(Class)
#define QT_SPECIALIZE_STD_HASH_TO_CALL_QHASH(Class, Arguments)
#define QT_SPECIALIZE_STD_HASH_TO_CALL_QHASH_BY_VALUE(Class)
#define QT_MK_QHASH_COMPAT(X)
QList< QVariant > QVariantList
Definition qjsonarray.h:16
QMultiMap< Key, T > operator+=(QMultiMap< Key, T > &lhs, const QMultiMap< Key, T > &rhs)
Definition qmap.h:1857
QSet(InputIterator, InputIterator) -> QSet< ValueType >
size_t qHash(const QSet< T > &key, size_t seed=0) noexcept(noexcept(qHashRangeCommutative(key.begin(), key.end(), seed)))
Definition qset.h:236
qsizetype erase_if(QSet< T > &set, Predicate pred)
Definition qset.h:448
QString operator+(const QString &s1, QChar s2)
Definition qstring.h:1577
QString operator+(QString &&lhs, const QString &rhs)
Definition qstring.h:1575
qsizetype erase_if(QString &s, Predicate pred)
Definition qstring.h:1814
#define QT_UNICODE_LITERAL(str)
Definition qstring.h:1848
#define qPrintable(string)
Definition qstring.h:1718
QString operator+(QString &&lhs, QChar rhs)
Definition qstring.h:1579
QString operator+(QChar s1, const QString &s2)
Definition qstring.h:1581
#define QStringLiteral(str)
Definition qstring.h:1865
QString operator+(const QString &s1, const QString &s2)
Definition qstring.h:1573
qsizetype erase(QString &s, const T &t)
Definition qstring.h:1808
static QByteArray combinePath(const QString &infile, const QString &outfile)
Definition main.cpp:40
static bool hasNext(const Symbols &symbols, int i)
Definition main.cpp:78
static const Symbol & next(const Symbols &symbols, int &i)
Definition main.cpp:81
int runMoc(int argc, char **argv)
Definition main.cpp:170
static auto openFileForWriting(const QString &name)
Definition main.cpp:62
void error(const char *msg="Invalid argument")
Definition main.cpp:56
static QStringList argumentsFromCommandLineAndFile(const QStringList &arguments, bool &hasOptionFiles)
Definition main.cpp:138
QByteArray composePreprocessorOutput(const Symbols &symbols)
Definition main.cpp:85
Q_DECLARE_TYPEINFO(QTypeRevision, Q_RELOCATABLE_TYPE)
int main(int argc, char *argv[])
[ctor_close]
QByteArray rightType
Definition moc.h:69
QByteArray normalizedType
Definition moc.h:69
QJsonObject toJson() const
Definition moc.cpp:2409
QByteArray name
Definition moc.h:69
ArgumentDef()
Definition moc.h:67
bool isDefault
Definition moc.h:70
Type type
Definition moc.h:68
Definition moc.h:162
qsizetype end
Definition moc.h:170
qsizetype begin
Definition moc.h:169
QMap< QByteArray, QByteArray > flagAliases
Definition moc.h:168
QByteArray qualified
Definition moc.h:164
qsizetype lineNumber
Definition moc.h:171
QByteArray classname
Definition moc.h:163
QList< ClassInfoDef > classInfoList
Definition moc.h:165
QList< EnumDef > enumList
Definition moc.h:167
Interface(const QByteArray &_className)
Definition moc.h:187
QByteArray className
Definition moc.h:189
QByteArray interfaceId
Definition moc.h:190
QMap< QString, QJsonArray > metaArgs
Definition moc.h:197
QJsonDocument metaData
Definition moc.h:198
QByteArray uri
Definition moc.h:196
QByteArray iid
Definition moc.h:195
bool hasQObject
Definition moc.h:208
QList< QList< Interface > > interfaceList
Definition moc.h:192
QList< FunctionDef > publicList
Definition moc.h:202
QList< FunctionDef > methodList
Definition moc.h:202
QList< PropertyDef > propertyList
Definition moc.h:204
QList< FunctionDef > constructorList
Definition moc.h:201
bool hasQGadget
Definition moc.h:209
QList< SuperClass > superclassList
Definition moc.h:182
bool isFinal
Definition moc.h:212
bool requireCompleteMethodTypes
Definition moc.h:211
bool hasQNamespace
Definition moc.h:210
QList< FunctionDef > slotList
Definition moc.h:202
QList< FunctionDef > signalList
Definition moc.h:202
int revisionedMethods
Definition moc.h:206
QJsonObject toJson() const
Definition moc.cpp:2277
QList< QByteArray > nonClassSignalList
Definition moc.h:203
QByteArray name
Definition moc.h:157
QByteArray value
Definition moc.h:158
Definition moc.h:53
QByteArray enumName
Definition moc.h:55
QFlags< QtMocConstants::EnumFlags > flags
Definition moc.h:58
QByteArray qualifiedType(const ClassDef *cdef) const
Definition moc.cpp:2488
QJsonObject toJson(const ClassDef &cdef) const
Definition moc.cpp:2466
QList< QByteArray > values
Definition moc.h:57
QByteArray name
Definition moc.h:54
QByteArray type
Definition moc.h:56
int lineNumber
Definition moc.h:61
bool isVirtual
Definition moc.h:91
bool isScriptable
Definition moc.h:100
bool wasCloned
Definition moc.h:94
QByteArray normalizedType
Definition moc.h:80
QJsonObject toJson(int index) const
Definition moc.cpp:2370
bool isCompat
Definition moc.h:98
bool inlineCode
Definition moc.h:93
Type type
Definition moc.h:78
bool isRawSlot
Definition moc.h:107
static void accessToJson(QJsonObject *obj, Access acs)
Definition moc.cpp:2400
Access access
Definition moc.h:86
bool isSignal
Definition moc.h:102
bool isSlot
Definition moc.h:101
bool isInvokable
Definition moc.h:99
QByteArray name
Definition moc.h:82
QByteArray inPrivateClass
Definition moc.h:83
bool isConst
Definition moc.h:90
QList< ArgumentDef > arguments
Definition moc.h:79
int lineNumber
Definition moc.h:88
int revision
Definition moc.h:87
bool returnTypeIsVolatile
Definition moc.h:96
bool isAbstract
Definition moc.h:106
bool isPrivateSignal
Definition moc.h:103
bool isDestructor
Definition moc.h:105
@ Public
Definition moc.h:85
@ Protected
Definition moc.h:85
@ Private
Definition moc.h:85
bool isConstructor
Definition moc.h:104
bool isStatic
Definition moc.h:92
QByteArray tag
Definition moc.h:81
qsizetype foundIndex
Simple structure used by the Doc and DocParser classes.
Symbols symbols
bool isVariadic
bool isFunction
Symbols arguments
bool doGenerate
Definition moc.h:221
bool hasQNamespace
Definition moc.h:220
QByteArray name
Definition moc.h:148
QByteArray storage
Definition moc.h:151
QByteArray accessor
Definition moc.h:150
QByteArray setter
Definition moc.h:149
QByteArray scriptable
Definition moc.h:125
QByteArray member
Definition moc.h:125
QByteArray notify
Definition moc.h:125
QByteArray write
Definition moc.h:125
int lineNumber
Definition moc.h:137
QByteArray inPrivateClass
Definition moc.h:125
int notifyId
Definition moc.h:126
bool final
Definition moc.h:132
QJsonObject toJson() const
Definition moc.cpp:2418
bool constant
Definition moc.h:131
Specification gspec
Definition moc.h:128
Specification
Definition moc.h:127
@ ReferenceSpec
Definition moc.h:127
@ ValueSpec
Definition moc.h:127
@ PointerSpec
Definition moc.h:127
bool override
Definition moc.h:134
bool stdCppSet() const
Definition moc.h:116
bool virtual_
Definition moc.h:133
QByteArray user
Definition moc.h:125
TypeTags typeTag
Definition moc.h:130
QByteArray read
Definition moc.h:125
qsizetype location
Definition moc.h:139
int revision
Definition moc.h:129
QByteArray bind
Definition moc.h:125
int relativeIndex
Definition moc.h:136
QByteArray designable
Definition moc.h:125
bool required
Definition moc.h:135
QByteArray stored
Definition moc.h:125
QByteArray name
Definition moc.h:125
QByteArray reset
Definition moc.h:125
QByteArray type
Definition moc.h:125
constexpr QAnyStringArg(QAnyStringView v) noexcept
Definition qstring.h:1760
QAnyStringView string
Definition qstring.h:1758
QLatin1StringView string
Definition qstring.h:1752
constexpr QLatin1StringArg(QLatin1StringView v) noexcept
Definition qstring.h:1754
constexpr QStringViewArg(QStringView v) noexcept
Definition qstring.h:1748
qsizetype index
Definition symbols.h:81
Symbols symbols
Definition symbols.h:78
QByteArray expandedMacro
Definition symbols.h:79
QByteArray array
Definition symbols.h:26
SubArray(const char *s)
Definition symbols.h:21
qsizetype len
Definition symbols.h:28
bool operator==(const SubArray &other) const
Definition symbols.h:29
qsizetype from
Definition symbols.h:27
SubArray()=default
SubArray(const QByteArray &a)
Definition symbols.h:20
SubArray(const QByteArray &a, qsizetype from, qsizetype len)
Definition symbols.h:22
QByteArray qualified
Definition moc.h:176
FunctionDef::Access access
Definition moc.h:177
QByteArray classname
Definition moc.h:175
qsizetype from
Definition symbols.h:70
QByteArrayView unquotedLexemView() const
Definition symbols.h:62
Symbol(int lineNum, Token token)
Definition symbols.h:48
operator SubArray() const
Definition symbols.h:64
QByteArrayView lexemView() const
Definition symbols.h:61
Token token
Definition symbols.h:58
void mergeStringLiteral(const Symbol &next)
bool operator==(const Symbol &o) const
Definition symbols.h:65
int lineNum
Definition symbols.h:57
Symbol()=default
Symbol(int lineNum, Token token, const QByteArray &lexem, qsizetype from, qsizetype len)
Definition symbols.h:53
QByteArray lexem() const
Definition symbols.h:59
QByteArray lex
Definition symbols.h:69
QByteArray unquotedLexem() const
Definition symbols.h:60
qsizetype len
Definition symbols.h:71
Symbol(int lineNum, Token token, const QByteArray &lexem)
Definition symbols.h:49
size_t qHash(const SubArray &key, size_t seed=0)
Definition symbols.h:39
Q_DECLARE_TYPEINFO(Symbol, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(SafeSymbols, Q_RELOCATABLE_TYPE)
QList< Symbol > Symbols
Definition symbols.h:75
#define FOR_ALL_TOKENS(F)
Definition token.h:11
Token PP_Token
Definition token.h:254