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

@@ -687,8 +687,24 @@ function mt:NativeInline()
end
end
function mt:LongEnumNonEnumDefault()
local o = self.view:Offset(108)
if o ~= 0 then
return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
end
return 0
end
function mt:LongEnumNormalDefault()
local o = self.view:Offset(110)
if o ~= 0 then
return self.view:Get(flatbuffers.N.Uint64, self.view.pos + o)
end
return 2
end
function Monster.Start(builder)
builder:StartObject(52)
builder:StartObject(54)
end
function Monster.AddPos(builder, pos)
@@ -975,6 +991,14 @@ function Monster.AddNativeInline(builder, nativeInline)
builder:PrependStructSlot(51, nativeInline, 0)
end
function Monster.AddLongEnumNonEnumDefault(builder, longEnumNonEnumDefault)
builder:PrependUint64Slot(52, longEnumNonEnumDefault, 0)
end
function Monster.AddLongEnumNormalDefault(builder, longEnumNormalDefault)
builder:PrependUint64Slot(53, longEnumNormalDefault, 2)
end
function Monster.End(builder)
return builder:EndObject()
end