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
metastrings.h
Go to the documentation of this file.
1// Copyright (C) 2025 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 METASTRINGS_H
5#define METASTRINGS_H
6
7#include <QString>
8#include <QHash>
9
11
12class MetaStrings
13{
14public:
15 struct MagicComment
16 {
17 QString context;
18 QString comment;
19 };
20
21 bool parse(QString &string);
22
23 void clear();
24
25 bool hasData() const;
26
27 std::optional<MagicComment> magicComment() const { return m_magicComment; }
28 QString extracomment() const { return m_extracomment; }
29 QString msgid() const { return m_msgid; }
30 QString sourcetext() const { return m_sourcetext; }
31 QString label() const { return m_label; }
32 QHash<QString, QString> extra() const { return m_extra; }
33 QString popError() { return std::move(m_error); }
34
35private:
36 std::optional<MagicComment> m_magicComment; // TRANSLATOR
37 QString m_extracomment; //:
38 QString m_msgid; //=
39 QString m_sourcetext; //%
40 QString m_label; //@
41 QHash<QString, QString> m_extra; //~
42 QString m_error;
43};
44
45QT_END_NAMESPACE
46
47#endif // METASTRINGS_H
static void setTranslator(const QString &cleanFile, const Translator *results)
Definition cpp.cpp:1283
static void setBlacklisted(const QString &cleanFile)
Definition cpp.cpp:1293
static const Translator * getTranslator(const QString &cleanFile)
Definition cpp.cpp:1278
static void setResults(const ResultsCacheKey &key, const ParseResults *results)
Definition cpp.cpp:1265
static bool isBlacklisted(const QString &cleanFile)
Definition cpp.cpp:1288
static QSet< const ParseResults * > getResults(const ResultsCacheKey &key)
Definition cpp.cpp:1255
static void addIncludeCycle(const QSet< QString > &fileNames, const CppParserState &parserState)
Definition cpp.cpp:1298
bool parseTranslate(QString &prefix)
Definition cpp.cpp:1742
void setInput(QTextStream &ts, const QString &fileName)
Definition cpp.cpp:274
void setTranslator(Translator *_tor)
Definition cpp.cpp:77
void setInput(const QString &in)
Definition cpp.cpp:267
void deleteResults()
Definition cpp.cpp:83
void parseInternal(ConversionData &cd, const QStringList &includeStack, QSet< QString > &inclusions)
Definition cpp.cpp:1786
CppParser(ParseResults *results=0)
Definition cpp.cpp:239
void parse(ConversionData &cd, const QStringList &includeStack, QSet< QString > &inclusions)
Definition cpp.cpp:1732
const ParseResults * recordResults(bool isHeader)
Definition cpp.cpp:2291
QHash< QString, QString > ExtraData
void setExtras(const ExtraData &extras)
void append(const TranslatorMessage &msg)
int messageCount() const
Definition translator.h:139
bool tryVisit(int fileId)
Definition cpp.cpp:60
VisitRecorder()
Definition cpp.cpp:56
static bool isStringLiteralPrefix(const QStringView s)
Definition cpp.cpp:362
static const QString strclass
Definition cpp.cpp:380
static const QString strreturn
Definition cpp.cpp:390
QDebug operator<<(QDebug debug, const HashStringList &lst)
Definition cpp.cpp:47
static const QString strQCoreApplication
Definition cpp.cpp:1440
static const QString strQ_SIGNALS
Definition cpp.cpp:399
static const QString strnamespace
Definition cpp.cpp:385
static const QString strfinal
Definition cpp.cpp:383
static const QString strenum
Definition cpp.cpp:382
size_t qHash(const ResultsCacheKey &key, size_t seed)
Definition cpp.cpp:1227
static const QString strnullptr
Definition cpp.cpp:386
static const QString strsignals
Definition cpp.cpp:397
size_t qHash(const HashStringList &list)
Definition cpp.cpp:34
static const QString strCodecForTr
Definition cpp.cpp:1443
static const QString strpublic
Definition cpp.cpp:395
static const QString strQ_SLOTS
Definition cpp.cpp:398
static const QString strUnicodeUTF8
Definition cpp.cpp:1441
static const QString strprotected
Definition cpp.cpp:394
static const QString strLatin1
Definition cpp.cpp:1444
static int nextFileId
Definition cpp.cpp:52
static bool isHeader(const QString &name)
Definition cpp.cpp:1321
static const QString strNULL
Definition cpp.cpp:388
static const QString strstruct
Definition cpp.cpp:391
static bool isRawStringLiteralPrefix(QStringView s)
Definition cpp.cpp:370
static const QString stroperator
Definition cpp.cpp:389
static const QString strusing
Definition cpp.cpp:392
static const QString strQ_OBJECT
Definition cpp.cpp:379
static const QString strQ_NULLPTR
Definition cpp.cpp:387
size_t qHash(const HashString &str)
Definition cpp.cpp:22
static const QString strQApplication
Definition cpp.cpp:1439
size_t qHash(const CppParserState &s, size_t seed)
Definition cpp.cpp:1217
static const QString strDefaultCodec
Definition cpp.cpp:1442
static const QString strprivate
Definition cpp.cpp:393
static const QString strfriend
Definition cpp.cpp:384
void loadCPP(Translator &translator, const QStringList &filenames, ConversionData &cd)
Definition cpp.cpp:2322
QDebug operator<<(QDebug debug, const HashString &s)
Definition cpp.cpp:29
static const QString strslots
Definition cpp.cpp:396
static const QString strdecltype
Definition cpp.cpp:381
QHash< QString, const Translator * > TranslatorHash
Definition cpp.h:129
QList< HashString > NamespaceList
Definition cpp.h:38
QHash< ResultsCacheKey, IncludeCycle * > IncludeCycleHash
Definition cpp.h:128
bool operator==(const CppParserState &other) const
Definition cpp.h:91
NamespaceList functionContext
Definition cpp.h:87
QString functionContextUnresolved
Definition cpp.h:88
QString pendingContext
Definition cpp.h:89
QStack< qsizetype > namespaceDepths
Definition cpp.h:86
NamespaceList namespaces
Definition cpp.h:85
uint m_hash
Definition cpp.h:33
const QList< HashString > & value() const
Definition cpp.h:29
HashStringList(const QList< HashString > &list)
Definition cpp.h:28
QList< HashString > m_list
Definition cpp.h:32
bool operator==(const HashStringList &other) const
Definition cpp.h:30
QSet< const ParseResults * > results
Definition cpp.h:80
QSet< QString > fileNames
Definition cpp.h:79
QHash< HashString, Namespace * > children
Definition cpp.h:49
QString trQualification
Definition cpp.h:66
Namespace * classDef
Definition cpp.h:64
Namespace * parent
Definition cpp.h:48
QHash< HashString, NamespaceList > aliases
Definition cpp.h:50
QList< HashStringList > usings
Definition cpp.h:51
Namespace()
Definition cpp.h:42
bool complained
Definition cpp.h:69
~Namespace()
Definition cpp.h:43
bool hasTrFunctions
Definition cpp.h:68
QSet< const ParseResults * > includes
Definition cpp.h:75
int fileId
Definition cpp.h:73
Namespace rootNamespace
Definition cpp.h:74
NamespaceList * resolved
Definition cpp.cpp:1039
const HashString & segment
Definition cpp.cpp:1038
QualifyOneData(const NamespaceList &ns, int nsc, const HashString &seg, NamespaceList *rslvd, QSet< HashStringList > *visited)
Definition cpp.cpp:1031
const NamespaceList & namespaces
Definition cpp.cpp:1036
QSet< HashStringList > * visitedUsings
Definition cpp.cpp:1040
ResultsCacheKey(const QString &filePath, const CppParserState &state)
Definition cpp.h:113
ResultsCacheKey(const QString &filePath)
Definition cpp.h:108
bool operator==(const ResultsCacheKey &other) const
Definition cpp.h:119
const CppParserState parserState
Definition cpp.h:106
const QString cleanFile
Definition cpp.h:105