Added JetLabeledExpression; added support to parser
This commit is contained in:
@@ -128,6 +128,7 @@ public interface JetNodeTypes {
|
||||
JetNodeType IS_EXPRESSION = new JetNodeType("IS_EXPRESSION", JetIsExpression.class); // TODO:
|
||||
JetNodeType PREFIX_EXPRESSION = new JetNodeType("PREFIX_EXPRESSION", JetPrefixExpression.class);
|
||||
JetNodeType POSTFIX_EXPRESSION = new JetNodeType("POSTFIX_EXPRESSION", JetPostfixExpression.class);
|
||||
JetNodeType LABELED_EXPRESSION = new JetNodeType("LABELED_EXPRESSION", JetLabeledExpression.class);
|
||||
JetNodeType CALL_EXPRESSION = new JetNodeType("CALL_EXPRESSION", JetCallExpression.class);
|
||||
JetNodeType ARRAY_ACCESS_EXPRESSION = new JetNodeType("ARRAY_ACCESS_EXPRESSION", JetArrayAccessExpression.class);
|
||||
JetNodeType INDICES = new JetNodeType("INDICES", JetContainerNode.class);
|
||||
|
||||
@@ -319,6 +319,17 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
expression.drop();
|
||||
}
|
||||
|
||||
/*
|
||||
* label prefixExpression
|
||||
*/
|
||||
private void parseLabeledExpression() {
|
||||
assert _at(LABEL_IDENTIFIER);
|
||||
PsiBuilder.Marker expression = mark();
|
||||
parseLabel();
|
||||
parsePrefixExpression();
|
||||
expression.done(LABELED_EXPRESSION);
|
||||
}
|
||||
|
||||
/*
|
||||
* operation? prefixExpression
|
||||
*/
|
||||
@@ -338,7 +349,11 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
}
|
||||
else {
|
||||
myBuilder.disableJoiningComplexTokens();
|
||||
if (atSet(Precedence.PREFIX.getOperations())) {
|
||||
if (at(LABEL_IDENTIFIER)) {
|
||||
myBuilder.restoreJoiningComplexTokensState();
|
||||
parseLabeledExpression();
|
||||
}
|
||||
else if (atSet(Precedence.PREFIX.getOperations())) {
|
||||
PsiBuilder.Marker expression = mark();
|
||||
|
||||
parseOperationReference();
|
||||
@@ -501,7 +516,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
while ((at(LBRACE) || at(LABEL_IDENTIFIER) && lookahead(1) == LBRACE)) {
|
||||
if (!at(LBRACE)) {
|
||||
assert _at(LABEL_IDENTIFIER);
|
||||
parsePrefixExpression();
|
||||
parseLabeledExpression();
|
||||
}
|
||||
else {
|
||||
parseFunctionLiteral();
|
||||
@@ -1399,11 +1414,11 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
else if (at(LABEL_IDENTIFIER) && lookahead(1) == LBRACE ) {
|
||||
PsiBuilder.Marker mark = mark();
|
||||
|
||||
parseOperationReference();
|
||||
parseLabel();
|
||||
|
||||
parseFunctionLiteral(true);
|
||||
|
||||
mark.done(PREFIX_EXPRESSION);
|
||||
mark.done(LABELED_EXPRESSION);
|
||||
}
|
||||
else {
|
||||
parseExpression();
|
||||
@@ -1554,7 +1569,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
|
||||
advance(); // BREAK_KEYWORD or CONTINUE_KEYWORD
|
||||
|
||||
parseLabel();
|
||||
parseLabelOnTheSameLine();
|
||||
|
||||
marker.done(type);
|
||||
}
|
||||
@@ -1569,7 +1584,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
|
||||
advance(); // RETURN_KEYWORD
|
||||
|
||||
parseLabel();
|
||||
parseLabelOnTheSameLine();
|
||||
|
||||
if (atSet(EXPRESSION_FIRST) && !at(EOL_OR_SEMICOLON)) parseExpression();
|
||||
|
||||
@@ -1577,18 +1592,26 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
}
|
||||
|
||||
/*
|
||||
* labels
|
||||
* label?
|
||||
*/
|
||||
private void parseLabelOnTheSameLine() {
|
||||
if (!eol() && at(LABEL_IDENTIFIER)) {
|
||||
parseLabel();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* label
|
||||
*/
|
||||
private void parseLabel() {
|
||||
if (!eol() && at(LABEL_IDENTIFIER)) {
|
||||
PsiBuilder.Marker labelWrap = mark();
|
||||
assert _at(LABEL_IDENTIFIER);
|
||||
PsiBuilder.Marker labelWrap = mark();
|
||||
|
||||
PsiBuilder.Marker mark = mark();
|
||||
advance(); // LABEL_IDENTIFIER
|
||||
mark.done(LABEL_REFERENCE);
|
||||
PsiBuilder.Marker mark = mark();
|
||||
advance(); // LABEL_IDENTIFIER
|
||||
mark.done(LABEL_REFERENCE);
|
||||
|
||||
labelWrap.done(LABEL_QUALIFIER);
|
||||
}
|
||||
labelWrap.done(LABEL_QUALIFIER);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1683,7 +1706,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
advance(); // THIS_KEYWORD
|
||||
thisReference.done(REFERENCE_EXPRESSION);
|
||||
|
||||
parseLabel();
|
||||
parseLabelOnTheSameLine();
|
||||
|
||||
mark.done(THIS_EXPRESSION);
|
||||
}
|
||||
@@ -1717,7 +1740,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
|
||||
}
|
||||
myBuilder.restoreNewlinesState();
|
||||
}
|
||||
parseLabel();
|
||||
parseLabelOnTheSameLine();
|
||||
|
||||
mark.done(SUPER_EXPRESSION);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright 2010-2014 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.lang.psi;
|
||||
|
||||
/*
|
||||
* Copyright 2010-2014 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
import com.intellij.lang.ASTNode;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class JetLabeledExpression extends JetExpressionWithLabel {
|
||||
|
||||
public JetLabeledExpression(@NotNull ASTNode node) {
|
||||
super(node);
|
||||
}
|
||||
|
||||
@Nullable @IfNotParsed
|
||||
public JetExpression getBaseExpression() {
|
||||
return findChildByClass(JetExpression.class);
|
||||
}
|
||||
}
|
||||
@@ -199,9 +199,10 @@ JetFile: ControlStructures.kt
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
PsiWhiteSpace('\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
PsiWhiteSpace('\n ')
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
@@ -213,9 +214,10 @@ JetFile: ControlStructures.kt
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
PsiWhiteSpace('\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
PsiWhiteSpace('\n ')
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
|
||||
@@ -15,23 +15,14 @@ fun foo() {
|
||||
|
||||
return@@
|
||||
return@@ 1
|
||||
return@@ (@@ 1)
|
||||
return@@ @@ 1
|
||||
|
||||
@a return@@
|
||||
@a return@@ 1
|
||||
@a return@@ (@@ 1)
|
||||
@a return@@ @@ 1
|
||||
|
||||
break
|
||||
break@
|
||||
break@a
|
||||
break@@
|
||||
|
||||
continue
|
||||
continue@
|
||||
continue@a
|
||||
continue@@
|
||||
|
||||
a.filter @f{
|
||||
if (1) return
|
||||
@@ -43,18 +34,11 @@ fun foo() {
|
||||
return@ true
|
||||
}
|
||||
|
||||
a.filter @@{
|
||||
if (1) return
|
||||
return@@ true
|
||||
}
|
||||
|
||||
this
|
||||
this@
|
||||
this@a
|
||||
this@@
|
||||
|
||||
super<A>
|
||||
super<A>@
|
||||
super<A>@a
|
||||
super<A>@@
|
||||
}
|
||||
+120
-282
@@ -26,247 +26,147 @@ JetFile: Labels.kt
|
||||
PsiWhiteSpace(' ')
|
||||
PARENTHESIZED
|
||||
PsiElement(LPAR)('(')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
PARENTHESIZED
|
||||
PsiElement(LPAR)('(')
|
||||
LABELED_EXPRESSION
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
LABELED_EXPRESSION
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
PARENTHESIZED
|
||||
PsiElement(LPAR)('(')
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
PARENTHESIZED
|
||||
PsiElement(LPAR)('(')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
PARENTHESIZED
|
||||
PsiElement(LPAR)('(')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
PARENTHESIZED
|
||||
PsiElement(LPAR)('(')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace('\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
PARENTHESIZED
|
||||
PsiElement(LPAR)('(')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
LABELED_EXPRESSION
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
LABELED_EXPRESSION
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace('\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace(' ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace(' ')
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
PsiWhiteSpace('\n ')
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace('\n ')
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace('\n ')
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
PsiWhiteSpace('\n ')
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace('\n ')
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace('\n ')
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
DOT_QUALIFIED_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
@@ -276,9 +176,10 @@ JetFile: Labels.kt
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('filter')
|
||||
PsiWhiteSpace(' ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@f')
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@f')
|
||||
FUNCTION_LITERAL_EXPRESSION
|
||||
FUNCTION_LITERAL
|
||||
PsiElement(LBRACE)('{')
|
||||
@@ -316,9 +217,9 @@ JetFile: Labels.kt
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('filter')
|
||||
PsiWhiteSpace(' ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
LABELED_EXPRESSION
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
FUNCTION_LITERAL_EXPRESSION
|
||||
FUNCTION_LITERAL
|
||||
PsiElement(LBRACE)('{')
|
||||
@@ -339,49 +240,8 @@ JetFile: Labels.kt
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
BOOLEAN_CONSTANT
|
||||
PsiElement(true)('true')
|
||||
PsiWhiteSpace('\n ')
|
||||
PsiElement(RBRACE)('}')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
DOT_QUALIFIED_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('a')
|
||||
PsiElement(DOT)('.')
|
||||
CALL_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('filter')
|
||||
PsiWhiteSpace(' ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
FUNCTION_LITERAL_EXPRESSION
|
||||
FUNCTION_LITERAL
|
||||
PsiElement(LBRACE)('{')
|
||||
PsiWhiteSpace('\n ')
|
||||
BLOCK
|
||||
IF
|
||||
PsiElement(if)('if')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(LPAR)('(')
|
||||
CONDITION
|
||||
INTEGER_CONSTANT
|
||||
PsiElement(INTEGER_LITERAL)('1')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace(' ')
|
||||
THEN
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
PsiWhiteSpace('\n ')
|
||||
RETURN
|
||||
PsiElement(return)('return')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace(' ')
|
||||
BOOLEAN_CONSTANT
|
||||
PsiElement(true)('true')
|
||||
@@ -395,9 +255,8 @@ JetFile: Labels.kt
|
||||
THIS_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(this)('this')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace('\n ')
|
||||
THIS_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
@@ -405,13 +264,6 @@ JetFile: Labels.kt
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace('\n ')
|
||||
THIS_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(this)('this')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
SUPER_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
@@ -432,9 +284,8 @@ JetFile: Labels.kt
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('A')
|
||||
PsiElement(GT)('>')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(AT)('@')
|
||||
PsiErrorElement:Label must be named
|
||||
PsiElement(LABEL_IDENTIFIER)('@')
|
||||
PsiWhiteSpace('\n ')
|
||||
SUPER_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
@@ -448,18 +299,5 @@ JetFile: Labels.kt
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@a')
|
||||
PsiWhiteSpace('\n ')
|
||||
SUPER_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(super)('super')
|
||||
PsiElement(LT)('<')
|
||||
TYPE_REFERENCE
|
||||
USER_TYPE
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('A')
|
||||
PsiElement(GT)('>')
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(ATAT)('@@')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(RBRACE)('}')
|
||||
@@ -701,9 +701,10 @@ JetFile: SimpleExpressions.kt
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
PsiWhiteSpace('\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
PsiWhiteSpace('\n ')
|
||||
BREAK
|
||||
PsiElement(break)('break')
|
||||
@@ -715,9 +716,10 @@ JetFile: SimpleExpressions.kt
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
PsiWhiteSpace('\n ')
|
||||
PREFIX_EXPRESSION
|
||||
OPERATION_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
LABELED_EXPRESSION
|
||||
LABEL_QUALIFIER
|
||||
LABEL_REFERENCE
|
||||
PsiElement(LABEL_IDENTIFIER)('@la')
|
||||
PsiWhiteSpace('\n ')
|
||||
CONTINUE
|
||||
PsiElement(continue)('continue')
|
||||
|
||||
Reference in New Issue
Block a user