Add {$var} . as {$var} syntax (fix #831)
This commit is contained in:
1 parent
25d47ca08e
commit
e16bd17571
2 files changed
+680
-655
No files matched your search
@@ -766,6 +766,9 @@ ObjPats ',' ObjPat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ObjPat:
|
ObjPat:
|
||||||
|
'$' IDENT {
|
||||||
|
$$ = gen_object_matcher(gen_const($2), gen_op_unbound(STOREV, jv_string_value($2)));
|
||||||
|
} |
|
||||||
IDENT ':' Pattern {
|
IDENT ':' Pattern {
|
||||||
$$ = gen_object_matcher(gen_const($1), $3);
|
$$ = gen_object_matcher(gen_const($1), $3);
|
||||||
} |
|
} |
|
||||||
@@ -857,6 +860,10 @@ IDENT ':' ExpD {
|
|||||||
$$ = gen_dictpair($1, BLOCK(gen_op_simple(POP), gen_op_simple(DUP2),
|
$$ = gen_dictpair($1, BLOCK(gen_op_simple(POP), gen_op_simple(DUP2),
|
||||||
gen_op_simple(DUP2), gen_op_simple(INDEX)));
|
gen_op_simple(DUP2), gen_op_simple(INDEX)));
|
||||||
}
|
}
|
||||||
|
| '$' IDENT {
|
||||||
|
$$ = gen_dictpair(gen_const($2),
|
||||||
|
gen_location(@$, locations, gen_op_unbound(LOADV, jv_string_value($2))));
|
||||||
|
}
|
||||||
| IDENT {
|
| IDENT {
|
||||||
$$ = gen_dictpair(gen_const(jv_copy($1)),
|
$$ = gen_dictpair(gen_const(jv_copy($1)),
|
||||||
gen_index(gen_noop(), gen_const($1)));
|
gen_index(gen_noop(), gen_const($1)));
|
||||||
|
|||||||
Reference in new issue
Block a user