Commit ec20233f authored by gonzaloserrano's avatar gonzaloserrano

Make most of the Go code comply with gofmt (except enums).

Enums are not fixed because depending on they have comments or not they
will be aligned alogn the asssignment character.
parent 73d5bf46
...@@ -126,7 +126,7 @@ static void NewRootTypeFromBuffer(const StructDef &struct_def, ...@@ -126,7 +126,7 @@ static void NewRootTypeFromBuffer(const StructDef &struct_def,
code += " {\n"; code += " {\n";
code += "\tn := flatbuffers.GetUOffsetT(buf[offset:])\n"; code += "\tn := flatbuffers.GetUOffsetT(buf[offset:])\n";
code += "\tx := &" + struct_def.name + "{}\n"; code += "\tx := &" + struct_def.name + "{}\n";
code += "\tx.Init(buf, n + offset)\n"; code += "\tx.Init(buf, n+offset)\n";
code += "\treturn x\n"; code += "\treturn x\n";
code += "}\n\n"; code += "}\n\n";
} }
...@@ -178,9 +178,10 @@ static void GetScalarFieldOfStruct(const StructDef &struct_def, ...@@ -178,9 +178,10 @@ static void GetScalarFieldOfStruct(const StructDef &struct_def,
std::string getter = GenGetter(field.value.type); std::string getter = GenGetter(field.value.type);
GenReceiver(struct_def, code_ptr); GenReceiver(struct_def, code_ptr);
code += " " + MakeCamel(field.name); code += " " + MakeCamel(field.name);
code += "() " + TypeName(field) + " { return " + getter; code += "() " + TypeName(field) + " {\n";
code +="\treturn " + getter;
code += "(rcv._tab.Pos + flatbuffers.UOffsetT("; code += "(rcv._tab.Pos + flatbuffers.UOffsetT(";
code += NumToString(field.value.offset) + ")) }\n"; code += NumToString(field.value.offset) + "))\n}\n";
} }
// Get the value of a table's scalar. // Get the value of a table's scalar.
...@@ -212,7 +213,7 @@ static void GetStructFieldOfStruct(const StructDef &struct_def, ...@@ -212,7 +213,7 @@ static void GetStructFieldOfStruct(const StructDef &struct_def,
code += "\tif obj == nil {\n"; code += "\tif obj == nil {\n";
code += "\t\tobj = new(" + TypeName(field) + ")\n"; code += "\t\tobj = new(" + TypeName(field) + ")\n";
code += "\t}\n"; code += "\t}\n";
code += "\tobj.Init(rcv._tab.Bytes, rcv._tab.Pos + "; code += "\tobj.Init(rcv._tab.Bytes, rcv._tab.Pos+";
code += NumToString(field.value.offset) + ")"; code += NumToString(field.value.offset) + ")";
code += "\n\treturn obj\n"; code += "\n\treturn obj\n";
code += "}\n"; code += "}\n";
...@@ -287,9 +288,9 @@ static void GetMemberOfVectorOfStruct(const StructDef &struct_def, ...@@ -287,9 +288,9 @@ static void GetMemberOfVectorOfStruct(const StructDef &struct_def,
if (!(vectortype.struct_def->fixed)) { if (!(vectortype.struct_def->fixed)) {
code += "\t\tx = rcv._tab.Indirect(x)\n"; code += "\t\tx = rcv._tab.Indirect(x)\n";
} }
code += "\tif obj == nil {\n"; code += "\t\tif obj == nil {\n";
code += "\t\tobj = new(" + TypeName(field) + ")\n"; code += "\t\t\tobj = new(" + TypeName(field) + ")\n";
code += "\t}\n"; code += "\t\t}\n";
code += "\t\tobj.Init(rcv._tab.Bytes, x)\n"; code += "\t\tobj.Init(rcv._tab.Bytes, x)\n";
code += "\t\treturn true\n\t}\n"; code += "\t\treturn true\n\t}\n";
code += "\treturn false\n"; code += "\treturn false\n";
...@@ -310,7 +311,7 @@ static void GetMemberOfVectorOfNonStruct(const StructDef &struct_def, ...@@ -310,7 +311,7 @@ static void GetMemberOfVectorOfNonStruct(const StructDef &struct_def,
code += OffsetPrefix(field); code += OffsetPrefix(field);
code += "\t\ta := rcv._tab.Vector(o)\n"; code += "\t\ta := rcv._tab.Vector(o)\n";
code += "\t\treturn " + GenGetter(field.value.type) + "("; code += "\t\treturn " + GenGetter(field.value.type) + "(";
code += "a + flatbuffers.UOffsetT(j * "; code += "a + flatbuffers.UOffsetT(j*";
code += NumToString(InlineSize(vectortype)) + "))\n"; code += NumToString(InlineSize(vectortype)) + "))\n";
code += "\t}\n"; code += "\t}\n";
if (vectortype.base_type == BASE_TYPE_STRING) { if (vectortype.base_type == BASE_TYPE_STRING) {
...@@ -326,7 +327,10 @@ static void BeginBuilderArgs(const StructDef &struct_def, ...@@ -326,7 +327,10 @@ static void BeginBuilderArgs(const StructDef &struct_def,
std::string *code_ptr) { std::string *code_ptr) {
std::string &code = *code_ptr; std::string &code = *code_ptr;
code += "\n"; if (code.substr(code.length() - 2) != "\n\n") {
// a previous mutate has not put an extra new line
code += "\n";
}
code += "func Create" + struct_def.name; code += "func Create" + struct_def.name;
code += "(builder *flatbuffers.Builder"; code += "(builder *flatbuffers.Builder";
} }
...@@ -368,20 +372,20 @@ static void StructBuilderBody(const StructDef &struct_def, ...@@ -368,20 +372,20 @@ static void StructBuilderBody(const StructDef &struct_def,
const char *nameprefix, const char *nameprefix,
std::string *code_ptr) { std::string *code_ptr) {
std::string &code = *code_ptr; std::string &code = *code_ptr;
code += " builder.Prep(" + NumToString(struct_def.minalign) + ", "; code += "\tbuilder.Prep(" + NumToString(struct_def.minalign) + ", ";
code += NumToString(struct_def.bytesize) + ")\n"; code += NumToString(struct_def.bytesize) + ")\n";
for (auto it = struct_def.fields.vec.rbegin(); for (auto it = struct_def.fields.vec.rbegin();
it != struct_def.fields.vec.rend(); it != struct_def.fields.vec.rend();
++it) { ++it) {
auto &field = **it; auto &field = **it;
if (field.padding) if (field.padding)
code += " builder.Pad(" + NumToString(field.padding) + ")\n"; code += "\tbuilder.Pad(" + NumToString(field.padding) + ")\n";
if (IsStruct(field.value.type)) { if (IsStruct(field.value.type)) {
StructBuilderBody(*field.value.type.struct_def, StructBuilderBody(*field.value.type.struct_def,
(nameprefix + (field.name + "_")).c_str(), (nameprefix + (field.name + "_")).c_str(),
code_ptr); code_ptr);
} else { } else {
code += " builder.Prepend" + GenMethod(field) + "("; code += "\tbuilder.Prepend" + GenMethod(field) + "(";
code += nameprefix + MakeCamel(field.name, false) + ")\n"; code += nameprefix + MakeCamel(field.name, false) + ")\n";
} }
} }
...@@ -389,7 +393,7 @@ static void StructBuilderBody(const StructDef &struct_def, ...@@ -389,7 +393,7 @@ static void StructBuilderBody(const StructDef &struct_def,
static void EndBuilderBody(std::string *code_ptr) { static void EndBuilderBody(std::string *code_ptr) {
std::string &code = *code_ptr; std::string &code = *code_ptr;
code += " return builder.Offset()\n"; code += "\treturn builder.Offset()\n";
code += "}\n"; code += "}\n";
} }
...@@ -398,10 +402,10 @@ static void GetStartOfTable(const StructDef &struct_def, ...@@ -398,10 +402,10 @@ static void GetStartOfTable(const StructDef &struct_def,
std::string *code_ptr) { std::string *code_ptr) {
std::string &code = *code_ptr; std::string &code = *code_ptr;
code += "func " + struct_def.name + "Start"; code += "func " + struct_def.name + "Start";
code += "(builder *flatbuffers.Builder) { "; code += "(builder *flatbuffers.Builder) {\n";
code += "builder.StartObject("; code += "\tbuilder.StartObject(";
code += NumToString(struct_def.fields.vec.size()); code += NumToString(struct_def.fields.vec.size());
code += ") }\n"; code += ")\n}\n";
} }
// Set the value of a table's field. // Set the value of a table's field.
...@@ -418,8 +422,8 @@ static void BuildFieldOfTable(const StructDef &struct_def, ...@@ -418,8 +422,8 @@ static void BuildFieldOfTable(const StructDef &struct_def,
} else { } else {
code += GenTypeBasic(field.value.type); code += GenTypeBasic(field.value.type);
} }
code += ") "; code += ") {\n";
code += "{ builder.Prepend"; code += "\tbuilder.Prepend";
code += GenMethod(field) + "Slot("; code += GenMethod(field) + "Slot(";
code += NumToString(offset) + ", "; code += NumToString(offset) + ", ";
if (!IsScalar(field.value.type.base_type) && (!struct_def.fixed)) { if (!IsScalar(field.value.type.base_type) && (!struct_def.fixed)) {
...@@ -430,7 +434,7 @@ static void BuildFieldOfTable(const StructDef &struct_def, ...@@ -430,7 +434,7 @@ static void BuildFieldOfTable(const StructDef &struct_def,
code += MakeCamel(field.name, false); code += MakeCamel(field.name, false);
} }
code += ", " + field.value.constant; code += ", " + field.value.constant;
code += ") }\n"; code += ")\n}\n";
} }
// Set the value of one of the members of a table's vector. // Set the value of one of the members of a table's vector.
...@@ -441,7 +445,7 @@ static void BuildVectorOfTable(const StructDef &struct_def, ...@@ -441,7 +445,7 @@ static void BuildVectorOfTable(const StructDef &struct_def,
code += "func " + struct_def.name + "Start"; code += "func " + struct_def.name + "Start";
code += MakeCamel(field.name); code += MakeCamel(field.name);
code += "Vector(builder *flatbuffers.Builder, numElems int) "; code += "Vector(builder *flatbuffers.Builder, numElems int) ";
code += "flatbuffers.UOffsetT { return builder.StartVector("; code += "flatbuffers.UOffsetT {\n\treturn builder.StartVector(";
auto vector_type = field.value.type.VectorType(); auto vector_type = field.value.type.VectorType();
auto alignment = InlineAlignment(vector_type); auto alignment = InlineAlignment(vector_type);
auto elem_size = InlineSize(vector_type); auto elem_size = InlineSize(vector_type);
...@@ -456,7 +460,7 @@ static void GetEndOffsetOnTable(const StructDef &struct_def, ...@@ -456,7 +460,7 @@ static void GetEndOffsetOnTable(const StructDef &struct_def,
std::string &code = *code_ptr; std::string &code = *code_ptr;
code += "func " + struct_def.name + "End"; code += "func " + struct_def.name + "End";
code += "(builder *flatbuffers.Builder) flatbuffers.UOffsetT "; code += "(builder *flatbuffers.Builder) flatbuffers.UOffsetT ";
code += "{ return builder.EndObject() }\n"; code += "{\n\treturn builder.EndObject()\n}\n";
} }
// Generate the receiver for function signatures. // Generate the receiver for function signatures.
...@@ -521,9 +525,9 @@ static void MutateScalarFieldOfStruct(const StructDef &struct_def, ...@@ -521,9 +525,9 @@ static void MutateScalarFieldOfStruct(const StructDef &struct_def,
std::string setter = "rcv._tab.Mutate" + type; std::string setter = "rcv._tab.Mutate" + type;
GenReceiver(struct_def, code_ptr); GenReceiver(struct_def, code_ptr);
code += " Mutate" + MakeCamel(field.name); code += " Mutate" + MakeCamel(field.name);
code += "(n " + TypeName(field) + ") bool { return " + setter; code += "(n " + TypeName(field) + ") bool {\n\treturn " + setter;
code += "(rcv._tab.Pos + flatbuffers.UOffsetT("; code += "(rcv._tab.Pos+flatbuffers.UOffsetT(";
code += NumToString(field.value.offset) + "), n) }\n\n"; code += NumToString(field.value.offset) + "), n)\n}\n\n";
} }
// Mutate the value of a table's scalar. // Mutate the value of a table's scalar.
...@@ -732,7 +736,7 @@ class GoGenerator : public BaseGenerator { ...@@ -732,7 +736,7 @@ class GoGenerator : public BaseGenerator {
if (needs_imports) { if (needs_imports) {
code += "import (\n"; code += "import (\n";
code += "\tflatbuffers \"github.com/google/flatbuffers/go\"\n"; code += "\tflatbuffers \"github.com/google/flatbuffers/go\"\n";
code += ")\n"; code += ")\n\n";
} }
} }
......
...@@ -29,9 +29,9 @@ mkdir -p ${go_src}/MyGame/Example ...@@ -29,9 +29,9 @@ mkdir -p ${go_src}/MyGame/Example
mkdir -p ${go_src}/github.com/google/flatbuffers/go mkdir -p ${go_src}/github.com/google/flatbuffers/go
mkdir -p ${go_src}/flatbuffers_test mkdir -p ${go_src}/flatbuffers_test
cp -u MyGame/Example/*.go ./go_gen/src/MyGame/Example/ cp -a MyGame/Example/*.go ./go_gen/src/MyGame/Example/
cp -u ../go/* ./go_gen/src/github.com/google/flatbuffers/go cp -a ../go/* ./go_gen/src/github.com/google/flatbuffers/go
cp -u ./go_test.go ./go_gen/src/flatbuffers_test/ cp -a ./go_test.go ./go_gen/src/flatbuffers_test/
# Run tests with necessary flags. # Run tests with necessary flags.
# Developers may wish to see more detail by appending the verbosity flag # Developers may wish to see more detail by appending the verbosity flag
...@@ -50,6 +50,18 @@ GOPATH=${go_path} go test flatbuffers_test \ ...@@ -50,6 +50,18 @@ GOPATH=${go_path} go test flatbuffers_test \
--fuzz_fields=4 \ --fuzz_fields=4 \
--fuzz_objects=10000 --fuzz_objects=10000
GO_TEST_RESULT=$?
rm -rf ${go_path}/{pkg,src} rm -rf ${go_path}/{pkg,src}
if [[ $GO_TEST_RESULT == 0 ]]; then
echo "OK: Go tests passed."
else
echo "KO: Go tests failed."
exit 1
fi
echo "OK: Go tests passed." NOT_FMT_FILES=$(gofmt -l MyGame)
if [[ ${NOT_FMT_FILES} != "" ]]; then
echo "These files are not well gofmt'ed:\n\n${NOT_FMT_FILES}"
# enable this when enums are properly formated
# exit 1
fi
...@@ -5,6 +5,7 @@ package Example ...@@ -5,6 +5,7 @@ package Example
import ( import (
flatbuffers "github.com/google/flatbuffers/go" flatbuffers "github.com/google/flatbuffers/go"
) )
/// an example documentation comment: monster object /// an example documentation comment: monster object
type Monster struct { type Monster struct {
_tab flatbuffers.Table _tab flatbuffers.Table
...@@ -13,7 +14,7 @@ type Monster struct { ...@@ -13,7 +14,7 @@ type Monster struct {
func GetRootAsMonster(buf []byte, offset flatbuffers.UOffsetT) *Monster { func GetRootAsMonster(buf []byte, offset flatbuffers.UOffsetT) *Monster {
n := flatbuffers.GetUOffsetT(buf[offset:]) n := flatbuffers.GetUOffsetT(buf[offset:])
x := &Monster{} x := &Monster{}
x.Init(buf, n + offset) x.Init(buf, n+offset)
return x return x
} }
...@@ -71,7 +72,7 @@ func (rcv *Monster) Inventory(j int) byte { ...@@ -71,7 +72,7 @@ func (rcv *Monster) Inventory(j int) byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14)) o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 { if o != 0 {
a := rcv._tab.Vector(o) a := rcv._tab.Vector(o)
return rcv._tab.GetByte(a + flatbuffers.UOffsetT(j * 1)) return rcv._tab.GetByte(a + flatbuffers.UOffsetT(j*1))
} }
return 0 return 0
} }
...@@ -130,9 +131,9 @@ func (rcv *Monster) Test4(obj *Test, j int) bool { ...@@ -130,9 +131,9 @@ func (rcv *Monster) Test4(obj *Test, j int) bool {
if o != 0 { if o != 0 {
x := rcv._tab.Vector(o) x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4 x += flatbuffers.UOffsetT(j) * 4
if obj == nil { if obj == nil {
obj = new(Test) obj = new(Test)
} }
obj.Init(rcv._tab.Bytes, x) obj.Init(rcv._tab.Bytes, x)
return true return true
} }
...@@ -151,7 +152,7 @@ func (rcv *Monster) Testarrayofstring(j int) []byte { ...@@ -151,7 +152,7 @@ func (rcv *Monster) Testarrayofstring(j int) []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(24)) o := flatbuffers.UOffsetT(rcv._tab.Offset(24))
if o != 0 { if o != 0 {
a := rcv._tab.Vector(o) a := rcv._tab.Vector(o)
return rcv._tab.ByteVector(a + flatbuffers.UOffsetT(j * 4)) return rcv._tab.ByteVector(a + flatbuffers.UOffsetT(j*4))
} }
return nil return nil
} }
...@@ -172,9 +173,9 @@ func (rcv *Monster) Testarrayoftables(obj *Monster, j int) bool { ...@@ -172,9 +173,9 @@ func (rcv *Monster) Testarrayoftables(obj *Monster, j int) bool {
x := rcv._tab.Vector(o) x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4 x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x) x = rcv._tab.Indirect(x)
if obj == nil { if obj == nil {
obj = new(Monster) obj = new(Monster)
} }
obj.Init(rcv._tab.Bytes, x) obj.Init(rcv._tab.Bytes, x)
return true return true
} }
...@@ -208,7 +209,7 @@ func (rcv *Monster) Testnestedflatbuffer(j int) byte { ...@@ -208,7 +209,7 @@ func (rcv *Monster) Testnestedflatbuffer(j int) byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(30)) o := flatbuffers.UOffsetT(rcv._tab.Offset(30))
if o != 0 { if o != 0 {
a := rcv._tab.Vector(o) a := rcv._tab.Vector(o)
return rcv._tab.GetByte(a + flatbuffers.UOffsetT(j * 1)) return rcv._tab.GetByte(a + flatbuffers.UOffsetT(j*1))
} }
return 0 return 0
} }
...@@ -354,7 +355,7 @@ func (rcv *Monster) Testarrayofbools(j int) byte { ...@@ -354,7 +355,7 @@ func (rcv *Monster) Testarrayofbools(j int) byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(52)) o := flatbuffers.UOffsetT(rcv._tab.Offset(52))
if o != 0 { if o != 0 {
a := rcv._tab.Vector(o) a := rcv._tab.Vector(o)
return rcv._tab.GetByte(a + flatbuffers.UOffsetT(j * 1)) return rcv._tab.GetByte(a + flatbuffers.UOffsetT(j*1))
} }
return 0 return 0
} }
...@@ -407,7 +408,7 @@ func (rcv *Monster) Testarrayofstring2(j int) []byte { ...@@ -407,7 +408,7 @@ func (rcv *Monster) Testarrayofstring2(j int) []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(60)) o := flatbuffers.UOffsetT(rcv._tab.Offset(60))
if o != 0 { if o != 0 {
a := rcv._tab.Vector(o) a := rcv._tab.Vector(o)
return rcv._tab.ByteVector(a + flatbuffers.UOffsetT(j * 4)) return rcv._tab.ByteVector(a + flatbuffers.UOffsetT(j*4))
} }
return nil return nil
} }
...@@ -420,47 +421,114 @@ func (rcv *Monster) Testarrayofstring2Length() int { ...@@ -420,47 +421,114 @@ func (rcv *Monster) Testarrayofstring2Length() int {
return 0 return 0
} }
func MonsterStart(builder *flatbuffers.Builder) { builder.StartObject(29) } func MonsterStart(builder *flatbuffers.Builder) {
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) { builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0) } builder.StartObject(29)
func MonsterAddMana(builder *flatbuffers.Builder, mana int16) { builder.PrependInt16Slot(1, mana, 150) } }
func MonsterAddHp(builder *flatbuffers.Builder, hp int16) { builder.PrependInt16Slot(2, hp, 100) } func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) {
func MonsterAddName(builder *flatbuffers.Builder, name flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(name), 0) } builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0)
func MonsterAddInventory(builder *flatbuffers.Builder, inventory flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(inventory), 0) } }
func MonsterStartInventoryVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(1, numElems, 1) func MonsterAddMana(builder *flatbuffers.Builder, mana int16) {
} builder.PrependInt16Slot(1, mana, 150)
func MonsterAddColor(builder *flatbuffers.Builder, color int8) { builder.PrependInt8Slot(6, color, 8) } }
func MonsterAddTestType(builder *flatbuffers.Builder, testType byte) { builder.PrependByteSlot(7, testType, 0) } func MonsterAddHp(builder *flatbuffers.Builder, hp int16) {
func MonsterAddTest(builder *flatbuffers.Builder, test flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(8, flatbuffers.UOffsetT(test), 0) } builder.PrependInt16Slot(2, hp, 100)
func MonsterAddTest4(builder *flatbuffers.Builder, test4 flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(9, flatbuffers.UOffsetT(test4), 0) } }
func MonsterStartTest4Vector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(4, numElems, 2) func MonsterAddName(builder *flatbuffers.Builder, name flatbuffers.UOffsetT) {
} builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(name), 0)
func MonsterAddTestarrayofstring(builder *flatbuffers.Builder, testarrayofstring flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(10, flatbuffers.UOffsetT(testarrayofstring), 0) } }
func MonsterStartTestarrayofstringVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(4, numElems, 4) func MonsterAddInventory(builder *flatbuffers.Builder, inventory flatbuffers.UOffsetT) {
} builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(inventory), 0)
func MonsterAddTestarrayoftables(builder *flatbuffers.Builder, testarrayoftables flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(11, flatbuffers.UOffsetT(testarrayoftables), 0) } }
func MonsterStartTestarrayoftablesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(4, numElems, 4) func MonsterStartInventoryVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
} return builder.StartVector(1, numElems, 1)
func MonsterAddEnemy(builder *flatbuffers.Builder, enemy flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(12, flatbuffers.UOffsetT(enemy), 0) } }
func MonsterAddTestnestedflatbuffer(builder *flatbuffers.Builder, testnestedflatbuffer flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(13, flatbuffers.UOffsetT(testnestedflatbuffer), 0) } func MonsterAddColor(builder *flatbuffers.Builder, color int8) {
func MonsterStartTestnestedflatbufferVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(1, numElems, 1) builder.PrependInt8Slot(6, color, 8)
} }
func MonsterAddTestempty(builder *flatbuffers.Builder, testempty flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(14, flatbuffers.UOffsetT(testempty), 0) } func MonsterAddTestType(builder *flatbuffers.Builder, testType byte) {
func MonsterAddTestbool(builder *flatbuffers.Builder, testbool byte) { builder.PrependByteSlot(15, testbool, 0) } builder.PrependByteSlot(7, testType, 0)
func MonsterAddTesthashs32Fnv1(builder *flatbuffers.Builder, testhashs32Fnv1 int32) { builder.PrependInt32Slot(16, testhashs32Fnv1, 0) } }
func MonsterAddTesthashu32Fnv1(builder *flatbuffers.Builder, testhashu32Fnv1 uint32) { builder.PrependUint32Slot(17, testhashu32Fnv1, 0) } func MonsterAddTest(builder *flatbuffers.Builder, test flatbuffers.UOffsetT) {
func MonsterAddTesthashs64Fnv1(builder *flatbuffers.Builder, testhashs64Fnv1 int64) { builder.PrependInt64Slot(18, testhashs64Fnv1, 0) } builder.PrependUOffsetTSlot(8, flatbuffers.UOffsetT(test), 0)
func MonsterAddTesthashu64Fnv1(builder *flatbuffers.Builder, testhashu64Fnv1 uint64) { builder.PrependUint64Slot(19, testhashu64Fnv1, 0) } }
func MonsterAddTesthashs32Fnv1a(builder *flatbuffers.Builder, testhashs32Fnv1a int32) { builder.PrependInt32Slot(20, testhashs32Fnv1a, 0) } func MonsterAddTest4(builder *flatbuffers.Builder, test4 flatbuffers.UOffsetT) {
func MonsterAddTesthashu32Fnv1a(builder *flatbuffers.Builder, testhashu32Fnv1a uint32) { builder.PrependUint32Slot(21, testhashu32Fnv1a, 0) } builder.PrependUOffsetTSlot(9, flatbuffers.UOffsetT(test4), 0)
func MonsterAddTesthashs64Fnv1a(builder *flatbuffers.Builder, testhashs64Fnv1a int64) { builder.PrependInt64Slot(22, testhashs64Fnv1a, 0) } }
func MonsterAddTesthashu64Fnv1a(builder *flatbuffers.Builder, testhashu64Fnv1a uint64) { builder.PrependUint64Slot(23, testhashu64Fnv1a, 0) } func MonsterStartTest4Vector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
func MonsterAddTestarrayofbools(builder *flatbuffers.Builder, testarrayofbools flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(24, flatbuffers.UOffsetT(testarrayofbools), 0) } return builder.StartVector(4, numElems, 2)
func MonsterStartTestarrayofboolsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(1, numElems, 1) }
} func MonsterAddTestarrayofstring(builder *flatbuffers.Builder, testarrayofstring flatbuffers.UOffsetT) {
func MonsterAddTestf(builder *flatbuffers.Builder, testf float32) { builder.PrependFloat32Slot(25, testf, 3.14159) } builder.PrependUOffsetTSlot(10, flatbuffers.UOffsetT(testarrayofstring), 0)
func MonsterAddTestf2(builder *flatbuffers.Builder, testf2 float32) { builder.PrependFloat32Slot(26, testf2, 3.0) } }
func MonsterAddTestf3(builder *flatbuffers.Builder, testf3 float32) { builder.PrependFloat32Slot(27, testf3, 0.0) } func MonsterStartTestarrayofstringVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
func MonsterAddTestarrayofstring2(builder *flatbuffers.Builder, testarrayofstring2 flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(28, flatbuffers.UOffsetT(testarrayofstring2), 0) } return builder.StartVector(4, numElems, 4)
func MonsterStartTestarrayofstring2Vector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(4, numElems, 4) }
} func MonsterAddTestarrayoftables(builder *flatbuffers.Builder, testarrayoftables flatbuffers.UOffsetT) {
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } builder.PrependUOffsetTSlot(11, flatbuffers.UOffsetT(testarrayoftables), 0)
}
func MonsterStartTestarrayoftablesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func MonsterAddEnemy(builder *flatbuffers.Builder, enemy flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(12, flatbuffers.UOffsetT(enemy), 0)
}
func MonsterAddTestnestedflatbuffer(builder *flatbuffers.Builder, testnestedflatbuffer flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(13, flatbuffers.UOffsetT(testnestedflatbuffer), 0)
}
func MonsterStartTestnestedflatbufferVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(1, numElems, 1)
}
func MonsterAddTestempty(builder *flatbuffers.Builder, testempty flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(14, flatbuffers.UOffsetT(testempty), 0)
}
func MonsterAddTestbool(builder *flatbuffers.Builder, testbool byte) {
builder.PrependByteSlot(15, testbool, 0)
}
func MonsterAddTesthashs32Fnv1(builder *flatbuffers.Builder, testhashs32Fnv1 int32) {
builder.PrependInt32Slot(16, testhashs32Fnv1, 0)
}
func MonsterAddTesthashu32Fnv1(builder *flatbuffers.Builder, testhashu32Fnv1 uint32) {
builder.PrependUint32Slot(17, testhashu32Fnv1, 0)
}
func MonsterAddTesthashs64Fnv1(builder *flatbuffers.Builder, testhashs64Fnv1 int64) {
builder.PrependInt64Slot(18, testhashs64Fnv1, 0)
}
func MonsterAddTesthashu64Fnv1(builder *flatbuffers.Builder, testhashu64Fnv1 uint64) {
builder.PrependUint64Slot(19, testhashu64Fnv1, 0)
}
func MonsterAddTesthashs32Fnv1a(builder *flatbuffers.Builder, testhashs32Fnv1a int32) {
builder.PrependInt32Slot(20, testhashs32Fnv1a, 0)
}
func MonsterAddTesthashu32Fnv1a(builder *flatbuffers.Builder, testhashu32Fnv1a uint32) {
builder.PrependUint32Slot(21, testhashu32Fnv1a, 0)
}
func MonsterAddTesthashs64Fnv1a(builder *flatbuffers.Builder, testhashs64Fnv1a int64) {
builder.PrependInt64Slot(22, testhashs64Fnv1a, 0)
}
func MonsterAddTesthashu64Fnv1a(builder *flatbuffers.Builder, testhashu64Fnv1a uint64) {
builder.PrependUint64Slot(23, testhashu64Fnv1a, 0)
}
func MonsterAddTestarrayofbools(builder *flatbuffers.Builder, testarrayofbools flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(24, flatbuffers.UOffsetT(testarrayofbools), 0)
}
func MonsterStartTestarrayofboolsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(1, numElems, 1)
}
func MonsterAddTestf(builder *flatbuffers.Builder, testf float32) {
builder.PrependFloat32Slot(25, testf, 3.14159)
}
func MonsterAddTestf2(builder *flatbuffers.Builder, testf2 float32) {
builder.PrependFloat32Slot(26, testf2, 3.0)
}
func MonsterAddTestf3(builder *flatbuffers.Builder, testf3 float32) {
builder.PrependFloat32Slot(27, testf3, 0.0)
}
func MonsterAddTestarrayofstring2(builder *flatbuffers.Builder, testarrayofstring2 flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(28, flatbuffers.UOffsetT(testarrayofstring2), 0)
}
func MonsterStartTestarrayofstring2Vector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
...@@ -5,6 +5,7 @@ package Example ...@@ -5,6 +5,7 @@ package Example
import ( import (
flatbuffers "github.com/google/flatbuffers/go" flatbuffers "github.com/google/flatbuffers/go"
) )
type Stat struct { type Stat struct {
_tab flatbuffers.Table _tab flatbuffers.Table
} }
...@@ -12,7 +13,7 @@ type Stat struct { ...@@ -12,7 +13,7 @@ type Stat struct {
func GetRootAsStat(buf []byte, offset flatbuffers.UOffsetT) *Stat { func GetRootAsStat(buf []byte, offset flatbuffers.UOffsetT) *Stat {
n := flatbuffers.GetUOffsetT(buf[offset:]) n := flatbuffers.GetUOffsetT(buf[offset:])
x := &Stat{} x := &Stat{}
x.Init(buf, n + offset) x.Init(buf, n+offset)
return x return x
} }
...@@ -53,8 +54,18 @@ func (rcv *Stat) MutateCount(n uint16) bool { ...@@ -53,8 +54,18 @@ func (rcv *Stat) MutateCount(n uint16) bool {
return rcv._tab.MutateUint16Slot(8, n) return rcv._tab.MutateUint16Slot(8, n)
} }
func StatStart(builder *flatbuffers.Builder) { builder.StartObject(3) } func StatStart(builder *flatbuffers.Builder) {
func StatAddId(builder *flatbuffers.Builder, id flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(id), 0) } builder.StartObject(3)
func StatAddVal(builder *flatbuffers.Builder, val int64) { builder.PrependInt64Slot(1, val, 0) } }
func StatAddCount(builder *flatbuffers.Builder, count uint16) { builder.PrependUint16Slot(2, count, 0) } func StatAddId(builder *flatbuffers.Builder, id flatbuffers.UOffsetT) {
func StatEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(id), 0)
}
func StatAddVal(builder *flatbuffers.Builder, val int64) {
builder.PrependInt64Slot(1, val, 0)
}
func StatAddCount(builder *flatbuffers.Builder, count uint16) {
builder.PrependUint16Slot(2, count, 0)
}
func StatEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
...@@ -5,6 +5,7 @@ package Example ...@@ -5,6 +5,7 @@ package Example
import ( import (
flatbuffers "github.com/google/flatbuffers/go" flatbuffers "github.com/google/flatbuffers/go"
) )
type Test struct { type Test struct {
_tab flatbuffers.Struct _tab flatbuffers.Struct
} }
...@@ -14,17 +15,24 @@ func (rcv *Test) Init(buf []byte, i flatbuffers.UOffsetT) { ...@@ -14,17 +15,24 @@ func (rcv *Test) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Pos = i rcv._tab.Pos = i
} }
func (rcv *Test) A() int16 { return rcv._tab.GetInt16(rcv._tab.Pos + flatbuffers.UOffsetT(0)) } func (rcv *Test) A() int16 {
func (rcv *Test) MutateA(n int16) bool { return rcv._tab.MutateInt16(rcv._tab.Pos + flatbuffers.UOffsetT(0), n) } return rcv._tab.GetInt16(rcv._tab.Pos + flatbuffers.UOffsetT(0))
}
func (rcv *Test) B() int8 { return rcv._tab.GetInt8(rcv._tab.Pos + flatbuffers.UOffsetT(2)) } func (rcv *Test) MutateA(n int16) bool {
func (rcv *Test) MutateB(n int8) bool { return rcv._tab.MutateInt8(rcv._tab.Pos + flatbuffers.UOffsetT(2), n) } return rcv._tab.MutateInt16(rcv._tab.Pos+flatbuffers.UOffsetT(0), n)
}
func (rcv *Test) B() int8 {
return rcv._tab.GetInt8(rcv._tab.Pos + flatbuffers.UOffsetT(2))
}
func (rcv *Test) MutateB(n int8) bool {
return rcv._tab.MutateInt8(rcv._tab.Pos+flatbuffers.UOffsetT(2), n)
}
func CreateTest(builder *flatbuffers.Builder, a int16, b int8) flatbuffers.UOffsetT { func CreateTest(builder *flatbuffers.Builder, a int16, b int8) flatbuffers.UOffsetT {
builder.Prep(2, 4) builder.Prep(2, 4)
builder.Pad(1) builder.Pad(1)
builder.PrependInt8(b) builder.PrependInt8(b)
builder.PrependInt16(a) builder.PrependInt16(a)
return builder.Offset() return builder.Offset()
} }
...@@ -5,6 +5,7 @@ package Example ...@@ -5,6 +5,7 @@ package Example
import ( import (
flatbuffers "github.com/google/flatbuffers/go" flatbuffers "github.com/google/flatbuffers/go"
) )
type TestSimpleTableWithEnum struct { type TestSimpleTableWithEnum struct {
_tab flatbuffers.Table _tab flatbuffers.Table
} }
...@@ -12,7 +13,7 @@ type TestSimpleTableWithEnum struct { ...@@ -12,7 +13,7 @@ type TestSimpleTableWithEnum struct {
func GetRootAsTestSimpleTableWithEnum(buf []byte, offset flatbuffers.UOffsetT) *TestSimpleTableWithEnum { func GetRootAsTestSimpleTableWithEnum(buf []byte, offset flatbuffers.UOffsetT) *TestSimpleTableWithEnum {
n := flatbuffers.GetUOffsetT(buf[offset:]) n := flatbuffers.GetUOffsetT(buf[offset:])
x := &TestSimpleTableWithEnum{} x := &TestSimpleTableWithEnum{}
x.Init(buf, n + offset) x.Init(buf, n+offset)
return x return x
} }
...@@ -33,6 +34,12 @@ func (rcv *TestSimpleTableWithEnum) MutateColor(n int8) bool { ...@@ -33,6 +34,12 @@ func (rcv *TestSimpleTableWithEnum) MutateColor(n int8) bool {
return rcv._tab.MutateInt8Slot(4, n) return rcv._tab.MutateInt8Slot(4, n)
} }
func TestSimpleTableWithEnumStart(builder *flatbuffers.Builder) { builder.StartObject(1) } func TestSimpleTableWithEnumStart(builder *flatbuffers.Builder) {
func TestSimpleTableWithEnumAddColor(builder *flatbuffers.Builder, color int8) { builder.PrependInt8Slot(0, color, 2) } builder.StartObject(1)
func TestSimpleTableWithEnumEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } }
func TestSimpleTableWithEnumAddColor(builder *flatbuffers.Builder, color int8) {
builder.PrependInt8Slot(0, color, 2)
}
func TestSimpleTableWithEnumEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
...@@ -5,6 +5,7 @@ package Example ...@@ -5,6 +5,7 @@ package Example
import ( import (
flatbuffers "github.com/google/flatbuffers/go" flatbuffers "github.com/google/flatbuffers/go"
) )
type Vec3 struct { type Vec3 struct {
_tab flatbuffers.Struct _tab flatbuffers.Struct
} }
...@@ -14,42 +15,62 @@ func (rcv *Vec3) Init(buf []byte, i flatbuffers.UOffsetT) { ...@@ -14,42 +15,62 @@ func (rcv *Vec3) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Pos = i rcv._tab.Pos = i
} }
func (rcv *Vec3) X() float32 { return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(0)) } func (rcv *Vec3) X() float32 {
func (rcv *Vec3) MutateX(n float32) bool { return rcv._tab.MutateFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(0), n) } return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(0))
}
func (rcv *Vec3) MutateX(n float32) bool {
return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(0), n)
}
func (rcv *Vec3) Y() float32 { return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(4)) } func (rcv *Vec3) Y() float32 {
func (rcv *Vec3) MutateY(n float32) bool { return rcv._tab.MutateFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(4), n) } return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(4))
}
func (rcv *Vec3) MutateY(n float32) bool {
return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(4), n)
}
func (rcv *Vec3) Z() float32 { return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(8)) } func (rcv *Vec3) Z() float32 {
func (rcv *Vec3) MutateZ(n float32) bool { return rcv._tab.MutateFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(8), n) } return rcv._tab.GetFloat32(rcv._tab.Pos + flatbuffers.UOffsetT(8))
}
func (rcv *Vec3) MutateZ(n float32) bool {
return rcv._tab.MutateFloat32(rcv._tab.Pos+flatbuffers.UOffsetT(8), n)
}
func (rcv *Vec3) Test1() float64 { return rcv._tab.GetFloat64(rcv._tab.Pos + flatbuffers.UOffsetT(16)) } func (rcv *Vec3) Test1() float64 {
func (rcv *Vec3) MutateTest1(n float64) bool { return rcv._tab.MutateFloat64(rcv._tab.Pos + flatbuffers.UOffsetT(16), n) } return rcv._tab.GetFloat64(rcv._tab.Pos + flatbuffers.UOffsetT(16))
}
func (rcv *Vec3) MutateTest1(n float64) bool {
return rcv._tab.MutateFloat64(rcv._tab.Pos+flatbuffers.UOffsetT(16), n)
}
func (rcv *Vec3) Test2() int8 { return rcv._tab.GetInt8(rcv._tab.Pos + flatbuffers.UOffsetT(24)) } func (rcv *Vec3) Test2() int8 {
func (rcv *Vec3) MutateTest2(n int8) bool { return rcv._tab.MutateInt8(rcv._tab.Pos + flatbuffers.UOffsetT(24), n) } return rcv._tab.GetInt8(rcv._tab.Pos + flatbuffers.UOffsetT(24))
}
func (rcv *Vec3) MutateTest2(n int8) bool {
return rcv._tab.MutateInt8(rcv._tab.Pos+flatbuffers.UOffsetT(24), n)
}
func (rcv *Vec3) Test3(obj *Test) *Test { func (rcv *Vec3) Test3(obj *Test) *Test {
if obj == nil { if obj == nil {
obj = new(Test) obj = new(Test)
} }
obj.Init(rcv._tab.Bytes, rcv._tab.Pos + 26) obj.Init(rcv._tab.Bytes, rcv._tab.Pos+26)
return obj return obj
} }
func CreateVec3(builder *flatbuffers.Builder, x float32, y float32, z float32, test1 float64, test2 int8, test3_a int16, test3_b int8) flatbuffers.UOffsetT { func CreateVec3(builder *flatbuffers.Builder, x float32, y float32, z float32, test1 float64, test2 int8, test3_a int16, test3_b int8) flatbuffers.UOffsetT {
builder.Prep(16, 32) builder.Prep(16, 32)
builder.Pad(2) builder.Pad(2)
builder.Prep(2, 4) builder.Prep(2, 4)
builder.Pad(1) builder.Pad(1)
builder.PrependInt8(test3_b) builder.PrependInt8(test3_b)
builder.PrependInt16(test3_a) builder.PrependInt16(test3_a)
builder.Pad(1) builder.Pad(1)
builder.PrependInt8(test2) builder.PrependInt8(test2)
builder.PrependFloat64(test1) builder.PrependFloat64(test1)
builder.Pad(4) builder.Pad(4)
builder.PrependFloat32(z) builder.PrependFloat32(z)
builder.PrependFloat32(y) builder.PrependFloat32(y)
builder.PrependFloat32(x) builder.PrependFloat32(x)
return builder.Offset() return builder.Offset()
} }
...@@ -5,6 +5,7 @@ package Example2 ...@@ -5,6 +5,7 @@ package Example2
import ( import (
flatbuffers "github.com/google/flatbuffers/go" flatbuffers "github.com/google/flatbuffers/go"
) )
type Monster struct { type Monster struct {
_tab flatbuffers.Table _tab flatbuffers.Table
} }
...@@ -12,7 +13,7 @@ type Monster struct { ...@@ -12,7 +13,7 @@ type Monster struct {
func GetRootAsMonster(buf []byte, offset flatbuffers.UOffsetT) *Monster { func GetRootAsMonster(buf []byte, offset flatbuffers.UOffsetT) *Monster {
n := flatbuffers.GetUOffsetT(buf[offset:]) n := flatbuffers.GetUOffsetT(buf[offset:])
x := &Monster{} x := &Monster{}
x.Init(buf, n + offset) x.Init(buf, n+offset)
return x return x
} }
...@@ -21,5 +22,9 @@ func (rcv *Monster) Init(buf []byte, i flatbuffers.UOffsetT) { ...@@ -21,5 +22,9 @@ func (rcv *Monster) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Pos = i rcv._tab.Pos = i
} }
func MonsterStart(builder *flatbuffers.Builder) { builder.StartObject(0) } func MonsterStart(builder *flatbuffers.Builder) {
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } builder.StartObject(0)
}
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment