allow test node after ** in calls (closes #24176)
This commit is contained in:
parent
8de32d906f
commit
de12b79cd6
|
@ -136,7 +136,7 @@ arglist: argument (',' argument)* [',']
|
||||||
# that precede iterable unpackings are blocked; etc.
|
# that precede iterable unpackings are blocked; etc.
|
||||||
argument: ( test [comp_for] |
|
argument: ( test [comp_for] |
|
||||||
test '=' test |
|
test '=' test |
|
||||||
'**' expr |
|
'**' test |
|
||||||
star_expr )
|
star_expr )
|
||||||
|
|
||||||
comp_iter: comp_for | comp_if
|
comp_iter: comp_for | comp_if
|
||||||
|
|
|
@ -206,6 +206,7 @@ class GrammarTests(unittest.TestCase):
|
||||||
d01(1)
|
d01(1)
|
||||||
d01(*(1,))
|
d01(*(1,))
|
||||||
d01(**{'a':2})
|
d01(**{'a':2})
|
||||||
|
d01(**{'a':2} or {})
|
||||||
def d11(a, b=1): pass
|
def d11(a, b=1): pass
|
||||||
d11(1)
|
d11(1)
|
||||||
d11(1, 2)
|
d11(1, 2)
|
||||||
|
|
|
@ -2871,7 +2871,7 @@ validate_argument(node *tree)
|
||||||
|
|
||||||
if (res) {
|
if (res) {
|
||||||
if (TYPE(CHILD(tree, 0)) == DOUBLESTAR) {
|
if (TYPE(CHILD(tree, 0)) == DOUBLESTAR) {
|
||||||
res = validate_expr(CHILD(tree, 1));
|
res = validate_test(CHILD(tree, 1));
|
||||||
}
|
}
|
||||||
else if (nch == 1) {
|
else if (nch == 1) {
|
||||||
res = validate_test_or_star_expr(CHILD(tree, 0));
|
res = validate_test_or_star_expr(CHILD(tree, 0));
|
||||||
|
|
|
@ -1748,24 +1748,20 @@ static arc arcs_78_0[3] = {
|
||||||
};
|
};
|
||||||
static arc arcs_78_1[3] = {
|
static arc arcs_78_1[3] = {
|
||||||
{164, 3},
|
{164, 3},
|
||||||
{31, 4},
|
{31, 2},
|
||||||
{0, 1},
|
{0, 1},
|
||||||
};
|
};
|
||||||
static arc arcs_78_2[1] = {
|
static arc arcs_78_2[1] = {
|
||||||
{107, 3},
|
{26, 3},
|
||||||
};
|
};
|
||||||
static arc arcs_78_3[1] = {
|
static arc arcs_78_3[1] = {
|
||||||
{0, 3},
|
{0, 3},
|
||||||
};
|
};
|
||||||
static arc arcs_78_4[1] = {
|
static state states_78[4] = {
|
||||||
{26, 3},
|
|
||||||
};
|
|
||||||
static state states_78[5] = {
|
|
||||||
{3, arcs_78_0},
|
{3, arcs_78_0},
|
||||||
{3, arcs_78_1},
|
{3, arcs_78_1},
|
||||||
{1, arcs_78_2},
|
{1, arcs_78_2},
|
||||||
{1, arcs_78_3},
|
{1, arcs_78_3},
|
||||||
{1, arcs_78_4},
|
|
||||||
};
|
};
|
||||||
static arc arcs_79_0[2] = {
|
static arc arcs_79_0[2] = {
|
||||||
{164, 1},
|
{164, 1},
|
||||||
|
@ -2021,7 +2017,7 @@ static dfa dfas[85] = {
|
||||||
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
|
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
|
||||||
{333, "arglist", 0, 3, states_77,
|
{333, "arglist", 0, 3, states_77,
|
||||||
"\000\040\200\000\006\000\000\000\000\000\004\000\000\000\010\001\000\140\110\224\017\000"},
|
"\000\040\200\000\006\000\000\000\000\000\004\000\000\000\010\001\000\140\110\224\017\000"},
|
||||||
{334, "argument", 0, 5, states_78,
|
{334, "argument", 0, 4, states_78,
|
||||||
"\000\040\200\000\006\000\000\000\000\000\004\000\000\000\010\001\000\140\110\224\017\000"},
|
"\000\040\200\000\006\000\000\000\000\000\004\000\000\000\010\001\000\140\110\224\017\000"},
|
||||||
{335, "comp_iter", 0, 2, states_79,
|
{335, "comp_iter", 0, 2, states_79,
|
||||||
"\000\000\000\000\000\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\000\000"},
|
"\000\000\000\000\000\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\000\000"},
|
||||||
|
|
Loading…
Reference in New Issue