mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-01 19:58:15 +00:00
[Lobster] support unsigned integer reads
(depends on the latest Lobster version)
This commit is contained in:
@@ -44,7 +44,7 @@ class Monster : flatbuffers_handle
|
||||
def name():
|
||||
return buf_.flatbuffers_field_string(pos_, 10)
|
||||
def inventory(i:int):
|
||||
return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 14) + i * 1)
|
||||
return buf_.read_uint8_le(buf_.flatbuffers_field_vector(pos_, 14) + i * 1)
|
||||
def inventory_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 14)
|
||||
def color():
|
||||
@@ -54,7 +54,7 @@ class Monster : flatbuffers_handle
|
||||
def weapons_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 18)
|
||||
def equipped_type():
|
||||
return Equipment(buf_.flatbuffers_field_int8(pos_, 20, 0))
|
||||
return Equipment(buf_.flatbuffers_field_uint8(pos_, 20, 0))
|
||||
def equipped_as_Weapon():
|
||||
return MyGame_Sample_Weapon { buf_, buf_.flatbuffers_field_table(pos_, 22) }
|
||||
def path(i:int):
|
||||
|
||||
@@ -60,7 +60,10 @@ class LobsterGenerator : public BaseGenerator {
|
||||
|
||||
std::string GenTypeName(const Type &type) {
|
||||
auto bits = NumToString(SizeOf(type.base_type) * 8);
|
||||
if (IsInteger(type.base_type)) return "int" + bits;
|
||||
if (IsInteger(type.base_type)) {
|
||||
if (IsUnsigned(type.base_type)) return "uint" + bits;
|
||||
else return "int" + bits;
|
||||
}
|
||||
if (IsFloat(type.base_type)) return "float" + bits;
|
||||
if (IsString(type)) return "string";
|
||||
if (type.base_type == BASE_TYPE_STRUCT) return "table";
|
||||
|
||||
@@ -114,7 +114,7 @@ def CreateTest(b_:flatbuffers_builder, a:int, b:int):
|
||||
|
||||
class TestSimpleTableWithEnum : flatbuffers_handle
|
||||
def color():
|
||||
return Color(buf_.flatbuffers_field_int8(pos_, 4, 2))
|
||||
return Color(buf_.flatbuffers_field_uint8(pos_, 4, 2))
|
||||
|
||||
def GetRootAsTestSimpleTableWithEnum(buf:string): return TestSimpleTableWithEnum { buf, buf.flatbuffers_indirect(0) }
|
||||
|
||||
@@ -139,7 +139,7 @@ class Vec3 : flatbuffers_handle
|
||||
def test1():
|
||||
return buf_.read_float64_le(pos_ + 16)
|
||||
def test2():
|
||||
return Color(buf_.read_int8_le(pos_ + 24))
|
||||
return Color(buf_.read_uint8_le(pos_ + 24))
|
||||
def test3():
|
||||
return MyGame_Example_Test{ buf_, pos_ + 26 }
|
||||
|
||||
@@ -161,9 +161,9 @@ def CreateVec3(b_:flatbuffers_builder, x:float, y:float, z:float, test1:float, t
|
||||
|
||||
class Ability : flatbuffers_handle
|
||||
def id():
|
||||
return buf_.read_int32_le(pos_ + 0)
|
||||
return buf_.read_uint32_le(pos_ + 0)
|
||||
def distance():
|
||||
return buf_.read_int32_le(pos_ + 4)
|
||||
return buf_.read_uint32_le(pos_ + 4)
|
||||
|
||||
def CreateAbility(b_:flatbuffers_builder, id:int, distance:int):
|
||||
b_.Prep(4, 8)
|
||||
@@ -199,7 +199,7 @@ class Stat : flatbuffers_handle
|
||||
def val():
|
||||
return buf_.flatbuffers_field_int64(pos_, 6, 0)
|
||||
def count():
|
||||
return buf_.flatbuffers_field_int16(pos_, 8, 0)
|
||||
return buf_.flatbuffers_field_uint16(pos_, 8, 0)
|
||||
|
||||
def GetRootAsStat(buf:string): return Stat { buf, buf.flatbuffers_indirect(0) }
|
||||
|
||||
@@ -222,7 +222,7 @@ struct StatBuilder:
|
||||
|
||||
class Referrable : flatbuffers_handle
|
||||
def id():
|
||||
return buf_.flatbuffers_field_int64(pos_, 4, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 4, 0)
|
||||
|
||||
def GetRootAsReferrable(buf:string): return Referrable { buf, buf.flatbuffers_indirect(0) }
|
||||
|
||||
@@ -249,13 +249,13 @@ class Monster : flatbuffers_handle
|
||||
def name():
|
||||
return buf_.flatbuffers_field_string(pos_, 10)
|
||||
def inventory(i:int):
|
||||
return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 14) + i * 1)
|
||||
return buf_.read_uint8_le(buf_.flatbuffers_field_vector(pos_, 14) + i * 1)
|
||||
def inventory_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 14)
|
||||
def color():
|
||||
return Color(buf_.flatbuffers_field_int8(pos_, 16, 8))
|
||||
return Color(buf_.flatbuffers_field_uint8(pos_, 16, 8))
|
||||
def test_type():
|
||||
return Any(buf_.flatbuffers_field_int8(pos_, 18, 0))
|
||||
return Any(buf_.flatbuffers_field_uint8(pos_, 18, 0))
|
||||
def test_as_Monster():
|
||||
return MyGame_Example_Monster { buf_, buf_.flatbuffers_field_table(pos_, 20) }
|
||||
def test_as_TestSimpleTableWithEnum():
|
||||
@@ -280,7 +280,7 @@ class Monster : flatbuffers_handle
|
||||
let o = buf_.flatbuffers_field_table(pos_, 28)
|
||||
return if o: MyGame_Example_Monster { buf_, o } else: nil
|
||||
def testnestedflatbuffer(i:int):
|
||||
return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 30) + i * 1)
|
||||
return buf_.read_uint8_le(buf_.flatbuffers_field_vector(pos_, 30) + i * 1)
|
||||
def testnestedflatbuffer_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 30)
|
||||
def testempty():
|
||||
@@ -291,19 +291,19 @@ class Monster : flatbuffers_handle
|
||||
def testhashs32_fnv1():
|
||||
return buf_.flatbuffers_field_int32(pos_, 36, 0)
|
||||
def testhashu32_fnv1():
|
||||
return buf_.flatbuffers_field_int32(pos_, 38, 0)
|
||||
return buf_.flatbuffers_field_uint32(pos_, 38, 0)
|
||||
def testhashs64_fnv1():
|
||||
return buf_.flatbuffers_field_int64(pos_, 40, 0)
|
||||
def testhashu64_fnv1():
|
||||
return buf_.flatbuffers_field_int64(pos_, 42, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 42, 0)
|
||||
def testhashs32_fnv1a():
|
||||
return buf_.flatbuffers_field_int32(pos_, 44, 0)
|
||||
def testhashu32_fnv1a():
|
||||
return buf_.flatbuffers_field_int32(pos_, 46, 0)
|
||||
return buf_.flatbuffers_field_uint32(pos_, 46, 0)
|
||||
def testhashs64_fnv1a():
|
||||
return buf_.flatbuffers_field_int64(pos_, 48, 0)
|
||||
def testhashu64_fnv1a():
|
||||
return buf_.flatbuffers_field_int64(pos_, 50, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 50, 0)
|
||||
def testarrayofbools(i:int):
|
||||
return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 52) + i * 1)
|
||||
def testarrayofbools_length():
|
||||
@@ -323,7 +323,7 @@ class Monster : flatbuffers_handle
|
||||
def testarrayofsortedstruct_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 62)
|
||||
def flex(i:int):
|
||||
return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 64) + i * 1)
|
||||
return buf_.read_uint8_le(buf_.flatbuffers_field_vector(pos_, 64) + i * 1)
|
||||
def flex_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 64)
|
||||
def test5(i:int):
|
||||
@@ -346,9 +346,9 @@ class Monster : flatbuffers_handle
|
||||
def vector_of_referrables_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 74)
|
||||
def single_weak_reference():
|
||||
return buf_.flatbuffers_field_int64(pos_, 76, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 76, 0)
|
||||
def vector_of_weak_references(i:int):
|
||||
return buf_.read_int64_le(buf_.flatbuffers_field_vector(pos_, 78) + i * 8)
|
||||
return buf_.read_uint64_le(buf_.flatbuffers_field_vector(pos_, 78) + i * 8)
|
||||
def vector_of_weak_references_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 78)
|
||||
def vector_of_strong_referrables(i:int):
|
||||
@@ -356,19 +356,19 @@ class Monster : flatbuffers_handle
|
||||
def vector_of_strong_referrables_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 80)
|
||||
def co_owning_reference():
|
||||
return buf_.flatbuffers_field_int64(pos_, 82, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 82, 0)
|
||||
def vector_of_co_owning_references(i:int):
|
||||
return buf_.read_int64_le(buf_.flatbuffers_field_vector(pos_, 84) + i * 8)
|
||||
return buf_.read_uint64_le(buf_.flatbuffers_field_vector(pos_, 84) + i * 8)
|
||||
def vector_of_co_owning_references_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 84)
|
||||
def non_owning_reference():
|
||||
return buf_.flatbuffers_field_int64(pos_, 86, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 86, 0)
|
||||
def vector_of_non_owning_references(i:int):
|
||||
return buf_.read_int64_le(buf_.flatbuffers_field_vector(pos_, 88) + i * 8)
|
||||
return buf_.read_uint64_le(buf_.flatbuffers_field_vector(pos_, 88) + i * 8)
|
||||
def vector_of_non_owning_references_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 88)
|
||||
def any_unique_type():
|
||||
return AnyUniqueAliases(buf_.flatbuffers_field_int8(pos_, 90, 0))
|
||||
return AnyUniqueAliases(buf_.flatbuffers_field_uint8(pos_, 90, 0))
|
||||
def any_unique_as_M():
|
||||
return MyGame_Example_Monster { buf_, buf_.flatbuffers_field_table(pos_, 92) }
|
||||
def any_unique_as_TS():
|
||||
@@ -376,7 +376,7 @@ class Monster : flatbuffers_handle
|
||||
def any_unique_as_M2():
|
||||
return MyGame_Example2_Monster { buf_, buf_.flatbuffers_field_table(pos_, 92) }
|
||||
def any_ambiguous_type():
|
||||
return AnyAmbiguousAliases(buf_.flatbuffers_field_int8(pos_, 94, 0))
|
||||
return AnyAmbiguousAliases(buf_.flatbuffers_field_uint8(pos_, 94, 0))
|
||||
def any_ambiguous_as_M1():
|
||||
return MyGame_Example_Monster { buf_, buf_.flatbuffers_field_table(pos_, 96) }
|
||||
def any_ambiguous_as_M2():
|
||||
@@ -384,13 +384,13 @@ class Monster : flatbuffers_handle
|
||||
def any_ambiguous_as_M3():
|
||||
return MyGame_Example_Monster { buf_, buf_.flatbuffers_field_table(pos_, 96) }
|
||||
def vector_of_enums(i:int):
|
||||
return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 98) + i * 1)
|
||||
return buf_.read_uint8_le(buf_.flatbuffers_field_vector(pos_, 98) + i * 1)
|
||||
def vector_of_enums_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 98)
|
||||
def signed_enum():
|
||||
return Race(buf_.flatbuffers_field_int8(pos_, 100, -1))
|
||||
def testrequirednestedflatbuffer(i:int):
|
||||
return buf_.read_int8_le(buf_.flatbuffers_field_vector(pos_, 102) + i * 1)
|
||||
return buf_.read_uint8_le(buf_.flatbuffers_field_vector(pos_, 102) + i * 1)
|
||||
def testrequirednestedflatbuffer_length():
|
||||
return buf_.flatbuffers_field_vector_len(pos_, 102)
|
||||
def scalar_key_sorted_tables(i:int):
|
||||
@@ -401,9 +401,9 @@ class Monster : flatbuffers_handle
|
||||
let o = buf_.flatbuffers_field_struct(pos_, 106)
|
||||
return if o: MyGame_Example_Test { buf_, o } else: nil
|
||||
def long_enum_non_enum_default():
|
||||
return LongEnum(buf_.flatbuffers_field_int64(pos_, 108, 0))
|
||||
return LongEnum(buf_.flatbuffers_field_uint64(pos_, 108, 0))
|
||||
def long_enum_normal_default():
|
||||
return LongEnum(buf_.flatbuffers_field_int64(pos_, 110, 2))
|
||||
return LongEnum(buf_.flatbuffers_field_uint64(pos_, 110, 2))
|
||||
|
||||
def GetRootAsMonster(buf:string): return Monster { buf, buf.flatbuffers_indirect(0) }
|
||||
|
||||
@@ -706,19 +706,19 @@ class TypeAliases : flatbuffers_handle
|
||||
def i8():
|
||||
return buf_.flatbuffers_field_int8(pos_, 4, 0)
|
||||
def u8():
|
||||
return buf_.flatbuffers_field_int8(pos_, 6, 0)
|
||||
return buf_.flatbuffers_field_uint8(pos_, 6, 0)
|
||||
def i16():
|
||||
return buf_.flatbuffers_field_int16(pos_, 8, 0)
|
||||
def u16():
|
||||
return buf_.flatbuffers_field_int16(pos_, 10, 0)
|
||||
return buf_.flatbuffers_field_uint16(pos_, 10, 0)
|
||||
def i32():
|
||||
return buf_.flatbuffers_field_int32(pos_, 12, 0)
|
||||
def u32():
|
||||
return buf_.flatbuffers_field_int32(pos_, 14, 0)
|
||||
return buf_.flatbuffers_field_uint32(pos_, 14, 0)
|
||||
def i64():
|
||||
return buf_.flatbuffers_field_int64(pos_, 16, 0)
|
||||
def u64():
|
||||
return buf_.flatbuffers_field_int64(pos_, 18, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 18, 0)
|
||||
def f32():
|
||||
return buf_.flatbuffers_field_float32(pos_, 20, 0.0)
|
||||
def f64():
|
||||
|
||||
@@ -18,11 +18,11 @@ class ScalarStuff : flatbuffers_handle
|
||||
def default_i8():
|
||||
return buf_.flatbuffers_field_int8(pos_, 8, 42)
|
||||
def just_u8():
|
||||
return buf_.flatbuffers_field_int8(pos_, 10, 0)
|
||||
return buf_.flatbuffers_field_uint8(pos_, 10, 0)
|
||||
def maybe_u8():
|
||||
return buf_.flatbuffers_field_int8(pos_, 12, 0), buf_.flatbuffers_field_present(pos_, 12)
|
||||
return buf_.flatbuffers_field_uint8(pos_, 12, 0), buf_.flatbuffers_field_present(pos_, 12)
|
||||
def default_u8():
|
||||
return buf_.flatbuffers_field_int8(pos_, 14, 42)
|
||||
return buf_.flatbuffers_field_uint8(pos_, 14, 42)
|
||||
def just_i16():
|
||||
return buf_.flatbuffers_field_int16(pos_, 16, 0)
|
||||
def maybe_i16():
|
||||
@@ -30,11 +30,11 @@ class ScalarStuff : flatbuffers_handle
|
||||
def default_i16():
|
||||
return buf_.flatbuffers_field_int16(pos_, 20, 42)
|
||||
def just_u16():
|
||||
return buf_.flatbuffers_field_int16(pos_, 22, 0)
|
||||
return buf_.flatbuffers_field_uint16(pos_, 22, 0)
|
||||
def maybe_u16():
|
||||
return buf_.flatbuffers_field_int16(pos_, 24, 0), buf_.flatbuffers_field_present(pos_, 24)
|
||||
return buf_.flatbuffers_field_uint16(pos_, 24, 0), buf_.flatbuffers_field_present(pos_, 24)
|
||||
def default_u16():
|
||||
return buf_.flatbuffers_field_int16(pos_, 26, 42)
|
||||
return buf_.flatbuffers_field_uint16(pos_, 26, 42)
|
||||
def just_i32():
|
||||
return buf_.flatbuffers_field_int32(pos_, 28, 0)
|
||||
def maybe_i32():
|
||||
@@ -42,11 +42,11 @@ class ScalarStuff : flatbuffers_handle
|
||||
def default_i32():
|
||||
return buf_.flatbuffers_field_int32(pos_, 32, 42)
|
||||
def just_u32():
|
||||
return buf_.flatbuffers_field_int32(pos_, 34, 0)
|
||||
return buf_.flatbuffers_field_uint32(pos_, 34, 0)
|
||||
def maybe_u32():
|
||||
return buf_.flatbuffers_field_int32(pos_, 36, 0), buf_.flatbuffers_field_present(pos_, 36)
|
||||
return buf_.flatbuffers_field_uint32(pos_, 36, 0), buf_.flatbuffers_field_present(pos_, 36)
|
||||
def default_u32():
|
||||
return buf_.flatbuffers_field_int32(pos_, 38, 42)
|
||||
return buf_.flatbuffers_field_uint32(pos_, 38, 42)
|
||||
def just_i64():
|
||||
return buf_.flatbuffers_field_int64(pos_, 40, 0)
|
||||
def maybe_i64():
|
||||
@@ -54,11 +54,11 @@ class ScalarStuff : flatbuffers_handle
|
||||
def default_i64():
|
||||
return buf_.flatbuffers_field_int64(pos_, 44, 42)
|
||||
def just_u64():
|
||||
return buf_.flatbuffers_field_int64(pos_, 46, 0)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 46, 0)
|
||||
def maybe_u64():
|
||||
return buf_.flatbuffers_field_int64(pos_, 48, 0), buf_.flatbuffers_field_present(pos_, 48)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 48, 0), buf_.flatbuffers_field_present(pos_, 48)
|
||||
def default_u64():
|
||||
return buf_.flatbuffers_field_int64(pos_, 50, 42)
|
||||
return buf_.flatbuffers_field_uint64(pos_, 50, 42)
|
||||
def just_f32():
|
||||
return buf_.flatbuffers_field_float32(pos_, 52, 0.0)
|
||||
def maybe_f32():
|
||||
|
||||
Reference in New Issue
Block a user