Files
openide/python/testData/psi/AssignmentExpressionsInSet.txt
Irina Fediaeva a86c492a92 PY-48940: Allow unparenthesized assignment expressions within set literals, set comprehensions.
(cherry picked from commit 1ed44bb7a0bde2c7000923c2ed2a671f913eae8f)

IJ-CR-11891

GitOrigin-RevId: bb0ae8626e085e6c9223626137dbdd07e5c084b3
2021-08-10 13:00:58 +00:00

261 lines
8.5 KiB
Plaintext

PyFile:AssignmentExpressionsInSet.py
PyAssignmentStatement
PyTargetExpression: old_set
PsiElement(Py:IDENTIFIER)('old_set')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PySetLiteralExpression
PsiElement(Py:LBRACE)('{')
PyParenthesizedExpression
PsiElement(Py:LPAR)('(')
PyAssignmentExpression
PyTargetExpression: a
PsiElement(Py:IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('1')
PsiElement(Py:RPAR)(')')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyParenthesizedExpression
PsiElement(Py:LPAR)('(')
PyAssignmentExpression
PyTargetExpression: b
PsiElement(Py:IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('1')
PsiElement(Py:RPAR)(')')
PsiElement(Py:RBRACE)('}')
PsiWhiteSpace(' ')
PsiComment(Py:END_OF_LINE_COMMENT)('# valid')
PsiWhiteSpace('\n')
PyAssignmentStatement
PyTargetExpression: new_set
PsiElement(Py:IDENTIFIER)('new_set')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PySetLiteralExpression
PsiElement(Py:LBRACE)('{')
PyAssignmentExpression
PyTargetExpression: a
PsiElement(Py:IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('1')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyAssignmentExpression
PyTargetExpression: b
PsiElement(Py:IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('2')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyAssignmentExpression
PyTargetExpression: c
PsiElement(Py:IDENTIFIER)('c')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('3')
PsiElement(Py:RBRACE)('}')
PsiWhiteSpace(' ')
PsiComment(Py:END_OF_LINE_COMMENT)('# valid')
PsiWhiteSpace('\n\n')
PyAssignmentStatement
PyTargetExpression: my_list
PsiElement(Py:IDENTIFIER)('my_list')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PyListLiteralExpression
PsiElement(Py:LBRACKET)('[')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('1')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('2')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('3')
PsiElement(Py:RBRACKET)(']')
PsiWhiteSpace('\n')
PyAssignmentStatement
PyTargetExpression: set_comp_old
PsiElement(Py:IDENTIFIER)('set_comp_old')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PySetCompExpression
PsiElement(Py:LBRACE)('{')
PyParenthesizedExpression
PsiElement(Py:LPAR)('(')
PyAssignmentExpression
PyTargetExpression: a
PsiElement(Py:IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PySubscriptionExpression
PyReferenceExpression: my_list
PsiElement(Py:IDENTIFIER)('my_list')
PsiElement(Py:LBRACKET)('[')
PyReferenceExpression: i
PsiElement(Py:IDENTIFIER)('i')
PsiElement(Py:RBRACKET)(']')
PsiElement(Py:RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(Py:FOR_KEYWORD)('for')
PsiWhiteSpace(' ')
PyTargetExpression: i
PsiElement(Py:IDENTIFIER)('i')
PsiWhiteSpace(' ')
PsiElement(Py:IN_KEYWORD)('in')
PsiWhiteSpace(' ')
PyReferenceExpression: my_list
PsiElement(Py:IDENTIFIER)('my_list')
PsiWhiteSpace(' ')
PsiElement(Py:IF_KEYWORD)('if')
PsiWhiteSpace(' ')
PyBinaryExpression
PyParenthesizedExpression
PsiElement(Py:LPAR)('(')
PyAssignmentExpression
PyTargetExpression: k
PsiElement(Py:IDENTIFIER)('k')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyReferenceExpression: i
PsiElement(Py:IDENTIFIER)('i')
PsiElement(Py:RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(Py:GT)('>')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('0')
PsiElement(Py:RBRACE)('}')
PsiWhiteSpace(' ')
PsiComment(Py:END_OF_LINE_COMMENT)('# valid')
PsiWhiteSpace('\n')
PyAssignmentStatement
PyTargetExpression: set_comp_new
PsiElement(Py:IDENTIFIER)('set_comp_new')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PySetCompExpression
PsiElement(Py:LBRACE)('{')
PyAssignmentExpression
PyTargetExpression: b
PsiElement(Py:IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PySubscriptionExpression
PyReferenceExpression: my_list
PsiElement(Py:IDENTIFIER)('my_list')
PsiElement(Py:LBRACKET)('[')
PyReferenceExpression: j
PsiElement(Py:IDENTIFIER)('j')
PsiElement(Py:RBRACKET)(']')
PsiWhiteSpace(' ')
PsiElement(Py:FOR_KEYWORD)('for')
PsiWhiteSpace(' ')
PyTargetExpression: j
PsiElement(Py:IDENTIFIER)('j')
PsiWhiteSpace(' ')
PsiElement(Py:IN_KEYWORD)('in')
PsiWhiteSpace(' ')
PyReferenceExpression: my_list
PsiElement(Py:IDENTIFIER)('my_list')
PsiWhiteSpace(' ')
PsiElement(Py:IF_KEYWORD)('if')
PsiWhiteSpace(' ')
PyBinaryExpression
PyParenthesizedExpression
PsiElement(Py:LPAR)('(')
PyAssignmentExpression
PyTargetExpression: k
PsiElement(Py:IDENTIFIER)('k')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyReferenceExpression: j
PsiElement(Py:IDENTIFIER)('j')
PsiElement(Py:RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(Py:GT)('>')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('0')
PsiElement(Py:RBRACE)('}')
PsiWhiteSpace(' ')
PsiComment(Py:END_OF_LINE_COMMENT)('# valid')
PsiWhiteSpace('\n')
PyAssignmentStatement
PyTargetExpression: set_comp_new_invalid
PsiElement(Py:IDENTIFIER)('set_comp_new_invalid')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PyAssignmentExpression
PySetCompExpression
PsiElement(Py:LBRACE)('{')
PyAssignmentExpression
PyTargetExpression: b
PsiElement(Py:IDENTIFIER)('b')
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PySubscriptionExpression
PyReferenceExpression: my_list
PsiElement(Py:IDENTIFIER)('my_list')
PsiElement(Py:LBRACKET)('[')
PyReferenceExpression: j
PsiElement(Py:IDENTIFIER)('j')
PsiElement(Py:RBRACKET)(']')
PsiWhiteSpace(' ')
PsiElement(Py:FOR_KEYWORD)('for')
PsiWhiteSpace(' ')
PyTargetExpression: j
PsiElement(Py:IDENTIFIER)('j')
PsiWhiteSpace(' ')
PsiElement(Py:IN_KEYWORD)('in')
PsiWhiteSpace(' ')
PyReferenceExpression: my_list
PsiElement(Py:IDENTIFIER)('my_list')
PsiWhiteSpace(' ')
PsiElement(Py:IF_KEYWORD)('if')
PsiWhiteSpace(' ')
PyReferenceExpression: k
PsiElement(Py:IDENTIFIER)('k')
PsiErrorElement:']' or 'for' expected
<empty list>
PsiWhiteSpace(' ')
PsiElement(Py:COLONEQ)(':=')
PsiWhiteSpace(' ')
PyBoolLiteralExpression
PsiElement(Py:TRUE_KEYWORD)('True')
PsiErrorElement:Expression expected
<empty list>
PsiElement(Py:RBRACE)('}')
PsiErrorElement:Statement expected, found Py:RBRACE
<empty list>
PsiWhiteSpace(' ')
PsiComment(Py:END_OF_LINE_COMMENT)('# invalid')