#
# Autogenerated by Thrift for thrift/compiler/test/fixtures/enums/src/module.thrift
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#  @generated
#


import folly.iobuf as _fbthrift_iobuf

from thrift.py3.reflection import (
    NumberType as __NumberType,
    StructType as __StructType,
    Qualifier as __Qualifier,
    StructSpec as __StructSpec,
    ListSpec as __ListSpec,
    SetSpec as __SetSpec,
    MapSpec as __MapSpec,
    FieldSpec as __FieldSpec,
)


import test.fixtures.enums.module.types as _test_fixtures_enums_module_types



def get_reflection__SomeStruct() -> __StructSpec:
    spec: __StructSpec = __StructSpec._fbthrift_create(
        name="SomeStruct",
        kind=__StructType.STRUCT,
        annotations={
        },
    )
    defaults = _test_fixtures_enums_module_types.SomeStruct()
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=1,
            name="reasonable",
            py_name="reasonable",
            type=_test_fixtures_enums_module_types.Metasyntactic,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.reasonable,
            annotations={
            },
        ),
    )
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=2,
            name="fine",
            py_name="fine",
            type=_test_fixtures_enums_module_types.Metasyntactic,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.fine,
            annotations={
            },
        ),
    )
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=3,
            name="questionable",
            py_name="questionable",
            type=_test_fixtures_enums_module_types.Metasyntactic,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.questionable,
            annotations={
            },
        ),
    )
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=4,
            name="tags",
            py_name="tags",
            type=_test_fixtures_enums_module_types.Set__i32,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.tags,
            annotations={
            },
        ),
    )
    return spec
def get_reflection__MyStruct() -> __StructSpec:
    spec: __StructSpec = __StructSpec._fbthrift_create(
        name="MyStruct",
        kind=__StructType.STRUCT,
        annotations={
        },
    )
    defaults = _test_fixtures_enums_module_types.MyStruct()
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=1,
            name="me2_3",
            py_name="me2_3",
            type=_test_fixtures_enums_module_types.MyEnum2,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.me2_3,
            annotations={
            },
        ),
    )
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=2,
            name="me3_n3",
            py_name="me3_n3",
            type=_test_fixtures_enums_module_types.MyEnum3,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.me3_n3,
            annotations={
            },
        ),
    )
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=4,
            name="me1_t1",
            py_name="me1_t1",
            type=_test_fixtures_enums_module_types.MyEnum1,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.me1_t1,
            annotations={
            },
        ),
    )
    spec.add_field(
        __FieldSpec._fbthrift_create(
            id=6,
            name="me1_t2",
            py_name="me1_t2",
            type=_test_fixtures_enums_module_types.MyEnum1,
            kind=__NumberType.NOT_A_NUMBER,
            qualifier=__Qualifier.UNQUALIFIED,
            default=defaults.me1_t2,
            annotations={
            },
        ),
    )
    return spec
def get_reflection__Set__i32() -> __SetSpec:
    return __SetSpec._fbthrift_create(
        value=int,
        kind=__NumberType.I32,
     )

