don't crash on a lua file with no root table (#8770)

Co-authored-by: Wouter van Oortmerssen <aardappel@gmail.com>
This commit is contained in:
Justin Davis
2025-11-17 17:31:32 -05:00
committed by GitHub
parent 88b033b964
commit ac8b124496

View File

@@ -658,9 +658,6 @@ class LuaBfbsGenerator : public BaseBfbsGenerator {
void EmitCodeBlock(const std::string& code_block, const std::string& name,
const std::string& ns,
const std::string& declaring_file) const {
const std::string root_type = schema_->root_table()->name()->str();
const std::string root_file =
schema_->root_table()->declaration_file()->str();
const std::string full_qualified_name = ns.empty() ? name : ns + "." + name;
std::string code = "--[[ " + full_qualified_name + "\n\n";
@@ -672,7 +669,15 @@ class LuaBfbsGenerator : public BaseBfbsGenerator {
code += " flatc version: " + flatc_version_ + "\n";
code += "\n";
code += " Declared by : " + declaring_file + "\n";
const r::Object* root_table = schema_->root_table();
if (root_table) {
const std::string root_type = root_table->name()->str();
const std::string root_file = root_table->declaration_file()->str();
code += " Rooting type : " + root_type + " (" + root_file + ")\n";
}
code += "\n--]]\n\n";
if (!requires_.empty()) {