diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index b7d0d4ea..31dcbdbf 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -328,8 +328,9 @@ add_files( settings/SourceGroupSettingsJavaGradle.h settings/SourceGroupSettingsJavaMaven.cpp settings/SourceGroupSettingsJavaMaven.h + settings/SourceGroupStatusType.cpp + settings/SourceGroupStatusType.h settings/SourceGroupType.cpp - settings/SourceGroupType.h utility/commandline/CommandlineHelper.cpp diff --git a/src/lib/project/Project.cpp b/src/lib/project/Project.cpp index 46bab870..7d50053b 100644 --- a/src/lib/project/Project.cpp +++ b/src/lib/project/Project.cpp @@ -34,6 +34,7 @@ #include "utility/text/TextAccess.h" #include "utility/utility.h" #include "utility/utilityApp.h" +#include "utility/utilityFile.h" #include "utility/utilityString.h" Project::Project(std::shared_ptr settings, StorageCache* storageCache, bool hasGUI) @@ -314,7 +315,7 @@ RefreshInfo Project::getRefreshInfo(RefreshMode mode) const void Project::buildIndex(const RefreshInfo& info, DialogView* dialogView) { - if (info.mode == REFRESH_NONE || (!info.filesToClear.size() && !info.filesToIndex.size())) + if (info.mode == REFRESH_NONE || (info.filesToClear.empty() && info.filesToIndex.empty())) { if (m_hasGUI) { @@ -334,20 +335,19 @@ void Project::buildIndex(const RefreshInfo& info, DialogView* dialogView) dialogView->showUnknownProgressDialog("Preparing Indexing", "Setting up Indexers"); - if (info.mode == REFRESH_ALL_FILES) - { - m_storage->clear(); - } - m_storageCache->clear(); m_storage->setProjectSettingsText(TextAccess::createFromFile(getProjectSettingsFilePath())->getText()); std::shared_ptr taskSequential = std::make_shared(); - // add task for clearing the database - if (info.filesToClear.size()) + if (info.mode == REFRESH_ALL_FILES) { + m_storage->clear(); + } + else if (info.filesToClear.size()) + { + // add task for clearing the database taskSequential->addTask(std::make_shared( m_storage.get(), utility::toVector(info.filesToClear) @@ -357,9 +357,12 @@ void Project::buildIndex(const RefreshInfo& info, DialogView* dialogView) std::shared_ptr indexerCommandList = std::make_shared(); for (const std::shared_ptr& sourceGroup : m_sourceGroups) { - for (const std::shared_ptr& command : sourceGroup->getIndexerCommands(info.filesToIndex)) + if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED) { - indexerCommandList->addCommand(command); + for (const std::shared_ptr& command : sourceGroup->getIndexerCommands(info.filesToIndex)) + { + indexerCommandList->addCommand(command); + } } } @@ -467,7 +470,10 @@ std::set Project::getAllSourceFilePaths() const for (const std::shared_ptr& sourceGroup: m_sourceGroups) { - utility::append(allSourceFilePaths, sourceGroup->getAllSourceFilePaths()); + if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED) + { + utility::append(allSourceFilePaths, sourceGroup->getAllSourceFilePaths()); + } } return allSourceFilePaths; @@ -478,22 +484,44 @@ RefreshInfo Project::getRefreshInfoForUpdatedFiles() const std::set unchangedFilePaths; std::set changedFilePaths; - for (const FileInfo& info: m_storage->getFileInfoForAllFiles()) { - if (info.path.exists()) + std::set indexedPaths; + for (const std::shared_ptr& sourceGroup : m_sourceGroups) { - if (didFileChange(info)) + if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED) + { + utility::append(indexedPaths, sourceGroup->getIndexedPaths()); + } + } + indexedPaths = utility::toSet(utility::getTopLevelPaths(utility::toVector(indexedPaths))); + + for (const FileInfo& info : m_storage->getFileInfoForAllFiles()) + { + bool isInIndexedPaths = false; + for (const FilePath& indexedPath : indexedPaths) + { + if (indexedPath == info.path || indexedPath.contains(info.path)) + { + isInIndexedPaths = true; + break; + } + } + + if (isInIndexedPaths && info.path.exists()) + { + if (didFileChange(info)) + { + changedFilePaths.insert(info.path); + } + else + { + unchangedFilePaths.insert(info.path); + } + } + else // file has been removed { changedFilePaths.insert(info.path); } - else - { - unchangedFilePaths.insert(info.path); - } - } - else // file has been removed - { - changedFilePaths.insert(info.path); } } @@ -503,7 +531,7 @@ RefreshInfo Project::getRefreshInfoForUpdatedFiles() const utility::append(filesToClear, m_storage->getReferencing(changedFilePaths)); // handle referenced paths - std::set allSourceFilePaths = getAllSourceFilePaths(); + const std::set allSourceFilePaths = getAllSourceFilePaths(); std::set staticSourceFiles = allSourceFilePaths; for (const FilePath& path: changedFilePaths) { @@ -528,7 +556,7 @@ RefreshInfo Project::getRefreshInfoForUpdatedFiles() const staticSourceFiles.erase(path); } - std::set filesToAdd = staticSourceFiles; + const std::set filesToAdd = staticSourceFiles; std::set staticSourceFilePaths; for (const FilePath& path: allSourceFilePaths) @@ -545,7 +573,10 @@ RefreshInfo Project::getRefreshInfoForUpdatedFiles() const for (const std::shared_ptr& sourceGroup: m_sourceGroups) { - utility::append(info.filesToIndex, sourceGroup->getSourceFilePathsToIndex(staticSourceFilePaths)); + if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED) + { + utility::append(info.filesToIndex, sourceGroup->getSourceFilePathsToIndex(staticSourceFilePaths)); + } } return info; @@ -565,7 +596,7 @@ RefreshInfo Project::getRefreshInfoForIncompleteFiles() const } } - if (incompleteFiles.size()) + if (!incompleteFiles.empty()) { utility::append(incompleteFiles, m_storage->getReferencing(incompleteFiles)); utility::append(info.filesToClear, incompleteFiles); @@ -578,7 +609,10 @@ RefreshInfo Project::getRefreshInfoForIncompleteFiles() const for (const std::shared_ptr& sourceGroup: m_sourceGroups) { - utility::append(info.filesToIndex, sourceGroup->getSourceFilePathsToIndex(staticSourceFilePaths)); + if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED) + { + utility::append(info.filesToIndex, sourceGroup->getSourceFilePathsToIndex(staticSourceFilePaths)); + } } } @@ -590,6 +624,12 @@ RefreshInfo Project::getRefreshInfoForAllFiles() const RefreshInfo info; info.mode = REFRESH_ALL_FILES; info.filesToIndex = getAllSourceFilePaths(); + { + for (const FileInfo& fileInfo : m_storage->getFileInfoForAllFiles()) + { + info.filesToClear.insert(fileInfo.path); + } + } return info; } @@ -597,9 +637,12 @@ bool Project::hasCxxSourceGroup() const { for (const std::shared_ptr& sourceGroup: m_sourceGroups) { - if (sourceGroup->getLanguage() == LANGUAGE_C || sourceGroup->getLanguage() == LANGUAGE_CPP) + if (sourceGroup->getStatus() == SOURCE_GROUP_STATUS_ENABLED) { - return true; + if (sourceGroup->getLanguage() == LANGUAGE_C || sourceGroup->getLanguage() == LANGUAGE_CPP) + { + return true; + } } } return false; diff --git a/src/lib/project/SourceGroup.cpp b/src/lib/project/SourceGroup.cpp index 727d9f1d..c2d3680b 100644 --- a/src/lib/project/SourceGroup.cpp +++ b/src/lib/project/SourceGroup.cpp @@ -9,6 +9,11 @@ SourceGroup::~SourceGroup() { } +SourceGroupStatusType SourceGroup::getStatus() const +{ + return getSourceGroupSettings()->getStatus(); +} + LanguageType SourceGroup::getLanguage() const { return getLanguageTypeForSourceGroupType(getType()); @@ -30,12 +35,22 @@ void SourceGroup::fetchAllSourceFilePaths() m_allSourceFilePaths = fileManager.getAllSourceFilePaths(); } +std::set SourceGroup::getIndexedPaths() const +{ + return findAndAddSymlinkedDirectories(getSourceGroupSettings()->getSourcePathsExpandedAndAbsolute()); +} + +std::set SourceGroup::getExcludedPaths() const +{ + return findAndAddSymlinkedDirectories(getSourceGroupSettings()->getExcludePathsExpandedAndAbsolute()); +} + std::set SourceGroup::getAllSourceFilePaths() const { return m_allSourceFilePaths; } -std::set SourceGroup::getSourceFilePathsToIndex(const std::set& staticSourceFilePaths) +std::set SourceGroup::getSourceFilePathsToIndex(const std::set& staticSourceFilePaths) const { std::set sourceFilePathsToIndex; for (const FilePath& sourceFilePath: m_allSourceFilePaths) @@ -48,17 +63,7 @@ std::set SourceGroup::getSourceFilePathsToIndex(const std::set SourceGroup::getIndexedPaths() -{ - return findAndAddSymlinkedDirectories(getSourceGroupSettings()->getSourcePathsExpandedAndAbsolute()); -} - -std::set SourceGroup::getExcludedPaths() -{ - return findAndAddSymlinkedDirectories(getSourceGroupSettings()->getExcludePathsExpandedAndAbsolute()); -} - -std::set SourceGroup::findAndAddSymlinkedDirectories(const std::vector& paths) +std::set SourceGroup::findAndAddSymlinkedDirectories(const std::vector& paths) const { std::set resultPaths; for (const FilePath& path: paths) diff --git a/src/lib/project/SourceGroup.h b/src/lib/project/SourceGroup.h index 09a9a3cc..d7ec8a34 100644 --- a/src/lib/project/SourceGroup.h +++ b/src/lib/project/SourceGroup.h @@ -6,6 +6,7 @@ #include #include "settings/LanguageType.h" +#include "settings/SourceGroupStatusType.h" #include "settings/SourceGroupType.h" #include "utility/file/FilePath.h" @@ -18,28 +19,27 @@ public: virtual ~SourceGroup(); virtual SourceGroupType getType() const = 0; + SourceGroupStatusType getStatus() const; LanguageType getLanguage() const; virtual bool prepareIndexing(); - void fetchAllSourceFilePaths(); + std::set getIndexedPaths() const; + std::set getExcludedPaths() const; std::set getAllSourceFilePaths() const; - std::set getSourceFilePathsToIndex(const std::set& staticSourceFilePaths); + std::set getSourceFilePathsToIndex(const std::set& staticSourceFilePaths) const; - virtual std::vector> getIndexerCommands(const std::set& filesToIndex) = 0; - -protected: - std::set getIndexedPaths(); - std::set getExcludedPaths(); + virtual std::vector> getIndexerCommands(const std::set& filesToIndex) const = 0; std::set m_allSourceFilePaths; private: virtual std::shared_ptr getSourceGroupSettings() = 0; + virtual std::shared_ptr getSourceGroupSettings() const = 0; virtual std::vector getAllSourcePaths() const = 0; - std::set findAndAddSymlinkedDirectories(const std::vector& paths); + std::set findAndAddSymlinkedDirectories(const std::vector& paths) const; }; #endif // SOURCE_GROUP_H diff --git a/src/lib/settings/SourceGroupSettings.cpp b/src/lib/settings/SourceGroupSettings.cpp index 419ce3e3..576b8ddb 100644 --- a/src/lib/settings/SourceGroupSettings.cpp +++ b/src/lib/settings/SourceGroupSettings.cpp @@ -9,6 +9,7 @@ SourceGroupSettings::SourceGroupSettings(const std::string& id, SourceGroupType , m_id(id) , m_name(sourceGroupTypeToString(type)) , m_type(type) + , m_status(SOURCE_GROUP_STATUS_ENABLED) , m_standard("") , m_sourcePaths(std::vector()) , m_excludePaths(std::vector()) @@ -29,7 +30,8 @@ void SourceGroupSettings::load(std::shared_ptr config) { setName(name); } - + + setStatus(stringToSourceGroupStatusType(getValue(key + "/status", sourceGroupStatusTypeToString(SOURCE_GROUP_STATUS_ENABLED), config))); setStandard(getValue(key + "/standard", "", config)); setSourcePaths(getPathValues(key + "/source_paths/source_path", config)); setExcludePaths(getPathValues(key + "/exclude_paths/exclude_path", config)); @@ -40,6 +42,7 @@ void SourceGroupSettings::save(std::shared_ptr config) { const std::string key = s_keyPrefix + getId(); + setValue(key + "/status", sourceGroupStatusTypeToString(getStatus()), config); setValue(key + "/name", getName(), config); setValue(key + "/standard", getStandard(), config); setPathValues(key + "/source_paths/source_path", getSourcePaths(), config); @@ -53,6 +56,7 @@ bool SourceGroupSettings::equals(std::shared_ptr other) con m_id == other->m_id && m_name == other->m_name && m_type == other->m_type && + m_status == other->m_status && m_standard == other->m_standard && utility::isPermutation(m_sourcePaths, other->m_sourcePaths) && utility::isPermutation(m_excludePaths, other->m_excludePaths) && @@ -100,6 +104,16 @@ SourceGroupType SourceGroupSettings::getType() const return m_type; } +SourceGroupStatusType SourceGroupSettings::getStatus() const +{ + return m_status; +} + +void SourceGroupSettings::setStatus(SourceGroupStatusType status) +{ + m_status = status; +} + std::string SourceGroupSettings::getStandard() const { if (m_standard.empty()) diff --git a/src/lib/settings/SourceGroupSettings.h b/src/lib/settings/SourceGroupSettings.h index e23656ea..9a406e5e 100644 --- a/src/lib/settings/SourceGroupSettings.h +++ b/src/lib/settings/SourceGroupSettings.h @@ -5,6 +5,7 @@ #include #include "settings/ProjectSettings.h" +#include "settings/SourceGroupStatusType.h" #include "settings/SourceGroupType.h" class ProjectSettings; @@ -35,6 +36,9 @@ public: virtual std::vector getAvailableLanguageStandards() const = 0; virtual SourceGroupType getType() const; + SourceGroupStatusType getStatus() const; + void setStatus(SourceGroupStatusType status); + std::string getStandard() const; void setStandard(const std::string& standard); @@ -75,6 +79,7 @@ private: std::string m_id; std::string m_name; const SourceGroupType m_type; + SourceGroupStatusType m_status; std::string m_standard; std::vector m_sourcePaths; diff --git a/src/lib/settings/SourceGroupSettingsCxx.h b/src/lib/settings/SourceGroupSettingsCxx.h index a3c90ebe..cd795755 100644 --- a/src/lib/settings/SourceGroupSettingsCxx.h +++ b/src/lib/settings/SourceGroupSettingsCxx.h @@ -10,12 +10,12 @@ public: SourceGroupSettingsCxx(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings); virtual ~SourceGroupSettingsCxx(); - virtual void load(std::shared_ptr config); - virtual void save(std::shared_ptr config); + virtual void load(std::shared_ptr config) override; + virtual void save(std::shared_ptr config) override; - virtual bool equals(std::shared_ptr other) const; + virtual bool equals(std::shared_ptr other) const override; - virtual std::vector getAvailableLanguageStandards() const; + virtual std::vector getAvailableLanguageStandards() const override; std::vector getHeaderSearchPaths() const; std::vector getHeaderSearchPathsExpandedAndAbsolute() const; @@ -29,8 +29,8 @@ public: void setCompilerFlags(const std::vector& compilerFlags); private: - virtual std::vector getDefaultSourceExtensions() const; - virtual std::string getDefaultStandard() const; + virtual std::vector getDefaultSourceExtensions() const override; + virtual std::string getDefaultStandard() const override; std::vector m_headerSearchPaths; std::vector m_frameworkSearchPaths; diff --git a/src/lib/settings/SourceGroupSettingsCxxCdb.h b/src/lib/settings/SourceGroupSettingsCxxCdb.h index c1905a66..36549e8a 100644 --- a/src/lib/settings/SourceGroupSettingsCxxCdb.h +++ b/src/lib/settings/SourceGroupSettingsCxxCdb.h @@ -10,10 +10,10 @@ public: SourceGroupSettingsCxxCdb(const std::string& id, const ProjectSettings* projectSettings); virtual ~SourceGroupSettingsCxxCdb(); - virtual void load(std::shared_ptr config); - virtual void save(std::shared_ptr config); + virtual void load(std::shared_ptr config) override; + virtual void save(std::shared_ptr config) override; - virtual bool equals(std::shared_ptr other) const; + virtual bool equals(std::shared_ptr other) const override; FilePath getCompilationDatabasePath() const; FilePath getCompilationDatabasePathExpandedAndAbsolute() const; diff --git a/src/lib/settings/SourceGroupSettingsCxxEmpty.h b/src/lib/settings/SourceGroupSettingsCxxEmpty.h index cdb747d6..07a8bfc8 100644 --- a/src/lib/settings/SourceGroupSettingsCxxEmpty.h +++ b/src/lib/settings/SourceGroupSettingsCxxEmpty.h @@ -15,10 +15,10 @@ public: SourceGroupSettingsCxxEmpty(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings); virtual ~SourceGroupSettingsCxxEmpty(); - virtual void load(std::shared_ptr config); - virtual void save(std::shared_ptr config); + virtual void load(std::shared_ptr config) override; + virtual void save(std::shared_ptr config) override; - virtual bool equals(std::shared_ptr other) const; + virtual bool equals(std::shared_ptr other) const override; bool getTargetOptionsEnabled() const; void setTargetOptionsEnabled(bool targetOptionsEnabled); diff --git a/src/lib/settings/SourceGroupSettingsJava.h b/src/lib/settings/SourceGroupSettingsJava.h index 477a39e6..fe084b36 100644 --- a/src/lib/settings/SourceGroupSettingsJava.h +++ b/src/lib/settings/SourceGroupSettingsJava.h @@ -13,12 +13,12 @@ public: SourceGroupSettingsJava(const std::string& id, SourceGroupType type, const ProjectSettings* projectSettings); virtual ~SourceGroupSettingsJava(); - virtual void load(std::shared_ptr config); - virtual void save(std::shared_ptr config); + virtual void load(std::shared_ptr config) override; + virtual void save(std::shared_ptr config) override; - virtual bool equals(std::shared_ptr other) const; + virtual bool equals(std::shared_ptr other) const override; - virtual std::vector getAvailableLanguageStandards() const; + virtual std::vector getAvailableLanguageStandards() const override; bool getUseJreSystemLibrary() const; void setUseJreSystemLibrary(bool useJreSystemLibrary); @@ -28,8 +28,8 @@ public: void setClasspath(const std::vector& classpath); private: - virtual std::vector getDefaultSourceExtensions() const; - virtual std::string getDefaultStandard() const; + virtual std::vector getDefaultSourceExtensions() const override; + virtual std::string getDefaultStandard() const override; bool m_useJreSystemLibrary; std::vector m_classpath; diff --git a/src/lib/settings/SourceGroupSettingsJavaGradle.h b/src/lib/settings/SourceGroupSettingsJavaGradle.h index 3bcf26e9..513f8311 100644 --- a/src/lib/settings/SourceGroupSettingsJavaGradle.h +++ b/src/lib/settings/SourceGroupSettingsJavaGradle.h @@ -10,10 +10,10 @@ public: SourceGroupSettingsJavaGradle(const std::string& id, const ProjectSettings* projectSettings); virtual ~SourceGroupSettingsJavaGradle(); - virtual void load(std::shared_ptr config); - virtual void save(std::shared_ptr config); + virtual void load(std::shared_ptr config) override; + virtual void save(std::shared_ptr config) override; - virtual bool equals(std::shared_ptr other) const; + virtual bool equals(std::shared_ptr other) const override; FilePath getGradleProjectFilePath() const; FilePath getGradleProjectFilePathExpandedAndAbsolute() const; diff --git a/src/lib/settings/SourceGroupSettingsJavaMaven.h b/src/lib/settings/SourceGroupSettingsJavaMaven.h index 89ee5356..3d7f0b1f 100644 --- a/src/lib/settings/SourceGroupSettingsJavaMaven.h +++ b/src/lib/settings/SourceGroupSettingsJavaMaven.h @@ -10,10 +10,10 @@ public: SourceGroupSettingsJavaMaven(const std::string& id, const ProjectSettings* projectSettings); virtual ~SourceGroupSettingsJavaMaven(); - virtual void load(std::shared_ptr config); - virtual void save(std::shared_ptr config); + virtual void load(std::shared_ptr config) override; + virtual void save(std::shared_ptr config) override; - virtual bool equals(std::shared_ptr other) const; + virtual bool equals(std::shared_ptr other) const override; FilePath getMavenProjectFilePath() const; FilePath getMavenProjectFilePathExpandedAndAbsolute() const; diff --git a/src/lib/settings/SourceGroupStatusType.cpp b/src/lib/settings/SourceGroupStatusType.cpp new file mode 100644 index 00000000..1342e614 --- /dev/null +++ b/src/lib/settings/SourceGroupStatusType.cpp @@ -0,0 +1,29 @@ +#include "settings/SourceGroupStatusType.h" + +std::string sourceGroupStatusTypeToString(SourceGroupStatusType v) +{ + switch (v) + { + case SOURCE_GROUP_STATUS_ENABLED: + return "enabled"; + case SOURCE_GROUP_STATUS_DISABLED: + return "disabled"; + case SOURCE_GROUP_STATUS_UNKNOWN: + break; + } + return "unknown"; +} + +SourceGroupStatusType stringToSourceGroupStatusType(std::string v) +{ + if (v == sourceGroupStatusTypeToString(SOURCE_GROUP_STATUS_ENABLED)) + { + return SOURCE_GROUP_STATUS_ENABLED; + } + else if (v == sourceGroupStatusTypeToString(SOURCE_GROUP_STATUS_DISABLED)) + { + return SOURCE_GROUP_STATUS_DISABLED; + } + + return SOURCE_GROUP_STATUS_UNKNOWN; +} diff --git a/src/lib/settings/SourceGroupStatusType.h b/src/lib/settings/SourceGroupStatusType.h new file mode 100644 index 00000000..a9befea8 --- /dev/null +++ b/src/lib/settings/SourceGroupStatusType.h @@ -0,0 +1,16 @@ +#ifndef SOURCE_GROUP_STATUS_TYPE_H +#define SOURCE_GROUP_STATUS_TYPE_H + +#include + +enum SourceGroupStatusType +{ + SOURCE_GROUP_STATUS_ENABLED, + SOURCE_GROUP_STATUS_DISABLED, + SOURCE_GROUP_STATUS_UNKNOWN +}; + +std::string sourceGroupStatusTypeToString(SourceGroupStatusType v); +SourceGroupStatusType stringToSourceGroupStatusType(std::string v); + +#endif // SOURCE_GROUP_STATUS_TYPE_H diff --git a/src/lib_cxx/project/SourceGroupCxx.cpp b/src/lib_cxx/project/SourceGroupCxx.cpp index 5935692f..13fc3efc 100644 --- a/src/lib_cxx/project/SourceGroupCxx.cpp +++ b/src/lib_cxx/project/SourceGroupCxx.cpp @@ -26,3 +26,8 @@ std::shared_ptr SourceGroupCxx::getSourceGroupSettings() { return getSourceGroupSettingsCxx(); } + +std::shared_ptr SourceGroupCxx::getSourceGroupSettings() const +{ + return getSourceGroupSettingsCxx(); +} diff --git a/src/lib_cxx/project/SourceGroupCxx.h b/src/lib_cxx/project/SourceGroupCxx.h index 75f5bd16..764b2f25 100644 --- a/src/lib_cxx/project/SourceGroupCxx.h +++ b/src/lib_cxx/project/SourceGroupCxx.h @@ -15,7 +15,9 @@ public: private: virtual std::shared_ptr getSourceGroupSettingsCxx() = 0; - virtual std::shared_ptr getSourceGroupSettings(); + virtual std::shared_ptr getSourceGroupSettingsCxx() const = 0; + virtual std::shared_ptr getSourceGroupSettings() override; + virtual std::shared_ptr getSourceGroupSettings() const override; }; #endif // SOURCE_GROUP_CXX_H diff --git a/src/lib_cxx/project/SourceGroupCxxCdb.cpp b/src/lib_cxx/project/SourceGroupCxxCdb.cpp index b3660f38..d2d886d0 100644 --- a/src/lib_cxx/project/SourceGroupCxxCdb.cpp +++ b/src/lib_cxx/project/SourceGroupCxxCdb.cpp @@ -47,7 +47,7 @@ bool SourceGroupCxxCdb::prepareIndexing() return true; } -std::vector> SourceGroupCxxCdb::getIndexerCommands(const std::set& filesToIndex) +std::vector> SourceGroupCxxCdb::getIndexerCommands(const std::set& filesToIndex) const { std::shared_ptr appSettings = ApplicationSettings::getInstance(); @@ -128,6 +128,11 @@ std::shared_ptr SourceGroupCxxCdb::getSourceGroupSetting return m_settings; } +std::shared_ptr SourceGroupCxxCdb::getSourceGroupSettingsCxx() const +{ + return m_settings; +} + std::vector SourceGroupCxxCdb::getAllSourcePaths() const { std::vector sourcePaths; diff --git a/src/lib_cxx/project/SourceGroupCxxCdb.h b/src/lib_cxx/project/SourceGroupCxxCdb.h index 4a1b2820..dbccfe8b 100644 --- a/src/lib_cxx/project/SourceGroupCxxCdb.h +++ b/src/lib_cxx/project/SourceGroupCxxCdb.h @@ -13,14 +13,15 @@ public: SourceGroupCxxCdb(std::shared_ptr settings); virtual ~SourceGroupCxxCdb(); - virtual SourceGroupType getType() const; + virtual SourceGroupType getType() const override; - virtual bool prepareIndexing(); + virtual bool prepareIndexing() override; - virtual std::vector> getIndexerCommands(const std::set& filesToIndex); + virtual std::vector> getIndexerCommands(const std::set& filesToIndex) const override; private: - virtual std::shared_ptr getSourceGroupSettingsCxx(); + virtual std::shared_ptr getSourceGroupSettingsCxx() override; + virtual std::shared_ptr getSourceGroupSettingsCxx() const override; virtual std::vector getAllSourcePaths() const; std::shared_ptr m_settings; diff --git a/src/lib_cxx/project/SourceGroupCxxEmpty.cpp b/src/lib_cxx/project/SourceGroupCxxEmpty.cpp index 6abca03c..9fcbaf7a 100644 --- a/src/lib_cxx/project/SourceGroupCxxEmpty.cpp +++ b/src/lib_cxx/project/SourceGroupCxxEmpty.cpp @@ -18,7 +18,7 @@ SourceGroupType SourceGroupCxxEmpty::getType() const return m_settings->getType(); // may be either C or Cpp } -std::vector> SourceGroupCxxEmpty::getIndexerCommands(const std::set& filesToIndex) +std::vector> SourceGroupCxxEmpty::getIndexerCommands(const std::set& filesToIndex) const { std::shared_ptr appSettings = ApplicationSettings::getInstance(); @@ -80,6 +80,11 @@ std::shared_ptr SourceGroupCxxEmpty::getSourceGroupSetti return m_settings; } +std::shared_ptr SourceGroupCxxEmpty::getSourceGroupSettingsCxx() const +{ + return m_settings; +} + std::vector SourceGroupCxxEmpty::getAllSourcePaths() const { return m_settings->getSourcePathsExpandedAndAbsolute(); diff --git a/src/lib_cxx/project/SourceGroupCxxEmpty.h b/src/lib_cxx/project/SourceGroupCxxEmpty.h index 4f0454a3..3f6218df 100644 --- a/src/lib_cxx/project/SourceGroupCxxEmpty.h +++ b/src/lib_cxx/project/SourceGroupCxxEmpty.h @@ -13,13 +13,14 @@ public: SourceGroupCxxEmpty(std::shared_ptr settings); virtual ~SourceGroupCxxEmpty(); - virtual SourceGroupType getType() const; + virtual SourceGroupType getType() const override; - virtual std::vector> getIndexerCommands(const std::set& filesToIndex); + virtual std::vector> getIndexerCommands(const std::set& filesToIndex) const override; private: - virtual std::shared_ptr getSourceGroupSettingsCxx(); - virtual std::vector getAllSourcePaths() const; + virtual std::shared_ptr getSourceGroupSettingsCxx() override; + virtual std::shared_ptr getSourceGroupSettingsCxx() const override; + virtual std::vector getAllSourcePaths() const override; std::shared_ptr m_settings; }; diff --git a/src/lib_java/project/SourceGroupJava.cpp b/src/lib_java/project/SourceGroupJava.cpp index 3e2047a6..66e935e9 100644 --- a/src/lib_java/project/SourceGroupJava.cpp +++ b/src/lib_java/project/SourceGroupJava.cpp @@ -30,7 +30,7 @@ bool SourceGroupJava::prepareIndexing() return true; } -std::vector> SourceGroupJava::getIndexerCommands(const std::set& filesToIndex) +std::vector> SourceGroupJava::getIndexerCommands(const std::set& filesToIndex) const { const std::string languageStandard = getSourceGroupSettingsJava()->getStandard(); @@ -56,6 +56,11 @@ std::shared_ptr SourceGroupJava::getSourceGroupSettings() return getSourceGroupSettingsJava(); } +std::shared_ptr SourceGroupJava::getSourceGroupSettings() const +{ + return getSourceGroupSettingsJava(); +} + bool SourceGroupJava::prepareJavaEnvironment() { const std::string errorString = utility::prepareJavaEnvironment(); @@ -86,7 +91,7 @@ bool SourceGroupJava::prepareJavaEnvironment() } -std::vector SourceGroupJava::getClassPath() +std::vector SourceGroupJava::getClassPath() const { LOG_INFO("Retrieving classpath for indexer commands"); std::vector classPath = doGetClassPath(); @@ -94,7 +99,7 @@ std::vector SourceGroupJava::getClassPath() return classPath; } -std::vector SourceGroupJava::doGetClassPath() +std::vector SourceGroupJava::doGetClassPath() const { std::vector classPath; @@ -128,7 +133,7 @@ std::vector SourceGroupJava::doGetClassPath() return classPath; } -std::set SourceGroupJava::fetchRootDirectories() +std::set SourceGroupJava::fetchRootDirectories() const { std::shared_ptr dialogView = Application::getInstance()->getDialogView(); dialogView->showUnknownProgressDialog("Preparing Project", "Gathering Root\nDirectories"); diff --git a/src/lib_java/project/SourceGroupJava.h b/src/lib_java/project/SourceGroupJava.h index df8ab139..7a0899d1 100644 --- a/src/lib_java/project/SourceGroupJava.h +++ b/src/lib_java/project/SourceGroupJava.h @@ -15,21 +15,22 @@ public: SourceGroupJava(); virtual ~SourceGroupJava(); - virtual bool prepareIndexing(); + virtual bool prepareIndexing() override; - virtual std::vector> getIndexerCommands(const std::set& filesToIndex); + virtual std::vector> getIndexerCommands(const std::set& filesToIndex) const override; protected: - virtual std::vector doGetClassPath(); + virtual std::vector doGetClassPath() const; private: virtual std::shared_ptr getSourceGroupSettingsJava() = 0; - - virtual std::shared_ptr getSourceGroupSettings(); + virtual std::shared_ptr getSourceGroupSettingsJava() const = 0; + virtual std::shared_ptr getSourceGroupSettings() override; + virtual std::shared_ptr getSourceGroupSettings() const override; bool prepareJavaEnvironment(); - std::vector getClassPath(); - std::set fetchRootDirectories(); + std::vector getClassPath() const; + std::set fetchRootDirectories() const; }; #endif // SOURCE_GROUP_JAVA_H diff --git a/src/lib_java/project/SourceGroupJavaEmpty.cpp b/src/lib_java/project/SourceGroupJavaEmpty.cpp index 7fd51689..457bcdfc 100644 --- a/src/lib_java/project/SourceGroupJavaEmpty.cpp +++ b/src/lib_java/project/SourceGroupJavaEmpty.cpp @@ -21,6 +21,11 @@ std::shared_ptr SourceGroupJavaEmpty::getSourceGroupSet return m_settings; } +std::shared_ptr SourceGroupJavaEmpty::getSourceGroupSettingsJava() const +{ + return m_settings; +} + std::vector SourceGroupJavaEmpty::getAllSourcePaths() const { return m_settings->getSourcePathsExpandedAndAbsolute(); diff --git a/src/lib_java/project/SourceGroupJavaEmpty.h b/src/lib_java/project/SourceGroupJavaEmpty.h index e1e8cd84..c579b0ce 100644 --- a/src/lib_java/project/SourceGroupJavaEmpty.h +++ b/src/lib_java/project/SourceGroupJavaEmpty.h @@ -14,11 +14,12 @@ public: SourceGroupJavaEmpty(std::shared_ptr settings); virtual ~SourceGroupJavaEmpty(); - virtual SourceGroupType getType() const; + virtual SourceGroupType getType() const override; private: - virtual std::shared_ptr getSourceGroupSettingsJava(); - virtual std::vector getAllSourcePaths() const; + virtual std::shared_ptr getSourceGroupSettingsJava() override; + virtual std::shared_ptr getSourceGroupSettingsJava() const override; + virtual std::vector getAllSourcePaths() const override; std::shared_ptr m_settings; }; diff --git a/src/lib_java/project/SourceGroupJavaGradle.cpp b/src/lib_java/project/SourceGroupJavaGradle.cpp index d73ace78..b1a18b0f 100644 --- a/src/lib_java/project/SourceGroupJavaGradle.cpp +++ b/src/lib_java/project/SourceGroupJavaGradle.cpp @@ -38,7 +38,7 @@ bool SourceGroupJavaGradle::prepareIndexing() return true; } -std::vector SourceGroupJavaGradle::doGetClassPath() +std::vector SourceGroupJavaGradle::doGetClassPath() const { std::vector classPath = SourceGroupJava::doGetClassPath(); @@ -65,6 +65,11 @@ std::shared_ptr SourceGroupJavaGradle::getSourceGroupSe return m_settings; } +std::shared_ptr SourceGroupJavaGradle::getSourceGroupSettingsJava() const +{ + return m_settings; +} + std::vector SourceGroupJavaGradle::getAllSourcePaths() const { std::vector sourcePaths; diff --git a/src/lib_java/project/SourceGroupJavaGradle.h b/src/lib_java/project/SourceGroupJavaGradle.h index 242dfa40..00b1cea8 100644 --- a/src/lib_java/project/SourceGroupJavaGradle.h +++ b/src/lib_java/project/SourceGroupJavaGradle.h @@ -12,15 +12,16 @@ class SourceGroupJavaGradle : public SourceGroupJava public: SourceGroupJavaGradle(std::shared_ptr settings); virtual ~SourceGroupJavaGradle(); - virtual SourceGroupType getType() const; - virtual bool prepareIndexing(); + virtual SourceGroupType getType() const override; + virtual bool prepareIndexing() override; protected: - virtual std::vector doGetClassPath(); + virtual std::vector doGetClassPath() const override; private: - virtual std::shared_ptr getSourceGroupSettingsJava(); - virtual std::vector getAllSourcePaths() const; + virtual std::shared_ptr getSourceGroupSettingsJava() override; + virtual std::shared_ptr getSourceGroupSettingsJava() const override; + virtual std::vector getAllSourcePaths() const override; bool prepareGradleData(); std::shared_ptr m_settings; diff --git a/src/lib_java/project/SourceGroupJavaMaven.cpp b/src/lib_java/project/SourceGroupJavaMaven.cpp index c1138782..a2c13373 100644 --- a/src/lib_java/project/SourceGroupJavaMaven.cpp +++ b/src/lib_java/project/SourceGroupJavaMaven.cpp @@ -38,7 +38,7 @@ bool SourceGroupJavaMaven::prepareIndexing() return true; } -std::vector SourceGroupJavaMaven::doGetClassPath() +std::vector SourceGroupJavaMaven::doGetClassPath() const { std::vector classPath = SourceGroupJava::doGetClassPath(); @@ -65,6 +65,11 @@ std::shared_ptr SourceGroupJavaMaven::getSourceGroupSet return m_settings; } +std::shared_ptr SourceGroupJavaMaven::getSourceGroupSettingsJava() const +{ + return m_settings; +} + std::vector SourceGroupJavaMaven::getAllSourcePaths() const { std::vector sourcePaths; diff --git a/src/lib_java/project/SourceGroupJavaMaven.h b/src/lib_java/project/SourceGroupJavaMaven.h index d1f689c7..7a79faed 100644 --- a/src/lib_java/project/SourceGroupJavaMaven.h +++ b/src/lib_java/project/SourceGroupJavaMaven.h @@ -12,15 +12,16 @@ class SourceGroupJavaMaven: public SourceGroupJava public: SourceGroupJavaMaven(std::shared_ptr settings); virtual ~SourceGroupJavaMaven(); - virtual SourceGroupType getType() const; - virtual bool prepareIndexing(); + virtual SourceGroupType getType() const override; + virtual bool prepareIndexing() override; protected: - virtual std::vector doGetClassPath(); + virtual std::vector doGetClassPath() const override; private: - virtual std::shared_ptr getSourceGroupSettingsJava(); - virtual std::vector getAllSourcePaths() const; + virtual std::shared_ptr getSourceGroupSettingsJava() override; + virtual std::shared_ptr getSourceGroupSettingsJava() const override; + virtual std::vector getAllSourcePaths() const override; bool prepareMavenData(); std::shared_ptr m_settings;