CppTools: Clean up ProjectFileCategorizer

Change-Id: Ia6954810ad49d43629be2db074d620ab71a09cee
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2016-11-29 13:26:05 +01:00
parent 4580e88cbe
commit 3602033fca
2 changed files with 26 additions and 29 deletions

View File

@@ -27,21 +27,19 @@
namespace CppTools {
ProjectFileCategorizer::ProjectFileCategorizer(const QString &partName,
const QStringList &files,
ProjectFileCategorizer::ProjectFileCategorizer(const QString &projectPartName,
const QStringList &filePaths,
ProjectPartBuilder::FileClassifier fileClassifier)
: m_partName(partName)
: m_partName(projectPartName)
{
using CppTools::ProjectFile;
ProjectFiles cHeaders;
ProjectFiles cxxHeaders;
QVector<ProjectFile> cHeaders;
QVector<ProjectFile> cxxHeaders;
foreach (const QString &file, files) {
foreach (const QString &filePath, filePaths) {
const ProjectFile::Kind kind = fileClassifier
? fileClassifier(file)
: ProjectFile::classify(file);
const ProjectFile projectFile(file, kind);
? fileClassifier(filePath)
: ProjectFile::classify(filePath);
const ProjectFile projectFile(filePath, kind);
switch (kind) {
case ProjectFile::CSource: m_cSources += projectFile; break;
@@ -71,11 +69,10 @@ ProjectFileCategorizer::ProjectFileCategorizer(const QString &partName,
if (hasC || (!hasObjc && !hasObjcxx && !hasCxx))
m_cSources += cHeaders;
m_partCount =
(m_cSources.isEmpty() ? 0 : 1) +
(m_cxxSources.isEmpty() ? 0 : 1) +
(m_objcSources.isEmpty() ? 0 : 1) +
(m_objcxxSources.isEmpty() ? 0 : 1);
m_partCount = (m_cSources.isEmpty() ? 0 : 1)
+ (m_cxxSources.isEmpty() ? 0 : 1)
+ (m_objcSources.isEmpty() ? 0 : 1)
+ (m_objcxxSources.isEmpty() ? 0 : 1);
}
QString ProjectFileCategorizer::partName(const QString &languageName) const

View File

@@ -25,19 +25,19 @@
#pragma once
#include <QString>
#include <QVector>
#include "cppprojectfile.h"
#include "projectpartbuilder.h"
#include <QString>
#include <QVector>
namespace CppTools {
class ProjectFileCategorizer
{
public:
ProjectFileCategorizer(const QString &partName,
const QStringList &files,
ProjectFileCategorizer(const QString &projectPartName,
const QStringList &filePaths,
ProjectPartBuilder::FileClassifier fileClassifier
= ProjectPartBuilder::FileClassifier());
@@ -46,10 +46,10 @@ public:
bool hasObjcSources() const { return !m_objcSources.isEmpty(); }
bool hasObjcxxSources() const { return !m_objcxxSources.isEmpty(); }
QVector<ProjectFile> cSources() const { return m_cSources; }
QVector<ProjectFile> cxxSources() const { return m_cxxSources; }
QVector<ProjectFile> objcSources() const { return m_objcSources; }
QVector<ProjectFile> objcxxSources() const { return m_objcxxSources; }
ProjectFiles cSources() const { return m_cSources; }
ProjectFiles cxxSources() const { return m_cxxSources; }
ProjectFiles objcSources() const { return m_objcSources; }
ProjectFiles objcxxSources() const { return m_objcxxSources; }
bool hasMultipleParts() const { return m_partCount > 1; }
bool hasNoParts() const { return m_partCount == 0; }
@@ -58,10 +58,10 @@ public:
private:
QString m_partName;
QVector<ProjectFile> m_cSources;
QVector<ProjectFile> m_cxxSources;
QVector<ProjectFile> m_objcSources;
QVector<ProjectFile> m_objcxxSources;
ProjectFiles m_cSources;
ProjectFiles m_cxxSources;
ProjectFiles m_objcSources;
ProjectFiles m_objcxxSources;
int m_partCount;
};