diff options
author | Daniël van Noord <13665637+DanielNoord@users.noreply.github.com> | 2023-04-30 23:24:02 +0200 |
---|---|---|
committer | Daniël van Noord <13665637+DanielNoord@users.noreply.github.com> | 2023-05-01 12:41:04 +0200 |
commit | faea71172f0a13482d23861de0c53cf101b0d108 (patch) | |
tree | 0eeb2bfe36c58dab26de53e1dd35dada5ef34f7e /astroid | |
parent | 4fe752e65a33ad062a3e08586b28fc1ad6188700 (diff) | |
download | astroid-git-faea71172f0a13482d23861de0c53cf101b0d108.tar.gz |
Allow passing ``UninferableBase`` to ``safe_infer``
Diffstat (limited to 'astroid')
-rw-r--r-- | astroid/helpers.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/astroid/helpers.py b/astroid/helpers.py index 63275813..d1ee215c 100644 --- a/astroid/helpers.py +++ b/astroid/helpers.py @@ -156,13 +156,16 @@ def object_issubclass(node, class_or_seq, context: InferenceContext | None = Non def safe_infer( - node: nodes.NodeNG | bases.Proxy, context: InferenceContext | None = None + node: nodes.NodeNG | bases.Proxy | util.UninferableBase, + context: InferenceContext | None = None, ) -> InferenceResult | None: """Return the inferred value for the given node. Return None if inference failed or if there is some ambiguity (more than one node has been inferred). """ + if isinstance(node, util.UninferableBase): + return node try: inferit = node.infer(context=context) value = next(inferit) |