diff options
-rw-r--r-- | astroid/node_classes.py | 7 | ||||
-rw-r--r-- | astroid/raw_building.py | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/astroid/node_classes.py b/astroid/node_classes.py index 2e39b060..2408e568 100644 --- a/astroid/node_classes.py +++ b/astroid/node_classes.py @@ -31,8 +31,8 @@ import abc import builtins as builtins_mod import itertools import pprint -from functools import lru_cache -from functools import singledispatch as _singledispatch +import sys +from functools import lru_cache, singledispatch as _singledispatch from astroid import as_string from astroid import bases @@ -46,6 +46,7 @@ from astroid import util BUILTINS = builtins_mod.__name__ MANAGER = manager.AstroidManager() +PY38 = sys.version_info[:2] >= (3, 8) def _is_const(value): @@ -4649,6 +4650,8 @@ CONST_CLS = { type(None): Const, type(NotImplemented): Const, } +if PY38: + CONST_CLS[type(...)] = Const def _update_const_classes(): diff --git a/astroid/raw_building.py b/astroid/raw_building.py index 60000fdb..c29cd2a3 100644 --- a/astroid/raw_building.py +++ b/astroid/raw_building.py @@ -396,6 +396,9 @@ def _astroid_bootstrapping(): elif cls is type(NotImplemented): proxy = build_class("NotImplementedType") proxy.parent = astroid_builtin + elif cls is type(...): + proxy = build_class("Ellipsis") + proxy.parent = astroid_builtin else: proxy = astroid_builtin.getattr(cls.__name__)[0] if cls in (dict, list, set, tuple): |