Skip to content

Commit 2bcc330

Browse files
Refactor deprecation AST visitor to remove duplication
Co-authored-by: openhands <openhands@all-hands.dev>
1 parent bf7275b commit 2bcc330

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

.github/scripts/check_sdk_api_breakage.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,10 @@ def visit_ClassDef(self, node: ast.ClassDef) -> None: # noqa: N802
371371
self.generic_visit(node)
372372
self.class_stack.pop()
373373

374-
def visit_FunctionDef(self, node: ast.FunctionDef) -> None: # noqa: N802
374+
def _visit_function_like(
375+
self,
376+
node: ast.FunctionDef | ast.AsyncFunctionDef,
377+
) -> None:
375378
if any(_is_deprecated_decorator(deco) for deco in node.decorator_list):
376379
if self.class_stack:
377380
self.qualified.add(".".join([*self.class_stack, node.name]))
@@ -381,15 +384,11 @@ def visit_FunctionDef(self, node: ast.FunctionDef) -> None: # noqa: N802
381384

382385
self.generic_visit(node)
383386

384-
def visit_AsyncFunctionDef(self, node: ast.AsyncFunctionDef) -> None: # noqa: N802
385-
if any(_is_deprecated_decorator(deco) for deco in node.decorator_list):
386-
if self.class_stack:
387-
self.qualified.add(".".join([*self.class_stack, node.name]))
388-
else:
389-
self.top_level.add(node.name)
390-
self.qualified.add(node.name)
387+
def visit_FunctionDef(self, node: ast.FunctionDef) -> None: # noqa: N802
388+
self._visit_function_like(node)
391389

392-
self.generic_visit(node)
390+
def visit_AsyncFunctionDef(self, node: ast.AsyncFunctionDef) -> None: # noqa: N802
391+
self._visit_function_like(node)
393392

394393
def visit_Call(self, node: ast.Call) -> None: # noqa: N802
395394
target = node.func

0 commit comments

Comments
 (0)