forked from BigfootDev/flatbuffers
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:
@@ -40,7 +40,7 @@ class Field(object):
|
||||
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
|
||||
if o != 0:
|
||||
x = self._tab.Indirect(o + self._tab.Pos)
|
||||
from reflection.Type import Type
|
||||
from .reflection.Type import Type
|
||||
obj = Type()
|
||||
obj.Init(self._tab.Bytes, x)
|
||||
return obj
|
||||
@@ -102,7 +102,7 @@ class Field(object):
|
||||
x = self._tab.Vector(o)
|
||||
x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
|
||||
x = self._tab.Indirect(x)
|
||||
from reflection.KeyValue import KeyValue
|
||||
from .reflection.KeyValue import KeyValue
|
||||
obj = KeyValue()
|
||||
obj.Init(self._tab.Bytes, x)
|
||||
return obj
|
||||
@@ -156,100 +156,100 @@ class Field(object):
|
||||
return 0
|
||||
|
||||
def FieldStart(builder):
|
||||
return builder.StartObject(13)
|
||||
builder.StartObject(13)
|
||||
|
||||
def Start(builder):
|
||||
return FieldStart(builder)
|
||||
FieldStart(builder)
|
||||
|
||||
def FieldAddName(builder, name):
|
||||
return builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
|
||||
builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(name), 0)
|
||||
|
||||
def AddName(builder, name):
|
||||
return FieldAddName(builder, name)
|
||||
def AddName(builder: flatbuffers.Builder, name: int):
|
||||
FieldAddName(builder, name)
|
||||
|
||||
def FieldAddType(builder, type):
|
||||
return builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(type), 0)
|
||||
builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(type), 0)
|
||||
|
||||
def AddType(builder, type):
|
||||
return FieldAddType(builder, type)
|
||||
def AddType(builder: flatbuffers.Builder, type: int):
|
||||
FieldAddType(builder, type)
|
||||
|
||||
def FieldAddId(builder, id):
|
||||
return builder.PrependUint16Slot(2, id, 0)
|
||||
builder.PrependUint16Slot(2, id, 0)
|
||||
|
||||
def AddId(builder, id):
|
||||
return FieldAddId(builder, id)
|
||||
def AddId(builder: flatbuffers.Builder, id: int):
|
||||
FieldAddId(builder, id)
|
||||
|
||||
def FieldAddOffset(builder, offset):
|
||||
return builder.PrependUint16Slot(3, offset, 0)
|
||||
builder.PrependUint16Slot(3, offset, 0)
|
||||
|
||||
def AddOffset(builder, offset):
|
||||
return FieldAddOffset(builder, offset)
|
||||
def AddOffset(builder: flatbuffers.Builder, offset: int):
|
||||
FieldAddOffset(builder, offset)
|
||||
|
||||
def FieldAddDefaultInteger(builder, defaultInteger):
|
||||
return builder.PrependInt64Slot(4, defaultInteger, 0)
|
||||
builder.PrependInt64Slot(4, defaultInteger, 0)
|
||||
|
||||
def AddDefaultInteger(builder, defaultInteger):
|
||||
return FieldAddDefaultInteger(builder, defaultInteger)
|
||||
def AddDefaultInteger(builder: flatbuffers.Builder, defaultInteger: int):
|
||||
FieldAddDefaultInteger(builder, defaultInteger)
|
||||
|
||||
def FieldAddDefaultReal(builder, defaultReal):
|
||||
return builder.PrependFloat64Slot(5, defaultReal, 0.0)
|
||||
builder.PrependFloat64Slot(5, defaultReal, 0.0)
|
||||
|
||||
def AddDefaultReal(builder, defaultReal):
|
||||
return FieldAddDefaultReal(builder, defaultReal)
|
||||
def AddDefaultReal(builder: flatbuffers.Builder, defaultReal: float):
|
||||
FieldAddDefaultReal(builder, defaultReal)
|
||||
|
||||
def FieldAddDeprecated(builder, deprecated):
|
||||
return builder.PrependBoolSlot(6, deprecated, 0)
|
||||
builder.PrependBoolSlot(6, deprecated, 0)
|
||||
|
||||
def AddDeprecated(builder, deprecated):
|
||||
return FieldAddDeprecated(builder, deprecated)
|
||||
def AddDeprecated(builder: flatbuffers.Builder, deprecated: bool):
|
||||
FieldAddDeprecated(builder, deprecated)
|
||||
|
||||
def FieldAddRequired(builder, required):
|
||||
return builder.PrependBoolSlot(7, required, 0)
|
||||
builder.PrependBoolSlot(7, required, 0)
|
||||
|
||||
def AddRequired(builder, required):
|
||||
return FieldAddRequired(builder, required)
|
||||
def AddRequired(builder: flatbuffers.Builder, required: bool):
|
||||
FieldAddRequired(builder, required)
|
||||
|
||||
def FieldAddKey(builder, key):
|
||||
return builder.PrependBoolSlot(8, key, 0)
|
||||
builder.PrependBoolSlot(8, key, 0)
|
||||
|
||||
def AddKey(builder, key):
|
||||
return FieldAddKey(builder, key)
|
||||
def AddKey(builder: flatbuffers.Builder, key: bool):
|
||||
FieldAddKey(builder, key)
|
||||
|
||||
def FieldAddAttributes(builder, attributes):
|
||||
return builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(attributes), 0)
|
||||
builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(attributes), 0)
|
||||
|
||||
def AddAttributes(builder, attributes):
|
||||
return FieldAddAttributes(builder, attributes)
|
||||
def AddAttributes(builder: flatbuffers.Builder, attributes: int):
|
||||
FieldAddAttributes(builder, attributes)
|
||||
|
||||
def FieldStartAttributesVector(builder, numElems):
|
||||
return builder.StartVector(4, numElems, 4)
|
||||
|
||||
def StartAttributesVector(builder, numElems):
|
||||
def StartAttributesVector(builder, numElems: int) -> int:
|
||||
return FieldStartAttributesVector(builder, numElems)
|
||||
|
||||
def FieldAddDocumentation(builder, documentation):
|
||||
return builder.PrependUOffsetTRelativeSlot(10, flatbuffers.number_types.UOffsetTFlags.py_type(documentation), 0)
|
||||
builder.PrependUOffsetTRelativeSlot(10, flatbuffers.number_types.UOffsetTFlags.py_type(documentation), 0)
|
||||
|
||||
def AddDocumentation(builder, documentation):
|
||||
return FieldAddDocumentation(builder, documentation)
|
||||
def AddDocumentation(builder: flatbuffers.Builder, documentation: int):
|
||||
FieldAddDocumentation(builder, documentation)
|
||||
|
||||
def FieldStartDocumentationVector(builder, numElems):
|
||||
return builder.StartVector(4, numElems, 4)
|
||||
|
||||
def StartDocumentationVector(builder, numElems):
|
||||
def StartDocumentationVector(builder, numElems: int) -> int:
|
||||
return FieldStartDocumentationVector(builder, numElems)
|
||||
|
||||
def FieldAddOptional(builder, optional):
|
||||
return builder.PrependBoolSlot(11, optional, 0)
|
||||
builder.PrependBoolSlot(11, optional, 0)
|
||||
|
||||
def AddOptional(builder, optional):
|
||||
return FieldAddOptional(builder, optional)
|
||||
def AddOptional(builder: flatbuffers.Builder, optional: bool):
|
||||
FieldAddOptional(builder, optional)
|
||||
|
||||
def FieldAddPadding(builder, padding):
|
||||
return builder.PrependUint16Slot(12, padding, 0)
|
||||
builder.PrependUint16Slot(12, padding, 0)
|
||||
|
||||
def AddPadding(builder, padding):
|
||||
return FieldAddPadding(builder, padding)
|
||||
def AddPadding(builder: flatbuffers.Builder, padding: int):
|
||||
FieldAddPadding(builder, padding)
|
||||
|
||||
def FieldEnd(builder):
|
||||
return builder.EndObject()
|
||||
|
||||
Reference in New Issue
Block a user