mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-30 00:54:30 +02:00
mkclass: Fix compiler warnings in auto-generated code
This commit is contained in:
parent
50b2d0ca72
commit
bd20951acd
@ -355,7 +355,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
|
|||||||
m_Impl << "\t" << "int real_id = id - " << klass.Parent << "::TypeInstance->GetFieldCount();" << std::endl
|
m_Impl << "\t" << "int real_id = id - " << klass.Parent << "::TypeInstance->GetFieldCount();" << std::endl
|
||||||
<< "\t" << "if (real_id < 0) { return " << klass.Parent << "::TypeInstance->GetFieldInfo(id); }" << std::endl;
|
<< "\t" << "if (real_id < 0) { return " << klass.Parent << "::TypeInstance->GetFieldInfo(id); }" << std::endl;
|
||||||
|
|
||||||
if (klass.Fields.size() > 0) {
|
if (!klass.Fields.empty()) {
|
||||||
m_Impl << "\t" << "switch (";
|
m_Impl << "\t" << "switch (";
|
||||||
|
|
||||||
if (!klass.Parent.empty())
|
if (!klass.Parent.empty())
|
||||||
@ -387,7 +387,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
|
|||||||
|
|
||||||
m_Impl << "\t" << "throw std::runtime_error(\"Invalid field ID.\");" << std::endl;
|
m_Impl << "\t" << "throw std::runtime_error(\"Invalid field ID.\");" << std::endl;
|
||||||
|
|
||||||
if (klass.Fields.size() > 0)
|
if (!klass.Fields.empty())
|
||||||
m_Impl << "\t" << "}" << std::endl;
|
m_Impl << "\t" << "}" << std::endl;
|
||||||
|
|
||||||
m_Impl << "}" << std::endl << std::endl;
|
m_Impl << "}" << std::endl << std::endl;
|
||||||
@ -437,29 +437,34 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
|
|||||||
m_Impl << "\t" << "int real_id = fieldId - " << klass.Parent << "::TypeInstance->GetFieldCount(); " << std::endl
|
m_Impl << "\t" << "int real_id = fieldId - " << klass.Parent << "::TypeInstance->GetFieldCount(); " << std::endl
|
||||||
<< "\t" << "if (real_id < 0) { " << klass.Parent << "::TypeInstance->RegisterAttributeHandler(fieldId, callback); return; }" << std::endl;
|
<< "\t" << "if (real_id < 0) { " << klass.Parent << "::TypeInstance->RegisterAttributeHandler(fieldId, callback); return; }" << std::endl;
|
||||||
|
|
||||||
m_Impl << "\t" << "switch (";
|
if (!klass.Fields.empty()) {
|
||||||
|
m_Impl << "\t" << "switch (";
|
||||||
|
|
||||||
if (!klass.Parent.empty())
|
if (!klass.Parent.empty())
|
||||||
m_Impl << "real_id";
|
m_Impl << "real_id";
|
||||||
else
|
else
|
||||||
m_Impl << "fieldId";
|
m_Impl << "fieldId";
|
||||||
|
|
||||||
m_Impl << ") {" << std::endl;
|
m_Impl << ") {" << std::endl;
|
||||||
|
|
||||||
int num = 0;
|
int num = 0;
|
||||||
for (const Field& field : klass.Fields) {
|
for (const Field& field : klass.Fields) {
|
||||||
m_Impl << "\t\t" << "case " << num << ":" << std::endl
|
m_Impl << "\t\t" << "case " << num << ":" << std::endl
|
||||||
<< "\t\t\t" << "ObjectImpl<" << klass.Name << ">::On" << field.GetFriendlyName() << "Changed.connect(callback);" << std::endl
|
<< "\t\t\t" << "ObjectImpl<" << klass.Name << ">::On" << field.GetFriendlyName() << "Changed.connect(callback);" << std::endl
|
||||||
<< "\t\t\t" << "break;" << std::endl;
|
<< "\t\t\t" << "break;" << std::endl;
|
||||||
num++;
|
num++;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_Impl << "\t\t" << "default:" << std::endl
|
||||||
|
<< "\t\t";
|
||||||
}
|
}
|
||||||
|
m_Impl << "\t" << "throw std::runtime_error(\"Invalid field ID.\");" << std::endl;
|
||||||
|
|
||||||
m_Impl << "\t\t" << "default:" << std::endl
|
if (!klass.Fields.empty())
|
||||||
<< "\t\t\t" << "throw std::runtime_error(\"Invalid field ID.\");" << std::endl
|
m_Impl << "\t" << "}" << std::endl;
|
||||||
<< "\t" << "}" << std::endl;
|
|
||||||
|
|
||||||
m_Impl << "}" << std::endl << std::endl;
|
m_Impl << "}" << std::endl << std::endl;
|
||||||
|
|
||||||
m_Header << "};" << std::endl << std::endl;
|
m_Header << "};" << std::endl << std::endl;
|
||||||
|
|
||||||
m_Header << std::endl;
|
m_Header << std::endl;
|
||||||
@ -749,28 +754,43 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
|
|||||||
m_Impl << "\t" << "int real_id = id - " << klass.Parent << "::TypeInstance->GetFieldCount(); " << std::endl
|
m_Impl << "\t" << "int real_id = id - " << klass.Parent << "::TypeInstance->GetFieldCount(); " << std::endl
|
||||||
<< "\t" << "if (real_id < 0) { return " << klass.Parent << "::NavigateField(id); }" << std::endl;
|
<< "\t" << "if (real_id < 0) { return " << klass.Parent << "::NavigateField(id); }" << std::endl;
|
||||||
|
|
||||||
m_Impl << "\t" << "switch (";
|
bool haveNavigationFields = false;
|
||||||
|
|
||||||
if (!klass.Parent.empty())
|
|
||||||
m_Impl << "real_id";
|
|
||||||
else
|
|
||||||
m_Impl << "id";
|
|
||||||
|
|
||||||
m_Impl << ") {" << std::endl;
|
|
||||||
|
|
||||||
num = 0;
|
|
||||||
for (const Field& field : klass.Fields) {
|
for (const Field& field : klass.Fields) {
|
||||||
if (field.Attributes & FANavigation) {
|
if (field.Attributes & FANavigation) {
|
||||||
m_Impl << "\t\t" << "case " << num << ":" << std::endl
|
haveNavigationFields = true;
|
||||||
<< "\t\t\t" << "return Navigate" << field.GetFriendlyName() << "();" << std::endl;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
num++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_Impl << "\t\t" << "default:" << std::endl
|
if (haveNavigationFields) {
|
||||||
<< "\t\t\t" << "throw std::runtime_error(\"Invalid field ID.\");" << std::endl
|
m_Impl << "\t" << "switch (";
|
||||||
<< "\t" << "}" << std::endl;
|
|
||||||
|
if (!klass.Parent.empty())
|
||||||
|
m_Impl << "real_id";
|
||||||
|
else
|
||||||
|
m_Impl << "id";
|
||||||
|
|
||||||
|
m_Impl << ") {" << std::endl;
|
||||||
|
|
||||||
|
num = 0;
|
||||||
|
for (const Field& field : klass.Fields) {
|
||||||
|
if (field.Attributes & FANavigation) {
|
||||||
|
m_Impl << "\t\t" << "case " << num << ":" << std::endl
|
||||||
|
<< "\t\t\t" << "return Navigate" << field.GetFriendlyName() << "();" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_Impl << "\t\t" << "default:" << std::endl
|
||||||
|
<< "\t\t";
|
||||||
|
}
|
||||||
|
|
||||||
|
m_Impl << "\t" << "throw std::runtime_error(\"Invalid field ID.\");" << std::endl;
|
||||||
|
|
||||||
|
if (haveNavigationFields)
|
||||||
|
m_Impl << "\t" << "}" << std::endl;
|
||||||
|
|
||||||
m_Impl << "}" << std::endl << std::endl;
|
m_Impl << "}" << std::endl << std::endl;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user