diff --git a/include/flatbuffers/idl.h b/include/flatbuffers/idl.h index e41b8aadd..9224a90a4 100644 --- a/include/flatbuffers/idl.h +++ b/include/flatbuffers/idl.h @@ -616,8 +616,6 @@ struct IDLOptions { kMAX }; - Language lang; - enum MiniReflect { kNone, kTypes, kTypesAndNames }; MiniReflect mini_reflect; @@ -681,7 +679,6 @@ struct IDLOptions { filename_extension(), no_warnings(false), project_root(""), - lang(IDLOptions::kJava), mini_reflect(IDLOptions::kNone), require_explicit_ids(false), lang_to_generate(0), @@ -1162,9 +1159,10 @@ extern std::string RustMakeRule(const Parser &parser, const std::string &path, // Generate a make rule for generated Java or C# files. // See code_generators.cpp. -extern std::string JavaCSharpMakeRule(const Parser &parser, - const std::string &path, - const std::string &file_name); +extern std::string CSharpMakeRule(const Parser &parser, const std::string &path, + const std::string &file_name); +extern std::string JavaMakeRule(const Parser &parser, const std::string &path, + const std::string &file_name); // Generate a make rule for the generated text (JSON) files. // See idl_gen_text.cpp. diff --git a/src/code_generators.cpp b/src/code_generators.cpp index 745406ba9..aa77e1a34 100644 --- a/src/code_generators.cpp +++ b/src/code_generators.cpp @@ -314,14 +314,10 @@ std::string SimpleFloatConstantGenerator::NaN(float v) const { return this->NaN(static_cast(v)); } -std::string JavaCSharpMakeRule(const Parser &parser, const std::string &path, +std::string JavaCSharpMakeRule(const bool java, const Parser &parser, + const std::string &path, const std::string &file_name) { - FLATBUFFERS_ASSERT(parser.opts.lang == IDLOptions::kJava || - parser.opts.lang == IDLOptions::kCSharp); - - std::string file_extension = - (parser.opts.lang == IDLOptions::kJava) ? ".java" : ".cs"; - + const std::string file_extension = java ? ".java" : ".cs"; std::string make_rule; for (auto it = parser.enums_.vec.begin(); it != parser.enums_.vec.end(); @@ -350,6 +346,15 @@ std::string JavaCSharpMakeRule(const Parser &parser, const std::string &path, return make_rule; } +std::string JavaMakeRule(const Parser &parser, const std::string &path, + const std::string &file_name) { + return JavaCSharpMakeRule(true, parser, path, file_name); +} +std::string CSharpMakeRule(const Parser &parser, const std::string &path, + const std::string &file_name) { + return JavaCSharpMakeRule(false, parser, path, file_name); +} + std::string BinaryFileName(const Parser &parser, const std::string &path, const std::string &file_name) { auto ext = parser.file_extension_.length() ? parser.file_extension_ : "bin"; diff --git a/src/flatc.cpp b/src/flatc.cpp index f759c6651..3016abeca 100644 --- a/src/flatc.cpp +++ b/src/flatc.cpp @@ -527,7 +527,6 @@ int FlatCompiler::Compile(int argc, const char **argv) { flatbuffers::StripPath(flatbuffers::StripExtension(filename)); for (size_t i = 0; i < params_.num_generators; ++i) { - parser->opts.lang = params_.generators[i].lang; if (generator_enabled[i]) { if (!print_make_rules) { flatbuffers::EnsureDirExists(output_path); diff --git a/src/flatc_main.cpp b/src/flatc_main.cpp index b1966660c..24216fef0 100644 --- a/src/flatc_main.cpp +++ b/src/flatc_main.cpp @@ -69,8 +69,7 @@ int main(int argc, const char *argv[]) { "Generate Go files for tables/structs", nullptr }, { flatbuffers::GenerateJava, "-j", "--java", "Java", true, flatbuffers::GenerateJavaGRPC, flatbuffers::IDLOptions::kJava, - "Generate Java classes for tables/structs", - flatbuffers::JavaCSharpMakeRule }, + "Generate Java classes for tables/structs", flatbuffers::JavaMakeRule }, { flatbuffers::GenerateDart, "-d", "--dart", "Dart", true, nullptr, flatbuffers::IDLOptions::kDart, "Generate Dart classes for tables/structs", flatbuffers::DartMakeRule }, @@ -79,8 +78,7 @@ int main(int argc, const char *argv[]) { "Generate TypeScript code for tables/structs", flatbuffers::TSMakeRule }, { flatbuffers::GenerateCSharp, "-n", "--csharp", "C#", true, nullptr, flatbuffers::IDLOptions::kCSharp, - "Generate C# classes for tables/structs", - flatbuffers::JavaCSharpMakeRule }, + "Generate C# classes for tables/structs", flatbuffers::CSharpMakeRule }, { flatbuffers::GeneratePython, "-p", "--python", "Python", true, flatbuffers::GeneratePythonGRPC, flatbuffers::IDLOptions::kPython, "Generate Python files for tables/structs", nullptr }, diff --git a/src/idl_gen_dart.cpp b/src/idl_gen_dart.cpp index 755697a44..7e57dabb6 100644 --- a/src/idl_gen_dart.cpp +++ b/src/idl_gen_dart.cpp @@ -1122,8 +1122,6 @@ bool GenerateDart(const Parser &parser, const std::string &path, std::string DartMakeRule(const Parser &parser, const std::string &path, const std::string &file_name) { - assert(parser.opts.lang <= IDLOptions::kMAX); - auto filebase = flatbuffers::StripPath(flatbuffers::StripExtension(file_name)); dart::DartGenerator generator(parser, path, file_name); diff --git a/src/idl_gen_ts.cpp b/src/idl_gen_ts.cpp index bd48d630d..5f0a46905 100644 --- a/src/idl_gen_ts.cpp +++ b/src/idl_gen_ts.cpp @@ -1602,8 +1602,6 @@ bool GenerateTS(const Parser &parser, const std::string &path, std::string TSMakeRule(const Parser &parser, const std::string &path, const std::string &file_name) { - FLATBUFFERS_ASSERT(parser.opts.lang <= IDLOptions::kMAX); - std::string filebase = flatbuffers::StripPath(flatbuffers::StripExtension(file_name)); ts::TsGenerator generator(parser, path, file_name);