mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-09 22:56:27 +00:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user