Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
flatbuffers
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
flatbuffers
Commits
b36bd67b
Commit
b36bd67b
authored
Aug 03, 2016
by
Robert
Committed by
GitHub
Aug 03, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3976 from gonzaloserrano/fix/gofmt
Make most of the Go code comply with gofmt (except enums).
parents
73d5bf46
ec20233f
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
243 additions
and
107 deletions
+243
-107
idl_gen_go.cpp
src/idl_gen_go.cpp
+28
-24
GoTest.sh
tests/GoTest.sh
+16
-4
Monster.go
tests/MyGame/Example/Monster.go
+118
-50
Stat.go
tests/MyGame/Example/Stat.go
+17
-6
Test.go
tests/MyGame/Example/Test.go
+13
-5
TestSimpleTableWithEnum.go
tests/MyGame/Example/TestSimpleTableWithEnum.go
+11
-4
Vec3.go
tests/MyGame/Example/Vec3.go
+32
-11
Monster.go
tests/MyGame/Example2/Monster.go
+8
-3
No files found.
src/idl_gen_go.cpp
View file @
b36bd67b
...
...
@@ -126,7 +126,7 @@ static void NewRootTypeFromBuffer(const StructDef &struct_def,
code
+=
" {
\n
"
;
code
+=
"
\t
n := flatbuffers.GetUOffsetT(buf[offset:])
\n
"
;
code
+=
"
\t
x := &"
+
struct_def
.
name
+
"{}
\n
"
;
code
+=
"
\t
x.Init(buf, n
+
offset)
\n
"
;
code
+=
"
\t
x.Init(buf, n
+
offset)
\n
"
;
code
+=
"
\t
return x
\n
"
;
code
+=
"}
\n\n
"
;
}
...
...
@@ -178,9 +178,10 @@ static void GetScalarFieldOfStruct(const StructDef &struct_def,
std
::
string
getter
=
GenGetter
(
field
.
value
.
type
);
GenReceiver
(
struct_def
,
code_ptr
);
code
+=
" "
+
MakeCamel
(
field
.
name
);
code
+=
"() "
+
TypeName
(
field
)
+
" { return "
+
getter
;
code
+=
"() "
+
TypeName
(
field
)
+
" {
\n
"
;
code
+=
"
\t
return "
+
getter
;
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.
...
...
@@ -212,7 +213,7 @@ static void GetStructFieldOfStruct(const StructDef &struct_def,
code
+=
"
\t
if obj == nil {
\n
"
;
code
+=
"
\t\t
obj = new("
+
TypeName
(
field
)
+
")
\n
"
;
code
+=
"
\t
}
\n
"
;
code
+=
"
\t
obj.Init(rcv._tab.Bytes, rcv._tab.Pos
+
"
;
code
+=
"
\t
obj.Init(rcv._tab.Bytes, rcv._tab.Pos
+
"
;
code
+=
NumToString
(
field
.
value
.
offset
)
+
")"
;
code
+=
"
\n\t
return obj
\n
"
;
code
+=
"}
\n
"
;
...
...
@@ -287,9 +288,9 @@ static void GetMemberOfVectorOfStruct(const StructDef &struct_def,
if
(
!
(
vectortype
.
struct_def
->
fixed
))
{
code
+=
"
\t\t
x = rcv._tab.Indirect(x)
\n
"
;
}
code
+=
"
\t
if obj == nil {
\n
"
;
code
+=
"
\t\t
obj = new("
+
TypeName
(
field
)
+
")
\n
"
;
code
+=
"
\t
}
\n
"
;
code
+=
"
\t
\t
if obj == nil {
\n
"
;
code
+=
"
\t\t
\t
obj = new("
+
TypeName
(
field
)
+
")
\n
"
;
code
+=
"
\t
\t
}
\n
"
;
code
+=
"
\t\t
obj.Init(rcv._tab.Bytes, x)
\n
"
;
code
+=
"
\t\t
return true
\n\t
}
\n
"
;
code
+=
"
\t
return false
\n
"
;
...
...
@@ -310,7 +311,7 @@ static void GetMemberOfVectorOfNonStruct(const StructDef &struct_def,
code
+=
OffsetPrefix
(
field
);
code
+=
"
\t\t
a := rcv._tab.Vector(o)
\n
"
;
code
+=
"
\t\t
return "
+
GenGetter
(
field
.
value
.
type
)
+
"("
;
code
+=
"a + flatbuffers.UOffsetT(j
*
"
;
code
+=
"a + flatbuffers.UOffsetT(j
*
"
;
code
+=
NumToString
(
InlineSize
(
vectortype
))
+
"))
\n
"
;
code
+=
"
\t
}
\n
"
;
if
(
vectortype
.
base_type
==
BASE_TYPE_STRING
)
{
...
...
@@ -326,7 +327,10 @@ static void BeginBuilderArgs(const StructDef &struct_def,
std
::
string
*
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
+=
"func Create"
+
struct_def
.
name
;
code
+=
"(builder *flatbuffers.Builder"
;
}
...
...
@@ -368,20 +372,20 @@ static void StructBuilderBody(const StructDef &struct_def,
const
char
*
nameprefix
,
std
::
string
*
code_ptr
)
{
std
::
string
&
code
=
*
code_ptr
;
code
+=
"
builder.Prep("
+
NumToString
(
struct_def
.
minalign
)
+
", "
;
code
+=
"
\t
builder.Prep("
+
NumToString
(
struct_def
.
minalign
)
+
", "
;
code
+=
NumToString
(
struct_def
.
bytesize
)
+
")
\n
"
;
for
(
auto
it
=
struct_def
.
fields
.
vec
.
rbegin
();
it
!=
struct_def
.
fields
.
vec
.
rend
();
++
it
)
{
auto
&
field
=
**
it
;
if
(
field
.
padding
)
code
+=
"
builder.Pad("
+
NumToString
(
field
.
padding
)
+
")
\n
"
;
code
+=
"
\t
builder.Pad("
+
NumToString
(
field
.
padding
)
+
")
\n
"
;
if
(
IsStruct
(
field
.
value
.
type
))
{
StructBuilderBody
(
*
field
.
value
.
type
.
struct_def
,
(
nameprefix
+
(
field
.
name
+
"_"
)).
c_str
(),
code_ptr
);
}
else
{
code
+=
"
builder.Prepend"
+
GenMethod
(
field
)
+
"("
;
code
+=
"
\t
builder.Prepend"
+
GenMethod
(
field
)
+
"("
;
code
+=
nameprefix
+
MakeCamel
(
field
.
name
,
false
)
+
")
\n
"
;
}
}
...
...
@@ -389,7 +393,7 @@ static void StructBuilderBody(const StructDef &struct_def,
static
void
EndBuilderBody
(
std
::
string
*
code_ptr
)
{
std
::
string
&
code
=
*
code_ptr
;
code
+=
"
return builder.Offset()
\n
"
;
code
+=
"
\t
return builder.Offset()
\n
"
;
code
+=
"}
\n
"
;
}
...
...
@@ -398,10 +402,10 @@ static void GetStartOfTable(const StructDef &struct_def,
std
::
string
*
code_ptr
)
{
std
::
string
&
code
=
*
code_ptr
;
code
+=
"func "
+
struct_def
.
name
+
"Start"
;
code
+=
"(builder *flatbuffers.Builder) {
"
;
code
+=
"builder.StartObject("
;
code
+=
"(builder *flatbuffers.Builder) {
\n
"
;
code
+=
"
\t
builder.StartObject("
;
code
+=
NumToString
(
struct_def
.
fields
.
vec
.
size
());
code
+=
")
}
\n
"
;
code
+=
")
\n
}
\n
"
;
}
// Set the value of a table's field.
...
...
@@ -418,8 +422,8 @@ static void BuildFieldOfTable(const StructDef &struct_def,
}
else
{
code
+=
GenTypeBasic
(
field
.
value
.
type
);
}
code
+=
") "
;
code
+=
"
{
builder.Prepend"
;
code
+=
")
{
\n
"
;
code
+=
"
\t
builder.Prepend"
;
code
+=
GenMethod
(
field
)
+
"Slot("
;
code
+=
NumToString
(
offset
)
+
", "
;
if
(
!
IsScalar
(
field
.
value
.
type
.
base_type
)
&&
(
!
struct_def
.
fixed
))
{
...
...
@@ -430,7 +434,7 @@ static void BuildFieldOfTable(const StructDef &struct_def,
code
+=
MakeCamel
(
field
.
name
,
false
);
}
code
+=
", "
+
field
.
value
.
constant
;
code
+=
")
}
\n
"
;
code
+=
")
\n
}
\n
"
;
}
// Set the value of one of the members of a table's vector.
...
...
@@ -441,7 +445,7 @@ static void BuildVectorOfTable(const StructDef &struct_def,
code
+=
"func "
+
struct_def
.
name
+
"Start"
;
code
+=
MakeCamel
(
field
.
name
);
code
+=
"Vector(builder *flatbuffers.Builder, numElems int) "
;
code
+=
"flatbuffers.UOffsetT {
return builder.StartVector("
;
code
+=
"flatbuffers.UOffsetT {
\n\t
return builder.StartVector("
;
auto
vector_type
=
field
.
value
.
type
.
VectorType
();
auto
alignment
=
InlineAlignment
(
vector_type
);
auto
elem_size
=
InlineSize
(
vector_type
);
...
...
@@ -456,7 +460,7 @@ static void GetEndOffsetOnTable(const StructDef &struct_def,
std
::
string
&
code
=
*
code_ptr
;
code
+=
"func "
+
struct_def
.
name
+
"End"
;
code
+=
"(builder *flatbuffers.Builder) flatbuffers.UOffsetT "
;
code
+=
"{
return builder.EndObject()
}
\n
"
;
code
+=
"{
\n\t
return builder.EndObject()
\n
}
\n
"
;
}
// Generate the receiver for function signatures.
...
...
@@ -521,9 +525,9 @@ static void MutateScalarFieldOfStruct(const StructDef &struct_def,
std
::
string
setter
=
"rcv._tab.Mutate"
+
type
;
GenReceiver
(
struct_def
,
code_ptr
);
code
+=
" Mutate"
+
MakeCamel
(
field
.
name
);
code
+=
"(n "
+
TypeName
(
field
)
+
") bool {
return "
+
setter
;
code
+=
"(rcv._tab.Pos
+
flatbuffers.UOffsetT("
;
code
+=
NumToString
(
field
.
value
.
offset
)
+
"), n)
}
\n\n
"
;
code
+=
"(n "
+
TypeName
(
field
)
+
") bool {
\n\t
return "
+
setter
;
code
+=
"(rcv._tab.Pos
+
flatbuffers.UOffsetT("
;
code
+=
NumToString
(
field
.
value
.
offset
)
+
"), n)
\n
}
\n\n
"
;
}
// Mutate the value of a table's scalar.
...
...
@@ -732,7 +736,7 @@ class GoGenerator : public BaseGenerator {
if
(
needs_imports
)
{
code
+=
"import (
\n
"
;
code
+=
"
\t
flatbuffers
\"
github.com/google/flatbuffers/go
\"\n
"
;
code
+=
")
\n
"
;
code
+=
")
\n
\n
"
;
}
}
...
...
tests/GoTest.sh
View file @
b36bd67b
...
...
@@ -29,9 +29,9 @@ mkdir -p ${go_src}/MyGame/Example
mkdir
-p
${
go_src
}
/github.com/google/flatbuffers/go
mkdir
-p
${
go_src
}
/flatbuffers_test
cp
-
u
MyGame/Example/
*
.go ./go_gen/src/MyGame/Example/
cp
-
u
../go/
*
./go_gen/src/github.com/google/flatbuffers/go
cp
-
u
./go_test.go ./go_gen/src/flatbuffers_test/
cp
-
a
MyGame/Example/
*
.go ./go_gen/src/MyGame/Example/
cp
-
a
../go/
*
./go_gen/src/github.com/google/flatbuffers/go
cp
-
a
./go_test.go ./go_gen/src/flatbuffers_test/
# Run tests with necessary flags.
# Developers may wish to see more detail by appending the verbosity flag
...
...
@@ -50,6 +50,18 @@ GOPATH=${go_path} go test flatbuffers_test \
--fuzz_fields
=
4
\
--fuzz_objects
=
10000
GO_TEST_RESULT
=
$?
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
tests/MyGame/Example/Monster.go
View file @
b36bd67b
...
...
@@ -5,6 +5,7 @@ package Example
import
(
flatbuffers
"github.com/google/flatbuffers/go"
)
/// an example documentation comment: monster object
type
Monster
struct
{
_tab
flatbuffers
.
Table
...
...
@@ -13,7 +14,7 @@ type Monster struct {
func
GetRootAsMonster
(
buf
[]
byte
,
offset
flatbuffers
.
UOffsetT
)
*
Monster
{
n
:=
flatbuffers
.
GetUOffsetT
(
buf
[
offset
:
])
x
:=
&
Monster
{}
x
.
Init
(
buf
,
n
+
offset
)
x
.
Init
(
buf
,
n
+
offset
)
return
x
}
...
...
@@ -71,7 +72,7 @@ func (rcv *Monster) Inventory(j int) byte {
o
:=
flatbuffers
.
UOffsetT
(
rcv
.
_tab
.
Offset
(
14
))
if
o
!=
0
{
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
}
...
...
@@ -151,7 +152,7 @@ func (rcv *Monster) Testarrayofstring(j int) []byte {
o
:=
flatbuffers
.
UOffsetT
(
rcv
.
_tab
.
Offset
(
24
))
if
o
!=
0
{
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
}
...
...
@@ -208,7 +209,7 @@ func (rcv *Monster) Testnestedflatbuffer(j int) byte {
o
:=
flatbuffers
.
UOffsetT
(
rcv
.
_tab
.
Offset
(
30
))
if
o
!=
0
{
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
}
...
...
@@ -354,7 +355,7 @@ func (rcv *Monster) Testarrayofbools(j int) byte {
o
:=
flatbuffers
.
UOffsetT
(
rcv
.
_tab
.
Offset
(
52
))
if
o
!=
0
{
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
}
...
...
@@ -407,7 +408,7 @@ func (rcv *Monster) Testarrayofstring2(j int) []byte {
o
:=
flatbuffers
.
UOffsetT
(
rcv
.
_tab
.
Offset
(
60
))
if
o
!=
0
{
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
}
...
...
@@ -420,47 +421,114 @@ func (rcv *Monster) Testarrayofstring2Length() int {
return
0
}
func
MonsterStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
29
)
}
func
MonsterAddPos
(
builder
*
flatbuffers
.
Builder
,
pos
flatbuffers
.
UOffsetT
)
{
builder
.
PrependStructSlot
(
0
,
flatbuffers
.
UOffsetT
(
pos
),
0
)
}
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
MonsterAddName
(
builder
*
flatbuffers
.
Builder
,
name
flatbuffers
.
UOffsetT
)
{
builder
.
PrependUOffsetTSlot
(
3
,
flatbuffers
.
UOffsetT
(
name
),
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
MonsterAddColor
(
builder
*
flatbuffers
.
Builder
,
color
int8
)
{
builder
.
PrependInt8Slot
(
6
,
color
,
8
)
}
func
MonsterAddTestType
(
builder
*
flatbuffers
.
Builder
,
testType
byte
)
{
builder
.
PrependByteSlot
(
7
,
testType
,
0
)
}
func
MonsterAddTest
(
builder
*
flatbuffers
.
Builder
,
test
flatbuffers
.
UOffsetT
)
{
builder
.
PrependUOffsetTSlot
(
8
,
flatbuffers
.
UOffsetT
(
test
),
0
)
}
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
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
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
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
()
}
func
MonsterStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
29
)
}
func
MonsterAddPos
(
builder
*
flatbuffers
.
Builder
,
pos
flatbuffers
.
UOffsetT
)
{
builder
.
PrependStructSlot
(
0
,
flatbuffers
.
UOffsetT
(
pos
),
0
)
}
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
MonsterAddName
(
builder
*
flatbuffers
.
Builder
,
name
flatbuffers
.
UOffsetT
)
{
builder
.
PrependUOffsetTSlot
(
3
,
flatbuffers
.
UOffsetT
(
name
),
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
MonsterAddColor
(
builder
*
flatbuffers
.
Builder
,
color
int8
)
{
builder
.
PrependInt8Slot
(
6
,
color
,
8
)
}
func
MonsterAddTestType
(
builder
*
flatbuffers
.
Builder
,
testType
byte
)
{
builder
.
PrependByteSlot
(
7
,
testType
,
0
)
}
func
MonsterAddTest
(
builder
*
flatbuffers
.
Builder
,
test
flatbuffers
.
UOffsetT
)
{
builder
.
PrependUOffsetTSlot
(
8
,
flatbuffers
.
UOffsetT
(
test
),
0
)
}
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
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
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
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
()
}
tests/MyGame/Example/Stat.go
View file @
b36bd67b
...
...
@@ -5,6 +5,7 @@ package Example
import
(
flatbuffers
"github.com/google/flatbuffers/go"
)
type
Stat
struct
{
_tab
flatbuffers
.
Table
}
...
...
@@ -12,7 +13,7 @@ type Stat struct {
func
GetRootAsStat
(
buf
[]
byte
,
offset
flatbuffers
.
UOffsetT
)
*
Stat
{
n
:=
flatbuffers
.
GetUOffsetT
(
buf
[
offset
:
])
x
:=
&
Stat
{}
x
.
Init
(
buf
,
n
+
offset
)
x
.
Init
(
buf
,
n
+
offset
)
return
x
}
...
...
@@ -53,8 +54,18 @@ func (rcv *Stat) MutateCount(n uint16) bool {
return
rcv
.
_tab
.
MutateUint16Slot
(
8
,
n
)
}
func
StatStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
3
)
}
func
StatAddId
(
builder
*
flatbuffers
.
Builder
,
id
flatbuffers
.
UOffsetT
)
{
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
()
}
func
StatStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
3
)
}
func
StatAddId
(
builder
*
flatbuffers
.
Builder
,
id
flatbuffers
.
UOffsetT
)
{
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
()
}
tests/MyGame/Example/Test.go
View file @
b36bd67b
...
...
@@ -5,6 +5,7 @@ package Example
import
(
flatbuffers
"github.com/google/flatbuffers/go"
)
type
Test
struct
{
_tab
flatbuffers
.
Struct
}
...
...
@@ -14,12 +15,19 @@ func (rcv *Test) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv
.
_tab
.
Pos
=
i
}
func
(
rcv
*
Test
)
A
()
int16
{
return
rcv
.
_tab
.
GetInt16
(
rcv
.
_tab
.
Pos
+
flatbuffers
.
UOffsetT
(
0
))
}
func
(
rcv
*
Test
)
MutateA
(
n
int16
)
bool
{
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
(
rcv
*
Test
)
A
()
int16
{
return
rcv
.
_tab
.
GetInt16
(
rcv
.
_tab
.
Pos
+
flatbuffers
.
UOffsetT
(
0
))
}
func
(
rcv
*
Test
)
MutateA
(
n
int16
)
bool
{
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
{
builder
.
Prep
(
2
,
4
)
...
...
tests/MyGame/Example/TestSimpleTableWithEnum.go
View file @
b36bd67b
...
...
@@ -5,6 +5,7 @@ package Example
import
(
flatbuffers
"github.com/google/flatbuffers/go"
)
type
TestSimpleTableWithEnum
struct
{
_tab
flatbuffers
.
Table
}
...
...
@@ -12,7 +13,7 @@ type TestSimpleTableWithEnum struct {
func
GetRootAsTestSimpleTableWithEnum
(
buf
[]
byte
,
offset
flatbuffers
.
UOffsetT
)
*
TestSimpleTableWithEnum
{
n
:=
flatbuffers
.
GetUOffsetT
(
buf
[
offset
:
])
x
:=
&
TestSimpleTableWithEnum
{}
x
.
Init
(
buf
,
n
+
offset
)
x
.
Init
(
buf
,
n
+
offset
)
return
x
}
...
...
@@ -33,6 +34,12 @@ func (rcv *TestSimpleTableWithEnum) MutateColor(n int8) bool {
return
rcv
.
_tab
.
MutateInt8Slot
(
4
,
n
)
}
func
TestSimpleTableWithEnumStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
1
)
}
func
TestSimpleTableWithEnumAddColor
(
builder
*
flatbuffers
.
Builder
,
color
int8
)
{
builder
.
PrependInt8Slot
(
0
,
color
,
2
)
}
func
TestSimpleTableWithEnumEnd
(
builder
*
flatbuffers
.
Builder
)
flatbuffers
.
UOffsetT
{
return
builder
.
EndObject
()
}
func
TestSimpleTableWithEnumStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
1
)
}
func
TestSimpleTableWithEnumAddColor
(
builder
*
flatbuffers
.
Builder
,
color
int8
)
{
builder
.
PrependInt8Slot
(
0
,
color
,
2
)
}
func
TestSimpleTableWithEnumEnd
(
builder
*
flatbuffers
.
Builder
)
flatbuffers
.
UOffsetT
{
return
builder
.
EndObject
()
}
tests/MyGame/Example/Vec3.go
View file @
b36bd67b
...
...
@@ -5,6 +5,7 @@ package Example
import
(
flatbuffers
"github.com/google/flatbuffers/go"
)
type
Vec3
struct
{
_tab
flatbuffers
.
Struct
}
...
...
@@ -14,26 +15,46 @@ func (rcv *Vec3) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv
.
_tab
.
Pos
=
i
}
func
(
rcv
*
Vec3
)
X
()
float32
{
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
)
X
()
float32
{
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
)
MutateY
(
n
float32
)
bool
{
return
rcv
.
_tab
.
MutateFloat32
(
rcv
.
_tab
.
Pos
+
flatbuffers
.
UOffsetT
(
4
),
n
)
}
func
(
rcv
*
Vec3
)
Y
()
float32
{
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
)
MutateZ
(
n
float32
)
bool
{
return
rcv
.
_tab
.
MutateFloat32
(
rcv
.
_tab
.
Pos
+
flatbuffers
.
UOffsetT
(
8
),
n
)
}
func
(
rcv
*
Vec3
)
Z
()
float32
{
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
)
MutateTest1
(
n
float64
)
bool
{
return
rcv
.
_tab
.
MutateFloat64
(
rcv
.
_tab
.
Pos
+
flatbuffers
.
UOffsetT
(
16
),
n
)
}
func
(
rcv
*
Vec3
)
Test1
()
float64
{
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
)
MutateTest2
(
n
int8
)
bool
{
return
rcv
.
_tab
.
MutateInt8
(
rcv
.
_tab
.
Pos
+
flatbuffers
.
UOffsetT
(
24
),
n
)
}
func
(
rcv
*
Vec3
)
Test2
()
int8
{
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
{
if
obj
==
nil
{
obj
=
new
(
Test
)
}
obj
.
Init
(
rcv
.
_tab
.
Bytes
,
rcv
.
_tab
.
Pos
+
26
)
obj
.
Init
(
rcv
.
_tab
.
Bytes
,
rcv
.
_tab
.
Pos
+
26
)
return
obj
}
...
...
tests/MyGame/Example2/Monster.go
View file @
b36bd67b
...
...
@@ -5,6 +5,7 @@ package Example2
import
(
flatbuffers
"github.com/google/flatbuffers/go"
)
type
Monster
struct
{
_tab
flatbuffers
.
Table
}
...
...
@@ -12,7 +13,7 @@ type Monster struct {
func
GetRootAsMonster
(
buf
[]
byte
,
offset
flatbuffers
.
UOffsetT
)
*
Monster
{
n
:=
flatbuffers
.
GetUOffsetT
(
buf
[
offset
:
])
x
:=
&
Monster
{}
x
.
Init
(
buf
,
n
+
offset
)
x
.
Init
(
buf
,
n
+
offset
)
return
x
}
...
...
@@ -21,5 +22,9 @@ func (rcv *Monster) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv
.
_tab
.
Pos
=
i
}
func
MonsterStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
0
)
}
func
MonsterEnd
(
builder
*
flatbuffers
.
Builder
)
flatbuffers
.
UOffsetT
{
return
builder
.
EndObject
()
}
func
MonsterStart
(
builder
*
flatbuffers
.
Builder
)
{
builder
.
StartObject
(
0
)
}
func
MonsterEnd
(
builder
*
flatbuffers
.
Builder
)
flatbuffers
.
UOffsetT
{
return
builder
.
EndObject
()
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment