From 6c87ca59a19c69ed9a22e5c3207918657b76ee55 Mon Sep 17 00:00:00 2001 From: Sumit Date: Wed, 11 Nov 2026 20:20:03 +0530 Subject: [PATCH] [parsimonious] Refine Grammar.default_rule, NodeVisitor.grammar, and generic_visit types --- pyrightconfig.stricter.json | 1 - stubs/parsimonious/parsimonious/grammar.pyi | 3 +-- stubs/parsimonious/parsimonious/nodes.pyi | 5 ++--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/pyrightconfig.stricter.json b/pyrightconfig.stricter.json index 2b724712154b..ff862b8dcb75 100644 --- a/pyrightconfig.stricter.json +++ b/pyrightconfig.stricter.json @@ -68,7 +68,6 @@ "stubs/openpyxl", "stubs/opentracing/opentracing/span.pyi", "stubs/paramiko/paramiko/_winapi.pyi", - "stubs/parsimonious/parsimonious/nodes.pyi", "stubs/peewee", "stubs/pexpect", "stubs/pika/pika/adapters/twisted_connection.pyi", diff --git a/stubs/parsimonious/parsimonious/grammar.pyi b/stubs/parsimonious/parsimonious/grammar.pyi index 7871c183072c..4cb2b245df48 100644 --- a/stubs/parsimonious/parsimonious/grammar.pyi +++ b/stubs/parsimonious/parsimonious/grammar.pyi @@ -1,5 +1,4 @@ import collections.abc -from _typeshed import Incomplete from collections import OrderedDict from collections.abc import Callable, Mapping from typing import Any @@ -9,7 +8,7 @@ from parsimonious.expressions import _CALLABLE_TYPE, Expression, Literal, Lookah from parsimonious.nodes import Node, NodeVisitor class Grammar(OrderedDict[str, Expression]): - default_rule: Expression | Incomplete + default_rule: Expression | None def __init__(self, rules: str = "", **more_rules: Expression | _CALLABLE_TYPE) -> None: ... def default(self, rule_name: str) -> Grammar: ... def parse(self, text: str, pos: int = 0) -> Node: ... diff --git a/stubs/parsimonious/parsimonious/nodes.pyi b/stubs/parsimonious/parsimonious/nodes.pyi index 1d67f2f2fd0c..19bd6806e113 100644 --- a/stubs/parsimonious/parsimonious/nodes.pyi +++ b/stubs/parsimonious/parsimonious/nodes.pyi @@ -1,4 +1,3 @@ -from _typeshed import Incomplete from collections.abc import Callable, Iterator, Sequence from re import Match from typing import Any, Generic, TypeVar @@ -35,10 +34,10 @@ _VisitResultT = TypeVar("_VisitResultT") _ChildT = TypeVar("_ChildT") class NodeVisitor(Generic[_VisitResultT], metaclass=RuleDecoratorMeta): - grammar: Grammar | Incomplete + grammar: Grammar | None unwrapped_exceptions: tuple[type[BaseException], ...] def visit(self, node: Node) -> _VisitResultT: ... - def generic_visit(self, node: Node, visited_children: Sequence[Any]): ... + def generic_visit(self, node: Node, visited_children: Sequence[Any]) -> Any: ... def parse(self, text: str, pos: int = 0) -> _VisitResultT: ... def match(self, text: str, pos: int = 0) -> _VisitResultT: ... def lift_child(self, node: Node, children: Sequence[_ChildT]) -> _ChildT: ...