mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 04:04:19 +00:00
* Parsing from proto should keep field ID. (fixes #7645) * Fix failed tests * Fix windows warning * Improve attribute generation in proto to fbs * Check if id is used twice. fix Some clang-format problems * Test if fake id can solve the test problem * Validate proto file in proto -> fbs generation. * Fix error messages * Ignore id in union * Add keep proto id for legacy and check gap flag have been added. Reserved id will be checked. * Add needed flags * unit tests * fix fromat problem. fix comments and error messages. * clear * More unit tests * Fix windows build * Fix include problems * Fake commit to invoke rebuild * Fix buzel build * Fix some issues * Fix comments, fix return value and sort for android NDK * Fix return type * Break down big function * Place todo --------- Co-authored-by: Derek Bailey <derekbailey@google.com>
79 lines
1.9 KiB
Protocol Buffer
79 lines
1.9 KiB
Protocol Buffer
// Sample .proto file that we can translate to the corresponding .fbs.
|
|
|
|
option some_option = is_ignored;
|
|
import "imported.proto";
|
|
|
|
package proto.test;
|
|
|
|
/// Enum doc comment.
|
|
enum ProtoEnum {
|
|
option allow_alias = true;
|
|
NUL = 0;
|
|
FOO = 1;
|
|
/// Enum 2nd value doc comment misaligned.
|
|
BAR = 5;
|
|
// Aliases
|
|
FOO_A1 = 1;
|
|
BAR_A1 = 5;
|
|
FOO_A2 = 1;
|
|
}
|
|
|
|
/// 2nd table doc comment with
|
|
/// many lines.
|
|
message ProtoMessage {
|
|
// Ignored non-doc comment.
|
|
// A nested message declaration, will be moved to top level in .fbs
|
|
message OtherMessage {
|
|
reserved 2, 9 to 11, 15;
|
|
optional double a = 26;
|
|
/// doc comment for b.
|
|
optional float b = 32 [default = 3.14149];
|
|
|
|
// Nested enum that aliases the outer one.
|
|
enum ProtoEnum {
|
|
NUL = 0;
|
|
FOO = 1;
|
|
BAR = 2;
|
|
BAZ = 3;
|
|
}
|
|
|
|
optional ProtoEnum foo_bar_baz = 33;
|
|
}
|
|
optional int32 c = 12 [default = 16];
|
|
optional int64 d = 1 [default = 0];
|
|
optional uint32 p = 40;
|
|
optional uint64 e = 2;
|
|
/// doc comment for f.
|
|
optional sint32 f = 3 [default = -1];
|
|
optional sint64 g = 4;
|
|
optional fixed32 h = 5;
|
|
optional fixed64 q = 6;
|
|
optional sfixed32 i = 7;
|
|
optional sfixed64 j = 8;
|
|
/// doc comment for k.
|
|
optional bool k = 9;
|
|
/// doc comment for l on 2
|
|
/// lines
|
|
required string l = 10;
|
|
optional bytes m = 11;
|
|
optional OtherMessage n = 41;
|
|
repeated string o = 14;
|
|
optional ImportedMessage z = 16;
|
|
/// doc comment for r.
|
|
oneof r {
|
|
/// doc comment for s.
|
|
ImportedMessage s = 17;
|
|
/// doc comment for t on 2
|
|
/// lines.
|
|
OtherMessage t = 18;
|
|
}
|
|
optional ProtoEnum outer_enum = 33;
|
|
// Tests that `inf` and `+/-inf` can be parsed in proto options.
|
|
optional float u = 34 [default = inf];
|
|
optional float v = 35 [default = +inf];
|
|
optional float w = 36 [default = -inf];
|
|
|
|
map<string, float> grades = 37;
|
|
map<string, OtherMessage> other_message_map = 38;
|
|
}
|