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
9 years ago
by
Robert
Committed by
GitHub
9 years ago
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
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
269 additions
and
133 deletions
+269
-133
idl_gen_go.cpp
src/idl_gen_go.cpp
+29
-25
GoTest.sh
tests/GoTest.sh
+16
-4
Monster.go
tests/MyGame/Example/Monster.go
+124
-56
Stat.go
tests/MyGame/Example/Stat.go
+17
-6
Test.go
tests/MyGame/Example/Test.go
+18
-10
TestSimpleTableWithEnum.go
tests/MyGame/Example/TestSimpleTableWithEnum.go
+11
-4
Vec3.go
tests/MyGame/Example/Vec3.go
+46
-25
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
;
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
+=
"(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
"
;
}
}
...
...
This diff is collapsed.
Click to expand it.
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
This diff is collapsed.
Click to expand it.
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
}
...
...
@@ -130,9 +131,9 @@ func (rcv *Monster) Test4(obj *Test, j int) bool {
if
o
!=
0
{
x
:=
rcv
.
_tab
.
Vector
(
o
)
x
+=
flatbuffers
.
UOffsetT
(
j
)
*
4
if
obj
==
nil
{
obj
=
new
(
Test
)
}
if
obj
==
nil
{
obj
=
new
(
Test
)
}
obj
.
Init
(
rcv
.
_tab
.
Bytes
,
x
)
return
true
}
...
...
@@ -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
}
...
...
@@ -172,9 +173,9 @@ func (rcv *Monster) Testarrayoftables(obj *Monster, j int) bool {
x
:=
rcv
.
_tab
.
Vector
(
o
)
x
+=
flatbuffers
.
UOffsetT
(
j
)
*
4
x
=
rcv
.
_tab
.
Indirect
(
x
)
if
obj
==
nil
{
obj
=
new
(
Monster
)
}
if
obj
==
nil
{
obj
=
new
(
Monster
)
}
obj
.
Init
(
rcv
.
_tab
.
Bytes
,
x
)
return
true
}
...
...
@@ -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
()
}
This diff is collapsed.
Click to expand it.
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
()
}
This diff is collapsed.
Click to expand it.
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,17 +15,24 @@ 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
)
builder
.
Pad
(
1
)
builder
.
PrependInt8
(
b
)
builder
.
PrependInt16
(
a
)
return
builder
.
Offset
()
builder
.
Prep
(
2
,
4
)
builder
.
Pad
(
1
)
builder
.
PrependInt8
(
b
)
builder
.
PrependInt16
(
a
)
return
builder
.
Offset
()
}
This diff is collapsed.
Click to expand it.
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
()
}
This diff is collapsed.
Click to expand it.
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,42 +15,62 @@ 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
}
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
.
Pad
(
2
)
builder
.
Prep
(
2
,
4
)
builder
.
Pad
(
1
)
builder
.
PrependInt8
(
test3_b
)
builder
.
PrependInt16
(
test3_a
)
builder
.
Pad
(
1
)
builder
.
PrependInt8
(
test2
)
builder
.
PrependFloat64
(
test1
)
builder
.
Pad
(
4
)
builder
.
PrependFloat32
(
z
)
builder
.
PrependFloat32
(
y
)
builder
.
PrependFloat32
(
x
)
return
builder
.
Offset
()
builder
.
Prep
(
16
,
32
)
builder
.
Pad
(
2
)
builder
.
Prep
(
2
,
4
)
builder
.
Pad
(
1
)
builder
.
PrependInt8
(
test3_b
)
builder
.
PrependInt16
(
test3_a
)
builder
.
Pad
(
1
)
builder
.
PrependInt8
(
test2
)
builder
.
PrependFloat64
(
test1
)
builder
.
Pad
(
4
)
builder
.
PrependFloat32
(
z
)
builder
.
PrependFloat32
(
y
)
builder
.
PrependFloat32
(
x
)
return
builder
.
Offset
()
}
This diff is collapsed.
Click to expand it.
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
()
}
This diff is collapsed.
Click to expand it.
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