'val' in 'when' subject can't have modifiers (annotations are ok)

This commit is contained in:
Dmitry Petrov
2018-06-08 16:25:17 +03:00
parent 53fd883e2a
commit 67247ee490
9 changed files with 378 additions and 1 deletions
@@ -850,7 +850,7 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing {
advanceAt(LPAR);
PsiBuilder.Marker atWhenStart = mark();
myKotlinParsing.parseModifierList(DEFAULT, TokenSet.create(EQ, RPAR));
myKotlinParsing.parseAnnotationsList(DEFAULT, TokenSet.create(EQ, RPAR));
if (at(VAL_KEYWORD) || at(VAR_KEYWORD)) {
IElementType declType = myKotlinParsing.parseProperty(KotlinParsing.PropertyParsingMode.LOCAL);
@@ -460,6 +460,13 @@ public class KotlinParsing extends AbstractKotlinParsing {
return parseModifierList(null, annotationParsingMode, noModifiersBefore);
}
boolean parseAnnotationsList(
@NotNull AnnotationParsingMode annotationParsingMode,
@NotNull TokenSet noModifiersBefore
) {
return doParseModifierList(null, TokenSet.EMPTY, annotationParsingMode, noModifiersBefore);
}
/**
* (modifier | annotation)*
*