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
outputrevision.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef OUTPUTREVISION_H
5#define OUTPUTREVISION_H
6
7// if the output revision changes, you MUST change it in qtmetamacros.h too
8enum { mocOutputRevision = 69 }; // moc format output revision
9
10#endif // OUTPUTREVISION_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:1873
bool hasGlobalModuleFragment
Definition moc.h:262
void checkSuperClasses(ClassDef *def)
Definition moc.cpp:2141
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:1768
QByteArray lexemUntil(Token)
Definition moc.cpp:2041
EncounteredQmlMacro parseClassInfo(BaseDef *def)
Definition moc.cpp:1912
bool until(Token)
Definition moc.cpp:2061
QList< QByteArray > includeFiles
Definition moc.h:248
QList< QByteArray > moduleFragmentIncludes
Definition moc.h:268
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:1568
void parseClassInfo(ClassDef *def)
Definition moc.cpp:1939
QByteArrayView strippedFileName() const
Definition moc.cpp:1263
bool parseClassHead(ClassDef *def)
Definition moc.cpp:39
void parsePrivateProperty(ClassDef *def, PropertyMode mode)
Definition moc.cpp:1860
QByteArray includePath
Definition moc.h:247
QByteArray filename
Definition moc.h:242
void parseFlag(BaseDef *def)
Definition moc.cpp:1888
void parsePrivateModuleFragment(qsizetype rewind)
Definition moc.cpp:754
void parseSignals(ClassDef *def)
Definition moc.cpp:1524
void parseDeclareMetatype()
Definition moc.cpp:2001
void parsePropertyAttributes(PropertyDef &propDef)
Definition moc.cpp:1607
void parseInterfaces(ClassDef *def)
Definition moc.cpp:1945
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:1842
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:1482
void parseDeclareInterface()
Definition moc.cpp:1978
void checkListSizes(const ClassDef &def)
Definition moc.cpp:666
QTypeRevision parseRevision()
Definition moc.cpp:391
void parseMocInclude()
Definition moc.cpp:2010
QList< QString > parsedPluginMetadataFiles
Definition moc.h:256
bool skipCxxAttributes()
Definition moc.cpp:382
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:2199
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:2020
bool inClass(const ClassDef *def) const
Definition moc.h:278
void parsePluginData(ClassDef *def)
Definition moc.cpp:1778
QByteArray modulePartitionName
Definition moc.h:260
void generate(FILE *out, FILE *jsonOutput)
Definition moc.cpp:1340
QMap< QByteArray, QByteArray > interface2IdMap
Definition moc.h:250
bool noInclude
Definition moc.h:244
EncounteredQmlMacro
Definition moc.h:307
bool inNamespace(const NamespaceDef *def) const
Definition moc.h:282
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 qlist.h:82
Definition qmap.h:295
\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
Q_DECLARE_TYPEINFO(EnumDef, Q_RELOCATABLE_TYPE)
QByteArray noRef(const QByteArray &type)
Definition moc.h:339
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)
Combined button and popup list for selecting options.
constexpr PropertyFlags DefaultPropertyFlags
QHash< MacroName, Macro > Macros
SubArray MacroName
Q_DECLARE_TYPEINFO(QDateTime::Data, Q_RELOCATABLE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2620
#define qPrintable(string)
Definition qstring.h:1713
#define QStringLiteral(str)
Definition qstring.h:1860
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:2406
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:2274
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:2485
QJsonObject toJson(const ClassDef &cdef) const
Definition moc.cpp:2463
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:2367
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:2397
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:2415
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
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