Port FlatBuffers to Go.

Implement code generation and runtime library for Go, derived from the
Java implementation. Additionally, the test suite verifies:

 - the exact bytes in the Builder buffer during object construction,
 - vtable deduplication, and
 - table construction, via a fuzzer derived from the C++ implementation.

Change-Id: Ib95a019c684891def2b50281e570b4843fea7baa
This commit is contained in:
rw
2014-07-11 16:12:35 -07:00
committed by Wouter van Oortmerssen
parent 3fb6a86d02
commit 74d5f3701f
36 changed files with 3631 additions and 82 deletions

View File

@@ -71,6 +71,8 @@ const Generator generators[] = {
"Generate text output for any data definitions" },
{ flatbuffers::GenerateCPP, "c", "C++",
"Generate C++ headers for tables/structs" },
{ flatbuffers::GenerateGo, "g", "Go",
"Generate Go files for tables/structs" },
{ flatbuffers::GenerateJava, "j", "Java",
"Generate Java classes for tables/structs" },
};
@@ -162,7 +164,7 @@ int main(int argc, const char *argv[]) {
if (!any_generator)
Error("no options: no output files generated.",
"specify one of -c -j -t -b etc.", true);
"specify one of -c -g -j -t -b etc.", true);
// Now process the files:
for (auto file_it = filenames.begin();