Fixed missing "f" on float default values in C++/Java/C#

Bug: 28145201
Change-Id: I5a1818c40c2f4fbd00cfec3362040407976f7a39
Tested: on Linux.
parent 4a04bac2
...@@ -275,6 +275,12 @@ static void GenFullyQualifiedNameGetter(const Parser &parser, const std::string& ...@@ -275,6 +275,12 @@ static void GenFullyQualifiedNameGetter(const Parser &parser, const std::string&
} }
} }
std::string GenDefaultConstant(const FieldDef &field) {
return field.value.type.base_type == BASE_TYPE_FLOAT
? field.value.constant + "f"
: field.value.constant;
}
// Generate an accessor struct, builder structs & function for a table. // Generate an accessor struct, builder structs & function for a table.
static void GenTable(const Parser &parser, StructDef &struct_def, static void GenTable(const Parser &parser, StructDef &struct_def,
std::string *code_ptr) { std::string *code_ptr) {
...@@ -331,7 +337,7 @@ static void GenTable(const Parser &parser, StructDef &struct_def, ...@@ -331,7 +337,7 @@ static void GenTable(const Parser &parser, StructDef &struct_def,
">(" + offsetstr; ">(" + offsetstr;
// Default value as second arg for non-pointer types. // Default value as second arg for non-pointer types.
if (IsScalar(field.value.type.base_type)) if (IsScalar(field.value.type.base_type))
call += ", " + field.value.constant; call += ", " + GenDefaultConstant(field);
call += ")"; call += ")";
code += GenUnderlyingCast(field, true, call); code += GenUnderlyingCast(field, true, call);
code += "; }\n"; code += "; }\n";
...@@ -470,7 +476,7 @@ static void GenTable(const Parser &parser, StructDef &struct_def, ...@@ -470,7 +476,7 @@ static void GenTable(const Parser &parser, StructDef &struct_def,
code += "(" + struct_def.name + "::" + GenFieldOffsetName(field) + ", "; code += "(" + struct_def.name + "::" + GenFieldOffsetName(field) + ", ";
code += GenUnderlyingCast(field, false, field.name); code += GenUnderlyingCast(field, false, field.name);
if (IsScalar(field.value.type.base_type)) if (IsScalar(field.value.type.base_type))
code += ", " + field.value.constant; code += ", " + GenDefaultConstant(field);
code += "); }\n"; code += "); }\n";
} }
} }
...@@ -520,7 +526,7 @@ static void GenTable(const Parser &parser, StructDef &struct_def, ...@@ -520,7 +526,7 @@ static void GenTable(const Parser &parser, StructDef &struct_def,
} else if (field.value.type.base_type == BASE_TYPE_BOOL) { } else if (field.value.type.base_type == BASE_TYPE_BOOL) {
code += field.value.constant == "0" ? "false" : "true"; code += field.value.constant == "0" ? "false" : "true";
} else { } else {
code += field.value.constant; code += GenDefaultConstant(field);
} }
} }
} }
......
...@@ -293,7 +293,7 @@ static Type DestinationType(const LanguageParameters &lang, const Parser &parser ...@@ -293,7 +293,7 @@ static Type DestinationType(const LanguageParameters &lang, const Parser &parser
} }
} }
static std::string GenOffsetType(const LanguageParameters &lang, const Parser &parser, static std::string GenOffsetType(const LanguageParameters &lang, const Parser &parser,
const StructDef &struct_def) { const StructDef &struct_def) {
if(lang.language == IDLOptions::kCSharp) { if(lang.language == IDLOptions::kCSharp) {
return "Offset<" + WrapInNameSpace(parser, struct_def) + ">"; return "Offset<" + WrapInNameSpace(parser, struct_def) + ">";
...@@ -428,7 +428,7 @@ static std::string GenEnumDefaultValue(const Parser &parser, const Value &value) ...@@ -428,7 +428,7 @@ static std::string GenEnumDefaultValue(const Parser &parser, const Value &value)
return result; return result;
} }
static std::string GenDefaultValue(const LanguageParameters &lang, const Parser &parser, static std::string GenDefaultValue(const LanguageParameters &lang, const Parser &parser,
const Value &value, bool enableLangOverrides) { const Value &value, bool enableLangOverrides) {
if (enableLangOverrides) { if (enableLangOverrides) {
// handles both enum case and vector of enum case // handles both enum case and vector of enum case
...@@ -438,9 +438,11 @@ static std::string GenDefaultValue(const LanguageParameters &lang, const Parser ...@@ -438,9 +438,11 @@ static std::string GenDefaultValue(const LanguageParameters &lang, const Parser
return GenEnumDefaultValue(parser, value); return GenEnumDefaultValue(parser, value);
} }
} }
return value.type.base_type == BASE_TYPE_BOOL switch (value.type.base_type) {
? (value.constant == "0" ? "false" : "true") case BASE_TYPE_FLOAT: return value.constant + "f";
: value.constant; case BASE_TYPE_BOOL: return value.constant == "0" ? "false" : "true";
default: return value.constant;
}
} }
static std::string GenDefaultValue(const LanguageParameters &lang, const Parser &parser, static std::string GenDefaultValue(const LanguageParameters &lang, const Parser &parser,
...@@ -448,7 +450,7 @@ static std::string GenDefaultValue(const LanguageParameters &lang, const Parser ...@@ -448,7 +450,7 @@ static std::string GenDefaultValue(const LanguageParameters &lang, const Parser
return GenDefaultValue(lang, parser, value, true); return GenDefaultValue(lang, parser, value, true);
} }
static std::string GenDefaultValueBasic(const LanguageParameters &lang, const Parser &parser, static std::string GenDefaultValueBasic(const LanguageParameters &lang, const Parser &parser,
const Value &value, bool enableLangOverrides) { const Value &value, bool enableLangOverrides) {
if (!IsScalar(value.type.base_type)) { if (!IsScalar(value.type.base_type)) {
if (enableLangOverrides) { if (enableLangOverrides) {
...@@ -470,7 +472,7 @@ static std::string GenDefaultValueBasic(const LanguageParameters &lang, const Pa ...@@ -470,7 +472,7 @@ static std::string GenDefaultValueBasic(const LanguageParameters &lang, const Pa
return GenDefaultValue(lang, parser, value, enableLangOverrides); return GenDefaultValue(lang, parser, value, enableLangOverrides);
} }
static std::string GenDefaultValueBasic(const LanguageParameters &lang, const Parser &parser, static std::string GenDefaultValueBasic(const LanguageParameters &lang, const Parser &parser,
const Value &value) { const Value &value) {
return GenDefaultValueBasic(lang, parser, value, true); return GenDefaultValueBasic(lang, parser, value, true);
} }
...@@ -573,7 +575,7 @@ static std::string GenSetter(const LanguageParameters &lang, const Parser &parse ...@@ -573,7 +575,7 @@ static std::string GenSetter(const LanguageParameters &lang, const Parser &parse
const Type &type) { const Type &type) {
if (IsScalar(type.base_type)) { if (IsScalar(type.base_type)) {
std::string setter = "bb." + FunctionStart(lang, 'P') + "ut"; std::string setter = "bb." + FunctionStart(lang, 'P') + "ut";
if (GenTypeBasic(lang, parser, type, false) != "byte" && if (GenTypeBasic(lang, parser, type, false) != "byte" &&
type.base_type != BASE_TYPE_BOOL) { type.base_type != BASE_TYPE_BOOL) {
setter += MakeCamel(GenTypeBasic(lang, parser, type, false)); setter += MakeCamel(GenTypeBasic(lang, parser, type, false));
} }
...@@ -884,27 +886,27 @@ static void GenStruct(const LanguageParameters &lang, const Parser &parser, ...@@ -884,27 +886,27 @@ static void GenStruct(const LanguageParameters &lang, const Parser &parser,
break; break;
} }
} }
// generate object accessors if is nested_flatbuffer // generate object accessors if is nested_flatbuffer
auto nested = field.attributes.Lookup("nested_flatbuffer"); auto nested = field.attributes.Lookup("nested_flatbuffer");
if (nested) { if (nested) {
auto nested_qualified_name = auto nested_qualified_name =
parser.namespaces_.back()->GetFullyQualifiedName(nested->constant); parser.namespaces_.back()->GetFullyQualifiedName(nested->constant);
auto nested_type = parser.structs_.Lookup(nested_qualified_name); auto nested_type = parser.structs_.Lookup(nested_qualified_name);
auto nested_type_name = WrapInNameSpace(parser, *nested_type); auto nested_type_name = WrapInNameSpace(parser, *nested_type);
auto nestedMethodName = MakeCamel(field.name, lang.first_camel_upper) auto nestedMethodName = MakeCamel(field.name, lang.first_camel_upper)
+ "As" + nested_type_name; + "As" + nested_type_name;
auto getNestedMethodName = nestedMethodName; auto getNestedMethodName = nestedMethodName;
if (lang.language == IDLOptions::kCSharp) { if (lang.language == IDLOptions::kCSharp) {
getNestedMethodName = "Get" + nestedMethodName; getNestedMethodName = "Get" + nestedMethodName;
} }
code += " public " + nested_type_name + " "; code += " public " + nested_type_name + " ";
code += nestedMethodName + "() { return "; code += nestedMethodName + "() { return ";
code += getNestedMethodName + "(new " + nested_type_name + "()); }\n"; code += getNestedMethodName + "(new " + nested_type_name + "()); }\n";
code += " public " + nested_type_name + " " + getNestedMethodName; code += " public " + nested_type_name + " " + getNestedMethodName;
code += "(" + nested_type_name + " obj) { "; code += "(" + nested_type_name + " obj) { ";
code += "int o = __offset(" + NumToString(field.value.offset) +"); "; code += "int o = __offset(" + NumToString(field.value.offset) +"); ";
code += "return o != 0 ? obj.__init(__indirect(__vector(o)), bb) : null; }\n"; code += "return o != 0 ? obj.__init(__indirect(__vector(o)), bb) : null; }\n";
} }
// generate mutators for scalar fields or vectors of scalars // generate mutators for scalar fields or vectors of scalars
if (parser.opts.mutable_buffer) { if (parser.opts.mutable_buffer) {
auto underlying_type = field.value.type.base_type == BASE_TYPE_VECTOR auto underlying_type = field.value.type.base_type == BASE_TYPE_VECTOR
......
...@@ -72,8 +72,10 @@ public sealed class Monster : Table { ...@@ -72,8 +72,10 @@ public sealed class Monster : Table {
public int TestarrayofboolsLength { get { int o = __offset(52); return o != 0 ? __vector_len(o) : 0; } } public int TestarrayofboolsLength { get { int o = __offset(52); return o != 0 ? __vector_len(o) : 0; } }
public ArraySegment<byte>? GetTestarrayofboolsBytes() { return __vector_as_arraysegment(52); } public ArraySegment<byte>? GetTestarrayofboolsBytes() { return __vector_as_arraysegment(52); }
public bool MutateTestarrayofbools(int j, bool testarrayofbools) { int o = __offset(52); if (o != 0) { bb.Put(__vector(o) + j * 1, (byte)(testarrayofbools ? 1 : 0)); return true; } else { return false; } } public bool MutateTestarrayofbools(int j, bool testarrayofbools) { int o = __offset(52); if (o != 0) { bb.Put(__vector(o) + j * 1, (byte)(testarrayofbools ? 1 : 0)); return true; } else { return false; } }
public float Testf { get { int o = __offset(54); return o != 0 ? bb.GetFloat(o + bb_pos) : (float)3.14159f; } }
public bool MutateTestf(float testf) { int o = __offset(54); if (o != 0) { bb.PutFloat(o + bb_pos, testf); return true; } else { return false; } }
public static void StartMonster(FlatBufferBuilder builder) { builder.StartObject(25); } public static void StartMonster(FlatBufferBuilder builder) { builder.StartObject(26); }
public static void AddPos(FlatBufferBuilder builder, Offset<Vec3> posOffset) { builder.AddStruct(0, posOffset.Value, 0); } public static void AddPos(FlatBufferBuilder builder, Offset<Vec3> posOffset) { builder.AddStruct(0, posOffset.Value, 0); }
public static void AddMana(FlatBufferBuilder builder, short mana) { builder.AddShort(1, mana, 150); } public static void AddMana(FlatBufferBuilder builder, short mana) { builder.AddShort(1, mana, 150); }
public static void AddHp(FlatBufferBuilder builder, short hp) { builder.AddShort(2, hp, 100); } public static void AddHp(FlatBufferBuilder builder, short hp) { builder.AddShort(2, hp, 100); }
...@@ -109,6 +111,7 @@ public sealed class Monster : Table { ...@@ -109,6 +111,7 @@ public sealed class Monster : Table {
public static void AddTestarrayofbools(FlatBufferBuilder builder, VectorOffset testarrayofboolsOffset) { builder.AddOffset(24, testarrayofboolsOffset.Value, 0); } public static void AddTestarrayofbools(FlatBufferBuilder builder, VectorOffset testarrayofboolsOffset) { builder.AddOffset(24, testarrayofboolsOffset.Value, 0); }
public static VectorOffset CreateTestarrayofboolsVector(FlatBufferBuilder builder, bool[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddBool(data[i]); return builder.EndVector(); } public static VectorOffset CreateTestarrayofboolsVector(FlatBufferBuilder builder, bool[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddBool(data[i]); return builder.EndVector(); }
public static void StartTestarrayofboolsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); } public static void StartTestarrayofboolsVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); }
public static void AddTestf(FlatBufferBuilder builder, float testf) { builder.AddFloat(25, testf, 3.14159f); }
public static Offset<Monster> EndMonster(FlatBufferBuilder builder) { public static Offset<Monster> EndMonster(FlatBufferBuilder builder) {
int o = builder.EndObject(); int o = builder.EndObject();
builder.Required(o, 10); // name builder.Required(o, 10); // name
......
...@@ -313,7 +313,15 @@ func (rcv *Monster) TestarrayofboolsLength() int { ...@@ -313,7 +313,15 @@ func (rcv *Monster) TestarrayofboolsLength() int {
return 0 return 0
} }
func MonsterStart(builder *flatbuffers.Builder) { builder.StartObject(25) } func (rcv *Monster) Testf() float32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(54))
if o != 0 {
return rcv._tab.GetFloat32(o + rcv._tab.Pos)
}
return 3.14159
}
func MonsterStart(builder *flatbuffers.Builder) { builder.StartObject(26) }
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) { builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0) } func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) { builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0) }
func MonsterAddMana(builder *flatbuffers.Builder, mana int16) { builder.PrependInt16Slot(1, mana, 150) } func MonsterAddMana(builder *flatbuffers.Builder, mana int16) { builder.PrependInt16Slot(1, mana, 150) }
func MonsterAddHp(builder *flatbuffers.Builder, hp int16) { builder.PrependInt16Slot(2, hp, 100) } func MonsterAddHp(builder *flatbuffers.Builder, hp int16) { builder.PrependInt16Slot(2, hp, 100) }
...@@ -350,4 +358,5 @@ func MonsterAddTesthashu64Fnv1a(builder *flatbuffers.Builder, testhashu64Fnv1a u ...@@ -350,4 +358,5 @@ func MonsterAddTesthashu64Fnv1a(builder *flatbuffers.Builder, testhashu64Fnv1a u
func MonsterAddTestarrayofbools(builder *flatbuffers.Builder, testarrayofbools flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(24, flatbuffers.UOffsetT(testarrayofbools), 0) } func MonsterAddTestarrayofbools(builder *flatbuffers.Builder, testarrayofbools flatbuffers.UOffsetT) { builder.PrependUOffsetTSlot(24, flatbuffers.UOffsetT(testarrayofbools), 0) }
func MonsterStartTestarrayofboolsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(1, numElems, 1) func MonsterStartTestarrayofboolsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT { return builder.StartVector(1, numElems, 1)
} }
func MonsterAddTestf(builder *flatbuffers.Builder, testf float32) { builder.PrependFloat32Slot(25, testf, 3.14159) }
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() } func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { return builder.EndObject() }
...@@ -78,8 +78,10 @@ public final class Monster extends Table { ...@@ -78,8 +78,10 @@ public final class Monster extends Table {
public int testarrayofboolsLength() { int o = __offset(52); return o != 0 ? __vector_len(o) : 0; } public int testarrayofboolsLength() { int o = __offset(52); return o != 0 ? __vector_len(o) : 0; }
public ByteBuffer testarrayofboolsAsByteBuffer() { return __vector_as_bytebuffer(52, 1); } public ByteBuffer testarrayofboolsAsByteBuffer() { return __vector_as_bytebuffer(52, 1); }
public boolean mutateTestarrayofbools(int j, boolean testarrayofbools) { int o = __offset(52); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)(testarrayofbools ? 1 : 0)); return true; } else { return false; } } public boolean mutateTestarrayofbools(int j, boolean testarrayofbools) { int o = __offset(52); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)(testarrayofbools ? 1 : 0)); return true; } else { return false; } }
public float testf() { int o = __offset(54); return o != 0 ? bb.getFloat(o + bb_pos) : 3.14159f; }
public boolean mutateTestf(float testf) { int o = __offset(54); if (o != 0) { bb.putFloat(o + bb_pos, testf); return true; } else { return false; } }
public static void startMonster(FlatBufferBuilder builder) { builder.startObject(25); } public static void startMonster(FlatBufferBuilder builder) { builder.startObject(26); }
public static void addPos(FlatBufferBuilder builder, int posOffset) { builder.addStruct(0, posOffset, 0); } public static void addPos(FlatBufferBuilder builder, int posOffset) { builder.addStruct(0, posOffset, 0); }
public static void addMana(FlatBufferBuilder builder, short mana) { builder.addShort(1, mana, 150); } public static void addMana(FlatBufferBuilder builder, short mana) { builder.addShort(1, mana, 150); }
public static void addHp(FlatBufferBuilder builder, short hp) { builder.addShort(2, hp, 100); } public static void addHp(FlatBufferBuilder builder, short hp) { builder.addShort(2, hp, 100); }
...@@ -115,6 +117,7 @@ public final class Monster extends Table { ...@@ -115,6 +117,7 @@ public final class Monster extends Table {
public static void addTestarrayofbools(FlatBufferBuilder builder, int testarrayofboolsOffset) { builder.addOffset(24, testarrayofboolsOffset, 0); } public static void addTestarrayofbools(FlatBufferBuilder builder, int testarrayofboolsOffset) { builder.addOffset(24, testarrayofboolsOffset, 0); }
public static int createTestarrayofboolsVector(FlatBufferBuilder builder, boolean[] data) { builder.startVector(1, data.length, 1); for (int i = data.length - 1; i >= 0; i--) builder.addBoolean(data[i]); return builder.endVector(); } public static int createTestarrayofboolsVector(FlatBufferBuilder builder, boolean[] data) { builder.startVector(1, data.length, 1); for (int i = data.length - 1; i >= 0; i--) builder.addBoolean(data[i]); return builder.endVector(); }
public static void startTestarrayofboolsVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); } public static void startTestarrayofboolsVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
public static void addTestf(FlatBufferBuilder builder, float testf) { builder.addFloat(25, testf, 3.14159f); }
public static int endMonster(FlatBufferBuilder builder) { public static int endMonster(FlatBufferBuilder builder) {
int o = builder.endObject(); int o = builder.endObject();
builder.required(o, 10); // name builder.required(o, 10); // name
......
...@@ -333,22 +333,31 @@ class Monster extends Table ...@@ -333,22 +333,31 @@ class Monster extends Table
return $o != 0 ? $this->__vector_len($o) : 0; return $o != 0 ? $this->__vector_len($o) : 0;
} }
/**
* @return float
*/
public function getTestf()
{
$o = $this->__offset(54);
return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : 3.14159;
}
/** /**
* @param FlatBufferBuilder $builder * @param FlatBufferBuilder $builder
* @return void * @return void
*/ */
public static function startMonster(FlatBufferBuilder $builder) public static function startMonster(FlatBufferBuilder $builder)
{ {
$builder->StartObject(25); $builder->StartObject(26);
} }
/** /**
* @param FlatBufferBuilder $builder * @param FlatBufferBuilder $builder
* @return Monster * @return Monster
*/ */
public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $hp, $name, $inventory, $color, $test_type, $test, $test4, $testarrayofstring, $testarrayoftables, $enemy, $testnestedflatbuffer, $testempty, $testbool, $testhashs32_fnv1, $testhashu32_fnv1, $testhashs64_fnv1, $testhashu64_fnv1, $testhashs32_fnv1a, $testhashu32_fnv1a, $testhashs64_fnv1a, $testhashu64_fnv1a, $testarrayofbools) public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $hp, $name, $inventory, $color, $test_type, $test, $test4, $testarrayofstring, $testarrayoftables, $enemy, $testnestedflatbuffer, $testempty, $testbool, $testhashs32_fnv1, $testhashu32_fnv1, $testhashs64_fnv1, $testhashu64_fnv1, $testhashs32_fnv1a, $testhashu32_fnv1a, $testhashs64_fnv1a, $testhashu64_fnv1a, $testarrayofbools, $testf)
{ {
$builder->startObject(25); $builder->startObject(26);
self::addPos($builder, $pos); self::addPos($builder, $pos);
self::addMana($builder, $mana); self::addMana($builder, $mana);
self::addHp($builder, $hp); self::addHp($builder, $hp);
...@@ -373,6 +382,7 @@ class Monster extends Table ...@@ -373,6 +382,7 @@ class Monster extends Table
self::addTesthashs64Fnv1a($builder, $testhashs64_fnv1a); self::addTesthashs64Fnv1a($builder, $testhashs64_fnv1a);
self::addTesthashu64Fnv1a($builder, $testhashu64_fnv1a); self::addTesthashu64Fnv1a($builder, $testhashu64_fnv1a);
self::addTestarrayofbools($builder, $testarrayofbools); self::addTestarrayofbools($builder, $testarrayofbools);
self::addTestf($builder, $testf);
$o = $builder->endObject(); $o = $builder->endObject();
$builder->required($o, 10); // name $builder->required($o, 10); // name
return $o; return $o;
...@@ -757,6 +767,16 @@ class Monster extends Table ...@@ -757,6 +767,16 @@ class Monster extends Table
$builder->startVector(1, $numElems, 1); $builder->startVector(1, $numElems, 1);
} }
/**
* @param FlatBufferBuilder $builder
* @param float
* @return void
*/
public static function addTestf(FlatBufferBuilder $builder, $testf)
{
$builder->addFloatX(25, $testf, 3.14159);
}
/** /**
* @param FlatBufferBuilder $builder * @param FlatBufferBuilder $builder
* @return int table offset * @return int table offset
......
...@@ -262,7 +262,14 @@ class Monster(object): ...@@ -262,7 +262,14 @@ class Monster(object):
return self._tab.VectorLen(o) return self._tab.VectorLen(o)
return 0 return 0
def MonsterStart(builder): builder.StartObject(25) # Monster
def Testf(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(54))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
return 3.14159
def MonsterStart(builder): builder.StartObject(26)
def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0) def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0)
def MonsterAddMana(builder, mana): builder.PrependInt16Slot(1, mana, 150) def MonsterAddMana(builder, mana): builder.PrependInt16Slot(1, mana, 150)
def MonsterAddHp(builder, hp): builder.PrependInt16Slot(2, hp, 100) def MonsterAddHp(builder, hp): builder.PrependInt16Slot(2, hp, 100)
...@@ -293,4 +300,5 @@ def MonsterAddTesthashs64Fnv1a(builder, testhashs64Fnv1a): builder.PrependInt64S ...@@ -293,4 +300,5 @@ def MonsterAddTesthashs64Fnv1a(builder, testhashs64Fnv1a): builder.PrependInt64S
def MonsterAddTesthashu64Fnv1a(builder, testhashu64Fnv1a): builder.PrependUint64Slot(23, testhashu64Fnv1a, 0) def MonsterAddTesthashu64Fnv1a(builder, testhashu64Fnv1a): builder.PrependUint64Slot(23, testhashu64Fnv1a, 0)
def MonsterAddTestarrayofbools(builder, testarrayofbools): builder.PrependUOffsetTRelativeSlot(24, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofbools), 0) def MonsterAddTestarrayofbools(builder, testarrayofbools): builder.PrependUOffsetTRelativeSlot(24, flatbuffers.number_types.UOffsetTFlags.py_type(testarrayofbools), 0)
def MonsterStartTestarrayofboolsVector(builder, numElems): return builder.StartVector(1, numElems, 1) def MonsterStartTestarrayofboolsVector(builder, numElems): return builder.StartVector(1, numElems, 1)
def MonsterAddTestf(builder, testf): builder.PrependFloat32Slot(25, testf, 3.14159)
def MonsterEnd(builder): return builder.EndObject() def MonsterEnd(builder): return builder.EndObject()
No preview for this file type
...@@ -59,6 +59,7 @@ table Monster { ...@@ -59,6 +59,7 @@ table Monster {
testhashu32_fnv1a:uint (id:21, hash:"fnv1a_32"); testhashu32_fnv1a:uint (id:21, hash:"fnv1a_32");
testhashs64_fnv1a:long (id:22, hash:"fnv1a_64"); testhashs64_fnv1a:long (id:22, hash:"fnv1a_64");
testhashu64_fnv1a:ulong (id:23, hash:"fnv1a_64"); testhashu64_fnv1a:ulong (id:23, hash:"fnv1a_64");
testf:float = 3.14159 (id:25);
} }
rpc_service MonsterStorage { rpc_service MonsterStorage {
......
...@@ -203,7 +203,8 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { ...@@ -203,7 +203,8 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VT_TESTHASHU32_FNV1A = 46, VT_TESTHASHU32_FNV1A = 46,
VT_TESTHASHS64_FNV1A = 48, VT_TESTHASHS64_FNV1A = 48,
VT_TESTHASHU64_FNV1A = 50, VT_TESTHASHU64_FNV1A = 50,
VT_TESTARRAYOFBOOLS = 52 VT_TESTARRAYOFBOOLS = 52,
VT_TESTF = 54
}; };
const Vec3 *pos() const { return GetStruct<const Vec3 *>(VT_POS); } const Vec3 *pos() const { return GetStruct<const Vec3 *>(VT_POS); }
Vec3 *mutable_pos() { return GetStruct<Vec3 *>(VT_POS); } Vec3 *mutable_pos() { return GetStruct<Vec3 *>(VT_POS); }
...@@ -258,6 +259,8 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { ...@@ -258,6 +259,8 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
bool mutate_testhashu64_fnv1a(uint64_t _testhashu64_fnv1a) { return SetField(VT_TESTHASHU64_FNV1A, _testhashu64_fnv1a); } bool mutate_testhashu64_fnv1a(uint64_t _testhashu64_fnv1a) { return SetField(VT_TESTHASHU64_FNV1A, _testhashu64_fnv1a); }
const flatbuffers::Vector<uint8_t> *testarrayofbools() const { return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_TESTARRAYOFBOOLS); } const flatbuffers::Vector<uint8_t> *testarrayofbools() const { return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_TESTARRAYOFBOOLS); }
flatbuffers::Vector<uint8_t> *mutable_testarrayofbools() { return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_TESTARRAYOFBOOLS); } flatbuffers::Vector<uint8_t> *mutable_testarrayofbools() { return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_TESTARRAYOFBOOLS); }
float testf() const { return GetField<float>(VT_TESTF, 3.14159f); }
bool mutate_testf(float _testf) { return SetField(VT_TESTF, _testf); }
bool Verify(flatbuffers::Verifier &verifier) const { bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) && return VerifyTableStart(verifier) &&
VerifyField<Vec3>(verifier, VT_POS) && VerifyField<Vec3>(verifier, VT_POS) &&
...@@ -296,6 +299,7 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { ...@@ -296,6 +299,7 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
VerifyField<uint64_t>(verifier, VT_TESTHASHU64_FNV1A) && VerifyField<uint64_t>(verifier, VT_TESTHASHU64_FNV1A) &&
VerifyField<flatbuffers::uoffset_t>(verifier, VT_TESTARRAYOFBOOLS) && VerifyField<flatbuffers::uoffset_t>(verifier, VT_TESTARRAYOFBOOLS) &&
verifier.Verify(testarrayofbools()) && verifier.Verify(testarrayofbools()) &&
VerifyField<float>(verifier, VT_TESTF) &&
verifier.EndTable(); verifier.EndTable();
} }
}; };
...@@ -327,10 +331,11 @@ struct MonsterBuilder { ...@@ -327,10 +331,11 @@ struct MonsterBuilder {
void add_testhashs64_fnv1a(int64_t testhashs64_fnv1a) { fbb_.AddElement<int64_t>(Monster::VT_TESTHASHS64_FNV1A, testhashs64_fnv1a, 0); } void add_testhashs64_fnv1a(int64_t testhashs64_fnv1a) { fbb_.AddElement<int64_t>(Monster::VT_TESTHASHS64_FNV1A, testhashs64_fnv1a, 0); }
void add_testhashu64_fnv1a(uint64_t testhashu64_fnv1a) { fbb_.AddElement<uint64_t>(Monster::VT_TESTHASHU64_FNV1A, testhashu64_fnv1a, 0); } void add_testhashu64_fnv1a(uint64_t testhashu64_fnv1a) { fbb_.AddElement<uint64_t>(Monster::VT_TESTHASHU64_FNV1A, testhashu64_fnv1a, 0); }
void add_testarrayofbools(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> testarrayofbools) { fbb_.AddOffset(Monster::VT_TESTARRAYOFBOOLS, testarrayofbools); } void add_testarrayofbools(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> testarrayofbools) { fbb_.AddOffset(Monster::VT_TESTARRAYOFBOOLS, testarrayofbools); }
void add_testf(float testf) { fbb_.AddElement<float>(Monster::VT_TESTF, testf, 3.14159f); }
MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); }
MonsterBuilder &operator=(const MonsterBuilder &); MonsterBuilder &operator=(const MonsterBuilder &);
flatbuffers::Offset<Monster> Finish() { flatbuffers::Offset<Monster> Finish() {
auto o = flatbuffers::Offset<Monster>(fbb_.EndTable(start_, 25)); auto o = flatbuffers::Offset<Monster>(fbb_.EndTable(start_, 26));
fbb_.Required(o, Monster::VT_NAME); // name fbb_.Required(o, Monster::VT_NAME); // name
return o; return o;
} }
...@@ -360,12 +365,14 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder ...@@ -360,12 +365,14 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder
uint32_t testhashu32_fnv1a = 0, uint32_t testhashu32_fnv1a = 0,
int64_t testhashs64_fnv1a = 0, int64_t testhashs64_fnv1a = 0,
uint64_t testhashu64_fnv1a = 0, uint64_t testhashu64_fnv1a = 0,
flatbuffers::Offset<flatbuffers::Vector<uint8_t>> testarrayofbools = 0) { flatbuffers::Offset<flatbuffers::Vector<uint8_t>> testarrayofbools = 0,
float testf = 3.14159f) {
MonsterBuilder builder_(_fbb); MonsterBuilder builder_(_fbb);
builder_.add_testhashu64_fnv1a(testhashu64_fnv1a); builder_.add_testhashu64_fnv1a(testhashu64_fnv1a);
builder_.add_testhashs64_fnv1a(testhashs64_fnv1a); builder_.add_testhashs64_fnv1a(testhashs64_fnv1a);
builder_.add_testhashu64_fnv1(testhashu64_fnv1); builder_.add_testhashu64_fnv1(testhashu64_fnv1);
builder_.add_testhashs64_fnv1(testhashs64_fnv1); builder_.add_testhashs64_fnv1(testhashs64_fnv1);
builder_.add_testf(testf);
builder_.add_testarrayofbools(testarrayofbools); builder_.add_testarrayofbools(testarrayofbools);
builder_.add_testhashu32_fnv1a(testhashu32_fnv1a); builder_.add_testhashu32_fnv1a(testhashu32_fnv1a);
builder_.add_testhashs32_fnv1a(testhashs32_fnv1a); builder_.add_testhashs32_fnv1a(testhashs32_fnv1a);
......
...@@ -677,11 +677,19 @@ MyGame.Example.Monster.prototype.testarrayofboolsArray = function() { ...@@ -677,11 +677,19 @@ MyGame.Example.Monster.prototype.testarrayofboolsArray = function() {
return offset ? new Int8Array(this.bb.bytes().buffer, this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null; return offset ? new Int8Array(this.bb.bytes().buffer, this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
}; };
/**
* @returns {number}
*/
MyGame.Example.Monster.prototype.testf = function() {
var offset = this.bb.__offset(this.bb_pos, 54);
return offset ? this.bb.readFloat32(this.bb_pos + offset) : 3.14159;
};
/** /**
* @param {flatbuffers.Builder} builder * @param {flatbuffers.Builder} builder
*/ */
MyGame.Example.Monster.startMonster = function(builder) { MyGame.Example.Monster.startMonster = function(builder) {
builder.startObject(25); builder.startObject(26);
}; };
/** /**
...@@ -989,6 +997,14 @@ MyGame.Example.Monster.startTestarrayofboolsVector = function(builder, numElems) ...@@ -989,6 +997,14 @@ MyGame.Example.Monster.startTestarrayofboolsVector = function(builder, numElems)
builder.startVector(1, numElems, 1); builder.startVector(1, numElems, 1);
}; };
/**
* @param {flatbuffers.Builder} builder
* @param {number} testf
*/
MyGame.Example.Monster.addTestf = function(builder, testf) {
builder.addFieldFloat32(25, testf, 3.14159);
};
/** /**
* @param {flatbuffers.Builder} builder * @param {flatbuffers.Builder} builder
* @returns {flatbuffers.Offset} * @returns {flatbuffers.Offset}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment