|
12 | 12 | from textwrap import dedent |
13 | 13 |
|
14 | 14 | import astroid |
15 | | -from astroid import arguments, inference_tip, nodes, util |
16 | | -from astroid.builder import AstroidBuilder, extract_node |
| 15 | +from astroid import arguments, bases, inference_tip, nodes, util |
| 16 | +from astroid.builder import AstroidBuilder, _extract_single_node, extract_node |
17 | 17 | from astroid.context import InferenceContext |
18 | 18 | from astroid.exceptions import ( |
19 | 19 | AstroidTypeError, |
@@ -72,7 +72,7 @@ def _extract_namedtuple_arg_or_keyword( # pylint: disable=inconsistent-return-s |
72 | 72 |
|
73 | 73 | def infer_func_form( |
74 | 74 | node: nodes.Call, |
75 | | - base_type: nodes.NodeNG, |
| 75 | + base_type: list[nodes.NodeNG], |
76 | 76 | context: InferenceContext | None = None, |
77 | 77 | enum: bool = False, |
78 | 78 | ) -> tuple[nodes.ClassDef, str, list[str]]: |
@@ -146,7 +146,7 @@ def infer_func_form( |
146 | 146 | class_node.parent = node.parent |
147 | 147 | class_node.postinit( |
148 | 148 | # set base class=tuple |
149 | | - bases=[base_type], |
| 149 | + bases=base_type, |
150 | 150 | body=[], |
151 | 151 | decorators=None, |
152 | 152 | ) |
@@ -186,7 +186,7 @@ def infer_named_tuple( |
186 | 186 | node: nodes.Call, context: InferenceContext | None = None |
187 | 187 | ) -> Iterator[nodes.ClassDef]: |
188 | 188 | """Specific inference function for namedtuple Call node""" |
189 | | - tuple_base_name = nodes.Name(name="tuple", parent=node.root()) |
| 189 | + tuple_base_name: list[nodes.NodeNG] = [nodes.Name(name="tuple", parent=node.root())] |
190 | 190 | class_node, name, attributes = infer_func_form( |
191 | 191 | node, tuple_base_name, context=context |
192 | 192 | ) |
@@ -295,9 +295,11 @@ def _check_namedtuple_attributes(typename, attributes, rename=False): |
295 | 295 | return attributes |
296 | 296 |
|
297 | 297 |
|
298 | | -def infer_enum(node, context=None): |
| 298 | +def infer_enum( |
| 299 | + node: nodes.Call, context: InferenceContext | None = None |
| 300 | +) -> Iterator[bases.Instance]: |
299 | 301 | """Specific inference function for enum Call node.""" |
300 | | - enum_meta = extract_node( |
| 302 | + enum_meta = _extract_single_node( |
301 | 303 | """ |
302 | 304 | class EnumMeta(object): |
303 | 305 | 'docstring' |
@@ -331,7 +333,7 @@ def value(self): |
331 | 333 | __members__ = [''] |
332 | 334 | """ |
333 | 335 | ) |
334 | | - class_node = infer_func_form(node, enum_meta, context=context, enum=True)[0] |
| 336 | + class_node = infer_func_form(node, [enum_meta], context=context, enum=True)[0] |
335 | 337 | return iter([class_node.instantiate_class()]) |
336 | 338 |
|
337 | 339 |
|
|
0 commit comments