fix parsing of generator in argument list to actually match Python grammaer (PY-6926)

This commit is contained in:
Dmitry Jemerov
2012-08-07 12:46:11 +02:00
parent 166b126019
commit 59bd0dd4d5
4 changed files with 65 additions and 22 deletions
+1
View File
@@ -0,0 +1 @@
list(int(i) for i in '1', '2')
+31
View File
@@ -0,0 +1,31 @@
PyFile:GeneratorList.py
PyExpressionStatement
PyCallExpression: list
PyReferenceExpression: list
PsiElement(Py:IDENTIFIER)('list')
PyArgumentList
PsiElement(Py:LPAR)('(')
PyGeneratorExpression
PyCallExpression: int
PyReferenceExpression: int
PsiElement(Py:IDENTIFIER)('int')
PyArgumentList
PsiElement(Py:LPAR)('(')
PyReferenceExpression: i
PsiElement(Py:IDENTIFIER)('i')
PsiElement(Py:RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(Py:FOR_KEYWORD)('for')
PsiWhiteSpace(' ')
PyTargetExpression: i
PsiElement(Py:IDENTIFIER)('i')
PsiWhiteSpace(' ')
PsiElement(Py:IN_KEYWORD)('in')
PsiWhiteSpace(' ')
PyStringLiteralExpression: 1
PsiElement(Py:SINGLE_QUOTED_STRING)(''1'')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyStringLiteralExpression: 2
PsiElement(Py:SINGLE_QUOTED_STRING)(''2'')
PsiElement(Py:RPAR)(')')