diff options
Diffstat (limited to 'pyparsing')
-rw-r--r-- | pyparsing/__init__.py | 2 | ||||
-rw-r--r-- | pyparsing/results.py | 30 |
2 files changed, 13 insertions, 19 deletions
diff --git a/pyparsing/__init__.py b/pyparsing/__init__.py index 4d1a99e..b7e09ce 100644 --- a/pyparsing/__init__.py +++ b/pyparsing/__init__.py @@ -118,7 +118,7 @@ class version_info(NamedTuple): __version_info__ = version_info(3, 0, 10, "final", 0) -__version_time__ = "11 Jul 2022 23:11 UTC" +__version_time__ = "12 Jul 2022 01:22 UTC" __version__ = __version_info__.__version__ __versionTime__ = __version_time__ __author__ = "Paul McGuire <ptmcg.gm+pyparsing@gmail.com>" diff --git a/pyparsing/results.py b/pyparsing/results.py index df3fd02..b6fc538 100644 --- a/pyparsing/results.py +++ b/pyparsing/results.py @@ -569,19 +569,16 @@ class ParseResults: return self._name elif self._parent: par: "ParseResults" = self._parent - - def find_in_parent(sub): - return next( - ( - k - for k, vlist in par._tokdict.items() - for v, loc in vlist - if sub is v - ), - None, - ) - - return find_in_parent(self) if par else None + parent_tokdict_items = par._tokdict.items() + return next( + ( + k + for k, vlist in parent_tokdict_items + for v, loc in vlist + if v is self + ), + None, + ) elif ( len(self) == 1 and len(self._tokdict) == 1 @@ -704,7 +701,7 @@ class ParseResults: self._toklist, ( self._tokdict.copy(), - self._parent, + None, self._all_names, self._name, ), @@ -713,10 +710,7 @@ class ParseResults: def __setstate__(self, state): self._toklist, (self._tokdict, par, inAccumNames, self._name) = state self._all_names = set(inAccumNames) - if par is not None: - self._parent = par - else: - self._parent = None + self._parent = None def __getnewargs__(self): return self._toklist, self._name |