7#include <QtCore/qglobal.h>
11#define FOR_ALL_TOKENS(F)
131 F(Q_META_TOKEN_BEGIN)
134 F(Q_GADGET_EXPORT_TOKEN)
136 F(Q_NAMESPACE_EXPORT_TOKEN)
138 F(QT_ANONYMOUS_PROPERTY_TOKEN)
139 F(Q_PLUGIN_METADATA_TOKEN)
146 F(Q_DECLARE_INTERFACE_TOKEN)
147 F(Q_DECLARE_METATYPE_TOKEN)
149 F(Q_INTERFACES_TOKEN)
154 F(Q_PRIVATE_SLOT_TOKEN)
155 F(Q_MOC_COMPAT_TOKEN)
157 F(Q_SCRIPTABLE_TOKEN)
158 F(Q_PRIVATE_PROPERTY_TOKEN)
159 F(QT_ANONYMOUS_PRIVATE_PROPERTY_TOKEN)
161 F(Q_MOC_INCLUDE_TOKEN)
163 F(Q_DECLARE_FLAGS_TOKEN)
164 F(SPECIAL_TREATMENT_MARK)
199#define CREATE_ENUM_VALUE(Name) Name,
201#undef CREATE_ENUM_VALUE
206 PP_BACKSLASH = BACKSLASH,
207 PP_CHARACTER = CHARACTER,
208 PP_CHARACTER_LITERAL = CHARACTER_LITERAL,
211 PP_CPP_COMMENT = CPP_COMMENT,
212 PP_C_COMMENT = C_COMMENT,
215 PP_FLOATING_LITERAL = FLOATING_LITERAL,
219 PP_IDENTIFIER = IDENTIFIER,
220 PP_INTEGER_LITERAL = INTEGER_LITERAL,
227 PP_NEWLINE = NEWLINE,
228 PP_NOTOKEN = NOTOKEN,
232 PP_PERCENT = PERCENT,
234 PP_QUESTION = QUESTION,
238 PP_SINGLEQUOTE = SINGLEQUOTE,
241 PP_STRING_LITERAL = STRING_LITERAL,
243 PP_WHITESPACE = WHITESPACE,
247#if defined(DEBUG_MOC)
248const char *tokenTypeName(Token t);
int main(int argc, char *argv[])
[2]
bool requireCompleteTypes
void generate(FILE *out, FILE *jsonOutput)
void setDebugIncludes(bool value)
void parseDefineArguments(Macro *m)
QHash< QByteArray, QByteArray > nonlocalIncludePathResolutionCache
Symbols preprocessed(const QByteArray &filename, QFile *device)
void substituteUntilNewline(Symbols &substituted)
QList< QByteArray > frameworks
static bool preprocessOnly
static Symbols macroExpandIdentifier(Preprocessor *that, SymbolStack &symbols, int lineNum, QByteArray *macroName)
QByteArray resolveInclude(const QByteArray &filename, const QByteArray &relativeTo)
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.
QByteArray unquotedLexem()
const Symbol & symbol() const
bool dontReplaceSymbol(const QByteArray &name) const
Combined button and popup list for selecting options.
QHash< MacroName, Macro > Macros
#define qPrintable(string)
static QByteArray combinePath(const QString &infile, const QString &outfile)
static bool hasNext(const Symbols &symbols, int i)
static const Symbol & next(const Symbols &symbols, int &i)
int runMoc(int argc, char **argv)
static auto openFileForWriting(const QString &name)
void error(const char *msg="Invalid argument")
static QStringList argumentsFromCommandLineAndFile(const QStringList &arguments, bool &hasOptionFiles)
QByteArray composePreprocessorOutput(const Symbols &symbols)
Simple structure used by the Doc and DocParser classes.
bool operator==(const SubArray &other) const
SubArray(const QByteArray &a)
SubArray(const QByteArray &a, qsizetype from, qsizetype len)
Symbol(int lineNum, Token token)
operator SubArray() const
bool operator==(const Symbol &o) const
Symbol(int lineNum, Token token, const QByteArray &lexem, qsizetype from, qsizetype len)
QByteArray unquotedLexem() const
Symbol(int lineNum, Token token, const QByteArray &lexem)
size_t qHash(const SubArray &key, size_t seed=0)
Q_DECLARE_TYPEINFO(Symbol, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(SafeSymbols, Q_RELOCATABLE_TYPE)
#define FOR_ALL_TOKENS(F)