From 591cc5a8c486ca1d7cc902b14965b69c6f39b4b2 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 8 Jan 2019 15:13:48 +0100 Subject: [PATCH] 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 --- src/plugins/cpptools/cpprawprojectpart.h | 39 +++++++++++++----------- src/plugins/cpptools/projectpart.h | 34 ++++++++++++--------- 2 files changed, 42 insertions(+), 31 deletions(-) diff --git a/src/plugins/cpptools/cpprawprojectpart.h b/src/plugins/cpptools/cpprawprojectpart.h index 69d3f53de33..d1d0d91331d 100644 --- a/src/plugins/cpptools/cpprawprojectpart.h +++ b/src/plugins/cpptools/cpprawprojectpart.h @@ -56,49 +56,54 @@ public: void setDisplayName(const QString &displayName); - // FileClassifier must be thread-safe. - using FileClassifier = std::function; - 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 ¯os); + // FileClassifier must be thread-safe. + using FileClassifier = std::function; + 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 ¯os); + 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; diff --git a/src/plugins/cpptools/projectpart.h b/src/plugins/cpptools/projectpart.h index 77a08128bfb..444919f0c88 100644 --- a/src/plugins/cpptools/projectpart.h +++ b/src/plugins/cpptools/projectpart.h @@ -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