report parsing error if no expression was found after * (PY-10177 part 1)

This commit is contained in:
Dmitry Jemerov
2013-10-31 21:00:19 +01:00
parent 8e3e414a66
commit 56b50d1dff
4 changed files with 19 additions and 0 deletions
@@ -772,6 +772,7 @@ public class ExpressionParsing extends Parsing {
PsiBuilder.Marker starExpr = myBuilder.mark();
nextToken();
if (!parseBitwiseORExpression(isTargetExpression)) {
myBuilder.error(message("PARSE.expected.expression"));
starExpr.drop();
return false;
}
+1
View File
@@ -0,0 +1 @@
x = (*)
+13
View File
@@ -0,0 +1,13 @@
PyFile:LoneStar.py
PyAssignmentStatement
PyTargetExpression: x
PsiElement(Py:IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(Py:EQ)('=')
PsiWhiteSpace(' ')
PyParenthesizedExpression
PsiElement(Py:LPAR)('(')
PsiElement(Py:MULT)('*')
PsiErrorElement:expression expected
<empty list>
PsiElement(Py:RPAR)(')')
@@ -398,6 +398,10 @@ public class PythonParsingTest extends ParsingTestCase {
doTest();
}
public void testLoneStar() { // PY-10177
doTest();
}
public void doTest(LanguageLevel languageLevel) {
LanguageLevel prev = myLanguageLevel;
myLanguageLevel = languageLevel;