mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-05-09 06:46:18 +08:00
Complete pyflakes (#13848)
This commit is contained in:
@@ -74,7 +74,6 @@
|
||||
"stubs/psycopg2",
|
||||
"stubs/pyasn1",
|
||||
"stubs/pycurl",
|
||||
"stubs/pyflakes",
|
||||
"stubs/Pygments",
|
||||
"stubs/PyMySQL",
|
||||
"stubs/python-crontab",
|
||||
|
||||
@@ -3,6 +3,7 @@ pyflakes.messages.DuplicateArgument.message_args
|
||||
pyflakes.messages.ForwardAnnotationSyntaxError.message_args
|
||||
pyflakes.messages.FutureFeatureNotDefined.message_args
|
||||
pyflakes.messages.ImportShadowedByLoopVar.message_args
|
||||
pyflakes.messages.ImportStarNotPermitted.message_args
|
||||
pyflakes.messages.ImportStarUsage.message_args
|
||||
pyflakes.messages.ImportStarUsed.message_args
|
||||
pyflakes.messages.MultiValueRepeatedKeyLiteral.message_args
|
||||
@@ -24,3 +25,6 @@ pyflakes.messages.UnusedAnnotation.message_args
|
||||
pyflakes.messages.UnusedImport.message_args
|
||||
pyflakes.messages.UnusedIndirectAssignment.message_args
|
||||
pyflakes.messages.UnusedVariable.message_args
|
||||
|
||||
# Tests are not included:
|
||||
pyflakes.test.*
|
||||
|
||||
@@ -1,6 +1,2 @@
|
||||
version = "~=3.3.2"
|
||||
upstream_repository = "https://github.com/PyCQA/pyflakes"
|
||||
partial_stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
ignore_missing_stub = true
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
__version__: str
|
||||
from typing import Final
|
||||
|
||||
__version__: Final[str]
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
from pyflakes.api import main as main
|
||||
@@ -1,16 +1,17 @@
|
||||
from _typeshed import Incomplete
|
||||
from _typeshed import GenericPath
|
||||
from collections.abc import Iterable, Iterator, Sequence
|
||||
from re import Pattern
|
||||
from typing import Final, NoReturn
|
||||
|
||||
from pyflakes.reporter import Reporter
|
||||
|
||||
__all__ = ["check", "checkPath", "checkRecursive", "iterSourceCode", "main"]
|
||||
|
||||
PYTHON_SHEBANG_REGEX: Pattern[bytes]
|
||||
PYTHON_SHEBANG_REGEX: Final[Pattern[bytes]]
|
||||
|
||||
def check(codeString: str, filename: str, reporter: Reporter | None = None) -> int: ...
|
||||
def checkPath(filename, reporter: Reporter | None = None) -> int: ...
|
||||
def isPythonFile(filename) -> bool: ...
|
||||
def iterSourceCode(paths: Iterable[Incomplete]) -> Iterator[Incomplete]: ...
|
||||
def checkRecursive(paths: Iterable[Incomplete], reporter: Reporter) -> int: ...
|
||||
def main(prog: str | None = None, args: Sequence[Incomplete] | None = None) -> None: ...
|
||||
def checkPath(filename: str, reporter: Reporter | None = None) -> int: ...
|
||||
def isPythonFile(filename: str) -> bool: ...
|
||||
def iterSourceCode(paths: Iterable[GenericPath[str]]) -> Iterator[GenericPath[str]]: ...
|
||||
def checkRecursive(paths: Iterable[GenericPath[str]], reporter: Reporter) -> int: ...
|
||||
def main(prog: str | None = None, args: Sequence[str] | None = None) -> NoReturn: ...
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import ast
|
||||
import sys
|
||||
from _typeshed import Incomplete
|
||||
from collections.abc import Callable, Generator, Iterable, Iterator
|
||||
from _typeshed import StrOrLiteralStr, Unused
|
||||
from collections.abc import Callable, Generator, Iterable, Iterator, Sequence
|
||||
from contextlib import contextmanager
|
||||
from re import Pattern
|
||||
from typing import Any, ClassVar, Literal, TypeVar, overload
|
||||
from typing import Any, ClassVar, Final, Literal, TypeVar, overload
|
||||
from typing_extensions import Never, ParamSpec, TypeAlias
|
||||
|
||||
from pyflakes.messages import Message
|
||||
@@ -13,16 +13,25 @@ _AnyFunction: TypeAlias = Callable[..., Any]
|
||||
_F = TypeVar("_F", bound=_AnyFunction)
|
||||
_P = ParamSpec("_P")
|
||||
|
||||
PYPY: bool
|
||||
PYPY: Final[bool]
|
||||
builtin_vars: Final[list[str]]
|
||||
|
||||
def getAlternatives(n: ast.If | ast.Try) -> list[ast.AST]: ...
|
||||
def parse_format_string(
|
||||
format_string: StrOrLiteralStr,
|
||||
) -> Iterable[tuple[StrOrLiteralStr, StrOrLiteralStr | None, StrOrLiteralStr | None, StrOrLiteralStr | None]]: ...
|
||||
|
||||
FOR_TYPES: tuple[type[ast.For], type[ast.AsyncFor]]
|
||||
MAPPING_KEY_RE: Pattern[str]
|
||||
CONVERSION_FLAG_RE: Pattern[str]
|
||||
WIDTH_RE: Pattern[str]
|
||||
PRECISION_RE: Pattern[str]
|
||||
LENGTH_RE: Pattern[str]
|
||||
if sys.version_info >= (3, 10):
|
||||
def getAlternatives(n: ast.If | ast.Try | ast.Match) -> list[ast.AST]: ...
|
||||
|
||||
else:
|
||||
def getAlternatives(n: ast.If | ast.Try) -> list[ast.AST]: ...
|
||||
|
||||
FOR_TYPES: Final[tuple[type[ast.For], type[ast.AsyncFor]]]
|
||||
MAPPING_KEY_RE: Final[Pattern[str]]
|
||||
CONVERSION_FLAG_RE: Final[Pattern[str]]
|
||||
WIDTH_RE: Final[Pattern[str]]
|
||||
PRECISION_RE: Final[Pattern[str]]
|
||||
LENGTH_RE: Final[Pattern[str]]
|
||||
VALID_CONVERSIONS: frozenset[str]
|
||||
|
||||
_FormatType: TypeAlias = tuple[str | None, str | None, str | None, str | None, str]
|
||||
@@ -44,12 +53,12 @@ def convert_to_value(item: ast.Tuple) -> tuple[Any, ...]: ... # type: ignore[ov
|
||||
def convert_to_value(item: ast.Name) -> VariableKey: ... # type: ignore[overload-overlap]
|
||||
@overload
|
||||
def convert_to_value(item: ast.AST) -> UnhandledKeyType: ...
|
||||
def is_notimplemented_name_node(node: object) -> bool: ...
|
||||
def is_notimplemented_name_node(node: ast.AST) -> bool: ...
|
||||
|
||||
class Binding:
|
||||
name: str
|
||||
source: ast.AST | None
|
||||
used: Literal[False] | tuple[Incomplete, ast.AST]
|
||||
used: Literal[False] | tuple[Scope, ast.AST]
|
||||
def __init__(self, name: str, source: ast.AST | None) -> None: ...
|
||||
def redefines(self, other: Binding) -> bool: ...
|
||||
|
||||
@@ -68,7 +77,7 @@ class VariableKey:
|
||||
|
||||
class Importation(Definition):
|
||||
fullName: str
|
||||
redefined: list[Incomplete]
|
||||
redefined: list[ast.AST]
|
||||
def __init__(self, name: str, source: ast.AST | None, full_name: str | None = None) -> None: ...
|
||||
@property
|
||||
def source_statement(self) -> str: ...
|
||||
@@ -85,11 +94,12 @@ class StarImportation(Importation):
|
||||
def __init__(self, name: str, source: ast.AST) -> None: ...
|
||||
|
||||
class FutureImportation(ImportationFrom):
|
||||
used: tuple[Incomplete, ast.AST]
|
||||
def __init__(self, name: str, source: ast.AST, scope) -> None: ...
|
||||
used: tuple[Scope, ast.AST]
|
||||
def __init__(self, name: str, source: ast.AST, scope: Scope) -> None: ...
|
||||
|
||||
class Argument(Binding): ...
|
||||
class Assignment(Binding): ...
|
||||
class NamedExprAssignment(Assignment): ...
|
||||
|
||||
class Annotation(Binding):
|
||||
def redefines(self, other: Binding) -> Literal[False]: ...
|
||||
@@ -111,7 +121,7 @@ class FunctionScope(Scope):
|
||||
usesLocals: bool
|
||||
alwaysUsed: ClassVar[set[str]]
|
||||
globals: set[str]
|
||||
returnValue: Incomplete
|
||||
returnValue: ast.expr | None
|
||||
isGenerator: bool
|
||||
def __init__(self) -> None: ...
|
||||
def unused_assignments(self) -> Iterator[tuple[str, Binding]]: ...
|
||||
@@ -129,7 +139,7 @@ def getNodeName(node: ast.AST) -> str: ...
|
||||
|
||||
TYPING_MODULES: frozenset[Literal["typing", "typing_extensions"]]
|
||||
|
||||
def is_typing_overload(value: Binding, scope_stack) -> bool: ...
|
||||
def is_typing_overload(value: Binding, scope_stack: Sequence[Scope]) -> bool: ...
|
||||
|
||||
class AnnotationState:
|
||||
NONE: ClassVar[Literal[0]]
|
||||
@@ -165,22 +175,26 @@ else:
|
||||
|
||||
if sys.version_info >= (3, 12):
|
||||
_TypeVar: TypeAlias = ast.TypeVar
|
||||
_ParamSpec: TypeAlias = ast.ParamSpec
|
||||
_TypeVarTuple: TypeAlias = ast.TypeVarTuple
|
||||
_TypeAlias: TypeAlias = ast.TypeAlias
|
||||
else:
|
||||
# The methods using these should never be called on Python < 3.12.
|
||||
_TypeVar: TypeAlias = Never
|
||||
_ParamSpec: TypeAlias = Never
|
||||
_TypeVarTuple: TypeAlias = Never
|
||||
_TypeAlias: TypeAlias = Never
|
||||
|
||||
class Checker:
|
||||
nodeDepth: int
|
||||
offset: tuple[int, int] | None
|
||||
builtIns: set[str]
|
||||
deadScopes: list[Incomplete]
|
||||
messages: list[Incomplete]
|
||||
deadScopes: list[Scope]
|
||||
messages: list[Message]
|
||||
filename: str
|
||||
withDoctest: bool
|
||||
scopeStack: list[Scope]
|
||||
exceptHandlers: list[Incomplete]
|
||||
exceptHandlers: list[tuple[()] | str]
|
||||
root: ast.AST
|
||||
def __init__(
|
||||
self,
|
||||
@@ -188,7 +202,7 @@ class Checker:
|
||||
filename: str = "(none)",
|
||||
builtins: Iterable[str] | None = None,
|
||||
withDoctest: bool = False,
|
||||
file_tokens: tuple[Incomplete, ...] = (),
|
||||
file_tokens: Unused = (),
|
||||
) -> None: ...
|
||||
def deferFunction(self, callable: _AnyFunction) -> None: ...
|
||||
@property
|
||||
@@ -211,15 +225,15 @@ class Checker:
|
||||
def getScopeNode(self, node: ast.AST) -> ast.AST | None: ...
|
||||
def differentForks(self, lnode: ast.AST, rnode: ast.AST) -> bool: ...
|
||||
def addBinding(self, node: ast.AST, value: Binding) -> None: ...
|
||||
def getNodeHandler(self, node_class: type[ast.AST]): ...
|
||||
def handleNodeLoad(self, node: ast.AST, parent: ast.AST) -> None: ...
|
||||
def getNodeHandler(self, node_class: type[ast.AST]) -> Callable[[ast.AST], None]: ...
|
||||
def handleNodeLoad(self, node: ast.AST, parent: ast.AST | None) -> None: ...
|
||||
def handleNodeStore(self, node: ast.AST) -> None: ...
|
||||
def handleNodeDelete(self, node: ast.AST) -> None: ...
|
||||
def handleChildren(self, tree: ast.AST, omit: _OmitType = None) -> None: ...
|
||||
def isLiteralTupleUnpacking(self, node: ast.AST) -> bool | None: ...
|
||||
def isDocstring(self, node: ast.AST) -> bool: ...
|
||||
def getDocstring(self, node: ast.AST) -> tuple[str, int] | tuple[None, None]: ...
|
||||
def handleNode(self, node: ast.AST | None, parent) -> None: ...
|
||||
def handleNode(self, node: ast.AST | None, parent: ast.AST | None) -> None: ...
|
||||
def handleDoctests(self, node: ast.AST) -> None: ...
|
||||
def handleStringAnnotation(self, s: str, node: ast.AST, ref_lineno: int, ref_col_offset: int, err: type[Message]) -> None: ...
|
||||
def handle_annotation_always_deferred(self, annotation: ast.AST, parent: ast.AST) -> None: ...
|
||||
@@ -311,13 +325,18 @@ class Checker:
|
||||
def LAMBDA(self, node: ast.Lambda) -> None: ...
|
||||
def ARGUMENTS(self, node: ast.arguments) -> None: ...
|
||||
def ARG(self, node: ast.arg) -> None: ...
|
||||
def CLASSDEF(self, node: ast.ClassDef): ...
|
||||
def CLASSDEF(self, node: ast.ClassDef) -> None: ...
|
||||
def AUGASSIGN(self, node: ast.AugAssign) -> None: ...
|
||||
def TUPLE(self, node: ast.Tuple) -> None: ...
|
||||
def LIST(self, node: ast.List) -> None: ...
|
||||
def IMPORT(self, node: ast.Import) -> None: ...
|
||||
def IMPORTFROM(self, node: ast.ImportFrom) -> None: ...
|
||||
def TRY(self, node: ast.Try) -> None: ...
|
||||
if sys.version_info >= (3, 11):
|
||||
def TRYSTAR(self, node: ast.TryStar) -> None: ...
|
||||
else:
|
||||
def TRYSTAR(self, node: ast.Try) -> None: ...
|
||||
|
||||
def EXCEPTHANDLER(self, node: ast.ExceptHandler) -> None: ...
|
||||
def ANNASSIGN(self, node: ast.AnnAssign) -> None: ...
|
||||
def COMPARE(self, node: ast.Compare) -> None: ...
|
||||
@@ -332,4 +351,6 @@ class Checker:
|
||||
def MATCHMAPPING(self, node: _MatchMapping) -> None: ...
|
||||
def MATCHSTAR(self, node: _MatchStar) -> None: ...
|
||||
def TYPEVAR(self, node: _TypeVar) -> None: ...
|
||||
def PARAMSPEC(self, node: _ParamSpec) -> None: ...
|
||||
def TYPEVARTUPLE(self, node: _TypeVarTuple) -> None: ...
|
||||
def TYPEALIAS(self, node: _TypeAlias) -> None: ...
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import ast
|
||||
from _typeshed import Incomplete
|
||||
from typing import Any, ClassVar
|
||||
|
||||
class Message:
|
||||
@@ -11,74 +10,74 @@ class Message:
|
||||
def __init__(self, filename: str, loc: ast.AST) -> None: ...
|
||||
|
||||
class UnusedImport(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str) -> None: ...
|
||||
|
||||
class RedefinedWhileUnused(Message):
|
||||
message_args: tuple[Incomplete, int]
|
||||
def __init__(self, filename: str, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
|
||||
message_args: tuple[str, int]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str, orig_loc: ast.AST) -> None: ...
|
||||
|
||||
class ImportShadowedByLoopVar(Message):
|
||||
message_args: tuple[Incomplete, int]
|
||||
def __init__(self, filename: str, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
|
||||
message_args: tuple[str, int]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str, orig_loc: ast.AST) -> None: ...
|
||||
|
||||
class ImportStarNotPermitted(Message):
|
||||
message_args: Incomplete
|
||||
def __init__(self, filename: str, loc, modname) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, modname: str) -> None: ...
|
||||
|
||||
class ImportStarUsed(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, modname) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, modname: str) -> None: ...
|
||||
|
||||
class ImportStarUsage(Message):
|
||||
message_args: tuple[Incomplete, Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, name, from_list) -> None: ...
|
||||
message_args: tuple[str, str]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str, from_list: str) -> None: ...
|
||||
|
||||
class UndefinedName(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str) -> None: ...
|
||||
|
||||
class DoctestSyntaxError(Message):
|
||||
message_args: tuple[()]
|
||||
def __init__(self, filename: str, loc: ast.AST, position: tuple[int, int] | None = None) -> None: ...
|
||||
|
||||
class UndefinedExport(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str) -> None: ...
|
||||
|
||||
class UndefinedLocal(Message):
|
||||
default: ClassVar[str]
|
||||
builtin: ClassVar[str]
|
||||
message_args: tuple[Incomplete, int]
|
||||
def __init__(self, filename: str, loc: ast.AST, name, orig_loc: ast.AST) -> None: ...
|
||||
message_args: tuple[str, int]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str, orig_loc: ast.AST) -> None: ...
|
||||
|
||||
class DuplicateArgument(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str) -> None: ...
|
||||
|
||||
class MultiValueRepeatedKeyLiteral(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, key) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, key: str) -> None: ...
|
||||
|
||||
class MultiValueRepeatedKeyVariable(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, key) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, key: str) -> None: ...
|
||||
|
||||
class LateFutureImport(Message):
|
||||
message_args: tuple[()]
|
||||
def __init__(self, filename: str, loc: ast.AST) -> None: ...
|
||||
|
||||
class FutureFeatureNotDefined(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, name) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, name: str) -> None: ...
|
||||
|
||||
class UnusedVariable(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, names) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, names: str) -> None: ...
|
||||
|
||||
class UnusedAnnotation(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, names) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, names: str) -> None: ...
|
||||
|
||||
class UnusedIndirectAssignment(Message):
|
||||
message_args: tuple[str, str]
|
||||
@@ -95,8 +94,8 @@ class IfTuple(Message): ...
|
||||
class AssertTuple(Message): ...
|
||||
|
||||
class ForwardAnnotationSyntaxError(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, annotation) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, annotation: str) -> None: ...
|
||||
|
||||
class RaiseNotImplemented(Message): ...
|
||||
class InvalidPrintSyntax(Message): ...
|
||||
@@ -104,44 +103,44 @@ class IsLiteral(Message): ...
|
||||
class FStringMissingPlaceholders(Message): ...
|
||||
|
||||
class StringDotFormatExtraPositionalArguments(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, extra_positions) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, extra_positions: str) -> None: ...
|
||||
|
||||
class StringDotFormatExtraNamedArguments(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, extra_keywords) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, extra_keywords: str) -> None: ...
|
||||
|
||||
class StringDotFormatMissingArgument(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, missing_arguments) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, missing_arguments: str) -> None: ...
|
||||
|
||||
class StringDotFormatMixingAutomatic(Message): ...
|
||||
|
||||
class StringDotFormatInvalidFormat(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, error) -> None: ...
|
||||
message_args: tuple[str] | tuple[Exception]
|
||||
def __init__(self, filename: str, loc: ast.AST, error: str | Exception) -> None: ...
|
||||
|
||||
class PercentFormatInvalidFormat(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, error) -> None: ...
|
||||
message_args: tuple[str] | tuple[Exception]
|
||||
def __init__(self, filename: str, loc: ast.AST, error: str | Exception) -> None: ...
|
||||
|
||||
class PercentFormatMixedPositionalAndNamed(Message): ...
|
||||
|
||||
class PercentFormatUnsupportedFormatCharacter(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, c) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, c: str) -> None: ...
|
||||
|
||||
class PercentFormatPositionalCountMismatch(Message):
|
||||
message_args: tuple[int, int]
|
||||
def __init__(self, filename: str, loc: ast.AST, n_placeholders: int, n_substitutions: int) -> None: ...
|
||||
|
||||
class PercentFormatExtraNamedArguments(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, extra_keywords) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, extra_keywords: str) -> None: ...
|
||||
|
||||
class PercentFormatMissingArgument(Message):
|
||||
message_args: tuple[Incomplete]
|
||||
def __init__(self, filename: str, loc: ast.AST, missing_arguments) -> None: ...
|
||||
message_args: tuple[str]
|
||||
def __init__(self, filename: str, loc: ast.AST, missing_arguments: str) -> None: ...
|
||||
|
||||
class PercentFormatExpectedMapping(Message): ...
|
||||
class PercentFormatExpectedSequence(Message): ...
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
from _typeshed import SupportsWrite
|
||||
|
||||
from .messages import Message
|
||||
|
||||
class Reporter:
|
||||
def __init__(self, warningStream, errorStream) -> None: ...
|
||||
def unexpectedError(self, filename, msg) -> None: ...
|
||||
def syntaxError(self, filename, msg, lineno, offset, text) -> None: ...
|
||||
def flake(self, message) -> None: ...
|
||||
def __init__(self, warningStream: SupportsWrite[str], errorStream: SupportsWrite[str]) -> None: ...
|
||||
def unexpectedError(self, filename: str, msg: str) -> None: ...
|
||||
def syntaxError(self, filename: str, msg: str, lineno: int, offset: int | None, text: str | None) -> None: ...
|
||||
def flake(self, message: Message) -> None: ...
|
||||
|
||||
Reference in New Issue
Block a user