mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-10 23:17:27 +00:00
Protobufs: Added '--oneof-union' option. (#4647)
* Added '--oneof-union' option. Used with the .proto -> .fbs converter, will translate protobuff oneofs to flatbuffer unions. Updated proto test to check both methods of converting oneofs. * Added '--oneof-union' option. Used with the .proto -> .fbs converter, will translate protobuff oneofs to flatbuffer unions. Updated proto test to check both methods of converting oneofs. * FlatBuffers: Moved MakeCamel() into idl_parser.cpp Removes library dependency on Java/C# generator code.
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
77b458bee5
commit
fb94af8899
@@ -91,13 +91,19 @@ std::string GenerateFBS(const Parser &parser, const std::string &file_name) {
|
||||
EnumDef &enum_def = **enum_def_it;
|
||||
GenNameSpace(*enum_def.defined_namespace, &schema, &last_namespace);
|
||||
GenComment(enum_def.doc_comment, &schema, nullptr);
|
||||
schema += "enum " + enum_def.name + " : ";
|
||||
if (enum_def.is_union)
|
||||
schema += "union " + enum_def.name;
|
||||
else
|
||||
schema += "enum " + enum_def.name + " : ";
|
||||
schema += GenType(enum_def.underlying_type, true) + " {\n";
|
||||
for (auto it = enum_def.vals.vec.begin(); it != enum_def.vals.vec.end();
|
||||
++it) {
|
||||
auto &ev = **it;
|
||||
GenComment(ev.doc_comment, &schema, nullptr, " ");
|
||||
schema += " " + ev.name + " = " + NumToString(ev.value) + ",\n";
|
||||
if (enum_def.is_union)
|
||||
schema += " " + GenType(ev.union_type) + ",\n";
|
||||
else
|
||||
schema += " " + ev.name + " = " + NumToString(ev.value) + ",\n";
|
||||
}
|
||||
schema += "}\n\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user