Skip to content

Commit 4b7dae7

Browse files
committed
Jacob's Diff
1 parent 159f612 commit 4b7dae7

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

ChangeLog

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ What's New in astroid 2.12.0?
66
=============================
77
Release date: TBA
88

9-
* Created ``_DunderCompletionMixin`` in order to let ``ModuleModel`` share
10-
the same dunder definitions that were already present on ``FunctionModel``.
9+
* Promoted most dunder definitions present on ``ModuleModel`` to ``ObjectModel``.
1110

1211
Refs PyCQA/pylint#6094
1312

astroid/interpreter/objectmodel.py

+9-10
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,11 @@ def lookup(self, name):
118118
return getattr(self, IMPL_PREFIX + name)
119119
raise AttributeInferenceError(target=self._instance, attribute=name)
120120

121-
122-
class _DunderCompletionMixin:
123-
"""Provide placeholders for further double-underscored methods for the
124-
sake of completeness."""
125-
126121
@property
127122
def attr___ne__(self):
128123
return node_classes.Unknown()
129124

125+
attr___doc__ = attr___ne__
130126
attr___subclasshook__ = attr___ne__
131127
attr___str__ = attr___ne__
132128
attr___sizeof__ = attr___ne__
@@ -135,6 +131,8 @@ def attr___ne__(self):
135131
attr___reduce__ = attr___ne__
136132
attr___reduce_ex__ = attr___ne__
137133
attr___new__ = attr___ne__
134+
attr___ge__ = attr___ne__
135+
attr___le__ = attr___ne__
138136
attr___lt__ = attr___ne__
139137
attr___eq__ = attr___ne__
140138
attr___gt__ = attr___ne__
@@ -143,11 +141,12 @@ def attr___ne__(self):
143141
attr___getattribute__ = attr___ne__
144142
attr___hash__ = attr___ne__
145143
attr___init__ = attr___ne__
144+
attr___init_subclass__ = attr___ne__
146145
attr___dir__ = attr___ne__
147146
attr___class__ = attr___ne__
148147

149148

150-
class ModuleModel(ObjectModel, _DunderCompletionMixin):
149+
class ModuleModel(ObjectModel):
151150
def _builtins(self):
152151
builtins_ast_module = AstroidManager().builtins_module
153152
return builtins_ast_module.special_attributes.lookup("__dict__")
@@ -224,7 +223,7 @@ def attr___cached__(self):
224223
return node_classes.Unknown()
225224

226225

227-
class FunctionModel(ObjectModel, _DunderCompletionMixin):
226+
class FunctionModel(ObjectModel):
228227
@property
229228
def attr___name__(self):
230229
return node_classes.Const(value=self._instance.name, parent=self._instance)
@@ -406,9 +405,9 @@ def test(self):
406405
return DescriptorBoundMethod(proxy=self._instance, bound=self._instance)
407406

408407
# These are here just for completion.
409-
attr___call__ = _DunderCompletionMixin.attr___ne__
410-
attr___closure__ = _DunderCompletionMixin.attr___ne__
411-
attr___code__ = _DunderCompletionMixin.attr___ne__
408+
attr___call__ = ObjectModel.attr___ne__
409+
attr___closure__ = ObjectModel.attr___ne__
410+
attr___code__ = ObjectModel.attr___ne__
412411

413412

414413
class ClassModel(ObjectModel):

0 commit comments

Comments
 (0)