Fix 64-bit numeric enum values in typescript (#7135)

* Fix 64-bit default numeric enum values in typescript

If you had a default value that wasn't a valid enum value (e.g., a zero
if you used a bit_flag setting, like you get with AdvancedFeatures
in reflection.fbs), we weren't using BigInt.

* Run generate_code.py

* [DART] Handle deprecated fields & invalid enum defaults

* Update .NET test
This commit is contained in:
James Kuszmaul
2022-03-04 21:57:48 -08:00
committed by GitHub
parent 1a4c405662
commit 9ed1323044
39 changed files with 1342 additions and 275 deletions

View File

@@ -842,6 +842,34 @@ class Monster : Table() {
null
}
}
val longEnumNonEnumDefault : ULong
get() {
val o = __offset(108)
return if(o != 0) bb.getLong(o + bb_pos).toULong() else 0UL
}
fun mutateLongEnumNonEnumDefault(longEnumNonEnumDefault: ULong) : Boolean {
val o = __offset(108)
return if (o != 0) {
bb.putLong(o + bb_pos, longEnumNonEnumDefault.toLong())
true
} else {
false
}
}
val longEnumNormalDefault : ULong
get() {
val o = __offset(110)
return if(o != 0) bb.getLong(o + bb_pos).toULong() else 2UL
}
fun mutateLongEnumNormalDefault(longEnumNormalDefault: ULong) : Boolean {
val o = __offset(110)
return if (o != 0) {
bb.putLong(o + bb_pos, longEnumNormalDefault.toLong())
true
} else {
false
}
}
override fun keysCompare(o1: Int, o2: Int, _bb: ByteBuffer) : Int {
return compareStrings(__offset(10, o1, _bb), __offset(10, o2, _bb), _bb)
}
@@ -853,7 +881,7 @@ class Monster : Table() {
return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
}
fun MonsterBufferHasIdentifier(_bb: ByteBuffer) : Boolean = __has_identifier(_bb, "MONS")
fun startMonster(builder: FlatBufferBuilder) = builder.startTable(52)
fun startMonster(builder: FlatBufferBuilder) = builder.startTable(54)
fun addPos(builder: FlatBufferBuilder, pos: Int) = builder.addStruct(0, pos, 0)
fun addMana(builder: FlatBufferBuilder, mana: Short) = builder.addShort(1, mana, 150)
fun addHp(builder: FlatBufferBuilder, hp: Short) = builder.addShort(2, hp, 100)
@@ -1044,6 +1072,8 @@ class Monster : Table() {
}
fun startScalarKeySortedTablesVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(4, numElems, 4)
fun addNativeInline(builder: FlatBufferBuilder, nativeInline: Int) = builder.addStruct(51, nativeInline, 0)
fun addLongEnumNonEnumDefault(builder: FlatBufferBuilder, longEnumNonEnumDefault: ULong) = builder.addLong(52, longEnumNonEnumDefault.toLong(), 0)
fun addLongEnumNormalDefault(builder: FlatBufferBuilder, longEnumNormalDefault: ULong) = builder.addLong(53, longEnumNormalDefault.toLong(), 2)
fun endMonster(builder: FlatBufferBuilder) : Int {
val o = builder.endTable()
builder.required(o, 10)