♻️ Refactor type generation of selects re-order to prioritize models to optimize editor support (#718)

This commit is contained in:
Sebastián Ramírez 2023-12-04 10:46:59 +01:00 committed by GitHub
parent e5fddb97a7
commit 853d787923
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 176 additions and 176 deletions

View File

@ -24,7 +24,7 @@ arg_groups: List[Arg] = []
signatures: List[Tuple[List[Arg], List[str]]] = [] signatures: List[Tuple[List[Arg], List[str]]] = []
for total_args in range(2, number_of_types + 1): for total_args in range(2, number_of_types + 1):
arg_types_tuples = product(["scalar", "model"], repeat=total_args) arg_types_tuples = product(["model", "scalar"], repeat=total_args)
for arg_type_tuple in arg_types_tuples: for arg_type_tuple in arg_types_tuples:
args: List[Arg] = [] args: List[Arg] = []
return_types: List[str] = [] return_types: List[str] = []

View File

@ -328,12 +328,12 @@ _T3 = TypeVar("_T3")
@overload @overload
def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]: # type: ignore def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
... ...
@overload @overload
def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]: def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]: # type: ignore
... ...
@ -342,17 +342,9 @@ def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
@overload @overload
def select( # type: ignore def select( # type: ignore
entity_0: _TScalar_0, __ent0: _TCCA[_T0],
entity_1: _TScalar_1,
) -> Select[Tuple[_TScalar_0, _TScalar_1]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1], __ent1: _TCCA[_T1],
) -> Select[Tuple[_TScalar_0, _T1]]: ) -> Select[Tuple[_T0, _T1]]:
... ...
@ -366,9 +358,9 @@ def select( # type: ignore
@overload @overload
def select( # type: ignore def select( # type: ignore
__ent0: _TCCA[_T0], entity_0: _TScalar_0,
__ent1: _TCCA[_T1], __ent1: _TCCA[_T1],
) -> Select[Tuple[_T0, _T1]]: ) -> Select[Tuple[_TScalar_0, _T1]]:
... ...
@ -376,53 +368,16 @@ def select( # type: ignore
def select( # type: ignore def select( # type: ignore
entity_0: _TScalar_0, entity_0: _TScalar_0,
entity_1: _TScalar_1, entity_1: _TScalar_1,
entity_2: _TScalar_2, ) -> Select[Tuple[_TScalar_0, _TScalar_1]]:
) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
__ent2: _TCCA[_T2],
) -> Select[Tuple[_TScalar_0, _T1, _T2]]:
... ...
@overload @overload
def select( # type: ignore def select( # type: ignore
__ent0: _TCCA[_T0], __ent0: _TCCA[_T0],
entity_1: _TScalar_1, __ent1: _TCCA[_T1],
entity_2: _TScalar_2,
) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
entity_1: _TScalar_1,
__ent2: _TCCA[_T2], __ent2: _TCCA[_T2],
) -> Select[Tuple[_T0, _TScalar_1, _T2]]: ) -> Select[Tuple[_T0, _T1, _T2]]:
... ...
@ -438,89 +393,9 @@ def select( # type: ignore
@overload @overload
def select( # type: ignore def select( # type: ignore
__ent0: _TCCA[_T0], __ent0: _TCCA[_T0],
__ent1: _TCCA[_T1],
__ent2: _TCCA[_T2],
) -> Select[Tuple[_T0, _T1, _T2]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
entity_2: _TScalar_2,
entity_3: _TScalar_3,
) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
entity_2: _TScalar_2,
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _T3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1, entity_1: _TScalar_1,
__ent2: _TCCA[_T2], __ent2: _TCCA[_T2],
entity_3: _TScalar_3, ) -> Select[Tuple[_T0, _TScalar_1, _T2]]:
) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _T3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
entity_3: _TScalar_3,
) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _T3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
__ent2: _TCCA[_T2],
entity_3: _TScalar_3,
) -> Select[Tuple[_TScalar_0, _T1, _T2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
__ent2: _TCCA[_T2],
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _T1, _T2, _T3]]:
... ...
@ -529,38 +404,43 @@ def select( # type: ignore
__ent0: _TCCA[_T0], __ent0: _TCCA[_T0],
entity_1: _TScalar_1, entity_1: _TScalar_1,
entity_2: _TScalar_2, entity_2: _TScalar_2,
entity_3: _TScalar_3, ) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2]]:
) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2, _TScalar_3]]:
... ...
@overload @overload
def select( # type: ignore def select( # type: ignore
__ent0: _TCCA[_T0], entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
__ent2: _TCCA[_T2],
) -> Select[Tuple[_TScalar_0, _T1, _T2]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1, entity_1: _TScalar_1,
entity_2: _TScalar_2, entity_2: _TScalar_2,
__ent3: _TCCA[_T3], ) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2]]:
) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2, _T3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
entity_3: _TScalar_3,
) -> Select[Tuple[_T0, _TScalar_1, _T2, _TScalar_3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
__ent3: _TCCA[_T3],
) -> Select[Tuple[_T0, _TScalar_1, _T2, _T3]]:
... ...
@ -568,19 +448,9 @@ def select( # type: ignore
def select( # type: ignore def select( # type: ignore
__ent0: _TCCA[_T0], __ent0: _TCCA[_T0],
__ent1: _TCCA[_T1], __ent1: _TCCA[_T1],
entity_2: _TScalar_2, __ent2: _TCCA[_T2],
entity_3: _TScalar_3,
) -> Select[Tuple[_T0, _T1, _TScalar_2, _TScalar_3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
__ent3: _TCCA[_T3], __ent3: _TCCA[_T3],
) -> Select[Tuple[_T0, _T1, _TScalar_2, _T3]]: ) -> Select[Tuple[_T0, _T1, _T2, _T3]]:
... ...
@ -598,9 +468,139 @@ def select( # type: ignore
def select( # type: ignore def select( # type: ignore
__ent0: _TCCA[_T0], __ent0: _TCCA[_T0],
__ent1: _TCCA[_T1], __ent1: _TCCA[_T1],
entity_2: _TScalar_2,
__ent3: _TCCA[_T3],
) -> Select[Tuple[_T0, _T1, _TScalar_2, _T3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
entity_3: _TScalar_3,
) -> Select[Tuple[_T0, _T1, _TScalar_2, _TScalar_3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
entity_1: _TScalar_1,
__ent2: _TCCA[_T2], __ent2: _TCCA[_T2],
__ent3: _TCCA[_T3], __ent3: _TCCA[_T3],
) -> Select[Tuple[_T0, _T1, _T2, _T3]]: ) -> Select[Tuple[_T0, _TScalar_1, _T2, _T3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
entity_3: _TScalar_3,
) -> Select[Tuple[_T0, _TScalar_1, _T2, _TScalar_3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
entity_1: _TScalar_1,
entity_2: _TScalar_2,
__ent3: _TCCA[_T3],
) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2, _T3]]:
...
@overload
def select( # type: ignore
__ent0: _TCCA[_T0],
entity_1: _TScalar_1,
entity_2: _TScalar_2,
entity_3: _TScalar_3,
) -> Select[Tuple[_T0, _TScalar_1, _TScalar_2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
__ent2: _TCCA[_T2],
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _T1, _T2, _T3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
__ent2: _TCCA[_T2],
entity_3: _TScalar_3,
) -> Select[Tuple[_TScalar_0, _T1, _T2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _T3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
__ent1: _TCCA[_T1],
entity_2: _TScalar_2,
entity_3: _TScalar_3,
) -> Select[Tuple[_TScalar_0, _T1, _TScalar_2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _T3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
__ent2: _TCCA[_T2],
entity_3: _TScalar_3,
) -> Select[Tuple[_TScalar_0, _TScalar_1, _T2, _TScalar_3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
entity_2: _TScalar_2,
__ent3: _TCCA[_T3],
) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _T3]]:
...
@overload
def select( # type: ignore
entity_0: _TScalar_0,
entity_1: _TScalar_1,
entity_2: _TScalar_2,
entity_3: _TScalar_3,
) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _TScalar_3]]:
... ...

View File

@ -273,12 +273,12 @@ _T{{ i }} = TypeVar("_T{{ i }}")
# Generated TypeVars end # Generated TypeVars end
@overload @overload
def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]: # type: ignore def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]:
... ...
@overload @overload
def select(__ent0: _TCCA[_T0]) -> SelectOfScalar[_T0]: def select(__ent0: _TScalar_0) -> SelectOfScalar[_TScalar_0]: # type: ignore
... ...