summaryrefslogtreecommitdiff
path: root/astroid/brain
diff options
context:
space:
mode:
authorJacob Walls <jacobtylerwalls@gmail.com>2022-09-04 14:32:56 -0400
committerGitHub <noreply@github.com>2022-09-04 14:32:56 -0400
commitdaa6a44535b2a52f35e6f60b02719d31d69d264d (patch)
tree51731eb4e996062ea97595f579299f774cbe69ff /astroid/brain
parent830a9a6fe621a6c6ac9218d2ba03cb0dfd0eae8c (diff)
downloadastroid-git-daa6a44535b2a52f35e6f60b02719d31d69d264d.tar.gz
Fix a crash involving `Uninferable` args to `namedtuple` (#1763)
Diffstat (limited to 'astroid/brain')
-rw-r--r--astroid/brain/brain_namedtuple_enum.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/astroid/brain/brain_namedtuple_enum.py b/astroid/brain/brain_namedtuple_enum.py
index 736f9f9f..acc20c51 100644
--- a/astroid/brain/brain_namedtuple_enum.py
+++ b/astroid/brain/brain_namedtuple_enum.py
@@ -538,7 +538,13 @@ def _get_namedtuple_fields(node: nodes.Call) -> str:
extract a node from them later on.
"""
names = []
- for elt in next(node.args[1].infer()).elts:
+ try:
+ container = next(node.args[1].infer())
+ except (InferenceError, StopIteration) as exc:
+ raise UseInferenceDefault from exc
+ if not isinstance(container, nodes.BaseContainer):
+ raise UseInferenceDefault
+ for elt in container.elts:
if isinstance(elt, nodes.Const):
names.append(elt.as_string())
continue