Skip to content

Commit

Permalink
Merge pull request #10169 from Icinga/Type-GetLoadDependencies-Config…
Browse files Browse the repository at this point in the history
…Object

Type#GetLoadDependencies(): VERIFY() that only config object types are returned
  • Loading branch information
yhabteab committed Sep 20, 2024
2 parents dac747f + b6517c6 commit 4f690a6
Showing 1 changed file with 5 additions and 8 deletions.
13 changes: 5 additions & 8 deletions tools/mkclass/classcompiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -384,15 +384,11 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
<< "\tstatic const auto deps ([] {" << std::endl;

for (auto& dep : klass.LoadDependencies)
m_Impl << "\t\tauto type" << dep << " (GetByName(\"" << dep << "\").get());" << std::endl;
m_Impl << "\t\tauto type" << dep << " (GetByName(\"" << dep << "\").get());" << std::endl
<< "\t\tVERIFY(type" << dep << ");" << std::endl
<< "\t\tVERIFY(ConfigObject::TypeInstance->IsAssignableFrom(type" << dep << "));" << std::endl << std::endl;

m_Impl << std::endl;

for (auto& dep : klass.LoadDependencies)
m_Impl << "\t\tVERIFY(type" << dep << ");" << std::endl;

m_Impl << std::endl
<< "\t\treturn std::unordered_set<Type*>{";
m_Impl << "\t\treturn std::unordered_set<Type*>{";

for (const std::string& dep : klass.LoadDependencies)
m_Impl << " type" << dep << ",";
Expand Down Expand Up @@ -1480,6 +1476,7 @@ void ClassCompiler::CompileStream(const std::string& path, std::istream& input,
<< "#include \"base/dependencygraph.hpp\"" << std::endl
<< "#include \"base/logger.hpp\"" << std::endl
<< "#include \"base/function.hpp\"" << std::endl
<< "#include \"base/configobject.hpp\"" << std::endl
<< "#include \"base/configtype.hpp\"" << std::endl
<< "#ifdef _MSC_VER" << std::endl
<< "#pragma warning( push )" << std::endl
Expand Down

0 comments on commit 4f690a6

Please sign in to comment.