Skip to content

Commit 48cb51c

Browse files
Feedback from Syrus
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
1 parent ce13609 commit 48cb51c

File tree

2 files changed

+9
-18
lines changed

2 files changed

+9
-18
lines changed

src/graphql/language/visitor.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -200,19 +200,12 @@ def __init_subclass__(cls) -> None:
200200

201201
def get_visit_fn(self, kind: str, is_leaving: bool = False) -> Callable:
202202
"""Get the visit function for the given node kind and direction."""
203-
204203
key = (kind, is_leaving)
205-
if key in self._visit_fns:
206-
return self._visit_fns[key]
207-
208-
method = "leave" if is_leaving else "enter"
209-
visit_fn = getattr(self, f"{method}_{kind}", None)
210-
if not visit_fn:
211-
visit_fn = getattr(self, method, None)
212-
213-
self._visit_fns[key] = visit_fn
214-
215-
return visit_fn
204+
if key not in self._visit_fns:
205+
method = "leave" if is_leaving else "enter"
206+
fn = getattr(self, f"{method}_{kind}", None)
207+
self._visit_fns[key] = fn or getattr(self, method, None)
208+
return self._visit_fns[key]
216209

217210

218211
class Stack(NamedTuple):

src/graphql/utilities/type_info.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,10 @@ def leave(self, node: Node) -> None:
148148

149149
def _get_method(self, direction: str, kind: str) -> Optional[Callable[[], None]]:
150150
key = (direction, kind)
151-
if key in self._visit_fns:
152-
return self._visit_fns[key]
153-
154-
fn = getattr(self, f"{direction}_{kind}", None)
155-
self._visit_fns[key] = fn
156-
return fn
151+
if key not in self._visit_fns:
152+
fn = getattr(self, f"{direction}_{kind}", None)
153+
self._visit_fns[key] = fn
154+
return self._visit_fns[key]
157155

158156

159157
# noinspection PyUnusedLocal

0 commit comments

Comments
 (0)