Commit 09dea79a authored by ll-antn's avatar ll-antn Committed by Wouter van Oortmerssen

Support nested_flatbuffer attribute when parsing bfbs schema (#5448)

parent b632061e
......@@ -3131,7 +3131,7 @@ Offset<reflection::Field> FieldDef::Serialize(FlatBufferBuilder *builder,
}
bool FieldDef::Deserialize(Parser &parser, const reflection::Field *field) {
name = parser.UnqualifiedName(field->name()->str());
name = field->name()->str();
defined_namespace = parser.current_namespace_;
if (!value.type.Deserialize(parser, field->type()))
return false;
......@@ -3158,6 +3158,12 @@ bool FieldDef::Deserialize(Parser &parser, const reflection::Field *field) {
value.type.element != BASE_TYPE_UCHAR)
return false;
}
if (auto nested = attributes.Lookup("nested_flatbuffer")) {
auto nested_qualified_name =
parser.current_namespace_->GetFullyQualifiedName(nested->constant);
nested_flatbuffer = parser.LookupStruct(nested_qualified_name);
if (!nested_flatbuffer) return false;
}
DeserializeDoc(doc_comment, field->documentation());
return true;
}
......
......@@ -56,6 +56,9 @@
name: "Wilma"
}
],
testnestedflatbuffer: {
name: "NestedMonster"
},
testbool: true,
testhashs32_fnv1: -579221183,
testhashu32_fnv1: 3715746113,
......
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