Kaydet (Commit) e24ee8f9 authored tarafından Batuhan Taşkaya's avatar Batuhan Taşkaya

Handle := in ast_unparse.c

üst 5eb8b07f
...@@ -275,6 +275,8 @@ class AnnotationsFutureTestCase(unittest.TestCase): ...@@ -275,6 +275,8 @@ class AnnotationsFutureTestCase(unittest.TestCase):
eq('f((x for x in a), 2)') eq('f((x for x in a), 2)')
eq('(((a)))', 'a') eq('(((a)))', 'a')
eq('(((a, b)))', '(a, b)') eq('(((a, b)))', '(a, b)')
eq("(x:=10)")
eq("f'{(x:=10):=10}'")
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -809,6 +809,17 @@ append_ast_await(_PyUnicodeWriter *writer, expr_ty e, int level) ...@@ -809,6 +809,17 @@ append_ast_await(_PyUnicodeWriter *writer, expr_ty e, int level)
return 0; return 0;
} }
static int
append_named_expr(_PyUnicodeWriter *writer, expr_ty e, int level)
{
APPEND_STR_IF(level > PR_TUPLE, "(");
APPEND_EXPR(e->v.NamedExpr.target, PR_ATOM);
APPEND_STR(":=");
APPEND_EXPR(e->v.NamedExpr.value, PR_ATOM);
APPEND_STR_IF(level > PR_TUPLE, ")");
return 0;
}
static int static int
append_ast_expr(_PyUnicodeWriter *writer, expr_ty e, int level) append_ast_expr(_PyUnicodeWriter *writer, expr_ty e, int level)
{ {
...@@ -867,6 +878,8 @@ append_ast_expr(_PyUnicodeWriter *writer, expr_ty e, int level) ...@@ -867,6 +878,8 @@ append_ast_expr(_PyUnicodeWriter *writer, expr_ty e, int level)
return append_ast_list(writer, e); return append_ast_list(writer, e);
case Tuple_kind: case Tuple_kind:
return append_ast_tuple(writer, e, level); return append_ast_tuple(writer, e, level);
case NamedExpr_kind:
return append_named_expr(writer, e, level);
default: default:
PyErr_SetString(PyExc_SystemError, PyErr_SetString(PyExc_SystemError,
"unknown expression kind"); "unknown expression kind");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment