mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Patch #1550786: ellipsis literal.
This commit is contained in:
parent
7cae87ca7b
commit
52318d6215
19 changed files with 140 additions and 141 deletions
|
@ -2746,6 +2746,8 @@ static int
|
|||
expr_constant(expr_ty e)
|
||||
{
|
||||
switch (e->kind) {
|
||||
case Ellipsis_kind:
|
||||
return 1;
|
||||
case Num_kind:
|
||||
return PyObject_IsTrue(e->v.Num.n);
|
||||
case Str_kind:
|
||||
|
@ -2977,6 +2979,9 @@ compiler_visit_expr(struct compiler *c, expr_ty e)
|
|||
case Str_kind:
|
||||
ADDOP_O(c, LOAD_CONST, e->v.Str.s, consts);
|
||||
break;
|
||||
case Ellipsis_kind:
|
||||
ADDOP_O(c, LOAD_CONST, Py_Ellipsis, consts);
|
||||
break;
|
||||
/* The following exprs can be assignment targets. */
|
||||
case Attribute_kind:
|
||||
if (e->v.Attribute.ctx != AugStore)
|
||||
|
@ -3255,9 +3260,6 @@ compiler_visit_nested_slice(struct compiler *c, slice_ty s,
|
|||
expr_context_ty ctx)
|
||||
{
|
||||
switch (s->kind) {
|
||||
case Ellipsis_kind:
|
||||
ADDOP_O(c, LOAD_CONST, Py_Ellipsis, consts);
|
||||
break;
|
||||
case Slice_kind:
|
||||
return compiler_slice(c, s, ctx);
|
||||
case Index_kind:
|
||||
|
@ -3284,12 +3286,6 @@ compiler_visit_slice(struct compiler *c, slice_ty s, expr_context_ty ctx)
|
|||
VISIT(c, expr, s->v.Index.value);
|
||||
}
|
||||
break;
|
||||
case Ellipsis_kind:
|
||||
kindname = "ellipsis";
|
||||
if (ctx != AugStore) {
|
||||
ADDOP_O(c, LOAD_CONST, Py_Ellipsis, consts);
|
||||
}
|
||||
break;
|
||||
case Slice_kind:
|
||||
kindname = "slice";
|
||||
if (!s->v.Slice.step)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue