Fixed parsing ellipsis in slice lists (PY-8606)

This commit is contained in:
Andrey Vlasovskikh
2013-01-28 20:49:48 +04:00
parent 1c00750e19
commit 8e4270e44a
8 changed files with 114 additions and 57 deletions
@@ -0,0 +1 @@
y = x[..., 0]
@@ -0,0 +1,21 @@
PyFile:EllipsisInSliceList.py
PyAssignmentStatement
PyTargetExpression: y
PsiElement(Py:IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PySubscriptionExpression
PyReferenceExpression: x
PsiElement(Py:IDENTIFIER)('x')
PsiElement(Py:LBRACKET)('[')
PyTupleExpression
PyNoneLiteralExpression
PsiElement(Py:DOT)('.')
PsiElement(Py:DOT)('.')
PsiElement(Py:DOT)('.')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('0')
PsiElement(Py:RBRACKET)(']')
@@ -0,0 +1 @@
y = x[0, ..., 2]
@@ -0,0 +1,25 @@
PyFile:EllipsisInSliceListTail.py
PyAssignmentStatement
PyTargetExpression: y
PsiElement(Py:IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PySubscriptionExpression
PyReferenceExpression: x
PsiElement(Py:IDENTIFIER)('x')
PsiElement(Py:LBRACKET)('[')
PyTupleExpression
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('0')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyNoneLiteralExpression
PsiElement(Py:DOT)('.')
PsiElement(Py:DOT)('.')
PsiElement(Py:DOT)('.')
PsiElement(Py:COMMA)(',')
PsiWhiteSpace(' ')
PyNumericLiteralExpression
PsiElement(Py:INTEGER_LITERAL)('2')
PsiElement(Py:RBRACKET)(']')