Fixed vectors of enums in object API serialized incorrectly.

And also added tests for them.

Change-Id: I91af1904105435601287291412e82d5066f476a5
Tested: on Linux.
This commit is contained in:
Wouter van Oortmerssen
2018-11-05 14:33:36 -08:00
parent 21591916af
commit 980a6d66d3
18 changed files with 368 additions and 27 deletions

View File

@@ -1679,11 +1679,36 @@ anyAmbiguous<T extends flatbuffers.Table>(obj:T):T|null {
return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null;
};
/**
* @param number index
* @returns MyGame.Example.Color
*/
vectorOfEnums(index: number):MyGame.Example.Color|null {
var offset = this.bb!.__offset(this.bb_pos, 98);
return offset ? /** */ (this.bb!.readInt8(this.bb!.__vector(this.bb_pos + offset) + index)) : /** */ (0);
};
/**
* @returns number
*/
vectorOfEnumsLength():number {
var offset = this.bb!.__offset(this.bb_pos, 98);
return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
};
/**
* @returns Int8Array
*/
vectorOfEnumsArray():Int8Array|null {
var offset = this.bb!.__offset(this.bb_pos, 98);
return offset ? new Int8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;
};
/**
* @param flatbuffers.Builder builder
*/
static startMonster(builder:flatbuffers.Builder) {
builder.startObject(47);
builder.startObject(48);
};
/**
@@ -2372,6 +2397,35 @@ static addAnyAmbiguous(builder:flatbuffers.Builder, anyAmbiguousOffset:flatbuffe
builder.addFieldOffset(46, anyAmbiguousOffset, 0);
};
/**
* @param flatbuffers.Builder builder
* @param flatbuffers.Offset vectorOfEnumsOffset
*/
static addVectorOfEnums(builder:flatbuffers.Builder, vectorOfEnumsOffset:flatbuffers.Offset) {
builder.addFieldOffset(47, vectorOfEnumsOffset, 0);
};
/**
* @param flatbuffers.Builder builder
* @param Array.<MyGame.Example.Color> data
* @returns flatbuffers.Offset
*/
static createVectorOfEnumsVector(builder:flatbuffers.Builder, data:MyGame.Example.Color[]):flatbuffers.Offset {
builder.startVector(1, data.length, 1);
for (var i = data.length - 1; i >= 0; i--) {
builder.addInt8(data[i]);
}
return builder.endVector();
};
/**
* @param flatbuffers.Builder builder
* @param number numElems
*/
static startVectorOfEnumsVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(1, numElems, 1);
};
/**
* @param flatbuffers.Builder builder
* @returns flatbuffers.Offset