logic: File Manager

* added FileManager that keeps track of the files analyzed by the project. It therefore checks if files get added, updated or deleted from the source- and include folders.
* refactored ASTVisitor::hasValidLocation() and implemented one version that search for the location in the currently parsed file and one that searches in all the project's source files.
* quickfix: switched order in FileManager so that header files are parsed first.
* created folder for helper classes used in tests.
* added test code for FileManager
* adjusted test code for Parser Tests.
This commit is contained in:
malte_langkabel
2015-02-09 14:52:31 +01:00
parent 4da51180ca
commit 8bc11c9d9c
43 changed files with 536 additions and 124 deletions
+3 -3
View File
@@ -4,6 +4,7 @@
#include <memory>
#include "data/Storage.h"
#include "utility/file/FileManager.h"
#include "ProjectSettings.h"
class GraphAccessProxy;
@@ -23,7 +24,7 @@ public:
bool setSourceDirectoryPath(const std::string& sourceDirectoryPath);
void clearStorage();
void parseCode(bool refresh);
void parseCode();
private:
Project(GraphAccessProxy* graphAccessProxy, LocationAccessProxy* locationAccessProxy);
@@ -36,8 +37,7 @@ private:
LocationAccessProxy* const m_locationAccessProxy;
std::shared_ptr<Storage> m_storage;
std::string m_lastParseTimeString;
std::shared_ptr<FileManager> m_fileManager;
};
#endif // PROJECT_H