@@ -19,6 +19,7 @@ use crate::obj::objbytes;
19
19
use crate :: obj:: objcode;
20
20
use crate :: obj:: objcomplex:: { self , PyComplex } ;
21
21
use crate :: obj:: objdict;
22
+ use crate :: obj:: objellipsis;
22
23
use crate :: obj:: objenumerate;
23
24
use crate :: obj:: objfilter;
24
25
use crate :: obj:: objfloat:: { self , PyFloat } ;
@@ -115,6 +116,7 @@ pub struct PyContext {
115
116
pub classmethod_type : PyObjectRef ,
116
117
pub code_type : PyObjectRef ,
117
118
pub dict_type : PyObjectRef ,
119
+ pub ellipsis_type : PyObjectRef ,
118
120
pub enumerate_type : PyObjectRef ,
119
121
pub filter_type : PyObjectRef ,
120
122
pub float_type : PyObjectRef ,
@@ -208,6 +210,7 @@ impl PyContext {
208
210
let bytearray_type = create_type ( "bytearray" , & type_type, & object_type, & dict_type) ;
209
211
let tuple_type = create_type ( "tuple" , & type_type, & object_type, & dict_type) ;
210
212
let iter_type = create_type ( "iter" , & type_type, & object_type, & dict_type) ;
213
+ let ellipsis_type = create_type ( "EllipsisType" , & type_type, & object_type, & dict_type) ;
211
214
let enumerate_type = create_type ( "enumerate" , & type_type, & object_type, & dict_type) ;
212
215
let filter_type = create_type ( "filter" , & type_type, & object_type, & dict_type) ;
213
216
let map_type = create_type ( "map" , & type_type, & object_type, & dict_type) ;
@@ -224,11 +227,7 @@ impl PyContext {
224
227
create_type ( "NoneType" , & type_type, & object_type, & dict_type) ,
225
228
) ;
226
229
227
- // TODO: implement proper ellipsis class?
228
- let ellipsis = PyObject :: new (
229
- PyObjectPayload :: None ,
230
- create_type ( "EllipsisType" , & type_type, & object_type, & dict_type) ,
231
- ) ;
230
+ let ellipsis = PyObject :: new ( PyObjectPayload :: None , ellipsis_type. clone ( ) ) ;
232
231
233
232
let not_implemented = PyObject :: new (
234
233
PyObjectPayload :: NotImplemented ,
@@ -264,6 +263,7 @@ impl PyContext {
264
263
false_value,
265
264
tuple_type,
266
265
iter_type,
266
+ ellipsis_type,
267
267
enumerate_type,
268
268
filter_type,
269
269
map_type,
@@ -308,6 +308,7 @@ impl PyContext {
308
308
objsuper:: init ( & context) ;
309
309
objtuple:: init ( & context) ;
310
310
objiter:: init ( & context) ;
311
+ objellipsis:: init ( & context) ;
311
312
objenumerate:: init ( & context) ;
312
313
objfilter:: init ( & context) ;
313
314
objmap:: init ( & context) ;
0 commit comments