Drop suppport for annotation syntax without '@' from parser

This commit is contained in:
Valentin Kipyatkov
2015-10-10 16:42:58 +03:00
parent d8ba854036
commit 98dc8f234e
36 changed files with 940 additions and 1306 deletions
@@ -33,7 +33,6 @@ import java.util.Set;
import static org.jetbrains.kotlin.JetNodeTypes.*; import static org.jetbrains.kotlin.JetNodeTypes.*;
import static org.jetbrains.kotlin.lexer.JetTokens.*; import static org.jetbrains.kotlin.lexer.JetTokens.*;
import static org.jetbrains.kotlin.parsing.JetParsing.AnnotationParsingMode.ALLOW_UNESCAPED_REGULAR_ANNOTATIONS;
import static org.jetbrains.kotlin.parsing.JetParsing.AnnotationParsingMode.ONLY_ESCAPED_REGULAR_ANNOTATIONS; import static org.jetbrains.kotlin.parsing.JetParsing.AnnotationParsingMode.ONLY_ESCAPED_REGULAR_ANNOTATIONS;
import static org.jetbrains.kotlin.parsing.JetParsing.DeclarationParsingMode.LOCAL; import static org.jetbrains.kotlin.parsing.JetParsing.DeclarationParsingMode.LOCAL;
@@ -846,14 +845,14 @@ public class JetExpressionParsing extends AbstractJetParsing {
if (at(LPAR)) { if (at(LPAR)) {
advanceAt(LPAR); advanceAt(LPAR);
int valPos = matchTokenStreamPredicate(new FirstBefore(new At(VAL_KEYWORD), new AtSet(RPAR, LBRACE, RBRACE, SEMICOLON, EQ)));
if (valPos >= 0) {
PsiBuilder.Marker property = mark(); PsiBuilder.Marker property = mark();
myJetParsing.parseModifierList(ALLOW_UNESCAPED_REGULAR_ANNOTATIONS); myJetParsing.parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.create(EQ, RPAR));
if (at(VAL_KEYWORD) || at(VAR_KEYWORD)) {
myJetParsing.parseProperty(true); myJetParsing.parseProperty(true);
property.done(PROPERTY); property.done(PROPERTY);
} }
else { else {
property.rollbackTo();
parseExpression(); parseExpression();
} }
@@ -1035,7 +1034,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
private boolean parseLocalDeclaration() { private boolean parseLocalDeclaration() {
PsiBuilder.Marker decl = mark(); PsiBuilder.Marker decl = mark();
JetParsing.ModifierDetector detector = new JetParsing.ModifierDetector(); JetParsing.ModifierDetector detector = new JetParsing.ModifierDetector();
myJetParsing.parseModifierList(detector, ONLY_ESCAPED_REGULAR_ANNOTATIONS); myJetParsing.parseModifierList(detector, ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.EMPTY);
IElementType declType = parseLocalDeclarationRest(detector.isEnumDetected()); IElementType declType = parseLocalDeclarationRest(detector.isEnumDetected());
@@ -1343,9 +1342,7 @@ public class JetExpressionParsing extends AbstractJetParsing {
PsiBuilder.Marker parameter = mark(); PsiBuilder.Marker parameter = mark();
if (!at(IN_KEYWORD)) { if (!at(IN_KEYWORD)) {
myJetParsing.parseModifierListWithUnescapedAnnotations( myJetParsing.parseModifierListWithLookForStopAt(TokenSet.create(IDENTIFIER, LPAR), TokenSet.create(IN_KEYWORD, RPAR, COLON));
TokenSet.create(IDENTIFIER, LPAR), TokenSet.create(IN_KEYWORD, RPAR, COLON)
);
} }
if (at(VAL_KEYWORD) || at(VAR_KEYWORD)) advance(); // VAL_KEYWORD or VAR_KEYWORD if (at(VAL_KEYWORD) || at(VAR_KEYWORD)) advance(); // VAL_KEYWORD or VAR_KEYWORD
@@ -196,7 +196,7 @@ public class JetParsing extends AbstractJetParsing {
* ; * ;
*/ */
PsiBuilder.Marker packageDirective = mark(); PsiBuilder.Marker packageDirective = mark();
parseModifierList(ALLOW_UNESCAPED_REGULAR_ANNOTATIONS); parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.EMPTY);
if (at(PACKAGE_KEYWORD)) { if (at(PACKAGE_KEYWORD)) {
advance(); // PACKAGE_KEYWORD advance(); // PACKAGE_KEYWORD
@@ -391,7 +391,7 @@ public class JetParsing extends AbstractJetParsing {
PsiBuilder.Marker decl = mark(); PsiBuilder.Marker decl = mark();
ModifierDetector detector = new ModifierDetector(); ModifierDetector detector = new ModifierDetector();
parseModifierList(detector, ALLOW_UNESCAPED_REGULAR_ANNOTATIONS); parseModifierList(detector, ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.EMPTY);
IElementType keywordToken = tt(); IElementType keywordToken = tt();
IElementType declType = null; IElementType declType = null;
@@ -434,9 +434,10 @@ public class JetParsing extends AbstractJetParsing {
* (modifier | annotation)* * (modifier | annotation)*
*/ */
boolean parseModifierList( boolean parseModifierList(
@NotNull AnnotationParsingMode annotationParsingMode @NotNull AnnotationParsingMode annotationParsingMode,
@Nullable TokenSet noModifiersBefore
) { ) {
return parseModifierList(null, annotationParsingMode); return parseModifierList(null, annotationParsingMode, noModifiersBefore);
} }
/** /**
@@ -446,7 +447,8 @@ public class JetParsing extends AbstractJetParsing {
*/ */
boolean parseModifierList( boolean parseModifierList(
@Nullable Consumer<IElementType> tokenConsumer, @Nullable Consumer<IElementType> tokenConsumer,
@NotNull AnnotationParsingMode annotationParsingMode @NotNull AnnotationParsingMode annotationParsingMode,
@Nullable TokenSet noModifiersBefore
) { ) {
PsiBuilder.Marker list = mark(); PsiBuilder.Marker list = mark();
boolean empty = true; boolean empty = true;
@@ -458,7 +460,7 @@ public class JetParsing extends AbstractJetParsing {
if (at(AT) && annotationParsingMode.allowAnnotations) { if (at(AT) && annotationParsingMode.allowAnnotations) {
parseAnnotationOrList(annotationParsingMode); parseAnnotationOrList(annotationParsingMode);
} }
else if (tryParseModifier(tokenConsumer)) { else if (tryParseModifier(tokenConsumer, noModifiersBefore)) {
// modifier advanced // modifier advanced
} }
else if (annotationParsingMode.allowShortAnnotations && at(IDENTIFIER)) { else if (annotationParsingMode.allowShortAnnotations && at(IDENTIFIER)) {
@@ -479,10 +481,12 @@ public class JetParsing extends AbstractJetParsing {
return !empty; return !empty;
} }
private boolean tryParseModifier(@Nullable Consumer<IElementType> tokenConsumer) { private boolean tryParseModifier(@Nullable Consumer<IElementType> tokenConsumer, @Nullable TokenSet noModifiersBefore) {
PsiBuilder.Marker marker = mark(); PsiBuilder.Marker marker = mark();
if (atSet(MODIFIER_KEYWORDS)) { if (atSet(MODIFIER_KEYWORDS)) {
IElementType lookahead = lookahead(1);
if (noModifiersBefore == null || lookahead != null && !noModifiersBefore.contains(lookahead)) {
IElementType tt = tt(); IElementType tt = tt();
if (tokenConsumer != null) { if (tokenConsumer != null) {
tokenConsumer.consume(tt); tokenConsumer.consume(tt);
@@ -491,6 +495,7 @@ public class JetParsing extends AbstractJetParsing {
marker.collapse(tt); marker.collapse(tt);
return true; return true;
} }
}
marker.rollbackTo(); marker.rollbackTo();
return false; return false;
@@ -805,7 +810,8 @@ public class JetParsing extends AbstractJetParsing {
PsiBuilder.Marker beforeConstructorModifiers = mark(); PsiBuilder.Marker beforeConstructorModifiers = mark();
PsiBuilder.Marker primaryConstructorMarker = mark(); PsiBuilder.Marker primaryConstructorMarker = mark();
boolean hasConstructorModifiers = parseModifierList( boolean hasConstructorModifiers = parseModifierList(
declarationParsingMode != LOCAL ? PRIMARY_CONSTRUCTOR_MODIFIER_LIST : PRIMARY_CONSTRUCTOR_MODIFIER_LIST_LOCAL declarationParsingMode != LOCAL ? PRIMARY_CONSTRUCTOR_MODIFIER_LIST : PRIMARY_CONSTRUCTOR_MODIFIER_LIST_LOCAL,
TokenSet.EMPTY
); );
// Some modifiers found, but no parentheses following: class has already ended, and we are looking at something else // Some modifiers found, but no parentheses following: class has already ended, and we are looking at something else
@@ -945,7 +951,7 @@ public class JetParsing extends AbstractJetParsing {
private ParseEnumEntryResult parseEnumEntry() { private ParseEnumEntryResult parseEnumEntry() {
PsiBuilder.Marker entry = mark(); PsiBuilder.Marker entry = mark();
parseModifierListWithStopAt(TokenSet.create(COMMA, SEMICOLON, RBRACE), ONLY_ESCAPED_REGULAR_ANNOTATIONS); parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.create(COMMA, COLON, SEMICOLON, RBRACE));
if (!atSet(SOFT_KEYWORDS_AT_MEMBER_START) && at(IDENTIFIER)) { if (!atSet(SOFT_KEYWORDS_AT_MEMBER_START) && at(IDENTIFIER)) {
PsiBuilder.Marker nameAsDeclaration = mark(); PsiBuilder.Marker nameAsDeclaration = mark();
@@ -1052,7 +1058,7 @@ public class JetParsing extends AbstractJetParsing {
PsiBuilder.Marker decl = mark(); PsiBuilder.Marker decl = mark();
ModifierDetector detector = new ModifierDetector(); ModifierDetector detector = new ModifierDetector();
parseModifierList(detector, ALLOW_UNESCAPED_REGULAR_ANNOTATIONS_AT_MEMBER_MODIFIER_LIST); parseModifierList(detector, ALLOW_UNESCAPED_REGULAR_ANNOTATIONS_AT_MEMBER_MODIFIER_LIST, TokenSet.EMPTY);
IElementType declType = parseMemberDeclarationRest(detector.isEnumDetected(), detector.isDefaultDetected()); IElementType declType = parseMemberDeclarationRest(detector.isEnumDetected(), detector.isDefaultDetected());
@@ -1177,33 +1183,6 @@ public class JetParsing extends AbstractJetParsing {
mark.done(CONSTRUCTOR_DELEGATION_REFERENCE); mark.done(CONSTRUCTOR_DELEGATION_REFERENCE);
} }
/*
* initializer
* : annotations constructorInvocation // type parameters may (must?) be omitted
* ;
*/
private void parseInitializer() {
PsiBuilder.Marker initializer = mark();
parseAnnotations(ONLY_ESCAPED_REGULAR_ANNOTATIONS);
IElementType type;
if (atSet(TYPE_REF_FIRST)) {
PsiBuilder.Marker reference = mark();
parseTypeRef();
reference.done(CONSTRUCTOR_CALLEE);
type = DELEGATOR_SUPER_CALL;
}
else {
errorWithRecovery("Expecting constructor call (<class-name>(...))",
TokenSet.orSet(TOP_LEVEL_DECLARATION_FIRST, TokenSet.create(RBRACE, LBRACE, COMMA, SEMICOLON)));
initializer.drop();
return;
}
myExpressionParsing.parseValueArgumentList();
initializer.done(type);
}
/* /*
* typeAlias * typeAlias
* : modifiers "typealias" SimpleName (typeParameters typeConstraints)? "=" type * : modifiers "typealias" SimpleName (typeParameters typeConstraints)? "=" type
@@ -1248,12 +1227,8 @@ public class JetParsing extends AbstractJetParsing {
} }
public IElementType parseProperty(boolean local) { public IElementType parseProperty(boolean local) {
if (at(VAL_KEYWORD) || at(VAR_KEYWORD)) { assert (at(VAL_KEYWORD) || at(VAR_KEYWORD));
advance(); // VAL_KEYWORD or VAR_KEYWORD advance();
}
else {
errorAndAdvance("Expecting 'val' or 'var'");
}
boolean typeParametersDeclared = at(LT) && parseTypeParameterList(TokenSet.create(IDENTIFIER, EQ, COLON, SEMICOLON)); boolean typeParametersDeclared = at(LT) && parseTypeParameterList(TokenSet.create(IDENTIFIER, EQ, COLON, SEMICOLON));
@@ -1359,7 +1334,7 @@ public class JetParsing extends AbstractJetParsing {
} }
PsiBuilder.Marker property = mark(); PsiBuilder.Marker property = mark();
parseModifierListWithUnescapedAnnotations(TokenSet.create(COMMA, RPAR, COLON, IN_KEYWORD, EQ)); parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.create(COMMA, RPAR, COLON, IN_KEYWORD, EQ));
expect(IDENTIFIER, "Expecting a name", recoverySet); expect(IDENTIFIER, "Expecting a name", recoverySet);
@@ -1391,7 +1366,7 @@ public class JetParsing extends AbstractJetParsing {
private boolean parsePropertyGetterOrSetter() { private boolean parsePropertyGetterOrSetter() {
PsiBuilder.Marker getterOrSetter = mark(); PsiBuilder.Marker getterOrSetter = mark();
parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS); parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.EMPTY);
if (!at(GET_KEYWORD) && !at(SET_KEYWORD)) { if (!at(GET_KEYWORD) && !at(SET_KEYWORD)) {
getterOrSetter.rollbackTo(); getterOrSetter.rollbackTo();
@@ -1418,7 +1393,7 @@ public class JetParsing extends AbstractJetParsing {
if (setter) { if (setter) {
PsiBuilder.Marker parameterList = mark(); PsiBuilder.Marker parameterList = mark();
PsiBuilder.Marker setterParameter = mark(); PsiBuilder.Marker setterParameter = mark();
parseModifierListWithUnescapedAnnotations(TokenSet.create(RPAR, COMMA, COLON)); parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.create(COMMA, COLON, RPAR));
expect(IDENTIFIER, "Expecting parameter name", TokenSet.create(RPAR, COLON, LBRACE, EQ)); expect(IDENTIFIER, "Expecting parameter name", TokenSet.create(RPAR, COLON, LBRACE, EQ));
if (at(COLON)) { if (at(COLON)) {
@@ -1804,7 +1779,7 @@ public class JetParsing extends AbstractJetParsing {
PsiBuilder.Marker mark = mark(); PsiBuilder.Marker mark = mark();
parseModifierListWithUnescapedAnnotations(TokenSet.create(COMMA, GT, COLON)); parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.create(GT, COMMA, COLON));
expect(IDENTIFIER, "Type parameter name expected", TokenSet.EMPTY); expect(IDENTIFIER, "Type parameter name expected", TokenSet.EMPTY);
@@ -2085,7 +2060,7 @@ public class JetParsing extends AbstractJetParsing {
// TokenSet stopAt = TokenSet.create(COMMA, COLON, GT); // TokenSet stopAt = TokenSet.create(COMMA, COLON, GT);
// parseModifierListWithUnescapedAnnotations(MODIFIER_LIST, lookFor, stopAt); // parseModifierListWithUnescapedAnnotations(MODIFIER_LIST, lookFor, stopAt);
// Currently we do not allow annotations // Currently we do not allow annotations
parseModifierList(NO_ANNOTATIONS); parseModifierList(NO_ANNOTATIONS, TokenSet.create(COMMA, COLON, GT));
if (at(MUL)) { if (at(MUL)) {
advance(); // MUL advance(); // MUL
@@ -2109,21 +2084,9 @@ public class JetParsing extends AbstractJetParsing {
return atGT; return atGT;
} }
public void parseModifierListWithUnescapedAnnotations(TokenSet stopAt) { public void parseModifierListWithLookForStopAt(TokenSet lookFor, TokenSet stopAt) {
parseModifierListWithLookForStopAt(TokenSet.create(IDENTIFIER), stopAt, ALLOW_UNESCAPED_REGULAR_ANNOTATIONS);
}
public void parseModifierListWithStopAt(TokenSet stopAt, AnnotationParsingMode mode) {
parseModifierListWithLookForStopAt(TokenSet.create(IDENTIFIER), stopAt, mode);
}
public void parseModifierListWithUnescapedAnnotations(TokenSet lookFor, TokenSet stopAt) {
parseModifierListWithLookForStopAt(lookFor, stopAt, ALLOW_UNESCAPED_REGULAR_ANNOTATIONS);
}
public void parseModifierListWithLookForStopAt(TokenSet lookFor, TokenSet stopAt, AnnotationParsingMode mode) {
int lastId = matchTokenStreamPredicate(new LastBefore(new AtSet(lookFor), new AnnotationTargetStop(stopAt, ANNOTATION_TARGETS), false)); int lastId = matchTokenStreamPredicate(new LastBefore(new AtSet(lookFor), new AnnotationTargetStop(stopAt, ANNOTATION_TARGETS), false));
createTruncatedBuilder(lastId).parseModifierList(mode); createTruncatedBuilder(lastId).parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, null);
} }
private class AnnotationTargetStop extends AbstractTokenStreamPredicate { private class AnnotationTargetStop extends AbstractTokenStreamPredicate {
@@ -2174,6 +2137,8 @@ public class JetParsing extends AbstractJetParsing {
return functionType; return functionType;
} }
private static final TokenSet NO_MODIFIER_BEFORE_FOR_VALUE_PARAMETER = TokenSet.create(COMMA, COLON, EQ, RPAR);
/* /*
* functionParameters * functionParameters
* : "(" functionParameter{","}? ")" // default values * : "(" functionParameter{","}? ")" // default values
@@ -2207,7 +2172,7 @@ public class JetParsing extends AbstractJetParsing {
if (isFunctionTypeContents) { if (isFunctionTypeContents) {
if (!tryParseValueParameter(typeRequired)) { if (!tryParseValueParameter(typeRequired)) {
PsiBuilder.Marker valueParameter = mark(); PsiBuilder.Marker valueParameter = mark();
parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS); // lazy, out, ref parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, NO_MODIFIER_BEFORE_FOR_VALUE_PARAMETER); // lazy, out, ref
parseTypeRef(); parseTypeRef();
closeDeclarationWithCommentBinders(valueParameter, VALUE_PARAMETER, false); closeDeclarationWithCommentBinders(valueParameter, VALUE_PARAMETER, false);
} }
@@ -2248,7 +2213,7 @@ public class JetParsing extends AbstractJetParsing {
private boolean parseValueParameter(boolean rollbackOnFailure, boolean typeRequired) { private boolean parseValueParameter(boolean rollbackOnFailure, boolean typeRequired) {
PsiBuilder.Marker parameter = mark(); PsiBuilder.Marker parameter = mark();
parseModifierListWithUnescapedAnnotations(TokenSet.create(COMMA, RPAR)); parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, NO_MODIFIER_BEFORE_FOR_VALUE_PARAMETER);
if (at(VAR_KEYWORD) || at(VAL_KEYWORD)) { if (at(VAR_KEYWORD) || at(VAL_KEYWORD)) {
advance(); // VAR_KEYWORD | VAL_KEYWORD advance(); // VAR_KEYWORD | VAL_KEYWORD
@@ -275,7 +275,7 @@ public class JetProperty extends JetTypeParameterListOwnerStub<KotlinPropertyStu
@NotNull @NotNull
public PsiElement getValOrVarKeyword() { public PsiElement getValOrVarKeyword() {
PsiElement element = findChildByType(VAL_VAR_TOKEN_SET); PsiElement element = findChildByType(VAL_VAR_TOKEN_SET);
assert element != null : "Val or var should always exist for property"; assert element != null : "Val or var should always exist for property" + this.getText();
return element; return element;
} }
@@ -1,9 +1,9 @@
fun foo(<!UNRESOLVED_REFERENCE!><!SYNTAX!><!>varargs<!> <!UNUSED_PARAMETER!>f<!> : Int) {} fun foo(<!UNRESOLVED_REFERENCE!>@varargs<!> <!UNUSED_PARAMETER!>f<!> : Int) {}
var bar : Int = 1 var bar : Int = 1
set(<!UNRESOLVED_REFERENCE!><!SYNTAX!><!>varargs<!> v) {} set(<!UNRESOLVED_REFERENCE!>@varargs<!> v) {}
val x : (Int) -> Int = {<!UNRESOLVED_REFERENCE!>@varargs<!> <!TYPE_MISMATCH!>x<!> <!SYNTAX!>: Int -> x<!>} val x : (Int) -> Int = {<!UNRESOLVED_REFERENCE!>@varargs<!> <!TYPE_MISMATCH!>x<!> <!SYNTAX!>: Int -> x<!>}
class Hello(<!UNRESOLVED_REFERENCE!><!SYNTAX!><!>varargs<!> <!UNUSED_PARAMETER!>args<!>: Any) { class Hello(<!UNRESOLVED_REFERENCE!>@varargs<!> <!UNUSED_PARAMETER!>args<!>: Any) {
} }
+1 -1
View File
@@ -57,4 +57,4 @@ import a.<!SYNTAX!>%<!>.b.<!PACKAGE_CANNOT_BE_IMPORTED!>c<!>.<!SYNTAX!><!>
import a.b.c.D.<!SYNTAX!><!> import a.b.c.D.<!SYNTAX!><!>
import a.b.c.D.E.<!SYNTAX!><!> import a.b.c.D.E.<!SYNTAX!><!>
import <!PACKAGE_CANNOT_BE_IMPORTED!>a<!><!SYNTAX!>?.<!><!UNRESOLVED_REFERENCE!><!SYNTAX!><!>b<!SYNTAX!><!><!> import <!PACKAGE_CANNOT_BE_IMPORTED!>a<!><!SYNTAX!>?.<!><!SYNTAX!>b<!>
@@ -12,6 +12,6 @@ class C {
enum class<!SYNTAX!><!> {} enum class<!SYNTAX!><!> {}
} }
class C1<in<!SYNTAX!>><!><!SYNTAX!><!> {} class C1<<!SYNTAX!>in<!>> {}
class C2(val<!SYNTAX!><!>) {} class C2(val<!SYNTAX!><!>) {}
@@ -31,8 +31,8 @@ public final class C {
} }
} }
public final class C1</*0*/ in <no name provided>> { public final class C1</*0*/ <no name provided>> {
public constructor C1</*0*/ in <no name provided>>() public constructor C1</*0*/ <no name provided>>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+1 -1
View File
@@ -1,2 +1,2 @@
// !DIAGNOSTICS: -NO_VALUE_FOR_PARAMETER // !DIAGNOSTICS: -NO_VALUE_FOR_PARAMETER
class Tree<T>(<!NOT_A_CLASS!><!SYNTAX!><!>T<!> element<!SYNTAX!><!>, <!NOT_AN_ANNOTATION_CLASS!><!SYNTAX!><!>Tree<T><!> left<!SYNTAX!><!>, <!NOT_AN_ANNOTATION_CLASS!><!SYNTAX!><!>Tree<T><!> right<!SYNTAX!><!>) {} class Tree<<!REDECLARATION!>T<!>>(T <!SYNTAX!>element<!>, <!REDECLARATION, REDECLARATION!><!SYNTAX!><!>Tree<T><!><!SYNTAX!><!> left<!SYNTAX!><!>, <!REDECLARATION, REDECLARATION!><!SYNTAX!><!>Tree<T><!><!SYNTAX!><!> right<!SYNTAX!><!>) {}
@@ -1,7 +1,7 @@
package package
public final class Tree</*0*/ T> { public final class Tree</*0*/ T> {
public constructor Tree</*0*/ T>(/*0*/ @[ERROR : Not an annotation: T]() element: [ERROR : Type annotation was missing for parameter element], /*1*/ @Tree<T>() left: [ERROR : Type annotation was missing for parameter left], /*2*/ @Tree<T>() right: [ERROR : Type annotation was missing for parameter right]) public constructor Tree</*0*/ T>(/*0*/ T: [ERROR : Type annotation was missing for parameter T], /*1*/ <no name provided>: Tree<T>, /*2*/ left: [ERROR : Type annotation was missing for parameter left], /*3*/ <no name provided>: Tree<T>, /*4*/ right: [ERROR : Type annotation was missing for parameter right])
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
+2 -9
View File
@@ -3,17 +3,10 @@ JetFile: DynamicSoftKeyword.kt
<empty list> <empty list>
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
CLASS PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('dynamic') PsiElement(IDENTIFIER)('dynamic')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('dynamic') PsiElement(IDENTIFIER)('dynamic')
+3 -9
View File
@@ -24,23 +24,17 @@ JetFile: EnumWithAnnotationKeyword.kt
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
FUN
MODIFIER_LIST MODIFIER_LIST
PsiElement(enum)('enum') PsiElement(enum)('enum')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(annotation)('annotation') PsiElement(annotation)('annotation')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('E1') PsiElement(IDENTIFIER)('E1')
PsiWhiteSpace(' ')
FUN
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> <empty list>
PsiWhiteSpace(' ')
BLOCK BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
+10 -31
View File
@@ -8,36 +8,15 @@ JetFile: FileStart_ERR.kt
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(package)('package') PsiElement(package)('package')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
MODIFIER_LIST PsiErrorElement:Expecting a top level declaration
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('import')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> PsiElement(DOT)('.')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('import')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('foo')
+1 -6
View File
@@ -72,11 +72,8 @@ JetFile: ParameterNameMising.kt
VALUE_PARAMETER_LIST VALUE_PARAMETER_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST PsiErrorElement:Parameter name expected
PsiErrorElement:Use '@' symbol before annotations
<empty list> <empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
@@ -89,8 +86,6 @@ JetFile: ParameterNameMising.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('String') PsiElement(IDENTIFIER)('String')
PsiElement(GT)('>') PsiElement(GT)('>')
PsiErrorElement:Parameter name expected
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+2 -16
View File
@@ -33,14 +33,7 @@ JetFile: ParameterType_ERR.kt
<empty list> <empty list>
PsiErrorElement:Expecting ')' PsiErrorElement:Expecting ')'
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
MODIFIER_LIST PsiErrorElement:Expecting a top level declaration
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('InlineOp') PsiElement(IDENTIFIER)('InlineOp')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
@@ -67,14 +60,7 @@ JetFile: ParameterType_ERR.kt
<empty list> <empty list>
PsiErrorElement:Expecting ')' PsiErrorElement:Expecting ')'
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
MODIFIER_LIST PsiErrorElement:Expecting a top level declaration
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('parameter') PsiElement(IDENTIFIER)('parameter')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
+2 -9
View File
@@ -185,17 +185,10 @@ JetFile: Properties_ERR.kt
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PROPERTY PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
+5 -12
View File
@@ -20,23 +20,16 @@ JetFile: RootPackage.kt
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(package)('package') PsiElement(package)('package')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
FUN
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> <empty list>
PsiWhiteSpace(' ')
BLOCK BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
+8 -16
View File
@@ -15,7 +15,6 @@ JetFile: SimpleModifiers.kt
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(abstract)('abstract') PsiElement(abstract)('abstract')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -42,16 +41,11 @@ JetFile: SimpleModifiers.kt
PsiElement(in)('in') PsiElement(in)('in')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(out)('out') PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar') PsiElement(IDENTIFIER)('Bar')
@@ -86,20 +80,18 @@ JetFile: SimpleModifiers.kt
PsiElement(in)('in') PsiElement(in)('in')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PsiElement(out)('out') PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiErrorElement:Missing '>'
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CLASS_BODY FUN
PsiErrorElement:Expecting a top level declaration
<empty list>
BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PROPERTY PROPERTY
+2 -8
View File
@@ -20,7 +20,6 @@ JetFile: SoftKeywords.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(public)('public') PsiElement(public)('public')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
@@ -55,16 +54,11 @@ JetFile: SoftKeywords.kt
PsiElement(in)('in') PsiElement(in)('in')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(out)('out') PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar') PsiElement(IDENTIFIER)('Bar')
+8 -16
View File
@@ -15,7 +15,6 @@ JetFile: Annotations.kt
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(abstract)('abstract') PsiElement(abstract)('abstract')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -160,16 +159,11 @@ JetFile: Annotations.kt
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(out)('out') PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar') PsiElement(IDENTIFIER)('Bar')
@@ -324,20 +318,18 @@ JetFile: Annotations.kt
PsiElement(in)('in') PsiElement(in)('in')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(out)('out') PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiErrorElement:Missing '>'
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CLASS_BODY FUN
PsiErrorElement:Expecting a top level declaration
<empty list>
BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+8 -16
View File
@@ -15,7 +15,6 @@ JetFile: Annotations_ERR.kt
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS
MODIFIER_LIST MODIFIER_LIST
PsiElement(abstract)('abstract') PsiElement(abstract)('abstract')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
@@ -198,16 +197,11 @@ JetFile: Annotations_ERR.kt
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(out)('out') PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar') PsiElement(IDENTIFIER)('Bar')
@@ -279,20 +273,18 @@ JetFile: Annotations_ERR.kt
PsiElement(in)('in') PsiElement(in)('in')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(out)('out') PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiErrorElement:Missing '>'
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CLASS_BODY FUN
PsiErrorElement:Expecting a top level declaration
<empty list>
BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+4
View File
@@ -21,6 +21,10 @@ class Foo {
} }
fun test() { fun test() {
when (@foo @bar(1) @buzz<T>(1) @zoo val a = 1) {
1 -> 1
}
when (foo bar(1) buzz<T>(1) zoo val a = 1) { when (foo bar(1) buzz<T>(1) zoo val a = 1) {
1 -> 1 1 -> 1
} }
+187 -315
View File
@@ -1,252 +1,146 @@
JetFile: ShortAnnotations.kt JetFile: ShortAnnotations.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list> <empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ')
PsiElement(package)('package')
PsiWhiteSpace(' ')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('aa')
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiWhiteSpace('\n\n') PsiErrorElement:Expecting a top level declaration
CLASS
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz') PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo') PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(package)('package')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('aa')
PsiWhiteSpace('\n\n')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('bar')
PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('buzz')
PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>')
PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('A') PsiElement(IDENTIFIER)('A')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
OBJECT_DECLARATION PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz') PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo') PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION
PsiElement(object)('object') PsiElement(object)('object')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION_NAME OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('B') PsiElement(IDENTIFIER)('B')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz') PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo') PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
@@ -258,64 +152,37 @@ JetFile: ShortAnnotations.kt
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PROPERTY PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz') PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo') PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PROPERTY
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('c') PsiElement(IDENTIFIER)('c')
@@ -332,64 +199,37 @@ JetFile: ShortAnnotations.kt
INTEGER_CONSTANT INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0') PsiElement(INTEGER_LITERAL)('0')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PROPERTY PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz') PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo') PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PROPERTY
PsiElement(var)('var') PsiElement(var)('var')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('v') PsiElement(IDENTIFIER)('v')
@@ -406,64 +246,37 @@ JetFile: ShortAnnotations.kt
INTEGER_CONSTANT INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0') PsiElement(INTEGER_LITERAL)('0')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
TYPEDEF PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar') PsiElement(IDENTIFIER)('bar')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('buzz') PsiElement(IDENTIFIER)('buzz')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_ARGUMENT PsiErrorElement:Expecting a top level declaration
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('zoo') PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPEDEF
PsiElement(typealias)('typealias') PsiElement(typealias)('typealias')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
@@ -1043,18 +856,16 @@ JetFile: ShortAnnotations.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PROPERTY PROPERTY
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -1066,10 +877,9 @@ JetFile: ShortAnnotations.kt
INTEGER_CONSTANT INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -1089,10 +899,9 @@ JetFile: ShortAnnotations.kt
INTEGER_CONSTANT INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -1122,5 +931,68 @@ JetFile: ShortAnnotations.kt
PsiElement(INTEGER_LITERAL)('1') PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n ')
WHEN
PsiElement(when)('when')
PsiWhiteSpace(' ')
PsiElement(LPAR)('(')
BINARY_EXPRESSION
BINARY_EXPRESSION
BINARY_EXPRESSION
BINARY_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace(' ')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('bar')
PARENTHESIZED
PsiElement(LPAR)('(')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('buzz')
PsiErrorElement:Expecting an element
PsiElement(LT)('<')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('T')
CALL_EXPRESSION
PsiErrorElement:Expecting an element
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('zoo')
PsiWhiteSpace(' ')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
WHEN_ENTRY
WHEN_CONDITION_WITH_EXPRESSION
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace(' ')
PsiElement(ARROW)('->')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace('\n ')
PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+8 -8
View File
@@ -8,14 +8,14 @@ fun foo() {
for ((@[ann], x) in pair) {} for ((@[ann], x) in pair) {}
for (Volatile x in 1..100) {} for (@Volatile x in 1..100) {}
for (Volatile(1) x in 1..100) {} for (@Volatile(1) x in 1..100) {}
for (Volatile() (x, Volatile y) in 1..100) {} for (@Volatile() (x, @Volatile y) in 1..100) {}
for (Volatile (x, Volatile y) in 1..100) {} for (@Volatile (x, @Volatile y) in 1..100) {}
for (Volatile var x in 1..100) {} for (@Volatile var x in 1..100) {}
for (Volatile val (x, Volatile y) in 1..100) {} for (@Volatile val (x, @Volatile y) in 1..100) {}
for (private Volatile var x in 1..100) {} for (private @Volatile var x in 1..100) {}
for (private Volatile val (x, Volatile y) in 1..100) {} for (private @Volatile val (x, @Volatile y) in 1..100) {}
} }
+13 -33
View File
@@ -78,19 +78,11 @@ JetFile: forParameters.kt
PsiElement(AT)('@') PsiElement(AT)('@')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(in)('in') PsiElement(in)('in')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('z') PsiElement(IDENTIFIER)('z')
PsiErrorElement:Expecting a variable name
PsiElement(RPAR)(')')
PsiErrorElement:Expecting 'in' PsiErrorElement:Expecting 'in'
<empty list> <empty list>
PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
BODY BODY
BLOCK BLOCK
@@ -191,9 +183,8 @@ JetFile: forParameters.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -225,9 +216,8 @@ JetFile: forParameters.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -265,9 +255,8 @@ JetFile: forParameters.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
MULTI_VARIABLE_DECLARATION MULTI_VARIABLE_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -284,9 +273,8 @@ JetFile: forParameters.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
MULTI_VARIABLE_DECLARATION_ENTRY MULTI_VARIABLE_DECLARATION_ENTRY
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -319,9 +307,8 @@ JetFile: forParameters.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
MULTI_VARIABLE_DECLARATION MULTI_VARIABLE_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -335,9 +322,8 @@ JetFile: forParameters.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
MULTI_VARIABLE_DECLARATION_ENTRY MULTI_VARIABLE_DECLARATION_ENTRY
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -370,9 +356,8 @@ JetFile: forParameters.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -406,9 +391,8 @@ JetFile: forParameters.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
MULTI_VARIABLE_DECLARATION MULTI_VARIABLE_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -424,9 +408,8 @@ JetFile: forParameters.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
MULTI_VARIABLE_DECLARATION_ENTRY MULTI_VARIABLE_DECLARATION_ENTRY
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -460,10 +443,9 @@ JetFile: forParameters.kt
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -498,10 +480,9 @@ JetFile: forParameters.kt
MULTI_VARIABLE_DECLARATION MULTI_VARIABLE_DECLARATION
MODIFIER_LIST MODIFIER_LIST
PsiElement(private)('private') PsiElement(private)('private')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
@@ -517,9 +498,8 @@ JetFile: forParameters.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
MULTI_VARIABLE_DECLARATION_ENTRY MULTI_VARIABLE_DECLARATION_ENTRY
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
+1
View File
@@ -0,0 +1 @@
fun foo(@Deprecated)
+23
View File
@@ -0,0 +1,23 @@
JetFile: noParameterYet.kt
PACKAGE_DIRECTIVE
<empty list>
IMPORT_LIST
<empty list>
FUN
PsiElement(fun)('fun')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('foo')
VALUE_PARAMETER_LIST
PsiElement(LPAR)('(')
VALUE_PARAMETER
MODIFIER_LIST
ANNOTATION_ENTRY
PsiElement(AT)('@')
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Deprecated')
PsiErrorElement:Parameter name expected
<empty list>
PsiElement(RPAR)(')')
@@ -137,12 +137,19 @@ JetFile: targetExpected.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST MODIFIER_LIST
PsiErrorElement:Expected annotation identifier after ':' ANNOTATION_ENTRY
PsiElement(AT)('@') PsiElement(AT)('@')
PsiErrorElement:Expected annotation target before ':'
PsiElement(IDENTIFIER)('fiield') PsiElement(IDENTIFIER)('fiield')
PsiElement(COLON)(':') PsiElement(COLON)(':')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiErrorElement:Parameter name expected
<empty list>
PsiElement(COLON)(':') PsiElement(COLON)(':')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
@@ -171,17 +178,8 @@ JetFile: targetExpected.kt
PsiErrorElement:Expecting a list of annotations PsiErrorElement:Expecting a list of annotations
<empty list> <empty list>
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiErrorElement:Parameter name expected
<empty list>
PsiElement(COLON)(':') PsiElement(COLON)(':')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
@@ -288,20 +288,14 @@ JetFile: FunctionsWithFunctionReceivers.kt
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.') PsiElement(DOT)('.')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST TYPE_PARAMETER_LIST
@@ -434,21 +428,14 @@ JetFile: FunctionsWithFunctionReceivers.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
CLASS PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.') PsiElement(DOT)('.')
REFERENCE_EXPRESSION PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('b') PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('C') PsiElement(IDENTIFIER)('C')
@@ -311,62 +311,39 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.') PsiElement(DOT)('.')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
MODIFIER_LIST PsiErrorElement:Expecting a top level declaration
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A') PsiElement(IDENTIFIER)('A')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B') PsiElement(IDENTIFIER)('B')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.') PsiElement(DOT)('.')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
@@ -441,14 +418,7 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
<empty list> <empty list>
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(LBRACKET)('[') PsiElement(LBRACKET)('[')
MODIFIER_LIST PsiErrorElement:Expecting a top level declaration
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('a')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
@@ -457,22 +427,13 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
MODIFIER_LIST PsiErrorElement:Expecting a top level declaration
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A') PsiElement(IDENTIFIER)('A')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B') PsiElement(IDENTIFIER)('B')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
@@ -482,20 +443,14 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.') PsiElement(DOT)('.')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
FUN
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
@@ -553,29 +508,18 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
CLASS PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('c') PsiElement(IDENTIFIER)('c')
TYPE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LT)('<') PsiElement(LT)('<')
TYPE_PROJECTION PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('t') PsiElement(IDENTIFIER)('t')
PsiErrorElement:Expecting a top level declaration
PsiElement(GT)('>') PsiElement(GT)('>')
PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.') PsiElement(DOT)('.')
PsiErrorElement:Expecting type name
<empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS
PsiComment(EOL_COMMENT)('//-----------') PsiComment(EOL_COMMENT)('//-----------')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(class)('class') PsiElement(class)('class')
@@ -447,22 +447,16 @@ JetFile: PropertiesWithFunctionReceivers.kt
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('dfget') PsiElement(IDENTIFIER)('dfget')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
FUN
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> <empty list>
PsiWhiteSpace(' ')
BLOCK BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
@@ -526,22 +520,16 @@ JetFile: PropertiesWithFunctionReceivers.kt
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('set') PsiElement(IDENTIFIER)('set')
VALUE_ARGUMENT_LIST PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
FUN
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> <empty list>
PsiWhiteSpace(' ')
BLOCK BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+3 -10
View File
@@ -16,19 +16,12 @@ JetFile: functionTypes.kt
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(package)('package') PsiElement(package)('package')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
FUN PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('n') PsiElement(IDENTIFIER)('n')
PsiWhiteSpace(' ')
FUN
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> <empty list>
PsiWhiteSpace(' ')
BLOCK BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
@@ -9,14 +9,5 @@ JetFile: PackageLeadingDotDoubleID.kt
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> PsiElement(IDENTIFIER)('b')
+1 -10
View File
@@ -7,14 +7,5 @@ JetFile: PackageLongNameDoubleID.kt
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> PsiElement(IDENTIFIER)('b')
@@ -97,11 +97,10 @@ JetFile: FunctionsNotPlatform.kt
VALUE_PARAMETER_LIST VALUE_PARAMETER_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST
PsiElement(out)('out')
TYPE_REFERENCE TYPE_REFERENCE
PsiErrorElement:Type expected USER_TYPE
<empty list> REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('out')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
@@ -145,11 +144,10 @@ JetFile: FunctionsNotPlatform.kt
VALUE_PARAMETER_LIST VALUE_PARAMETER_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST
PsiElement(out)('out')
TYPE_REFERENCE TYPE_REFERENCE
PsiErrorElement:Type expected USER_TYPE
<empty list> REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('out')
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(ARROW)('->') PsiElement(ARROW)('->')
+2 -9
View File
@@ -82,17 +82,10 @@ JetFile: recovery.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('A2') PsiElement(IDENTIFIER)('A2')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
CLASS PsiErrorElement:Expecting a top level declaration
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Ann') PsiElement(IDENTIFIER)('Ann')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
CLASS
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('A3') PsiElement(IDENTIFIER)('A3')
@@ -819,6 +819,12 @@ public class JetParsingTestGenerated extends AbstractJetParsingTest {
doParsingTest(fileName); doParsingTest(fileName);
} }
@TestMetadata("noParameterYet.kt")
public void testNoParameterYet() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/psi/annotation/noParameterYet.kt");
doParsingTest(fileName);
}
@TestMetadata("oldAnnotationsRecovery.kt") @TestMetadata("oldAnnotationsRecovery.kt")
public void testOldAnnotationsRecovery() throws Exception { public void testOldAnnotationsRecovery() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/psi/annotation/oldAnnotationsRecovery.kt"); String fileName = JetTestUtils.navigationMetadata("compiler/testData/psi/annotation/oldAnnotationsRecovery.kt");