diff options
-rw-r--r-- | src/lintmanager.cpp | 13 | ||||
-rw-r--r-- | src/lintmanager.h | 10 | ||||
-rw-r--r-- | src/main.cpp | 2 | ||||
-rw-r--r-- | src/rulebase.cpp | 3 | ||||
-rw-r--r-- | src/rules/dump.cpp | 5 |
5 files changed, 25 insertions, 8 deletions
diff --git a/src/lintmanager.cpp b/src/lintmanager.cpp index 312ddd6..69cd21c 100644 --- a/src/lintmanager.cpp +++ b/src/lintmanager.cpp @@ -32,15 +32,20 @@ #include "localconsts.h" -LintManager::LintManager(std::string path) +LintManager lint; + +LintManager::LintManager() +{ +} + +void LintManager::run(std::string path) { - registerRules(); enumFiles(path); } -void LintManager::registerRules() +void LintManager::addRule(RuleBase *const rule) { - mRules.push_back(new Dump); + mRules.push_back(rule); } void LintManager::enumFiles(std::string path) diff --git a/src/lintmanager.h b/src/lintmanager.h index 9d7fe1f..4fe6902 100644 --- a/src/lintmanager.h +++ b/src/lintmanager.h @@ -31,7 +31,11 @@ class RuleBase; class LintManager final { public: - LintManager(std::string path); + LintManager(); + + void run(std::string path); + + void addRule(RuleBase *const rule); protected: void enumFiles(std::string path); @@ -42,8 +46,6 @@ class LintManager final void readFile(); - void registerRules(); - void selectRulesForFile(); void applyRulesToFile(); @@ -58,4 +60,6 @@ class LintManager final std::string mFileName; }; +extern LintManager lint; + #endif // LINTMANAGER_H diff --git a/src/main.cpp b/src/main.cpp index 88f431b..af3dbb9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -24,6 +24,6 @@ int main(int argc A_UNUSED, char *argv[] A_UNUSED) { - LintManager lint(".."); + lint.run(".."); return 0; } diff --git a/src/rulebase.cpp b/src/rulebase.cpp index dfb3f1d..7a53c9b 100644 --- a/src/rulebase.cpp +++ b/src/rulebase.cpp @@ -20,12 +20,15 @@ #include "rulebase.h" +#include "lintmanager.h" + #include "localconsts.h" RuleBase::RuleBase() : file(), line(-1) { + lint.addRule(this); } void RuleBase::print(const std::string &text) const diff --git a/src/rules/dump.cpp b/src/rules/dump.cpp index 163cf54..3140e6a 100644 --- a/src/rules/dump.cpp +++ b/src/rules/dump.cpp @@ -22,6 +22,11 @@ #include "localconsts.h" +namespace +{ + Dump instance; +} + Dump::Dump() { addMask("(.+)[.]cpp"); |