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;
if (code.substr(code.length() - 2) != "\n\n") {
// a previous mutate has not put an extra new line
code += "\n"; 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
This diff is collapsed.
...@@ -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,12 +15,19 @@ func (rcv *Test) Init(buf []byte, i flatbuffers.UOffsetT) { ...@@ -14,12 +15,19 @@ 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)
......
...@@ -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,26 +15,46 @@ func (rcv *Vec3) Init(buf []byte, i flatbuffers.UOffsetT) { ...@@ -14,26 +15,46 @@ 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
} }
......
...@@ -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