The schema below, when compiled with the options --cpp, --gen-object-api and --cpp-field-case-style upper, generates invalid C++ code.
Affecfted versions: v24.3.25, current master
Schema
table MyUnionContent {
value:uint8;
}
union MyUnion {
content:MyUnionContent,
}
table MyTable {
property:MyUnion;
}
Output
// ...
struct MyTableT : public ::flatbuffers::NativeTable {
typedef MyTable TableType;
MyUnionUnion Property{};
};
// ...
inline void MyTable::UnPackTo(MyTableT *_o, const ::flatbuffers::resolver_function_t *_resolver) const {
(void)_o;
(void)_resolver;
{ auto _e = Property_type(); _o->property.type = _e; }
{ auto _e = Property(); if (_e) _o->Property.value = MyUnionUnion::UnPack(_e, property_type(), _resolver); }
}
// The capitalization of _o->property.type and property_type() is wrong
// ...