Test case for CreateVectorOfStructs() using a callback.

Fixes issue #4392, also fixed C++98 compatible code generation in tests.

Change-Id: Ia5833026e615ad19d24a0439bdba2e3b45c5f86c
This commit is contained in:
Stewart Miles
2017-07-24 14:11:59 -07:00
parent d6f14b704f
commit f064a6cc60
21 changed files with 284 additions and 43 deletions

View File

@@ -463,8 +463,27 @@ func (rcv *Monster) FlexBytes() []byte {
return nil
}
func (rcv *Monster) Test5(obj *Test, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(66))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *Monster) Test5Length() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(66))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func MonsterStart(builder *flatbuffers.Builder) {
builder.StartObject(31)
builder.StartObject(32)
}
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) {
builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0)
@@ -583,6 +602,12 @@ func MonsterAddFlex(builder *flatbuffers.Builder, flex flatbuffers.UOffsetT) {
func MonsterStartFlexVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(1, numElems, 1)
}
func MonsterAddTest5(builder *flatbuffers.Builder, test5 flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(31, flatbuffers.UOffsetT(test5), 0)
}
func MonsterStartTest5Vector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 2)
}
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}