Skip to content

Commit bc446e4

Browse files
committed
refactor: Remove base visitor and inspector
They are not useful and make reasoning about class hierarchy more difficult.
1 parent 707a348 commit bc446e4

4 files changed

Lines changed: 6 additions & 57 deletions

File tree

src/griffe/agents/base.py

Lines changed: 0 additions & 48 deletions
This file was deleted.

src/griffe/agents/inspector.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
from inspect import signature as getsignature
2929
from typing import TYPE_CHECKING, Any
3030

31-
from griffe.agents.base import BaseInspector
3231
from griffe.agents.nodes import ObjectKind, ObjectNode, safe_get_annotation
3332
from griffe.collections import LinesCollection, ModulesCollection
3433
from griffe.dataclasses import (
@@ -152,7 +151,7 @@ def _should_create_alias(parent: ObjectNode, child: ObjectNode, current_module_p
152151
return None
153152

154153

155-
class Inspector(BaseInspector):
154+
class Inspector:
156155
"""This class is used to instantiate an inspector.
157156
158157
Inspectors iterate on objects members to extract data from them.
@@ -241,7 +240,7 @@ def inspect(self, node: ObjectNode) -> None:
241240
"""
242241
for before_inspector in self.extensions.before_inspection:
243242
before_inspector.inspect(node)
244-
super().inspect(node)
243+
getattr(self, f"inspect_{node.kind}", self.generic_inspect)(node)
245244
for after_inspector in self.extensions.after_inspection:
246245
after_inspector.inspect(node)
247246

src/griffe/agents/visitor.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
from itertools import zip_longest
1515
from typing import TYPE_CHECKING, Any, Iterable
1616

17-
from griffe.agents.base import BaseVisitor
1817
from griffe.agents.nodes import (
1918
ASTNode,
2019
get_docstring,
@@ -111,7 +110,7 @@ def visit(
111110
).get_module()
112111

113112

114-
class Visitor(BaseVisitor):
113+
class Visitor:
115114
"""This class is used to instantiate a visitor.
116115
117116
Visitors iterate on AST nodes to extract data from them.
@@ -189,7 +188,7 @@ def visit(self, node: ast.AST) -> None:
189188
"""
190189
for before_visitor in self.extensions.before_visit:
191190
before_visitor.visit(node)
192-
super().visit(node)
191+
getattr(self, f"visit_{node.kind}", self.generic_visit)(node)
193192
for after_visitor in self.extensions.after_visit:
194193
after_visitor.visit(node)
195194

src/griffe/extensions/base.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from inspect import isclass
1111
from typing import TYPE_CHECKING, Any, Sequence, Union
1212

13-
from griffe.agents.base import BaseInspector, BaseVisitor
1413
from griffe.exceptions import ExtensionNotLoadedError
1514
from griffe.importer import dynamic_import
1615

@@ -39,7 +38,7 @@ class When(enum.Enum):
3938
after_all: int = 4
4039

4140

42-
class VisitorExtension(BaseVisitor):
41+
class VisitorExtension:
4342
"""The node visitor extension base class, to inherit from."""
4443

4544
when: When = When.after_all
@@ -66,7 +65,7 @@ def visit(self, node: ast.AST) -> None:
6665
getattr(self, f"visit_{node.kind}", lambda _: None)(node) # type: ignore[attr-defined]
6766

6867

69-
class InspectorExtension(BaseInspector):
68+
class InspectorExtension:
7069
"""The object inspector extension base class, to inherit from."""
7170

7271
when: When = When.after_all

0 commit comments

Comments
 (0)