mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-20 14:15:05 +00:00
Optionally generate Python type annotations (#7858)
* optionally generate type prefixes and suffixes for python code * fix codegen error when qualified name is empty * WIP: Python typing * more progress towards python typing * Further iterate on Python generated code typing * clang-format * Regenerate code * add documentation for Python type annotations option * generate code with Python type annotations * handle forward references * clang-format
This commit is contained in:
85
tests/test.fbs
Normal file
85
tests/test.fbs
Normal file
@@ -0,0 +1,85 @@
|
||||
// Generated from test.proto
|
||||
|
||||
include "imported.fbs";
|
||||
|
||||
namespace proto.test;
|
||||
|
||||
/// Enum doc comment.
|
||||
enum ProtoEnum : int {
|
||||
NUL = 0,
|
||||
FOO = 1,
|
||||
/// Enum 2nd value doc comment misaligned.
|
||||
BAR = 5,
|
||||
}
|
||||
|
||||
namespace proto.test.ProtoMessage_.OtherMessage_;
|
||||
|
||||
enum ProtoEnum : int {
|
||||
NUL = 0,
|
||||
FOO = 1,
|
||||
BAR = 2,
|
||||
BAZ = 3,
|
||||
}
|
||||
|
||||
namespace proto.test;
|
||||
|
||||
/// 2nd table doc comment with
|
||||
/// many lines.
|
||||
table ProtoMessage {
|
||||
c:int = 16;
|
||||
d:long;
|
||||
p:uint;
|
||||
e:ulong;
|
||||
/// doc comment for f.
|
||||
f:int = -1;
|
||||
g:long;
|
||||
h:uint;
|
||||
q:ulong;
|
||||
i:int;
|
||||
j:long;
|
||||
/// doc comment for k.
|
||||
k:bool;
|
||||
/// doc comment for l on 2
|
||||
/// lines
|
||||
l:string (required);
|
||||
m:[ubyte];
|
||||
n:proto.test.ProtoMessage_.OtherMessage;
|
||||
o:[string];
|
||||
z:proto.test.ImportedMessage;
|
||||
/// doc comment for r.
|
||||
r:proto.test.ProtoMessage_.Anonymous0;
|
||||
outer_enum:proto.test.ProtoEnum;
|
||||
u:float = +inf;
|
||||
v:float = +inf;
|
||||
w:float = -inf;
|
||||
grades:[proto.test.ProtoMessage_.GradesEntry];
|
||||
other_message_map:[proto.test.ProtoMessage_.OtherMessageMapEntry];
|
||||
}
|
||||
|
||||
namespace proto.test.ProtoMessage_;
|
||||
|
||||
table OtherMessage {
|
||||
a:double;
|
||||
/// doc comment for b.
|
||||
b:float = 3.14149;
|
||||
foo_bar_baz:proto.test.ProtoMessage_.OtherMessage_.ProtoEnum;
|
||||
}
|
||||
|
||||
table Anonymous0 {
|
||||
/// doc comment for s.
|
||||
s:proto.test.ImportedMessage;
|
||||
/// doc comment for t on 2
|
||||
/// lines.
|
||||
t:proto.test.ProtoMessage_.OtherMessage;
|
||||
}
|
||||
|
||||
table GradesEntry {
|
||||
key:string (key);
|
||||
value:float;
|
||||
}
|
||||
|
||||
table OtherMessageMapEntry {
|
||||
key:string (key);
|
||||
value:proto.test.ProtoMessage_.OtherMessage;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user