summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--astroid/node_classes.py7
-rw-r--r--astroid/raw_building.py3
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):