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))); PsiBuilder.Marker property = mark();
if (valPos >= 0) { myJetParsing.parseModifierList(ONLY_ESCAPED_REGULAR_ANNOTATIONS, TokenSet.create(EQ, RPAR));
PsiBuilder.Marker property = mark(); if (at(VAL_KEYWORD) || at(VAR_KEYWORD)) {
myJetParsing.parseModifierList(ALLOW_UNESCAPED_REGULAR_ANNOTATIONS);
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,17 +481,20 @@ 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 tt = tt(); IElementType lookahead = lookahead(1);
if (tokenConsumer != null) { if (noModifiersBefore == null || lookahead != null && !noModifiersBefore.contains(lookahead)) {
tokenConsumer.consume(tt); IElementType tt = tt();
if (tokenConsumer != null) {
tokenConsumer.consume(tt);
}
advance(); // MODIFIER
marker.collapse(tt);
return true;
} }
advance(); // MODIFIER
marker.collapse(tt);
return true;
} }
marker.rollbackTo(); marker.rollbackTo();
@@ -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
+3 -10
View File
@@ -3,17 +3,10 @@ JetFile: DynamicSoftKeyword.kt
<empty list> <empty list>
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('dynamic')
PsiWhiteSpace(' ')
CLASS CLASS
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('dynamic')
PsiWhiteSpace(' ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('dynamic') PsiElement(IDENTIFIER)('dynamic')
+8 -14
View File
@@ -24,23 +24,17 @@ JetFile: EnumWithAnnotationKeyword.kt
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
MODIFIER_LIST
PsiElement(enum)('enum')
PsiWhiteSpace(' ')
PsiElement(annotation)('annotation')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('E1')
PsiWhiteSpace(' ')
FUN FUN
MODIFIER_LIST
PsiElement(enum)('enum')
PsiWhiteSpace(' ')
PsiElement(annotation)('annotation')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('E1')
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 ')
+11 -32
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: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')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
<empty list> PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a top level declaration
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')
+12 -17
View File
@@ -72,25 +72,20 @@ JetFile: ParameterNameMising.kt
VALUE_PARAMETER_LIST VALUE_PARAMETER_LIST
PsiElement(LPAR)('(') PsiElement(LPAR)('(')
VALUE_PARAMETER VALUE_PARAMETER
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Array')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('String')
PsiElement(GT)('>')
PsiErrorElement:Parameter name expected PsiErrorElement:Parameter name expected
<empty list> <empty list>
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Array')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('String')
PsiElement(GT)('>')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(EQ)('=') PsiElement(EQ)('=')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+4 -18
View File
@@ -33,15 +33,8 @@ 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 PsiElement(IDENTIFIER)('InlineOp')
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('InlineOp')
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
@@ -67,15 +60,8 @@ 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 PsiElement(IDENTIFIER)('parameter')
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('parameter')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')') PsiElement(RPAR)(')')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
+3 -10
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(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n')
PROPERTY PROPERTY
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n')
PsiElement(val)('val') PsiElement(val)('val')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
+7 -14
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(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('bar')
PsiWhiteSpace(' ')
FUN FUN
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(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
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 ')
+41 -49
View File
@@ -15,43 +15,37 @@ JetFile: SimpleModifiers.kt
IMPORT_LIST IMPORT_LIST
<empty list> <empty list>
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
MODIFIER_LIST
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(annotation)('annotation')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ')
CLASS CLASS
MODIFIER_LIST
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(annotation)('annotation')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ')
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 PsiWhiteSpace('\n ')
<empty list> PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Missing '>'
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>') PsiErrorElement:Expecting a top level declaration
PsiWhiteSpace(' ') PsiElement(GT)('>')
CLASS_BODY PsiWhiteSpace(' ')
FUN
PsiErrorElement:Expecting a top level declaration
<empty list>
BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ') PsiWhiteSpace('\n ')
PROPERTY PROPERTY
+38 -44
View File
@@ -20,51 +20,45 @@ JetFile: SoftKeywords.kt
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
PsiWhiteSpace('\n\n') PsiWhiteSpace('\n\n')
MODIFIER_LIST
PsiElement(public)('public')
PsiWhiteSpace(' ')
PsiElement(protected)('protected')
PsiWhiteSpace(' ')
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(annotation)('annotation')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ')
CLASS CLASS
MODIFIER_LIST
PsiElement(public)('public')
PsiWhiteSpace(' ')
PsiElement(protected)('protected')
PsiWhiteSpace(' ')
PsiElement(private)('private')
PsiWhiteSpace(' ')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(annotation)('annotation')
PsiWhiteSpace('\n')
PsiElement(override)('override')
PsiWhiteSpace('\n')
PsiElement(open)('open')
PsiWhiteSpace('\n')
PsiElement(abstract)('abstract')
PsiWhiteSpace('\n')
PsiElement(private)('private')
PsiWhiteSpace('\n')
PsiElement(protected)('protected')
PsiWhiteSpace('\n')
PsiElement(public)('public')
PsiWhiteSpace('\n')
PsiElement(internal)('internal')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n ')
PsiElement(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('Bar') PsiElement(IDENTIFIER)('Bar')
+138 -146
View File
@@ -15,39 +15,103 @@ 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') PsiElement(open)('open')
PsiElement(open)('open') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(enum)('enum')
PsiElement(enum)('enum') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(open)('open')
PsiElement(open)('open') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(annotation)('annotation')
PsiElement(annotation)('annotation') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(override)('override')
PsiElement(override)('override') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(open)('open')
PsiElement(open)('open') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(abstract)('abstract')
PsiElement(abstract)('abstract') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(private)('private')
PsiElement(private)('private') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(protected)('protected')
PsiElement(protected)('protected') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(public)('public')
PsiElement(public)('public') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(internal)('internal')
PsiElement(internal)('internal') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') ANNOTATION
ANNOTATION PsiElement(AT)('@')
PsiElement(AT)('@') PsiElement(LBRACKET)('[')
PsiElement(LBRACKET)('[') ANNOTATION_ENTRY
ANNOTATION_ENTRY CONSTRUCTOR_CALLEE
CONSTRUCTOR_CALLEE TYPE_REFERENCE
TYPE_REFERENCE USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ina')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('doo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('f')
PsiElement(GT)('>')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST TYPE_ARGUMENT_LIST
@@ -56,120 +120,50 @@ JetFile: Annotations.kt
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A') PsiElement(IDENTIFIER)('bar')
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_PROJECTION TYPE_PROJECTION
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B') PsiElement(IDENTIFIER)('goo')
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiElement(DOT)('.')
PsiElement(LPAR)('(')
VALUE_ARGUMENT
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',') PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ') PsiWhiteSpace('\n')
VALUE_ARGUMENT ANNOTATION
REFERENCE_EXPRESSION PsiElement(AT)('@')
PsiElement(IDENTIFIER)('b') PsiElement(LBRACKET)('[')
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ina')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('doo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('f')
PsiElement(GT)('>')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiElement(GT)('>')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('df')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('sdfsdf')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n')
ANNOTATION_ENTRY ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('df')
PsiWhiteSpace('\n ') PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('sdfsdf')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('ref')
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 PsiWhiteSpace('\n')
<empty list> PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Missing '>'
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>') PsiErrorElement:Expecting a top level declaration
PsiWhiteSpace(' ') PsiElement(GT)('>')
CLASS_BODY PsiWhiteSpace(' ')
FUN
PsiErrorElement:Expecting a top level declaration
<empty list>
BLOCK
PsiElement(LBRACE)('{') PsiElement(LBRACE)('{')
PsiWhiteSpace('\n') PsiWhiteSpace('\n')
PsiElement(RBRACE)('}') PsiElement(RBRACE)('}')
+176 -184
View File
@@ -15,46 +15,112 @@ 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') PsiElement(open)('open')
PsiElement(open)('open') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(enum)('enum')
PsiElement(enum)('enum') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(open)('open')
PsiElement(open)('open') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(annotation)('annotation')
PsiElement(annotation)('annotation') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(override)('override')
PsiElement(override)('override') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(open)('open')
PsiElement(open)('open') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(abstract)('abstract')
PsiElement(abstract)('abstract') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') ANNOTATION
ANNOTATION PsiElement(AT)('@')
PsiElement(AT)('@') PsiElement(LBRACKET)('[')
PsiElement(LBRACKET)('[') PsiErrorElement:Expecting a list of annotations
PsiErrorElement:Expecting a list of annotations <empty list>
<empty list> PsiElement(RBRACKET)(']')
PsiElement(RBRACKET)(']') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(private)('private')
PsiElement(private)('private') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(protected)('protected')
PsiElement(protected)('protected') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(public)('public')
PsiElement(public)('public') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') PsiElement(internal)('internal')
PsiElement(internal)('internal') PsiWhiteSpace('\n')
PsiWhiteSpace('\n') ANNOTATION
ANNOTATION PsiElement(AT)('@')
PsiElement(AT)('@') PsiElement(LBRACKET)('[')
PsiElement(LBRACKET)('[') ANNOTATION_ENTRY
ANNOTATION_ENTRY CONSTRUCTOR_CALLEE
CONSTRUCTOR_CALLEE TYPE_REFERENCE
TYPE_REFERENCE USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
VALUE_ARGUMENT
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiElement(RPAR)(')')
PsiErrorElement:No commas needed to separate annotations
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ina')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('doo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('f')
PsiElement(GT)('>')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo') PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST TYPE_ARGUMENT_LIST
@@ -63,151 +129,79 @@ JetFile: Annotations_ERR.kt
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('A') PsiElement(IDENTIFIER)('bar')
PsiElement(COMMA)(',') PsiElement(COMMA)(',')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_PROJECTION TYPE_PROJECTION
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B') PsiElement(IDENTIFIER)('goo')
PsiElement(GT)('>') PsiElement(GT)('>')
VALUE_ARGUMENT_LIST PsiElement(DOT)('.')
PsiElement(LPAR)('(')
VALUE_ARGUMENT
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a') PsiElement(IDENTIFIER)('foo')
PsiElement(COMMA)(',') PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ') PsiWhiteSpace('\n')
VALUE_ARGUMENT ANNOTATION
REFERENCE_EXPRESSION PsiElement(AT)('@')
PsiElement(IDENTIFIER)('b') PsiElement(LBRACKET)('[')
PsiElement(RPAR)(')')
PsiErrorElement:No commas needed to separate annotations
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ina')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('doo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('f')
PsiElement(GT)('>')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('bar')
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('goo')
PsiElement(GT)('>')
PsiElement(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('df')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('sdfsdf')
PsiWhiteSpace(' ')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('s')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('fd')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('d')
PsiErrorElement:No commas needed to separate annotations
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiErrorElement:Use '@' symbol before annotations
<empty list>
PsiWhiteSpace('\n')
ANNOTATION_ENTRY ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE CONSTRUCTOR_CALLEE
TYPE_REFERENCE TYPE_REFERENCE
USER_TYPE USER_TYPE
REFERENCE_EXPRESSION REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref') PsiElement(IDENTIFIER)('df')
PsiWhiteSpace('\n ') PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(in)('in')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('sdfsdf')
PsiWhiteSpace(' ')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
ANNOTATION
PsiElement(AT)('@')
PsiElement(LBRACKET)('[')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('s')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('fd')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('d')
PsiErrorElement:No commas needed to separate annotations
PsiElement(COMMA)(',')
PsiWhiteSpace(' ')
PsiElement(RBRACKET)(']')
PsiWhiteSpace('\n')
PsiElement(out)('out')
PsiWhiteSpace('\n')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('ref')
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 PsiWhiteSpace('\n')
<empty list> PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace('\n') PsiWhiteSpace(' ')
ANNOTATION_ENTRY PsiErrorElement:Missing '>'
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('ref')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('T') PsiElement(IDENTIFIER)('T')
PsiElement(GT)('>') PsiErrorElement:Expecting a top level declaration
PsiWhiteSpace(' ') PsiElement(GT)('>')
CLASS_BODY PsiWhiteSpace(' ')
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
} }
+283 -411
View File
@@ -1,252 +1,146 @@
JetFile: ShortAnnotations.kt JetFile: ShortAnnotations.kt
PACKAGE_DIRECTIVE PACKAGE_DIRECTIVE
MODIFIER_LIST <empty list>
PsiErrorElement:Use '@' symbol before annotations
<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>
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(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(package)('package')
PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('aa')
PsiWhiteSpace('\n\n') 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 CLASS
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<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(class)('class') PsiElement(class)('class')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('A') PsiElement(IDENTIFIER)('A')
PsiWhiteSpace('\n') PsiWhiteSpace('\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(' ')
OBJECT_DECLARATION OBJECT_DECLARATION
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<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(object)('object') PsiElement(object)('object')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
OBJECT_DECLARATION_NAME OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('B') PsiElement(IDENTIFIER)('B')
PsiWhiteSpace('\n') PsiWhiteSpace('\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(' ')
FUN FUN
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<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(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')
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(' ')
PROPERTY PROPERTY
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<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(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')
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(' ')
PROPERTY PROPERTY
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<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(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')
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(' ')
TYPEDEF TYPEDEF
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<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(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) {}
} }
+15 -35
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 PsiWhiteSpace(' ')
<empty list> PsiElement(IDENTIFIER)('z')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
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)('@')
PsiElement(IDENTIFIER)('fiield') PsiErrorElement:Expected annotation target before ':'
PsiElement(IDENTIFIER)('fiield')
PsiElement(COLON)(':') PsiElement(COLON)(':')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('a') CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
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 PsiWhiteSpace(' ')
<empty list> PsiElement(IDENTIFIER)('a')
PsiWhiteSpace(' ')
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
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)('.')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
FUN FUN
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n')
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')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('a')
PsiErrorElement:Expecting a top level declaration
PsiElement(DOT)('.')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
CLASS CLASS
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(DOT)('.')
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('b')
PsiWhiteSpace(' ')
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 PsiWhiteSpace(' ')
<empty list> PsiErrorElement:Expecting a top level declaration
PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('T')
ANNOTATION_ENTRY PsiErrorElement:Expecting a top level declaration
CONSTRUCTOR_CALLEE PsiElement(LT)('<')
TYPE_REFERENCE PsiErrorElement:Expecting a top level declaration
USER_TYPE PsiElement(IDENTIFIER)('T')
REFERENCE_EXPRESSION PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('T') PsiElement(GT)('>')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('T')
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 PsiElement(IDENTIFIER)('A')
<empty list> PsiErrorElement:Expecting a top level declaration
ANNOTATION_ENTRY PsiElement(LT)('<')
CONSTRUCTOR_CALLEE PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE PsiElement(IDENTIFIER)('B')
USER_TYPE PsiErrorElement:Expecting a top level declaration
REFERENCE_EXPRESSION PsiElement(GT)('>')
PsiElement(IDENTIFIER)('A')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
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)('.')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n')
FUN FUN
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n')
PsiElement(fun)('fun') PsiElement(fun)('fun')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
TYPE_REFERENCE TYPE_REFERENCE
@@ -441,15 +418,8 @@ 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 PsiElement(IDENTIFIER)('a')
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('a')
PsiErrorElement:Expecting a top level declaration PsiErrorElement:Expecting a top level declaration
PsiElement(RBRACKET)(']') PsiElement(RBRACKET)(']')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
@@ -457,23 +427,14 @@ 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 PsiElement(IDENTIFIER)('A')
<empty list> PsiErrorElement:Expecting a top level declaration
ANNOTATION_ENTRY PsiElement(LT)('<')
CONSTRUCTOR_CALLEE PsiErrorElement:Expecting a top level declaration
TYPE_REFERENCE PsiElement(IDENTIFIER)('B')
USER_TYPE PsiErrorElement:Expecting a top level declaration
REFERENCE_EXPRESSION PsiElement(GT)('>')
PsiElement(IDENTIFIER)('A')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('B')
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
@@ -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)('.')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('foo')
PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n')
FUN FUN
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('foo')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n')
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')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('c')
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(DOT)('.')
PsiWhiteSpace('\n\n')
CLASS CLASS
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('c')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('t')
PsiElement(GT)('>')
PsiElement(DOT)('.')
PsiErrorElement:Expecting type name
<empty list>
PsiWhiteSpace('\n\n')
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 ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('dfget')
PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
FUN FUN
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('dfget')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
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 ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('set')
PsiErrorElement:Expecting a top level declaration
PsiElement(LPAR)('(')
PsiErrorElement:Expecting a top level declaration
PsiElement(RPAR)(')')
PsiWhiteSpace(' ')
FUN FUN
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('set')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiElement(RPAR)(')')
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(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('n')
PsiWhiteSpace(' ')
FUN FUN
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('n')
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)('->')
+3 -10
View File
@@ -82,17 +82,10 @@ JetFile: recovery.kt
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('A2') PsiElement(IDENTIFIER)('A2')
PsiWhiteSpace(' ') PsiWhiteSpace(' ')
PsiErrorElement:Expecting a top level declaration
PsiElement(IDENTIFIER)('Ann')
PsiWhiteSpace('\n\n')
CLASS CLASS
MODIFIER_LIST
PsiErrorElement:Use '@' symbol before annotations
<empty list>
ANNOTATION_ENTRY
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Ann')
PsiWhiteSpace('\n\n')
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");