Reset FOR_TARGET context for all kinds of parentheses (#11009)

## Summary

This PR fixes a bug in the new parser which involves the parser context
w.r.t. for statement. This is specifically around the `in` keyword which
can be present in the target expression and shouldn't be considered to
be part of the `for` statement header. Ideally it should use a context
which is passed between functions, thus using a call stack to set /
unset a specific variant which will be done in a follow-up PR as it
requires some amount of refactor.

## Test Plan

Add test cases and update the snapshots.
This commit is contained in:
Dhruv Manilawala 2024-04-18 19:37:50 +05:30 committed by GitHub
parent 13ffb5bc19
commit 8020d486f6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 445 additions and 27 deletions

View file

@ -0,0 +1 @@
for d(x in y) in target: ...

View file

@ -1,2 +1,5 @@
for (x in y)() in iter: ...
for (x in y) in iter: ...
for (x in y, z) in iter: ...
for [x in y, z] in iter: ...
for {x in y, z} in iter: ...

View file

@ -0,0 +1 @@
for d[x in y] in target: ...