]>
git.madduck.net Git - etc/vim.git/blobdiff - src/blib2to3/pytree.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
from typing import (
Any,
from typing import (
Any,
)
from blib2to3.pgen2.grammar import Grammar
)
from blib2to3.pgen2.grammar import Grammar
import sys
from io import StringIO
import sys
from io import StringIO
-HUGE: int = 0x7fffffff # maximum repeat count, default max
+HUGE: int = 0x7FFFFFFF # maximum repeat count, default max
_type_reprs: Dict[int, Union[Text, int]] = {}
_type_reprs: Dict[int, Union[Text, int]] = {}
return _type_reprs.setdefault(type_num, type_num)
return _type_reprs.setdefault(type_num, type_num)
+_P = TypeVar("_P", bound="Base" )
NL = Union["Node", "Leaf"]
Context = Tuple[Text, Tuple[int, int]]
NL = Union["Node", "Leaf"]
Context = Tuple[Text, Tuple[int, int]]
return NotImplemented
return self._eq(other)
return NotImplemented
return self._eq(other)
- __hash__ = None # type: Any # For Py3 compatibility.
-
@property
def prefix(self) -> Text:
raise NotImplementedError
@property
def prefix(self) -> Text:
raise NotImplementedError
"""
raise NotImplementedError
"""
raise NotImplementedError
+ def __deepcopy__(self: _P, memo: Any) -> _P:
+ return self.clone()
+
def clone(self: _P) -> _P:
"""
Return a cloned (deep) copy of self.
def clone(self: _P) -> _P:
"""
Return a cloned (deep) copy of self.
This reproduces the input source exactly.
"""
This reproduces the input source exactly.
"""
- return self.prefix + str(self.value)
+ return self._ prefix + str(self.value)
def _eq(self, other) -> bool:
"""Compare two nodes for equality."""
def _eq(self, other) -> bool:
"""Compare two nodes for equality."""
newcontent = list(content)
for i, item in enumerate(newcontent):
assert isinstance(item, BasePattern), (i, item)
newcontent = list(content)
for i, item in enumerate(newcontent):
assert isinstance(item, BasePattern), (i, item)
- if isinstance(item, WildcardPattern):
- self.wildcards = True
+ # I don't even think this code is used anywhere, but it does cause
+ # unreachable errors from mypy. This function's signature does look
+ # odd though *shrug*.
+ if isinstance(item, WildcardPattern): # type: ignore[unreachable]
+ self.wildcards = True # type: ignore[unreachable]
self.type = type
self.content = newcontent
self.name = name
self.type = type
self.content = newcontent
self.name = name
r.update(r0)
r.update(r1)
yield c0 + c1, r
r.update(r0)
r.update(r1)
yield c0 + c1, r
-
-
-_Convert = Callable[[Grammar, RawNode], Any]