[FE] Support local contextual declarations

This commit is contained in:
Anastasiya Shadrina
2021-04-12 14:26:50 +07:00
committed by TeamCityServer
parent 43d11c7c4b
commit 875f4ea31c
10 changed files with 117 additions and 1 deletions
@@ -1094,6 +1094,9 @@ public class KotlinExpressionParsing extends AbstractKotlinParsing {
*/
private boolean parseLocalDeclaration(boolean rollbackIfDefinitelyNotExpression, boolean isScriptTopLevel) {
PsiBuilder.Marker decl = mark();
if (atSet(CONTEXT_KEYWORD)) {
myKotlinParsing.parseContextReceiverList();
}
KotlinParsing.ModifierDetector detector = new KotlinParsing.ModifierDetector();
myKotlinParsing.parseModifierList(detector, DEFAULT, TokenSet.EMPTY);
@@ -620,7 +620,7 @@ public class KotlinParsing extends AbstractKotlinParsing {
* contextReceiverList
* : "context" "(" (label? typeReference{","})+ ")"
*/
private void parseContextReceiverList() {
public void parseContextReceiverList() {
assert _at(CONTEXT_KEYWORD);
PsiBuilder.Marker contextReceiverList = mark();
advance(); // CONTEXT_KEYWORD