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
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,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