--- /dev/null
+from google.protobuf.internal.containers import (\r
+ RepeatedCompositeFieldContainer,\r
+ RepeatedScalarFieldContainer,\r
+)\r
+from google.protobuf.message import (\r
+ Message,\r
+)\r
+from google.protobuf.unittest_import_pb2 import (\r
+ ImportMessage,\r
+)\r
+from google.protobuf.unittest_import_public_pb2 import (\r
+ PublicImportMessage,\r
+)\r
+from typing import (\r
+ Iterable,\r
+ List,\r
+ Optional,\r
+ Text,\r
+ Tuple,\r
+ cast,\r
+)\r
+\r
+\r
+class ForeignEnum(int):\r
+\r
+ @classmethod\r
+ def Name(cls, number: int) -> bytes: ...\r
+\r
+ @classmethod\r
+ def Value(cls, name: bytes) -> ForeignEnum: ...\r
+\r
+ @classmethod\r
+ def keys(cls) -> List[bytes]: ...\r
+\r
+ @classmethod\r
+ def values(cls) -> List[ForeignEnum]: ...\r
+\r
+ @classmethod\r
+ def items(cls) -> List[Tuple[bytes, ForeignEnum]]: ...\r
+\r
+\r
+FOREIGN_ZERO: ForeignEnum\r
+FOREIGN_FOO: ForeignEnum\r
+FOREIGN_BAR: ForeignEnum\r
+FOREIGN_BAZ: ForeignEnum\r
+\r
+\r
+class TestAllTypes(Message):\r
+\r
+ class NestedEnum(int):\r
+\r
+ @classmethod\r
+ def Name(cls, number: int) -> bytes: ...\r
+\r
+ @classmethod\r
+ def Value(cls, name: bytes) -> TestAllTypes.NestedEnum: ...\r
+\r
+ @classmethod\r
+ def keys(cls) -> List[bytes]: ...\r
+\r
+ @classmethod\r
+ def values(cls) -> List[TestAllTypes.NestedEnum]: ...\r
+\r
+ @classmethod\r
+ def items(cls) -> List[Tuple[bytes, TestAllTypes.NestedEnum]]: ...\r
+ ZERO: NestedEnum\r
+ FOO: NestedEnum\r
+ BAR: NestedEnum\r
+ BAZ: NestedEnum\r
+ NEG: NestedEnum\r
+\r
+ class NestedMessage(Message):\r
+ bb = ... # type: int\r
+\r
+ def __init__(self,\r
+ bb: Optional[int] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> TestAllTypes.NestedMessage: ...\r
+ optional_int32 = ... # type: int\r
+ optional_int64 = ... # type: int\r
+ optional_uint32 = ... # type: int\r
+ optional_uint64 = ... # type: int\r
+ optional_sint32 = ... # type: int\r
+ optional_sint64 = ... # type: int\r
+ optional_fixed32 = ... # type: int\r
+ optional_fixed64 = ... # type: int\r
+ optional_sfixed32 = ... # type: int\r
+ optional_sfixed64 = ... # type: int\r
+ optional_float = ... # type: float\r
+ optional_double = ... # type: float\r
+ optional_bool = ... # type: bool\r
+ optional_string = ... # type: Text\r
+ optional_bytes = ... # type: bytes\r
+ optional_nested_enum = ... # type: TestAllTypes.NestedEnum\r
+ optional_foreign_enum = ... # type: ForeignEnum\r
+ optional_string_piece = ... # type: Text\r
+ optional_cord = ... # type: Text\r
+ repeated_int32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_int64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_uint32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_uint64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sint32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sint64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_fixed32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_fixed64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sfixed32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sfixed64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_float = ... # type: RepeatedScalarFieldContainer[float]\r
+ repeated_double = ... # type: RepeatedScalarFieldContainer[float]\r
+ repeated_bool = ... # type: RepeatedScalarFieldContainer[bool]\r
+ repeated_string = ... # type: RepeatedScalarFieldContainer[Text]\r
+ repeated_bytes = ... # type: RepeatedScalarFieldContainer[bytes]\r
+ repeated_nested_enum = ... # type: RepeatedScalarFieldContainer[TestAllTypes.NestedEnum]\r
+ repeated_foreign_enum = ... # type: RepeatedScalarFieldContainer[ForeignEnum]\r
+ repeated_string_piece = ... # type: RepeatedScalarFieldContainer[Text]\r
+ repeated_cord = ... # type: RepeatedScalarFieldContainer[Text]\r
+ oneof_uint32 = ... # type: int\r
+ oneof_string = ... # type: Text\r
+ oneof_bytes = ... # type: bytes\r
+\r
+ @property\r
+ def optional_nested_message(self) -> TestAllTypes.NestedMessage: ...\r
+\r
+ @property\r
+ def optional_foreign_message(self) -> ForeignMessage: ...\r
+\r
+ @property\r
+ def optional_import_message(self) -> ImportMessage: ...\r
+\r
+ @property\r
+ def optional_public_import_message(self) -> PublicImportMessage: ...\r
+\r
+ @property\r
+ def optional_lazy_message(self) -> TestAllTypes.NestedMessage: ...\r
+\r
+ @property\r
+ def optional_lazy_import_message(self) -> ImportMessage: ...\r
+\r
+ @property\r
+ def repeated_nested_message(\r
+ self) -> RepeatedCompositeFieldContainer[TestAllTypes.NestedMessage]: ...\r
+\r
+ @property\r
+ def repeated_foreign_message(\r
+ self) -> RepeatedCompositeFieldContainer[ForeignMessage]: ...\r
+\r
+ @property\r
+ def repeated_import_message(\r
+ self) -> RepeatedCompositeFieldContainer[ImportMessage]: ...\r
+\r
+ @property\r
+ def repeated_lazy_message(\r
+ self) -> RepeatedCompositeFieldContainer[TestAllTypes.NestedMessage]: ...\r
+\r
+ @property\r
+ def oneof_nested_message(self) -> TestAllTypes.NestedMessage: ...\r
+\r
+ def __init__(self,\r
+ optional_int32: Optional[int] = ...,\r
+ optional_int64: Optional[int] = ...,\r
+ optional_uint32: Optional[int] = ...,\r
+ optional_uint64: Optional[int] = ...,\r
+ optional_sint32: Optional[int] = ...,\r
+ optional_sint64: Optional[int] = ...,\r
+ optional_fixed32: Optional[int] = ...,\r
+ optional_fixed64: Optional[int] = ...,\r
+ optional_sfixed32: Optional[int] = ...,\r
+ optional_sfixed64: Optional[int] = ...,\r
+ optional_float: Optional[float] = ...,\r
+ optional_double: Optional[float] = ...,\r
+ optional_bool: Optional[bool] = ...,\r
+ optional_string: Optional[Text] = ...,\r
+ optional_bytes: Optional[bytes] = ...,\r
+ optional_nested_message: Optional[TestAllTypes.NestedMessage] = ...,\r
+ optional_foreign_message: Optional[ForeignMessage] = ...,\r
+ optional_import_message: Optional[ImportMessage] = ...,\r
+ optional_nested_enum: Optional[TestAllTypes.NestedEnum] = ...,\r
+ optional_foreign_enum: Optional[ForeignEnum] = ...,\r
+ optional_string_piece: Optional[Text] = ...,\r
+ optional_cord: Optional[Text] = ...,\r
+ optional_public_import_message: Optional[PublicImportMessage] = ...,\r
+ optional_lazy_message: Optional[TestAllTypes.NestedMessage] = ...,\r
+ optional_lazy_import_message: Optional[ImportMessage] = ...,\r
+ repeated_int32: Optional[Iterable[int]] = ...,\r
+ repeated_int64: Optional[Iterable[int]] = ...,\r
+ repeated_uint32: Optional[Iterable[int]] = ...,\r
+ repeated_uint64: Optional[Iterable[int]] = ...,\r
+ repeated_sint32: Optional[Iterable[int]] = ...,\r
+ repeated_sint64: Optional[Iterable[int]] = ...,\r
+ repeated_fixed32: Optional[Iterable[int]] = ...,\r
+ repeated_fixed64: Optional[Iterable[int]] = ...,\r
+ repeated_sfixed32: Optional[Iterable[int]] = ...,\r
+ repeated_sfixed64: Optional[Iterable[int]] = ...,\r
+ repeated_float: Optional[Iterable[float]] = ...,\r
+ repeated_double: Optional[Iterable[float]] = ...,\r
+ repeated_bool: Optional[Iterable[bool]] = ...,\r
+ repeated_string: Optional[Iterable[Text]] = ...,\r
+ repeated_bytes: Optional[Iterable[bytes]] = ...,\r
+ repeated_nested_message: Optional[Iterable[TestAllTypes.NestedMessage]] = ...,\r
+ repeated_foreign_message: Optional[Iterable[ForeignMessage]] = ...,\r
+ repeated_import_message: Optional[Iterable[ImportMessage]] = ...,\r
+ repeated_nested_enum: Optional[Iterable[TestAllTypes.NestedEnum]] = ...,\r
+ repeated_foreign_enum: Optional[Iterable[ForeignEnum]] = ...,\r
+ repeated_string_piece: Optional[Iterable[Text]] = ...,\r
+ repeated_cord: Optional[Iterable[Text]] = ...,\r
+ repeated_lazy_message: Optional[Iterable[TestAllTypes.NestedMessage]] = ...,\r
+ oneof_uint32: Optional[int] = ...,\r
+ oneof_nested_message: Optional[TestAllTypes.NestedMessage] = ...,\r
+ oneof_string: Optional[Text] = ...,\r
+ oneof_bytes: Optional[bytes] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> TestAllTypes: ...\r
+\r
+\r
+class TestPackedTypes(Message):\r
+ packed_int32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_int64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_uint32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_uint64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_sint32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_sint64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_fixed32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_fixed64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_sfixed32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_sfixed64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ packed_float = ... # type: RepeatedScalarFieldContainer[float]\r
+ packed_double = ... # type: RepeatedScalarFieldContainer[float]\r
+ packed_bool = ... # type: RepeatedScalarFieldContainer[bool]\r
+ packed_enum = ... # type: RepeatedScalarFieldContainer[ForeignEnum]\r
+\r
+ def __init__(self,\r
+ packed_int32: Optional[Iterable[int]] = ...,\r
+ packed_int64: Optional[Iterable[int]] = ...,\r
+ packed_uint32: Optional[Iterable[int]] = ...,\r
+ packed_uint64: Optional[Iterable[int]] = ...,\r
+ packed_sint32: Optional[Iterable[int]] = ...,\r
+ packed_sint64: Optional[Iterable[int]] = ...,\r
+ packed_fixed32: Optional[Iterable[int]] = ...,\r
+ packed_fixed64: Optional[Iterable[int]] = ...,\r
+ packed_sfixed32: Optional[Iterable[int]] = ...,\r
+ packed_sfixed64: Optional[Iterable[int]] = ...,\r
+ packed_float: Optional[Iterable[float]] = ...,\r
+ packed_double: Optional[Iterable[float]] = ...,\r
+ packed_bool: Optional[Iterable[bool]] = ...,\r
+ packed_enum: Optional[Iterable[ForeignEnum]] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> TestPackedTypes: ...\r
+\r
+\r
+class TestUnpackedTypes(Message):\r
+ repeated_int32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_int64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_uint32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_uint64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sint32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sint64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_fixed32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_fixed64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sfixed32 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_sfixed64 = ... # type: RepeatedScalarFieldContainer[int]\r
+ repeated_float = ... # type: RepeatedScalarFieldContainer[float]\r
+ repeated_double = ... # type: RepeatedScalarFieldContainer[float]\r
+ repeated_bool = ... # type: RepeatedScalarFieldContainer[bool]\r
+ repeated_nested_enum = ... # type: RepeatedScalarFieldContainer[TestAllTypes.NestedEnum]\r
+\r
+ def __init__(self,\r
+ repeated_int32: Optional[Iterable[int]] = ...,\r
+ repeated_int64: Optional[Iterable[int]] = ...,\r
+ repeated_uint32: Optional[Iterable[int]] = ...,\r
+ repeated_uint64: Optional[Iterable[int]] = ...,\r
+ repeated_sint32: Optional[Iterable[int]] = ...,\r
+ repeated_sint64: Optional[Iterable[int]] = ...,\r
+ repeated_fixed32: Optional[Iterable[int]] = ...,\r
+ repeated_fixed64: Optional[Iterable[int]] = ...,\r
+ repeated_sfixed32: Optional[Iterable[int]] = ...,\r
+ repeated_sfixed64: Optional[Iterable[int]] = ...,\r
+ repeated_float: Optional[Iterable[float]] = ...,\r
+ repeated_double: Optional[Iterable[float]] = ...,\r
+ repeated_bool: Optional[Iterable[bool]] = ...,\r
+ repeated_nested_enum: Optional[Iterable[TestAllTypes.NestedEnum]] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> TestUnpackedTypes: ...\r
+\r
+\r
+class NestedTestAllTypes(Message):\r
+\r
+ @property\r
+ def child(self) -> NestedTestAllTypes: ...\r
+\r
+ @property\r
+ def payload(self) -> TestAllTypes: ...\r
+\r
+ @property\r
+ def repeated_child(\r
+ self) -> RepeatedCompositeFieldContainer[NestedTestAllTypes]: ...\r
+\r
+ def __init__(self,\r
+ child: Optional[NestedTestAllTypes] = ...,\r
+ payload: Optional[TestAllTypes] = ...,\r
+ repeated_child: Optional[Iterable[NestedTestAllTypes]] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> NestedTestAllTypes: ...\r
+\r
+\r
+class ForeignMessage(Message):\r
+ c = ... # type: int\r
+\r
+ def __init__(self,\r
+ c: Optional[int] = ...,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> ForeignMessage: ...\r
+\r
+\r
+class TestEmptyMessage(Message):\r
+\r
+ def __init__(self,\r
+ ) -> None: ...\r
+\r
+ @classmethod\r
+ def FromString(cls, s: bytes) -> TestEmptyMessage: ...\r