CppTools: Reorder some (Raw)ProjectPart members

Mostly for clarity, but as a side effect, this reduces the size of
ProjectPart from 168 to 160 bytes.

Change-Id: Iee23c97d581a5233554c05ed2fd7ea07e2e9b45a
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
Nikolai Kosjar
2019-01-08 15:13:48 +01:00
parent 24bfa0e1a6
commit 591cc5a8c4
2 changed files with 42 additions and 31 deletions

View File

@@ -56,49 +56,54 @@ public:
void setDisplayName(const QString &displayName);
// FileClassifier must be thread-safe.
using FileClassifier = std::function<ProjectFile(const QString &filePath)>;
void setFiles(const QStringList &files, FileClassifier fileClassifier = FileClassifier());
void setProjectFileLocation(const QString &projectFile, int line = -1, int column = -1);
void setConfigFileName(const QString &configFileName);
void setCallGroupId(const QString &id);
void setBuildSystemTarget(const QString &target);
void setQtVersion(ProjectPart::QtVersion qtVersion);
void setMacros(const ProjectExplorer::Macros &macros);
// FileClassifier must be thread-safe.
using FileClassifier = std::function<ProjectFile(const QString &filePath)>;
void setFiles(const QStringList &files, FileClassifier fileClassifier = FileClassifier());
void setHeaderPaths(const ProjectExplorer::HeaderPaths &headerPaths);
void setIncludePaths(const QStringList &includePaths);
void setPreCompiledHeaders(const QStringList &preCompiledHeaders);
void setBuildSystemTarget(const QString &target);
void setBuildTargetType(ProjectPart::BuildTargetType type);
void setSelectedForBuilding(bool yesno);
void setFlagsForC(const RawProjectPartFlags &flags);
void setFlagsForCxx(const RawProjectPartFlags &flags);
void setBuildTargetType(ProjectPart::BuildTargetType type);
void setMacros(const ProjectExplorer::Macros &macros);
void setQtVersion(ProjectPart::QtVersion qtVersion);
public:
QString displayName;
QString projectFile;
int projectFileLine = -1;
int projectFileColumn = -1;
QString projectConfigFile; // currently only used by the Generic Project Manager
QString callGroupId;
QString buildSystemTarget;
// Files
QStringList files;
FileClassifier fileClassifier;
QStringList precompiledHeaders;
ProjectExplorer::HeaderPaths headerPaths;
ProjectExplorer::Macros projectMacros;
ProjectPart::QtVersion qtVersion = ProjectPart::UnknownQt;
QString projectConfigFile; // Generic Project Manager only
// Build system
QString buildSystemTarget;
ProjectPart::BuildTargetType buildTargetType = ProjectPart::BuildTargetType::Unknown;
bool selectedForBuilding = true;
// Flags
RawProjectPartFlags flagsForC;
RawProjectPartFlags flagsForCxx;
QStringList files;
FileClassifier fileClassifier;
ProjectPart::BuildTargetType buildTargetType = ProjectPart::BuildTargetType::Unknown;
// Misc
ProjectExplorer::Macros projectMacros;
ProjectPart::QtVersion qtVersion = ProjectPart::UnknownQt;
};
using RawProjectParts = QVector<RawProjectPart>;

View File

@@ -87,32 +87,38 @@ public:
QString projectFile;
int projectFileLine = -1;
int projectFileColumn = -1;
QString projectConfigFile; // currently only used by the Generic Project Manager
QString callGroupId;
QString buildSystemTarget;
ProjectFiles files;
QStringList precompiledHeaders;
ProjectExplorer::HeaderPaths headerPaths;
ProjectExplorer::Macros projectMacros;
// Versions, features and extensions
ProjectExplorer::LanguageVersion languageVersion = ProjectExplorer::LanguageVersion::LatestCxx;
ProjectExplorer::LanguageExtensions languageExtensions = ProjectExplorer::LanguageExtension::None;
ProjectExplorer::WarningFlags warningFlags = ProjectExplorer::WarningFlags::Default;
QtVersion qtVersion = UnknownQt;
CPlusPlus::LanguageFeatures languageFeatures;
QtVersion qtVersion = UnknownQt;
// Files
ProjectFiles files;
QStringList precompiledHeaders;
ProjectExplorer::HeaderPaths headerPaths;
QString projectConfigFile; // Generic Project Manager only
// Macros
ProjectExplorer::Macros projectMacros;
ProjectExplorer::Macros toolChainMacros;
// Build system
QString buildSystemTarget;
BuildTargetType buildTargetType = Unknown;
bool selectedForBuilding = true;
// ToolChain
Core::Id toolchainType;
bool isMsvc2015Toolchain = false;
ProjectExplorer::Macros toolChainMacros;
ToolChainWordWidth toolChainWordWidth = WordWidth32Bit;
QString toolChainTargetTriple;
ToolChainWordWidth toolChainWordWidth = WordWidth32Bit;
ProjectExplorer::WarningFlags warningFlags = ProjectExplorer::WarningFlags::Default;
// Misc
QStringList extraCodeModelFlags;
BuildTargetType buildTargetType = Unknown;
};
} // namespace CppTools