tweak lambda parsing: don't put colon inside parameter list (for consistency with regular functions)

This commit is contained in:
Dmitry Jemerov
2011-08-26 16:27:47 +02:00
parent 5d902df418
commit c5142c94b0
4 changed files with 11 additions and 5 deletions

View File

@@ -173,11 +173,15 @@ public class FunctionParsing extends Parsing {
}
}
if (myBuilder.getTokenType() == endToken) {
if (myBuilder.getTokenType() == endToken && endToken == PyTokenTypes.RPAR) {
myBuilder.advanceLexer();
}
parameterList.done(PyElementTypes.PARAMETER_LIST);
if (myBuilder.getTokenType() == endToken && endToken == PyTokenTypes.COLON) {
myBuilder.advanceLexer();
}
}
private void parseParameterSubList() {

View File

@@ -16,6 +16,7 @@ PyFile:LambdaComprehension.py
PyLambdaExpression
PsiElement(Py:LAMBDA_KEYWORD)('lambda')
PyParameterList
<empty list>
PsiElement(Py:COLON)(':')
PsiWhiteSpace(' ')
PyReferenceExpression: True
@@ -25,6 +26,7 @@ PyFile:LambdaComprehension.py
PyLambdaExpression
PsiElement(Py:LAMBDA_KEYWORD)('lambda')
PyParameterList
<empty list>
PsiElement(Py:COLON)(':')
PsiWhiteSpace(' ')
PyReferenceExpression: False