Commit b36bd67b authored by Robert's avatar Robert Committed by GitHub

Merge pull request #3976 from gonzaloserrano/fix/gofmt

Make most of the Go code comply with gofmt (except enums).
parents 73d5bf46 ec20233f
...@@ -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