CppTools: De-duplicate printer of ProjectFile::Kind

Change-Id: I66d2841ac76a73ef7c6548b98438d5c7b3acc4c3
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2017-02-01 09:53:36 +01:00
parent 352e916498
commit cfa25be0a4
3 changed files with 3 additions and 19 deletions

View File

@@ -154,24 +154,7 @@ QString Utils::toString(ProjectPart::QtVersion qtVersion)
QString Utils::toString(ProjectFile::Kind kind) QString Utils::toString(ProjectFile::Kind kind)
{ {
#define CASE_PROFECTFILEKIND(x) case ProjectFile::x: return QLatin1String(#x) return QString::fromLatin1(projectFileKindToText(kind));
switch (kind) {
CASE_PROFECTFILEKIND(Unclassified);
CASE_PROFECTFILEKIND(CHeader);
CASE_PROFECTFILEKIND(CSource);
CASE_PROFECTFILEKIND(CXXHeader);
CASE_PROFECTFILEKIND(CXXSource);
CASE_PROFECTFILEKIND(ObjCHeader);
CASE_PROFECTFILEKIND(ObjCSource);
CASE_PROFECTFILEKIND(ObjCXXHeader);
CASE_PROFECTFILEKIND(ObjCXXSource);
CASE_PROFECTFILEKIND(CudaSource);
CASE_PROFECTFILEKIND(OpenCLSource);
CASE_PROFECTFILEKIND(AmbiguousHeader);
// no default to get a compiler warning if anything is added
}
#undef CASE_PROFECTFILEKIND
return QString();
} }
QString Utils::toString(CPlusPlus::Kind kind) QString Utils::toString(CPlusPlus::Kind kind)

View File

@@ -120,7 +120,7 @@ bool ProjectFile::isSource() const
} }
#define RETURN_TEXT_FOR_CASE(enumValue) case ProjectFile::enumValue: return #enumValue #define RETURN_TEXT_FOR_CASE(enumValue) case ProjectFile::enumValue: return #enumValue
static const char *projectFileKindToText(ProjectFile::Kind kind) const char *projectFileKindToText(ProjectFile::Kind kind)
{ {
switch (kind) { switch (kind) {
RETURN_TEXT_FOR_CASE(Unclassified); RETURN_TEXT_FOR_CASE(Unclassified);

View File

@@ -70,6 +70,7 @@ public:
using ProjectFiles = QVector<ProjectFile>; using ProjectFiles = QVector<ProjectFile>;
const char *projectFileKindToText(ProjectFile::Kind kind);
QDebug operator<<(QDebug stream, const CppTools::ProjectFile &projectFile); QDebug operator<<(QDebug stream, const CppTools::ProjectFile &projectFile);
} // namespace CppTools } // namespace CppTools