For expression recovery

This commit is contained in:
Mikhael Bogdanov
2013-02-26 15:35:34 +04:00
parent 49bbbe1a0b
commit 1e4536a914
3 changed files with 47 additions and 1 deletions
@@ -1344,7 +1344,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
}
if (at(COLON)) {
advance(); // COLON
myJetParsing.parseTypeRef();
myJetParsing.parseTypeRef(TokenSet.create(IN_KEYWORD));
}
parameter.done(LOOP_PARAMETER);
}
@@ -0,0 +1,3 @@
fun f() {
for (v: in 1..2) {}
}
@@ -0,0 +1,43 @@
JetFile: ForRecovery.kt
NAMESPACE_HEADER
<empty list>
FUN
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('f')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BLOCK
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
FOR
PsiElement(for)('for')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
LOOP_PARAMETER
PsiElement(IDENTIFIER)('v')
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
PsiErrorElement:Type expected
<empty list>
PsiElement(in)('in')
PsiWhiteSpace(' ')
LOOP_RANGE
BINARY_EXPRESSION
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
OPERATION_REFERENCE
PsiElement(RANGE)('..')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('2')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
BODY
BLOCK
PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n')
PsiElement(RBRACE)('}')