init
This commit is contained in:
commit
38355d2442
9083 changed files with 1225834 additions and 0 deletions
115
.venv/lib/python3.8/site-packages/mypy/sharedparse.py
Normal file
115
.venv/lib/python3.8/site-packages/mypy/sharedparse.py
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
from typing import Optional
|
||||
from typing_extensions import Final
|
||||
|
||||
"""Shared logic between our three mypy parser files."""
|
||||
|
||||
|
||||
_NON_BINARY_MAGIC_METHODS: Final = {
|
||||
"__abs__",
|
||||
"__call__",
|
||||
"__complex__",
|
||||
"__contains__",
|
||||
"__del__",
|
||||
"__delattr__",
|
||||
"__delitem__",
|
||||
"__enter__",
|
||||
"__exit__",
|
||||
"__float__",
|
||||
"__getattr__",
|
||||
"__getattribute__",
|
||||
"__getitem__",
|
||||
"__hex__",
|
||||
"__init__",
|
||||
"__init_subclass__",
|
||||
"__int__",
|
||||
"__invert__",
|
||||
"__iter__",
|
||||
"__len__",
|
||||
"__long__",
|
||||
"__neg__",
|
||||
"__new__",
|
||||
"__nonzero__",
|
||||
"__oct__",
|
||||
"__pos__",
|
||||
"__repr__",
|
||||
"__reversed__",
|
||||
"__setattr__",
|
||||
"__setitem__",
|
||||
"__str__",
|
||||
"__unicode__",
|
||||
}
|
||||
|
||||
MAGIC_METHODS_ALLOWING_KWARGS: Final = {
|
||||
"__init__",
|
||||
"__init_subclass__",
|
||||
"__new__",
|
||||
"__call__",
|
||||
"__setattr__",
|
||||
}
|
||||
|
||||
BINARY_MAGIC_METHODS: Final = {
|
||||
"__add__",
|
||||
"__and__",
|
||||
"__cmp__",
|
||||
"__divmod__",
|
||||
"__div__",
|
||||
"__eq__",
|
||||
"__floordiv__",
|
||||
"__ge__",
|
||||
"__gt__",
|
||||
"__iadd__",
|
||||
"__iand__",
|
||||
"__idiv__",
|
||||
"__ifloordiv__",
|
||||
"__ilshift__",
|
||||
"__imatmul__",
|
||||
"__imod__",
|
||||
"__imul__",
|
||||
"__ior__",
|
||||
"__ipow__",
|
||||
"__irshift__",
|
||||
"__isub__",
|
||||
"__itruediv__",
|
||||
"__ixor__",
|
||||
"__le__",
|
||||
"__lshift__",
|
||||
"__lt__",
|
||||
"__matmul__",
|
||||
"__mod__",
|
||||
"__mul__",
|
||||
"__ne__",
|
||||
"__or__",
|
||||
"__pow__",
|
||||
"__radd__",
|
||||
"__rand__",
|
||||
"__rdiv__",
|
||||
"__rfloordiv__",
|
||||
"__rlshift__",
|
||||
"__rmatmul__",
|
||||
"__rmod__",
|
||||
"__rmul__",
|
||||
"__ror__",
|
||||
"__rpow__",
|
||||
"__rrshift__",
|
||||
"__rshift__",
|
||||
"__rsub__",
|
||||
"__rtruediv__",
|
||||
"__rxor__",
|
||||
"__sub__",
|
||||
"__truediv__",
|
||||
"__xor__",
|
||||
}
|
||||
|
||||
assert not (_NON_BINARY_MAGIC_METHODS & BINARY_MAGIC_METHODS)
|
||||
|
||||
MAGIC_METHODS: Final = _NON_BINARY_MAGIC_METHODS | BINARY_MAGIC_METHODS
|
||||
|
||||
MAGIC_METHODS_POS_ARGS_ONLY: Final = MAGIC_METHODS - MAGIC_METHODS_ALLOWING_KWARGS
|
||||
|
||||
|
||||
def special_function_elide_names(name: str) -> bool:
|
||||
return name in MAGIC_METHODS_POS_ARGS_ONLY
|
||||
|
||||
|
||||
def argument_elide_name(name: Optional[str]) -> bool:
|
||||
return name is not None and name.startswith("__") and not name.endswith("__")
|
||||
Loading…
Add table
Add a link
Reference in a new issue