Avoid unnecessary forward refs in class definitions (#10124)

This commit is contained in:
Alex Waygood
2023-05-01 15:50:50 +01:00
committed by GitHub
parent 277532219f
commit e816acffdd
5 changed files with 98 additions and 99 deletions

View File

@@ -118,9 +118,15 @@ annotated_classes: dict[Incomplete, Incomplete]
# Everything below is dynamically generated at runtime
class AnnotatedAlias(AnnotatedAliasedReturnsRows, Alias): ...
class AnnotatedFromClause(_SelectableAnnotatedFromClause, FromClause): ...
class AnnotatedAliasedReturnsRows(AnnotatedFromClause, AliasedReturnsRows): ...
class AnnotatedAlias(AnnotatedAliasedReturnsRows, Alias): ...
class AnnotatedColumnElement(_ElementsAnnotatedColumnElement, ColumnElement[_T]): ...
class AnnotatedFunctionElement(AnnotatedColumnElement[_T], FunctionElement): ... # type: ignore[misc]
class AnnotatedFunction(AnnotatedFunctionElement[_T], Function): ... # type: ignore[misc]
class AnnotatedGenericFunction(AnnotatedFunction[_T], GenericFunction): ... # type: ignore[misc]
class AnnotatedAnsiFunction(AnnotatedGenericFunction[_T], AnsiFunction): ... # type: ignore[misc]
class AnnotatedUnaryExpression(AnnotatedColumnElement[_T], UnaryExpression): ...
class AnnotatedAsBoolean(AnnotatedUnaryExpression[_T], AsBoolean): ...
class AnnotatedBinaryExpression(AnnotatedColumnElement[_T], BinaryExpression): ...
class AnnotatedBindParameter(AnnotatedColumnElement[_T], BindParameter[_T]): ...
@@ -131,25 +137,20 @@ class AnnotatedCast(AnnotatedColumnElement[_T], Cast): ...
class AnnotatedClauseList(Annotated, ClauseList): ...
class AnnotatedCollationClause(AnnotatedColumnElement[_T], CollationClause): ...
class AnnotatedCollectionAggregate(AnnotatedUnaryExpression[_T], CollectionAggregate): ...
class AnnotatedColumn(AnnotatedColumnClause[_T], Column): ...
class AnnotatedNamedColumn(AnnotatedColumnElement[_T], NamedColumn): ...
class AnnotatedColumnClause(AnnotatedNamedColumn[_T], ColumnClause): ...
class AnnotatedColumnElement(_ElementsAnnotatedColumnElement, ColumnElement[_T]): ...
class AnnotatedColumn(AnnotatedColumnClause[_T], Column): ...
class AnnotatedExists(AnnotatedUnaryExpression[_T], Exists): ...
class AnnotatedExtract(AnnotatedColumnElement[_T], Extract): ...
class AnnotatedFalse_(AnnotatedColumnElement[_T], False_): ...
class AnnotatedFromClause(_SelectableAnnotatedFromClause, FromClause): ...
class AnnotatedFromGrouping(AnnotatedFromClause, FromGrouping): ...
class AnnotatedFunction(AnnotatedFunctionElement[_T], Function): ... # type: ignore[misc]
class AnnotatedFunctionAsBinary(AnnotatedBinaryExpression[_T], FunctionAsBinary): ...
class AnnotatedFunctionElement(AnnotatedColumnElement[_T], FunctionElement): ... # type: ignore[misc]
class AnnotatedFunctionFilter(AnnotatedColumnElement[_T], FunctionFilter): ...
class AnnotatedGenericFunction(AnnotatedFunction[_T], GenericFunction): ... # type: ignore[misc]
class AnnotatedGrouping(AnnotatedColumnElement[_T], Grouping): ...
class AnnotatedIndexExpression(AnnotatedBinaryExpression[_T], IndexExpression): ...
class AnnotatedJoin(AnnotatedFromClause, Join): ...
class AnnotatedLabel(AnnotatedColumnElement[_T], Label): ...
class AnnotatedLateral(AnnotatedAliasedReturnsRows, Lateral): ...
class AnnotatedNamedColumn(AnnotatedColumnElement[_T], NamedColumn): ...
class AnnotatedNull(AnnotatedColumnElement[_T], Null): ...
class AnnotatedOrderedSetAgg(AnnotatedGenericFunction[_T], OrderedSetAgg): ... # type: ignore[misc]
class AnnotatedOver(AnnotatedColumnElement[_T], Over): ...
@@ -158,15 +159,14 @@ class AnnotatedScalarFunctionColumn(AnnotatedNamedColumn[_T], ScalarFunctionColu
class AnnotatedScalarSelect(AnnotatedGrouping[_T], ScalarSelect): ...
class AnnotatedSlice(AnnotatedColumnElement[_T], Slice): ...
class AnnotatedSubquery(AnnotatedAliasedReturnsRows, Subquery): ...
class AnnotatedTable(AnnotatedTableClause, Table): ...
class AnnotatedTableClause(AnnotatedFromClause, TableClause): ...
class AnnotatedTable(AnnotatedTableClause, Table): ...
class AnnotatedTableSample(AnnotatedAliasedReturnsRows, TableSample): ...
class AnnotatedTableValuedAlias(AnnotatedAlias, TableValuedAlias): ...
class AnnotatedTableValuedColumn(AnnotatedNamedColumn[_T], TableValuedColumn): ...
class AnnotatedTrue_(AnnotatedColumnElement[_T], True_): ...
class AnnotatedTuple(AnnotatedColumnElement[_T], Tuple): ...
class AnnotatedTypeCoerce(AnnotatedColumnElement[_T], TypeCoerce): ...
class AnnotatedUnaryExpression(AnnotatedColumnElement[_T], UnaryExpression): ...
class AnnotatedValues(AnnotatedFromClause, Values): ...
class AnnotatedWithinGroup(AnnotatedColumnElement[_T], WithinGroup): ...
class Annotated_CompileLabel(AnnotatedColumnElement[_T], _CompileLabel): ...

View File

@@ -73,10 +73,6 @@ class Environment:
def obtain(self, requirement: Requirement, installer: Callable[[Requirement], _T]) -> _T: ...
def scan(self, search_path: Sequence[str] | None = None) -> None: ...
class DistInfoDistribution(Distribution):
PKG_INFO: ClassVar[Literal["METADATA"]]
EQEQ: ClassVar[Pattern[str]]
def parse_requirements(strs: str | Iterable[str]) -> Generator[Requirement, None, None]: ...
class Requirement:
@@ -133,50 +129,6 @@ def get_distribution(dist: _D) -> _D: ...
@overload
def get_distribution(dist: _PkgReqType) -> Distribution: ...
class Distribution(NullProvider, IResourceProvider, IMetadataProvider):
PKG_INFO: ClassVar[str]
location: str
project_name: str
@property
def key(self) -> str: ...
@property
def extras(self) -> list[str]: ...
@property
def version(self) -> str: ...
@property
def parsed_version(self) -> tuple[str, ...]: ...
py_version: str
platform: str | None
precedence: int
def __init__(
self,
location: str | None = None,
metadata: _MetadataType = None,
project_name: str | None = None,
version: str | None = None,
py_version: str = ...,
platform: str | None = None,
precedence: int = 3,
) -> None: ...
@classmethod
def from_location(
cls, location: str, basename: str, metadata: _MetadataType = None, **kw: str | None | int
) -> Distribution: ...
@classmethod
def from_filename(cls, filename: str, metadata: _MetadataType = None, **kw: str | None | int) -> Distribution: ...
def activate(self, path: list[str] | None = None) -> None: ...
def as_requirement(self) -> Requirement: ...
def requires(self, extras: tuple[str, ...] = ()) -> list[Requirement]: ...
def clone(self, **kw: str | int | None) -> Requirement: ...
def egg_name(self) -> str: ... # type: ignore[override] # supertype's egg_name is a variable, not a method
def __cmp__(self, other: Any) -> bool: ...
def get_entry_info(self, group: str, name: str) -> EntryPoint | None: ...
@overload
def get_entry_map(self) -> dict[str, dict[str, EntryPoint]]: ...
@overload
def get_entry_map(self, group: str) -> dict[str, EntryPoint]: ...
def load_entry_point(self, group: str, name: str) -> Any: ...
EGG_DIST: int
BINARY_DIST: int
SOURCE_DIST: int
@@ -276,6 +228,54 @@ class NullProvider:
def metadata_listdir(self, name: str) -> list[str]: ...
def run_script(self, script_name: str, namespace: dict[str, Any]) -> None: ...
class Distribution(NullProvider, IResourceProvider, IMetadataProvider):
PKG_INFO: ClassVar[str]
location: str
project_name: str
@property
def key(self) -> str: ...
@property
def extras(self) -> list[str]: ...
@property
def version(self) -> str: ...
@property
def parsed_version(self) -> tuple[str, ...]: ...
py_version: str
platform: str | None
precedence: int
def __init__(
self,
location: str | None = None,
metadata: _MetadataType = None,
project_name: str | None = None,
version: str | None = None,
py_version: str = ...,
platform: str | None = None,
precedence: int = 3,
) -> None: ...
@classmethod
def from_location(
cls, location: str, basename: str, metadata: _MetadataType = None, **kw: str | None | int
) -> Distribution: ...
@classmethod
def from_filename(cls, filename: str, metadata: _MetadataType = None, **kw: str | None | int) -> Distribution: ...
def activate(self, path: list[str] | None = None) -> None: ...
def as_requirement(self) -> Requirement: ...
def requires(self, extras: tuple[str, ...] = ()) -> list[Requirement]: ...
def clone(self, **kw: str | int | None) -> Requirement: ...
def egg_name(self) -> str: ... # type: ignore[override] # supertype's egg_name is a variable, not a method
def __cmp__(self, other: Any) -> bool: ...
def get_entry_info(self, group: str, name: str) -> EntryPoint | None: ...
@overload
def get_entry_map(self) -> dict[str, dict[str, EntryPoint]]: ...
@overload
def get_entry_map(self, group: str) -> dict[str, EntryPoint]: ...
def load_entry_point(self, group: str, name: str) -> Any: ...
class DistInfoDistribution(Distribution):
PKG_INFO: ClassVar[Literal["METADATA"]]
EQEQ: ClassVar[Pattern[str]]
class EggProvider(NullProvider):
egg_root: str