From ebde1245cd0173b3ea7263e35a9710967e9e4b3f Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Mon, 16 Aug 2021 14:34:50 +0200 Subject: [PATCH] SCRIPT: Check for used but not imported scripts --- src/Lib/Script/CRTPLuaScriptObject.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Lib/Script/CRTPLuaScriptObject.cc b/src/Lib/Script/CRTPLuaScriptObject.cc index 522adad5..49889be7 100644 --- a/src/Lib/Script/CRTPLuaScriptObject.cc +++ b/src/Lib/Script/CRTPLuaScriptObject.cc @@ -174,6 +174,20 @@ ModuleDeclaration::validateModule(lua_State *const L) const noexcept Utils::uniqAndSort<std::string>(usedImports); std::vector<std::string> unusedImports = Utils::sortedSetDifference(usedImports, importNames); + + if (!unusedImports.empty()) { + std::string listStrImports = ""; + std::size_t stringSize = 0; + for (const auto &str : unusedImports) + stringSize += 1 + str.size(); + listStrImports.reserve(stringSize); + for (const auto &str : unusedImports) + listStrImports += " " + str; + + context->setFailed("There are imported modules that are used without being declared:" + + listStrImports + "\n"); + return false; + } } return true; -- GitLab