mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-24 04:31:47 +00:00
Removed idl_gen_general.cpp and move contents to code_generators.cpp (#5625)
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
0f2ff7eaa9
commit
80988ea869
3
BUILD
3
BUILD
@@ -22,7 +22,6 @@ cc_library(
|
|||||||
srcs = [
|
srcs = [
|
||||||
"src/code_generators.cpp",
|
"src/code_generators.cpp",
|
||||||
"src/idl_gen_fbs.cpp",
|
"src/idl_gen_fbs.cpp",
|
||||||
"src/idl_gen_general.cpp",
|
|
||||||
"src/idl_gen_text.cpp",
|
"src/idl_gen_text.cpp",
|
||||||
"src/idl_parser.cpp",
|
"src/idl_parser.cpp",
|
||||||
"src/reflection.cpp",
|
"src/reflection.cpp",
|
||||||
@@ -88,7 +87,6 @@ cc_binary(
|
|||||||
"src/idl_gen_cpp.cpp",
|
"src/idl_gen_cpp.cpp",
|
||||||
"src/idl_gen_csharp.cpp",
|
"src/idl_gen_csharp.cpp",
|
||||||
"src/idl_gen_dart.cpp",
|
"src/idl_gen_dart.cpp",
|
||||||
"src/idl_gen_general.cpp",
|
|
||||||
"src/idl_gen_go.cpp",
|
"src/idl_gen_go.cpp",
|
||||||
"src/idl_gen_grpc.cpp",
|
"src/idl_gen_grpc.cpp",
|
||||||
"src/idl_gen_java.cpp",
|
"src/idl_gen_java.cpp",
|
||||||
@@ -134,7 +132,6 @@ cc_test(
|
|||||||
"include/flatbuffers/registry.h",
|
"include/flatbuffers/registry.h",
|
||||||
"src/code_generators.cpp",
|
"src/code_generators.cpp",
|
||||||
"src/idl_gen_fbs.cpp",
|
"src/idl_gen_fbs.cpp",
|
||||||
"src/idl_gen_general.cpp",
|
|
||||||
"src/idl_gen_text.cpp",
|
"src/idl_gen_text.cpp",
|
||||||
"src/idl_parser.cpp",
|
"src/idl_parser.cpp",
|
||||||
"src/reflection.cpp",
|
"src/reflection.cpp",
|
||||||
|
|||||||
@@ -83,7 +83,6 @@ set(FlatBuffers_Compiler_SRCS
|
|||||||
src/idl_gen_cpp.cpp
|
src/idl_gen_cpp.cpp
|
||||||
src/idl_gen_csharp.cpp
|
src/idl_gen_csharp.cpp
|
||||||
src/idl_gen_dart.cpp
|
src/idl_gen_dart.cpp
|
||||||
src/idl_gen_general.cpp
|
|
||||||
src/idl_gen_kotlin.cpp
|
src/idl_gen_kotlin.cpp
|
||||||
src/idl_gen_go.cpp
|
src/idl_gen_go.cpp
|
||||||
src/idl_gen_java.cpp
|
src/idl_gen_java.cpp
|
||||||
@@ -148,7 +147,6 @@ set(FlatBuffers_Sample_Text_SRCS
|
|||||||
|
|
||||||
set(FlatBuffers_Sample_BFBS_SRCS
|
set(FlatBuffers_Sample_BFBS_SRCS
|
||||||
${FlatBuffers_Library_SRCS}
|
${FlatBuffers_Library_SRCS}
|
||||||
src/idl_gen_general.cpp
|
|
||||||
samples/sample_bfbs.cpp
|
samples/sample_bfbs.cpp
|
||||||
# file generated by running compiler on samples/monster.fbs
|
# file generated by running compiler on samples/monster.fbs
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/samples/monster_generated.h
|
${CMAKE_CURRENT_BINARY_DIR}/samples/monster_generated.h
|
||||||
|
|||||||
@@ -53,8 +53,7 @@ LOCAL_SRC_FILES := android/jni/main.cpp \
|
|||||||
tests/test_builder.cpp \
|
tests/test_builder.cpp \
|
||||||
tests/native_type_test_impl.h \
|
tests/native_type_test_impl.h \
|
||||||
tests/native_type_test_impl.cpp \
|
tests/native_type_test_impl.cpp \
|
||||||
src/idl_gen_fbs.cpp \
|
src/idl_gen_fbs.cpp
|
||||||
src/idl_gen_general.cpp
|
|
||||||
LOCAL_LDLIBS := -llog -landroid -latomic
|
LOCAL_LDLIBS := -llog -landroid -latomic
|
||||||
LOCAL_STATIC_LIBRARIES := android_native_app_glue flatbuffers_extra
|
LOCAL_STATIC_LIBRARIES := android_native_app_glue flatbuffers_extra
|
||||||
LOCAL_ARM_MODE := arm
|
LOCAL_ARM_MODE := arm
|
||||||
|
|||||||
@@ -967,7 +967,7 @@ extern bool GenerateTextFile(const Parser &parser, const std::string &path,
|
|||||||
|
|
||||||
// Generate binary files from a given FlatBuffer, and a given Parser
|
// Generate binary files from a given FlatBuffer, and a given Parser
|
||||||
// object that has been populated with the corresponding schema.
|
// object that has been populated with the corresponding schema.
|
||||||
// See idl_gen_general.cpp.
|
// See code_generators.cpp.
|
||||||
extern bool GenerateBinary(const Parser &parser, const std::string &path,
|
extern bool GenerateBinary(const Parser &parser, const std::string &path,
|
||||||
const std::string &file_name);
|
const std::string &file_name);
|
||||||
|
|
||||||
@@ -1032,11 +1032,6 @@ extern bool GenerateJsonSchema(const Parser &parser, const std::string &path,
|
|||||||
extern bool GenerateKotlin(const Parser &parser, const std::string &path,
|
extern bool GenerateKotlin(const Parser &parser, const std::string &path,
|
||||||
const std::string &file_name);
|
const std::string &file_name);
|
||||||
|
|
||||||
// Generate Java/C#/.. files from the definitions in the Parser object.
|
|
||||||
// See idl_gen_general.cpp.
|
|
||||||
extern bool GenerateGeneral(const Parser &parser, const std::string &path,
|
|
||||||
const std::string &file_name);
|
|
||||||
|
|
||||||
// Generate a schema file from the internal representation, useful after
|
// Generate a schema file from the internal representation, useful after
|
||||||
// parsing a .proto schema.
|
// parsing a .proto schema.
|
||||||
extern std::string GenerateFBS(const Parser &parser,
|
extern std::string GenerateFBS(const Parser &parser,
|
||||||
@@ -1064,11 +1059,11 @@ extern std::string DartMakeRule(const Parser &parser, const std::string &path,
|
|||||||
extern std::string RustMakeRule(const Parser &parser, const std::string &path,
|
extern std::string RustMakeRule(const Parser &parser, const std::string &path,
|
||||||
const std::string &file_name);
|
const std::string &file_name);
|
||||||
|
|
||||||
// Generate a make rule for the generated Java/C#/... files.
|
// Generate a make rule for generated Java or C# files.
|
||||||
// See idl_gen_general.cpp.
|
// See code_generators.cpp.
|
||||||
extern std::string GeneralMakeRule(const Parser &parser,
|
extern std::string JavaCSharpMakeRule(const Parser &parser,
|
||||||
const std::string &path,
|
const std::string &path,
|
||||||
const std::string &file_name);
|
const std::string &file_name);
|
||||||
|
|
||||||
// Generate a make rule for the generated text (JSON) files.
|
// Generate a make rule for the generated text (JSON) files.
|
||||||
// See idl_gen_text.cpp.
|
// See idl_gen_text.cpp.
|
||||||
@@ -1076,7 +1071,7 @@ extern std::string TextMakeRule(const Parser &parser, const std::string &path,
|
|||||||
const std::string &file_names);
|
const std::string &file_names);
|
||||||
|
|
||||||
// Generate a make rule for the generated binary files.
|
// Generate a make rule for the generated binary files.
|
||||||
// See idl_gen_general.cpp.
|
// See code_generators.cpp.
|
||||||
extern std::string BinaryMakeRule(const Parser &parser, const std::string &path,
|
extern std::string BinaryMakeRule(const Parser &parser, const std::string &path,
|
||||||
const std::string &file_name);
|
const std::string &file_name);
|
||||||
|
|
||||||
|
|||||||
@@ -287,6 +287,80 @@ std::string SimpleFloatConstantGenerator::NaN(float v) const {
|
|||||||
return this->NaN(static_cast<double>(v));
|
return this->NaN(static_cast<double>(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string JavaCSharpMakeRule(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";
|
||||||
|
|
||||||
|
std::string make_rule;
|
||||||
|
|
||||||
|
for (auto it = parser.enums_.vec.begin(); it != parser.enums_.vec.end();
|
||||||
|
++it) {
|
||||||
|
auto &enum_def = **it;
|
||||||
|
if (!make_rule.empty()) make_rule += " ";
|
||||||
|
std::string directory =
|
||||||
|
BaseGenerator::NamespaceDir(parser, path, *enum_def.defined_namespace);
|
||||||
|
make_rule += directory + enum_def.name + file_extension;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto it = parser.structs_.vec.begin(); it != parser.structs_.vec.end();
|
||||||
|
++it) {
|
||||||
|
auto &struct_def = **it;
|
||||||
|
if (!make_rule.empty()) make_rule += " ";
|
||||||
|
std::string directory = BaseGenerator::NamespaceDir(
|
||||||
|
parser, path, *struct_def.defined_namespace);
|
||||||
|
make_rule += directory + struct_def.name + file_extension;
|
||||||
|
}
|
||||||
|
|
||||||
|
make_rule += ": ";
|
||||||
|
auto included_files = parser.GetIncludedFilesRecursive(file_name);
|
||||||
|
for (auto it = included_files.begin(); it != included_files.end(); ++it) {
|
||||||
|
make_rule += " " + *it;
|
||||||
|
}
|
||||||
|
return make_rule;
|
||||||
|
}
|
||||||
|
|
||||||
|
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";
|
||||||
|
return path + file_name + "." + ext;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GenerateBinary(const Parser &parser, const std::string &path,
|
||||||
|
const std::string &file_name) {
|
||||||
|
if (parser.opts.use_flexbuffers) {
|
||||||
|
auto data_vec = parser.flex_builder_.GetBuffer();
|
||||||
|
auto data_ptr = reinterpret_cast<char *>(data(data_vec));
|
||||||
|
return !parser.flex_builder_.GetSize() ||
|
||||||
|
flatbuffers::SaveFile(
|
||||||
|
BinaryFileName(parser, path, file_name).c_str(), data_ptr,
|
||||||
|
parser.flex_builder_.GetSize(), true);
|
||||||
|
}
|
||||||
|
return !parser.builder_.GetSize() ||
|
||||||
|
flatbuffers::SaveFile(
|
||||||
|
BinaryFileName(parser, path, file_name).c_str(),
|
||||||
|
reinterpret_cast<char *>(parser.builder_.GetBufferPointer()),
|
||||||
|
parser.builder_.GetSize(), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string BinaryMakeRule(const Parser &parser, const std::string &path,
|
||||||
|
const std::string &file_name) {
|
||||||
|
if (!parser.builder_.GetSize()) return "";
|
||||||
|
std::string filebase =
|
||||||
|
flatbuffers::StripPath(flatbuffers::StripExtension(file_name));
|
||||||
|
std::string make_rule =
|
||||||
|
BinaryFileName(parser, path, filebase) + ": " + file_name;
|
||||||
|
auto included_files =
|
||||||
|
parser.GetIncludedFilesRecursive(parser.root_struct_def_->file);
|
||||||
|
for (auto it = included_files.begin(); it != included_files.end(); ++it) {
|
||||||
|
make_rule += " " + *it;
|
||||||
|
}
|
||||||
|
return make_rule;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace flatbuffers
|
} // namespace flatbuffers
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
|
|||||||
@@ -470,11 +470,16 @@ int FlatCompiler::Compile(int argc, const char **argv) {
|
|||||||
params_.generators[i].lang_name + " for " + filebase);
|
params_.generators[i].lang_name + " for " + filebase);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
std::string make_rule = params_.generators[i].make_rule(
|
if (params_.generators[i].make_rule == nullptr) {
|
||||||
*parser.get(), output_path, filename);
|
Error(std::string("Cannot generate make rule for ") +
|
||||||
if (!make_rule.empty())
|
params_.generators[i].lang_name);
|
||||||
printf("%s\n",
|
} else {
|
||||||
flatbuffers::WordWrap(make_rule, 80, " ", " \\").c_str());
|
std::string make_rule = params_.generators[i].make_rule(
|
||||||
|
*parser.get(), output_path, filename);
|
||||||
|
if (!make_rule.empty())
|
||||||
|
printf("%s\n",
|
||||||
|
flatbuffers::WordWrap(make_rule, 80, " ", " \\").c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (grpc_enabled) {
|
if (grpc_enabled) {
|
||||||
if (params_.generators[i].generateGRPC != nullptr) {
|
if (params_.generators[i].generateGRPC != nullptr) {
|
||||||
|
|||||||
@@ -54,11 +54,11 @@ int main(int argc, const char *argv[]) {
|
|||||||
"Generate C++ headers for tables/structs", flatbuffers::CPPMakeRule },
|
"Generate C++ headers for tables/structs", flatbuffers::CPPMakeRule },
|
||||||
{ flatbuffers::GenerateGo, "-g", "--go", "Go", true,
|
{ flatbuffers::GenerateGo, "-g", "--go", "Go", true,
|
||||||
flatbuffers::GenerateGoGRPC, flatbuffers::IDLOptions::kGo,
|
flatbuffers::GenerateGoGRPC, flatbuffers::IDLOptions::kGo,
|
||||||
"Generate Go files for tables/structs", flatbuffers::GeneralMakeRule },
|
"Generate Go files for tables/structs", nullptr },
|
||||||
{ flatbuffers::GenerateJava, "-j", "--java", "Java", true,
|
{ flatbuffers::GenerateJava, "-j", "--java", "Java", true,
|
||||||
flatbuffers::GenerateJavaGRPC, flatbuffers::IDLOptions::kJava,
|
flatbuffers::GenerateJavaGRPC, flatbuffers::IDLOptions::kJava,
|
||||||
"Generate Java classes for tables/structs",
|
"Generate Java classes for tables/structs",
|
||||||
flatbuffers::GeneralMakeRule },
|
flatbuffers::JavaCSharpMakeRule },
|
||||||
{ flatbuffers::GenerateJSTS, "-s", "--js", "JavaScript", true, nullptr,
|
{ flatbuffers::GenerateJSTS, "-s", "--js", "JavaScript", true, nullptr,
|
||||||
flatbuffers::IDLOptions::kJs,
|
flatbuffers::IDLOptions::kJs,
|
||||||
"Generate JavaScript code for tables/structs",
|
"Generate JavaScript code for tables/structs",
|
||||||
@@ -72,31 +72,29 @@ int main(int argc, const char *argv[]) {
|
|||||||
flatbuffers::JSTSMakeRule },
|
flatbuffers::JSTSMakeRule },
|
||||||
{ flatbuffers::GenerateCSharp, "-n", "--csharp", "C#", true, nullptr,
|
{ flatbuffers::GenerateCSharp, "-n", "--csharp", "C#", true, nullptr,
|
||||||
flatbuffers::IDLOptions::kCSharp,
|
flatbuffers::IDLOptions::kCSharp,
|
||||||
"Generate C# classes for tables/structs", flatbuffers::GeneralMakeRule },
|
"Generate C# classes for tables/structs",
|
||||||
|
flatbuffers::JavaCSharpMakeRule },
|
||||||
{ flatbuffers::GeneratePython, "-p", "--python", "Python", true, nullptr,
|
{ flatbuffers::GeneratePython, "-p", "--python", "Python", true, nullptr,
|
||||||
flatbuffers::IDLOptions::kPython,
|
flatbuffers::IDLOptions::kPython,
|
||||||
"Generate Python files for tables/structs",
|
"Generate Python files for tables/structs", nullptr },
|
||||||
flatbuffers::GeneralMakeRule },
|
|
||||||
{ flatbuffers::GenerateLobster, nullptr, "--lobster", "Lobster", true,
|
{ flatbuffers::GenerateLobster, nullptr, "--lobster", "Lobster", true,
|
||||||
nullptr, flatbuffers::IDLOptions::kLobster,
|
nullptr, flatbuffers::IDLOptions::kLobster,
|
||||||
"Generate Lobster files for tables/structs",
|
"Generate Lobster files for tables/structs", nullptr },
|
||||||
flatbuffers::GeneralMakeRule },
|
|
||||||
{ flatbuffers::GenerateLua, "-l", "--lua", "Lua", true, nullptr,
|
{ flatbuffers::GenerateLua, "-l", "--lua", "Lua", true, nullptr,
|
||||||
flatbuffers::IDLOptions::kLua, "Generate Lua files for tables/structs",
|
flatbuffers::IDLOptions::kLua, "Generate Lua files for tables/structs",
|
||||||
flatbuffers::GeneralMakeRule },
|
nullptr },
|
||||||
{ flatbuffers::GenerateRust, "-r", "--rust", "Rust", true, nullptr,
|
{ flatbuffers::GenerateRust, "-r", "--rust", "Rust", true, nullptr,
|
||||||
flatbuffers::IDLOptions::kRust, "Generate Rust files for tables/structs",
|
flatbuffers::IDLOptions::kRust, "Generate Rust files for tables/structs",
|
||||||
flatbuffers::RustMakeRule },
|
flatbuffers::RustMakeRule },
|
||||||
{ flatbuffers::GeneratePhp, nullptr, "--php", "PHP", true, nullptr,
|
{ flatbuffers::GeneratePhp, nullptr, "--php", "PHP", true, nullptr,
|
||||||
flatbuffers::IDLOptions::kPhp, "Generate PHP files for tables/structs",
|
flatbuffers::IDLOptions::kPhp, "Generate PHP files for tables/structs",
|
||||||
flatbuffers::GeneralMakeRule },
|
nullptr },
|
||||||
{ flatbuffers::GenerateKotlin, nullptr, "--kotlin", "Kotlin", true, nullptr,
|
{ flatbuffers::GenerateKotlin, nullptr, "--kotlin", "Kotlin", true, nullptr,
|
||||||
flatbuffers::IDLOptions::kKotlin,
|
flatbuffers::IDLOptions::kKotlin,
|
||||||
"Generate Kotlin classes for tables/structs",
|
"Generate Kotlin classes for tables/structs", nullptr },
|
||||||
flatbuffers::GeneralMakeRule },
|
|
||||||
{ flatbuffers::GenerateJsonSchema, nullptr, "--jsonschema", "JsonSchema",
|
{ flatbuffers::GenerateJsonSchema, nullptr, "--jsonschema", "JsonSchema",
|
||||||
true, nullptr, flatbuffers::IDLOptions::kJsonSchema,
|
true, nullptr, flatbuffers::IDLOptions::kJsonSchema,
|
||||||
"Generate Json schema", flatbuffers::GeneralMakeRule },
|
"Generate Json schema", nullptr },
|
||||||
};
|
};
|
||||||
|
|
||||||
flatbuffers::FlatCompiler::InitParams params;
|
flatbuffers::FlatCompiler::InitParams params;
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2014 Google Inc. All rights reserved.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// independent from idl_parser, since this code is not needed for most clients
|
|
||||||
|
|
||||||
#include "flatbuffers/code_generators.h"
|
|
||||||
#include "flatbuffers/flatbuffers.h"
|
|
||||||
#include "flatbuffers/idl.h"
|
|
||||||
#include "flatbuffers/util.h"
|
|
||||||
|
|
||||||
#if defined(FLATBUFFERS_CPP98_STL)
|
|
||||||
# include <cctype>
|
|
||||||
#endif // defined(FLATBUFFERS_CPP98_STL)
|
|
||||||
|
|
||||||
namespace flatbuffers {
|
|
||||||
std::string GeneralMakeRule(const Parser &parser, const std::string &path,
|
|
||||||
const std::string &file_name) {
|
|
||||||
FLATBUFFERS_ASSERT(parser.opts.lang <= IDLOptions::kMAX);
|
|
||||||
|
|
||||||
std::string file_extension =
|
|
||||||
(parser.opts.lang == IDLOptions::kJava) ? ".java" : ".cs";
|
|
||||||
|
|
||||||
std::string make_rule;
|
|
||||||
|
|
||||||
for (auto it = parser.enums_.vec.begin(); it != parser.enums_.vec.end();
|
|
||||||
++it) {
|
|
||||||
auto &enum_def = **it;
|
|
||||||
if (!make_rule.empty()) make_rule += " ";
|
|
||||||
std::string directory =
|
|
||||||
BaseGenerator::NamespaceDir(parser, path, *enum_def.defined_namespace);
|
|
||||||
make_rule += directory + enum_def.name + file_extension;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (auto it = parser.structs_.vec.begin(); it != parser.structs_.vec.end();
|
|
||||||
++it) {
|
|
||||||
auto &struct_def = **it;
|
|
||||||
if (!make_rule.empty()) make_rule += " ";
|
|
||||||
std::string directory = BaseGenerator::NamespaceDir(
|
|
||||||
parser, path, *struct_def.defined_namespace);
|
|
||||||
make_rule += directory + struct_def.name + file_extension;
|
|
||||||
}
|
|
||||||
|
|
||||||
make_rule += ": ";
|
|
||||||
auto included_files = parser.GetIncludedFilesRecursive(file_name);
|
|
||||||
for (auto it = included_files.begin(); it != included_files.end(); ++it) {
|
|
||||||
make_rule += " " + *it;
|
|
||||||
}
|
|
||||||
return make_rule;
|
|
||||||
}
|
|
||||||
|
|
||||||
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";
|
|
||||||
return path + file_name + "." + ext;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GenerateBinary(const Parser &parser, const std::string &path,
|
|
||||||
const std::string &file_name) {
|
|
||||||
if (parser.opts.use_flexbuffers) {
|
|
||||||
auto data_vec = parser.flex_builder_.GetBuffer();
|
|
||||||
auto data_ptr = reinterpret_cast<char *>(data(data_vec));
|
|
||||||
return !parser.flex_builder_.GetSize() ||
|
|
||||||
flatbuffers::SaveFile(
|
|
||||||
BinaryFileName(parser, path, file_name).c_str(), data_ptr,
|
|
||||||
parser.flex_builder_.GetSize(), true);
|
|
||||||
}
|
|
||||||
return !parser.builder_.GetSize() ||
|
|
||||||
flatbuffers::SaveFile(
|
|
||||||
BinaryFileName(parser, path, file_name).c_str(),
|
|
||||||
reinterpret_cast<char *>(parser.builder_.GetBufferPointer()),
|
|
||||||
parser.builder_.GetSize(), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string BinaryMakeRule(const Parser &parser, const std::string &path,
|
|
||||||
const std::string &file_name) {
|
|
||||||
if (!parser.builder_.GetSize()) return "";
|
|
||||||
std::string filebase =
|
|
||||||
flatbuffers::StripPath(flatbuffers::StripExtension(file_name));
|
|
||||||
std::string make_rule =
|
|
||||||
BinaryFileName(parser, path, filebase) + ": " + file_name;
|
|
||||||
auto included_files =
|
|
||||||
parser.GetIncludedFilesRecursive(parser.root_struct_def_->file);
|
|
||||||
for (auto it = included_files.begin(); it != included_files.end(); ++it) {
|
|
||||||
make_rule += " " + *it;
|
|
||||||
}
|
|
||||||
return make_rule;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace flatbuffers
|
|
||||||
@@ -599,8 +599,7 @@ class JavaGenerator : public BaseGenerator {
|
|||||||
|
|
||||||
// Generate a special accessor for the table that when used as the root
|
// Generate a special accessor for the table that when used as the root
|
||||||
// of a FlatBuffer
|
// of a FlatBuffer
|
||||||
std::string method_name =
|
std::string method_name = "getRootAs" + struct_def.name;
|
||||||
"getRootAs" + struct_def.name;
|
|
||||||
std::string method_signature =
|
std::string method_signature =
|
||||||
" public static " + struct_def.name + " " + method_name;
|
" public static " + struct_def.name + " " + method_name;
|
||||||
|
|
||||||
@@ -1112,8 +1111,7 @@ class JavaGenerator : public BaseGenerator {
|
|||||||
code += "finish" + size_prefix[i] + struct_def.name;
|
code += "finish" + size_prefix[i] + struct_def.name;
|
||||||
code += "Buffer(FlatBufferBuilder builder, " + GenOffsetType();
|
code += "Buffer(FlatBufferBuilder builder, " + GenOffsetType();
|
||||||
code += " offset) {";
|
code += " offset) {";
|
||||||
code += " builder.finish" + size_prefix[i] +
|
code += " builder.finish" + size_prefix[i] + "(offset";
|
||||||
"(offset";
|
|
||||||
|
|
||||||
if (parser_.file_identifier_.length())
|
if (parser_.file_identifier_.length())
|
||||||
code += ", \"" + parser_.file_identifier_ + "\"";
|
code += ", \"" + parser_.file_identifier_ + "\"";
|
||||||
@@ -1185,8 +1183,7 @@ class JavaGenerator : public BaseGenerator {
|
|||||||
code += "__reset(_vector, _element_size, _bb); return this; }\n\n";
|
code += "__reset(_vector, _element_size, _bb); return this; }\n\n";
|
||||||
|
|
||||||
auto type_name = struct_def.name;
|
auto type_name = struct_def.name;
|
||||||
auto method_start =
|
auto method_start = method_indent + "public " + type_name + " get";
|
||||||
method_indent + "public " + type_name + " get";
|
|
||||||
// Generate the accessors that don't do object reuse.
|
// Generate the accessors that don't do object reuse.
|
||||||
code += method_start + "(int j) { return get";
|
code += method_start + "(int j) { return get";
|
||||||
code += "(new " + type_name + "(), j); }\n";
|
code += "(new " + type_name + "(), j); }\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user