Introduce anddot_multiple_assignment_check function
This commit is contained in:
parent
cee6903763
commit
b632566f7e
Notes:
git
2023-05-14 01:32:45 +00:00
16
parse.y
16
parse.y
@ -710,6 +710,14 @@ parser_get_node_id(struct parser_params *p)
|
|||||||
return node_id;
|
return node_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
anddot_multiple_assignment_check(struct parser_params* p, const YYLTYPE *loc, ID id)
|
||||||
|
{
|
||||||
|
if (id == tANDDOT) {
|
||||||
|
yyerror1(loc, "&. inside multiple assignment destination");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef RIPPER
|
#ifndef RIPPER
|
||||||
static inline void
|
static inline void
|
||||||
set_line_body(NODE *body, int line)
|
set_line_body(NODE *body, int line)
|
||||||
@ -2386,9 +2394,7 @@ mlhs_node : user_variable
|
|||||||
}
|
}
|
||||||
| primary_value call_op tIDENTIFIER
|
| primary_value call_op tIDENTIFIER
|
||||||
{
|
{
|
||||||
if ($2 == tANDDOT) {
|
anddot_multiple_assignment_check(p, &@2, $2);
|
||||||
yyerror1(&@2, "&. inside multiple assignment destination");
|
|
||||||
}
|
|
||||||
/*%%%*/
|
/*%%%*/
|
||||||
$$ = attrset(p, $1, $2, $3, &@$);
|
$$ = attrset(p, $1, $2, $3, &@$);
|
||||||
/*% %*/
|
/*% %*/
|
||||||
@ -2403,9 +2409,7 @@ mlhs_node : user_variable
|
|||||||
}
|
}
|
||||||
| primary_value call_op tCONSTANT
|
| primary_value call_op tCONSTANT
|
||||||
{
|
{
|
||||||
if ($2 == tANDDOT) {
|
anddot_multiple_assignment_check(p, &@2, $2);
|
||||||
yyerror1(&@2, "&. inside multiple assignment destination");
|
|
||||||
}
|
|
||||||
/*%%%*/
|
/*%%%*/
|
||||||
$$ = attrset(p, $1, $2, $3, &@$);
|
$$ = attrset(p, $1, $2, $3, &@$);
|
||||||
/*% %*/
|
/*% %*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user