| 31 | #include <vector> |
| 32 | |
| 33 | static int getMisraCVersion(const Settings& settings) { |
| 34 | if (settings.premiumArgs.find("misra-c-2025") != std::string::npos) |
| 35 | return 2025; |
| 36 | if (settings.premiumArgs.find("misra-c-2023") != std::string::npos) |
| 37 | return 2023; |
| 38 | if (settings.premiumArgs.find("misra-c-2012") != std::string::npos) |
| 39 | return 2012; |
| 40 | if (settings.addons.count("misra")) |
| 41 | return 2012; |
| 42 | const bool misraAddonInfo = std::any_of(settings.addonInfos.cbegin(), settings.addonInfos.cend(), [](const AddonInfo& addonInfo) { |
| 43 | return addonInfo.name == "misra"; |
| 44 | }); |
| 45 | if (misraAddonInfo) |
| 46 | return 2012; |
| 47 | return 0; |
| 48 | } |
| 49 | |
| 50 | static bool isMisraRuleActive(const std::set<std::string>& activeCheckers, const std::string& rule) { |
| 51 | if (activeCheckers.count("Misra C: " + rule)) |