summaryrefslogtreecommitdiffstats
path: root/Tools/peg_generator/pegen/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/peg_generator/pegen/parser.py')
-rw-r--r--Tools/peg_generator/pegen/parser.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/Tools/peg_generator/pegen/parser.py b/Tools/peg_generator/pegen/parser.py
index 034e8e6..eab48ef 100644
--- a/Tools/peg_generator/pegen/parser.py
+++ b/Tools/peg_generator/pegen/parser.py
@@ -10,7 +10,6 @@ from typing import Any, Callable, ClassVar, Dict, Optional, Tuple, Type, TypeVar
from pegen.tokenizer import Mark, Tokenizer, exact_token_types
T = TypeVar("T")
-P = TypeVar("P", bound="Parser")
F = TypeVar("F", bound=Callable[..., Any])
@@ -21,7 +20,7 @@ def logger(method: F) -> F:
"""
method_name = method.__name__
- def logger_wrapper(self: P, *args: object) -> T:
+ def logger_wrapper(self: "Parser", *args: object) -> Any:
if not self._verbose:
return method(self, *args)
argsr = ",".join(repr(arg) for arg in args)
@@ -41,7 +40,7 @@ def memoize(method: F) -> F:
"""Memoize a symbol method."""
method_name = method.__name__
- def memoize_wrapper(self: P, *args: object) -> T:
+ def memoize_wrapper(self: "Parser", *args: object) -> Any:
mark = self._mark()
key = mark, method_name, args
# Fast path: cache hit, and not verbose.
@@ -74,11 +73,13 @@ def memoize(method: F) -> F:
return cast(F, memoize_wrapper)
-def memoize_left_rec(method: Callable[[P], Optional[T]]) -> Callable[[P], Optional[T]]:
+def memoize_left_rec(
+ method: Callable[["Parser"], Optional[T]]
+) -> Callable[["Parser"], Optional[T]]:
"""Memoize a left-recursive symbol method."""
method_name = method.__name__
- def memoize_left_rec_wrapper(self: P) -> Optional[T]:
+ def memoize_left_rec_wrapper(self: "Parser") -> Optional[T]:
mark = self._mark()
key = mark, method_name, ()
# Fast path: cache hit, and not verbose.