From a15d423db4a8dbfc4caab2c7e44aa9475a7fd228 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Tue, 13 Dec 2016 15:25:38 +0300 Subject: [PATCH] Support modifiers on types in parser (required for 'suspend' on functional types). TYPE_REFERENCE element now has MODIFIER_LIST child, which hosts annotations and modifiers for the corresponding type reference. Annotations and modifiers written before an extension function type are now parsed as annotations and modifiers for the functional type, not the receiver type. So, '@Ann A.(B) -> C' was '(@Ann A).(B) -> C', and became '@Ann (A.(B) -> C)'. NB: DSL_SCOPE_VIOLATION testData updated accordingly. Type projection variance modifiers ('in', 'out') belong to a separate modifier list under corresponding type projection (not under a type reference). 'A' is 'A<(in (suspend T))>', 'A' is an error. In stub builder, create a modifier list node to host annotations and modifiers (none so far; TODO properly serialize/deserialize types with modifiers). --- .../org/jetbrains/kotlin/lexer/KtTokens.java | 3 + .../kotlin/parsing/KotlinParsing.java | 41 +- .../jetbrains/kotlin/psi/KtTypeReference.kt | 7 +- .../kotlin/psi/stubs/KotlinStubVersions.kt | 2 +- .../annotations/extensionFunctionType.txt | 2 +- .../insideTopLevelExtensionAnnotatedType.kt | 2 +- .../resolve/dslMarker/markersIntersection.kt | 12 +- .../dslMarker/nestedWithSameReceiver.kt | 4 +- .../resolve/dslMarker/simpleAnnotatedTypes.kt | 4 +- .../substitutedReceiverAnnotatedType.kt | 4 +- .../dslMarker/threeImplicitReceivers.kt | 12 +- .../dslMarker/threeImplicitReceivers2.kt | 12 +- .../resolve/dslMarker/twoImplicitReceivers.kt | 6 +- .../tests/resolve/dslMarker/twoLanguages.kt | 8 +- .../tests/resolve/dslMarker/usingWithThis.kt | 4 +- compiler/testData/psi/DynamicTypes.txt | 15 +- compiler/testData/psi/FunctionExpressions.txt | 278 +++++----- .../testData/psi/FunctionExpressions_ERR.txt | 75 +-- compiler/testData/psi/FunctionTypes.txt | 132 ++--- compiler/testData/psi/Functions.txt | 255 ++++----- .../testData/psi/FunctionsWithoutName.txt | 117 +++-- .../testData/psi/FunctionsWithoutName_ERR.txt | 131 ++--- compiler/testData/psi/Functions_ERR.txt | 129 ++--- compiler/testData/psi/TypeModifiers.kt | 17 + compiler/testData/psi/TypeModifiers.txt | 493 ++++++++++++++++++ compiler/testData/psi/TypeModifiers_ERR.kt | 12 + compiler/testData/psi/TypeModifiers_ERR.txt | 299 +++++++++++ .../testData/psi/TypeParametersBeforeName.txt | 21 +- .../psi/annotation/AnnotationsOnPatterns.txt | 21 +- .../annotation/annotationsOnNullableTypes.txt | 356 +++++++------ .../psi/annotation/at/validDeclarations.txt | 49 +- .../FunctionTypesWithFunctionReceivers.txt | 176 ++++--- .../FunctionsWithFunctionReceivers.txt | 132 ++--- ...ctionsWithFunctionReceiversAnnotations.txt | 132 ++--- ...FunctionsWithFunctionReceiversRecovery.txt | 65 +-- ...ertiesWithFunctionReceiversAnnotations.txt | 132 ++--- ...ropertiesWithFunctionReceiversRecovery.txt | 57 +- .../kotlin/parsing/ParsingTestGenerated.java | 12 + .../stubBuilder/TypeClsStubBuilder.kt | 14 +- .../keywords/InFunctionTypePosition.kt | 1 + .../stubBuilder/Annotations/Annotations.txt | 42 +- .../AnnotationsOnNullableTypes.txt | 99 ++-- .../decompiler/stubBuilder/Types/Types.txt | 13 +- idea/testData/stubs/DynamicType.expected | 22 +- idea/testData/stubs/TypeAnnotation.expected | 50 +- 45 files changed, 2223 insertions(+), 1247 deletions(-) create mode 100644 compiler/testData/psi/TypeModifiers.kt create mode 100644 compiler/testData/psi/TypeModifiers.txt create mode 100644 compiler/testData/psi/TypeModifiers_ERR.kt create mode 100644 compiler/testData/psi/TypeModifiers_ERR.txt diff --git a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java index c49e58f34ca..bd4421deb1e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/lexer/KtTokens.java @@ -231,6 +231,9 @@ public interface KtTokens { TokenSet MODIFIER_KEYWORDS = TokenSet.create(MODIFIER_KEYWORDS_ARRAY); + TokenSet TYPE_MODIFIER_KEYWORDS = TokenSet.create(SUSPEND_KEYWORD); + TokenSet TYPE_ARGUMENT_MODIFIER_KEYWORDS = TokenSet.create(IN_KEYWORD, OUT_KEYWORD); + TokenSet VISIBILITY_MODIFIERS = TokenSet.create(PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD); TokenSet WHITESPACES = TokenSet.create(TokenType.WHITE_SPACE); diff --git a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java b/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java index c323364a8f4..56cb6064fe5 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/parsing/KotlinParsing.java @@ -457,6 +457,23 @@ public class KotlinParsing extends AbstractKotlinParsing { @Nullable Consumer tokenConsumer, @NotNull AnnotationParsingMode annotationParsingMode, @NotNull TokenSet noModifiersBefore + ) { + return doParseModifierList(tokenConsumer, MODIFIER_KEYWORDS, annotationParsingMode, noModifiersBefore); + } + + private boolean parseTypeModifierList() { + return doParseModifierList(null, TYPE_MODIFIER_KEYWORDS, DEFAULT, TokenSet.EMPTY); + } + + private boolean parseTypeArgumentModifierList() { + return doParseModifierList(null, TYPE_ARGUMENT_MODIFIER_KEYWORDS, NO_ANNOTATIONS, TokenSet.create(COMMA, COLON, GT)); + } + + private boolean doParseModifierList( + @Nullable Consumer tokenConsumer, + @NotNull TokenSet modifierKeywords, + @NotNull AnnotationParsingMode annotationParsingMode, + @NotNull TokenSet noModifiersBefore ) { PsiBuilder.Marker list = mark(); boolean empty = true; @@ -464,7 +481,7 @@ public class KotlinParsing extends AbstractKotlinParsing { if (at(AT) && annotationParsingMode.allowAnnotations) { parseAnnotationOrList(annotationParsingMode); } - else if (tryParseModifier(tokenConsumer, noModifiersBefore)) { + else if (tryParseModifier(tokenConsumer, noModifiersBefore, modifierKeywords)) { // modifier advanced } else { @@ -481,10 +498,14 @@ public class KotlinParsing extends AbstractKotlinParsing { return !empty; } - private boolean tryParseModifier(@Nullable Consumer tokenConsumer, @NotNull TokenSet noModifiersBefore) { + private boolean tryParseModifier( + @Nullable Consumer tokenConsumer, + @NotNull TokenSet noModifiersBefore, + @NotNull TokenSet modifierKeywords + ) { PsiBuilder.Marker marker = mark(); - if (atSet(MODIFIER_KEYWORDS)) { + if (atSet(modifierKeywords)) { IElementType lookahead = lookahead(1); if (lookahead != null && !noModifiersBefore.contains(lookahead)) { IElementType tt = tt(); @@ -1865,7 +1886,8 @@ public class KotlinParsing extends AbstractKotlinParsing { // on expression-indicating symbols or not private PsiBuilder.Marker parseTypeRefContents(TokenSet extraRecoverySet) { PsiBuilder.Marker typeRefMarker = mark(); - parseAnnotations(DEFAULT); + + parseTypeModifierList(); PsiBuilder.Marker typeElementMarker = mark(); @@ -1930,9 +1952,11 @@ public class KotlinParsing extends AbstractKotlinParsing { // A.(B) -> C // ^ - PsiBuilder.Marker functionType = typeRefMarker.precede(); - PsiBuilder.Marker receiverType = typeRefMarker.precede(); - typeRefMarker.done(TYPE_REFERENCE); + PsiBuilder.Marker functionType = typeElementMarker.precede(); + + PsiBuilder.Marker receiverTypeRef = typeElementMarker.precede(); + PsiBuilder.Marker receiverType = receiverTypeRef.precede(); + receiverTypeRef.done(TYPE_REFERENCE); receiverType.done(FUNCTION_TYPE_RECEIVER); advance(); // DOT @@ -1943,7 +1967,6 @@ public class KotlinParsing extends AbstractKotlinParsing { else { error("Expecting function type"); } - typeRefMarker = functionType.precede(); functionType.done(FUNCTION_TYPE); } @@ -2089,7 +2112,7 @@ public class KotlinParsing extends AbstractKotlinParsing { // Currently we do not allow annotations on star projections and probably we should not // Annotations on other kinds of type arguments should be parsed as common type annotations (within parseTypeRef call) - parseModifierList(NO_ANNOTATIONS, TokenSet.create(COMMA, COLON, GT)); + parseTypeArgumentModifierList(); if (at(MUL)) { advance(); // MUL diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeReference.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeReference.kt index 048a57907c4..a0a7def9179 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeReference.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtTypeReference.kt @@ -27,7 +27,8 @@ import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes * Type reference element. * Underlying token is [org.jetbrains.kotlin.KtNodeTypes.TYPE_REFERENCE] */ -class KtTypeReference : KtElementImplStub>, KtAnnotated, KtAnnotationsContainer { +class KtTypeReference : KtModifierListOwnerStub>, + KtAnnotated, KtAnnotationsContainer { constructor(node: ASTNode) : super(node) @@ -41,11 +42,11 @@ class KtTypeReference : KtElementImplStub get() = KtStubbedPsiUtil.getStubOrPsiChild(this, KtStubElementTypes.TYPE_ELEMENT_TYPES, KtTypeElement.ARRAY_FACTORY) override fun getAnnotations(): List { - return getStubOrPsiChildrenAsList(KtStubElementTypes.ANNOTATION) + return modifierList?.annotations.orEmpty() } override fun getAnnotationEntries(): List { - return this.collectAnnotationEntriesFromStubOrPsi() + return modifierList?.annotationEntries.orEmpty() } fun hasParentheses(): Boolean { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt index 91005fd9456..f6a591af332 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/KotlinStubVersions.kt @@ -28,7 +28,7 @@ object KotlinStubVersions { // Binary stub version should be increased if stub format (org.jetbrains.kotlin.psi.stubs.impl) is changed // or changes are made to the core stub building code (org.jetbrains.kotlin.idea.decompiler.stubBuilder). // Increasing this version will lead to reindexing of all binary files that are potentially kotlin binaries (including all class files). - private const val BINARY_STUB_VERSION = 55 + private const val BINARY_STUB_VERSION = 56 // Classfile stub version should be increased if changes are made to classfile stub building subsystem (org.jetbrains.kotlin.idea.decompiler.classFile) // Increasing this version will lead to reindexing of all classfiles. diff --git a/compiler/testData/diagnostics/tests/annotations/extensionFunctionType.txt b/compiler/testData/diagnostics/tests/annotations/extensionFunctionType.txt index da1c6f42148..bfada23df89 100644 --- a/compiler/testData/diagnostics/tests/annotations/extensionFunctionType.txt +++ b/compiler/testData/diagnostics/tests/annotations/extensionFunctionType.txt @@ -4,7 +4,7 @@ public interface Some { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public abstract fun f1(): kotlin.String.() -> kotlin.Int public abstract fun f2(): kotlin.String.() -> kotlin.Int - public abstract fun f3(): @ann kotlin.String.() -> kotlin.Int + public abstract fun f3(): @ann() (kotlin.String.() -> kotlin.Int) public abstract fun f4(): @ann() (kotlin.String.() -> kotlin.Int) public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/insideTopLevelExtensionAnnotatedType.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/insideTopLevelExtensionAnnotatedType.kt index 9a515c1e648..9d95f874c89 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/insideTopLevelExtensionAnnotatedType.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/insideTopLevelExtensionAnnotatedType.kt @@ -11,7 +11,7 @@ class B { fun b() = 2 } -fun bar(x: @Ann B.() -> Unit) {} +fun bar(x: (@Ann B).() -> Unit) {} fun @Ann A.test() { bar { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/markersIntersection.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/markersIntersection.kt index 2ecc36ed40c..4e5850e0a7c 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/markersIntersection.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/markersIntersection.kt @@ -15,15 +15,15 @@ class B { fun b() = 2 } -fun foo1(x: @L1 A.() -> Unit) {} -fun foo2(x: @L2 A.() -> Unit) {} +fun foo1(x: (@L1 A).() -> Unit) {} +fun foo2(x: (@L2 A).() -> Unit) {} -fun foo12(x: @L1 @L2 A.() -> Unit) {} +fun foo12(x: (@L1 @L2 A).() -> Unit) {} -fun bar1(x: @L1 B.() -> Unit) {} -fun bar2(x: @L2 B.() -> Unit) {} +fun bar1(x: (@L1 B).() -> Unit) {} +fun bar2(x: (@L2 B).() -> Unit) {} -fun bar1t(q: T, x: @L1 T.() -> Unit) {} +fun bar1t(q: T, x: (@L1 T).() -> Unit) {} fun test() { foo12 { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/nestedWithSameReceiver.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/nestedWithSameReceiver.kt index 050c5abda2f..8ff6db728d6 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/nestedWithSameReceiver.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/nestedWithSameReceiver.kt @@ -11,8 +11,8 @@ class B { fun b() = 2 } -fun foo(x: @Ann A.() -> Unit) {} -fun bar(x: @Ann B.() -> Unit) {} +fun foo(x: (@Ann A).() -> Unit) {} +fun bar(x: (@Ann B).() -> Unit) {} fun test() { foo { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/simpleAnnotatedTypes.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/simpleAnnotatedTypes.kt index 3806eae8dd0..71723513db6 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/simpleAnnotatedTypes.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/simpleAnnotatedTypes.kt @@ -11,8 +11,8 @@ class B { fun b() = 2 } -fun foo(x: @Ann A.() -> Unit) {} -fun bar(x: @Ann B.() -> Unit) {} +fun foo(x: (@Ann A).() -> Unit) {} +fun bar(x: (@Ann B).() -> Unit) {} fun test() { foo { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/substitutedReceiverAnnotatedType.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/substitutedReceiverAnnotatedType.kt index 5288b525775..bdd29eee30e 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/substitutedReceiverAnnotatedType.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/substitutedReceiverAnnotatedType.kt @@ -11,8 +11,8 @@ class B { fun b() = 2 } -fun foo(x: @Ann T.() -> Unit) {} -fun bar(x: @Ann E.() -> Unit) {} +fun foo(x: (@Ann T).() -> Unit) {} +fun bar(x: (@Ann E).() -> Unit) {} fun test() { foo { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers.kt index 4a428a78cd5..122453a16c1 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers.kt @@ -27,12 +27,12 @@ class C { class D -fun foo(x: @Ann1 A.() -> Unit) {} -fun bar(x: @Ann2 B.() -> Unit) {} -fun baz(x: @Ann3 C.() -> Unit) {} -fun foo1(x: @Ann1 D.() -> Unit) {} -fun foo2(x: @Ann2 D.() -> Unit) {} -fun foo3(x: @Ann3 D.() -> Unit) {} +fun foo(x: (@Ann1 A).() -> Unit) {} +fun bar(x: (@Ann2 B).() -> Unit) {} +fun baz(x: (@Ann3 C).() -> Unit) {} +fun foo1(x: (@Ann1 D).() -> Unit) {} +fun foo2(x: (@Ann2 D).() -> Unit) {} +fun foo3(x: (@Ann3 D).() -> Unit) {} fun test() { foo { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers2.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers2.kt index d3d35a014b0..bd0ded665ff 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers2.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/threeImplicitReceivers2.kt @@ -23,12 +23,12 @@ class C { class D -fun foo(x: @Ann1 A.() -> Unit) {} -fun bar(x: @Ann2 B.() -> Unit) {} -fun baz(x: @Ann3 C.() -> Unit) {} -fun foo1(x: @Ann1 D.() -> Unit) {} -fun foo2(x: @Ann2 D.() -> Unit) {} -fun foo3(x: @Ann3 D.() -> Unit) {} +fun foo(x: (@Ann1 A).() -> Unit) {} +fun bar(x: (@Ann2 B).() -> Unit) {} +fun baz(x: (@Ann3 C).() -> Unit) {} +fun foo1(x: (@Ann1 D).() -> Unit) {} +fun foo2(x: (@Ann2 D).() -> Unit) {} +fun foo3(x: (@Ann3 D).() -> Unit) {} fun test() { foo { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/twoImplicitReceivers.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/twoImplicitReceivers.kt index aa4515d90ce..d171b106c92 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/twoImplicitReceivers.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/twoImplicitReceivers.kt @@ -17,9 +17,9 @@ class B { class D -fun foo(x: @Ann1 A.() -> Unit) {} -fun bar(x: @Ann2 B.() -> Unit) {} -fun baz(x: @Ann1 D.() -> Unit) {} +fun foo(x: (@Ann1 A).() -> Unit) {} +fun bar(x: (@Ann2 B).() -> Unit) {} +fun baz(x: (@Ann1 D).() -> Unit) {} fun test() { foo { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/twoLanguages.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/twoLanguages.kt index 27f683b2443..0d6dfbe44ae 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/twoLanguages.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/twoLanguages.kt @@ -15,10 +15,10 @@ class B { fun b() = 2 } -fun foo1(x: @L1 A.() -> Unit) {} -fun foo2(x: @L2 A.() -> Unit) {} -fun bar1(x: @L1 B.() -> Unit) {} -fun bar2(x: @L2 B.() -> Unit) {} +fun foo1(x: (@L1 A).() -> Unit) {} +fun foo2(x: (@L2 A).() -> Unit) {} +fun bar1(x: (@L1 B).() -> Unit) {} +fun bar2(x: (@L2 B).() -> Unit) {} fun test() { foo1 { diff --git a/compiler/testData/diagnostics/tests/resolve/dslMarker/usingWithThis.kt b/compiler/testData/diagnostics/tests/resolve/dslMarker/usingWithThis.kt index d9200592707..5fa725d5bc8 100644 --- a/compiler/testData/diagnostics/tests/resolve/dslMarker/usingWithThis.kt +++ b/compiler/testData/diagnostics/tests/resolve/dslMarker/usingWithThis.kt @@ -11,8 +11,8 @@ class B { fun b() = 2 } -fun foo(x: @Ann A.() -> Unit) {} -fun bar(x: @Ann B.() -> Unit) {} +fun foo(x: (@Ann A).() -> Unit) {} +fun bar(x: (@Ann B).() -> Unit) {} fun test() { foo { diff --git a/compiler/testData/psi/DynamicTypes.txt b/compiler/testData/psi/DynamicTypes.txt index 9989f5dd044..41a8494f3f9 100644 --- a/compiler/testData/psi/DynamicTypes.txt +++ b/compiler/testData/psi/DynamicTypes.txt @@ -24,13 +24,14 @@ JetFile: DynamicTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiWhiteSpace(' ') DYNAMIC_TYPE PsiElement(dynamic)('dynamic') diff --git a/compiler/testData/psi/FunctionExpressions.txt b/compiler/testData/psi/FunctionExpressions.txt index 0f18e745348..f5a22383807 100644 --- a/compiler/testData/psi/FunctionExpressions.txt +++ b/compiler/testData/psi/FunctionExpressions.txt @@ -63,16 +63,17 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -109,16 +110,17 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -156,19 +158,20 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -270,16 +273,17 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -304,16 +308,17 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -354,19 +359,20 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -574,16 +580,17 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -608,16 +615,17 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -643,16 +651,17 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -693,19 +702,20 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -774,19 +784,20 @@ JetFile: FunctionExpressions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -800,16 +811,17 @@ JetFile: FunctionExpressions.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST @@ -991,4 +1003,4 @@ JetFile: FunctionExpressions.kt PsiElement(IDENTIFIER)('a') PsiElement(RPAR)(')') PsiWhiteSpace('\n') - PsiElement(RBRACE)('}') + PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/testData/psi/FunctionExpressions_ERR.txt b/compiler/testData/psi/FunctionExpressions_ERR.txt index 579b0736da5..b8585134f24 100644 --- a/compiler/testData/psi/FunctionExpressions_ERR.txt +++ b/compiler/testData/psi/FunctionExpressions_ERR.txt @@ -45,16 +45,17 @@ JetFile: FunctionExpressions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -91,19 +92,20 @@ JetFile: FunctionExpressions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -146,19 +148,20 @@ JetFile: FunctionExpressions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION diff --git a/compiler/testData/psi/FunctionTypes.txt b/compiler/testData/psi/FunctionTypes.txt index 108bd01bd2d..19e774c5160 100644 --- a/compiler/testData/psi/FunctionTypes.txt +++ b/compiler/testData/psi/FunctionTypes.txt @@ -81,16 +81,17 @@ JetFile: FunctionTypes.kt PsiElement(ARROW)('->') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('x') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('x') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -133,16 +134,17 @@ JetFile: FunctionTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -242,16 +244,17 @@ JetFile: FunctionTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -542,20 +545,21 @@ JetFile: FunctionTypes.kt PsiElement(EQ)('=') PsiWhiteSpace(' ') TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -579,20 +583,21 @@ JetFile: FunctionTypes.kt PsiElement(EQ)('=') PsiWhiteSpace(' ') TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE USER_TYPE REFERENCE_EXPRESSION @@ -620,20 +625,21 @@ JetFile: FunctionTypes.kt PsiElement(EQ)('=') PsiWhiteSpace(' ') TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE USER_TYPE REFERENCE_EXPRESSION diff --git a/compiler/testData/psi/Functions.txt b/compiler/testData/psi/Functions.txt index adc9bca7695..1cffac5ab5b 100644 --- a/compiler/testData/psi/Functions.txt +++ b/compiler/testData/psi/Functions.txt @@ -35,16 +35,17 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -59,16 +60,17 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -99,19 +101,20 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -197,16 +200,17 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -222,16 +226,17 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -263,19 +268,20 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -368,16 +374,17 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -396,16 +403,17 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -440,19 +448,20 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -512,19 +521,20 @@ JetFile: Functions.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -539,16 +549,17 @@ JetFile: Functions.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST diff --git a/compiler/testData/psi/FunctionsWithoutName.txt b/compiler/testData/psi/FunctionsWithoutName.txt index d99feebb2ed..5aec11fde37 100644 --- a/compiler/testData/psi/FunctionsWithoutName.txt +++ b/compiler/testData/psi/FunctionsWithoutName.txt @@ -222,16 +222,17 @@ JetFile: FunctionsWithoutName.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -249,16 +250,17 @@ JetFile: FunctionsWithoutName.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -292,19 +294,20 @@ JetFile: FunctionsWithoutName.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -363,19 +366,20 @@ JetFile: FunctionsWithoutName.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -389,16 +393,17 @@ JetFile: FunctionsWithoutName.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST diff --git a/compiler/testData/psi/FunctionsWithoutName_ERR.txt b/compiler/testData/psi/FunctionsWithoutName_ERR.txt index 685c0a49404..2986206423b 100644 --- a/compiler/testData/psi/FunctionsWithoutName_ERR.txt +++ b/compiler/testData/psi/FunctionsWithoutName_ERR.txt @@ -15,16 +15,17 @@ JetFile: FunctionsWithoutName_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -53,19 +54,20 @@ JetFile: FunctionsWithoutName_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -100,19 +102,20 @@ JetFile: FunctionsWithoutName_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -154,19 +157,20 @@ JetFile: FunctionsWithoutName_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -211,19 +215,20 @@ JetFile: FunctionsWithoutName_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -290,4 +295,4 @@ JetFile: FunctionsWithoutName_ERR.kt PsiWhiteSpace(' ') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('a') - PsiElement(SEMICOLON)(';') + PsiElement(SEMICOLON)(';') \ No newline at end of file diff --git a/compiler/testData/psi/Functions_ERR.txt b/compiler/testData/psi/Functions_ERR.txt index a10b6d4cc3a..6954e84f3ec 100644 --- a/compiler/testData/psi/Functions_ERR.txt +++ b/compiler/testData/psi/Functions_ERR.txt @@ -16,16 +16,17 @@ JetFile: Functions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -55,19 +56,20 @@ JetFile: Functions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -103,19 +105,20 @@ JetFile: Functions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -158,19 +161,20 @@ JetFile: Functions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -216,19 +220,20 @@ JetFile: Functions_ERR.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION diff --git a/compiler/testData/psi/TypeModifiers.kt b/compiler/testData/psi/TypeModifiers.kt new file mode 100644 index 00000000000..1cf609c4de0 --- /dev/null +++ b/compiler/testData/psi/TypeModifiers.kt @@ -0,0 +1,17 @@ +val p1: suspend a +val p2: suspend (a) -> a +val p3: suspend (a) -> suspend a +val p4: suspend a.() -> a +val p5: (suspend a).() -> a +val p6: a +val p7: a +val p8: a +val p9: a +val p10: suspend a +val p11: suspend @a a +val p12: @a suspend a +val p13: @a suspend @a a +val p14: @[a] suspend @[a] a + +@a fun @a a.f1() {} +fun (@a a.(a) -> a).f2() {} diff --git a/compiler/testData/psi/TypeModifiers.txt b/compiler/testData/psi/TypeModifiers.txt new file mode 100644 index 00000000000..2810d2d0a3e --- /dev/null +++ b/compiler/testData/psi/TypeModifiers.txt @@ -0,0 +1,493 @@ +JetFile: TypeModifiers.kt + PACKAGE_DIRECTIVE + + IMPORT_LIST + + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p1') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p2') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p3') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p4') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + FUNCTION_TYPE_RECEIVER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(DOT)('.') + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p5') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + FUNCTION_TYPE + FUNCTION_TYPE_RECEIVER + TYPE_REFERENCE + PsiElement(LPAR)('(') + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RPAR)(')') + PsiElement(DOT)('.') + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p6') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(in)('in') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(GT)('>') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p7') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(out)('out') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(GT)('>') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p8') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(out)('out') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(GT)('>') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p9') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(out)('out') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(GT)('>') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p10') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(GT)('>') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p11') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p12') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p13') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p14') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n\n') + FUN + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + PsiElement(fun)('fun') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(DOT)('.') + PsiElement(IDENTIFIER)('f1') + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + BLOCK + PsiElement(LBRACE)('{') + PsiElement(RBRACE)('}') + PsiWhiteSpace('\n') + FUN + PsiElement(fun)('fun') + PsiWhiteSpace(' ') + TYPE_REFERENCE + PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + FUNCTION_TYPE + FUNCTION_TYPE_RECEIVER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(DOT)('.') + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RPAR)(')') + PsiElement(DOT)('.') + PsiElement(IDENTIFIER)('f2') + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + BLOCK + PsiElement(LBRACE)('{') + PsiElement(RBRACE)('}') \ No newline at end of file diff --git a/compiler/testData/psi/TypeModifiers_ERR.kt b/compiler/testData/psi/TypeModifiers_ERR.kt new file mode 100644 index 00000000000..2d1dabeaeb7 --- /dev/null +++ b/compiler/testData/psi/TypeModifiers_ERR.kt @@ -0,0 +1,12 @@ +val p1: suspend +val p2: suspend (a) -> +val p3: suspend (suspend) -> +val p4: suspend (suspend -> +val p5: suspend (a) -> suspend +val p6: suspend a.() -> +val p7: suspend a.(suspend) -> +val p8: a +val p9: a +val p11: a + IMPORT_LIST + + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p1') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiErrorElement:Type expected + + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p2') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace('\n') + TYPE_REFERENCE + PsiErrorElement:Type expected + + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p3') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiErrorElement:Type expected + + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace('\n') + TYPE_REFERENCE + PsiErrorElement:Type expected + + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p4') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + TYPE_REFERENCE + PsiErrorElement:Type expected + PsiElement(ARROW)('->') + PsiErrorElement:Expecting comma or ')' + + PsiWhiteSpace('\n') + PsiErrorElement:Expecting ')' + PsiElement(val)('val') + PsiErrorElement:Expecting '->' to specify return type of a function type + + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('p5') + PsiErrorElement:Property getter or setter expected + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('suspend') + PsiWhiteSpace(' ') + PsiElement(LPAR)('(') + PsiElement(IDENTIFIER)('a') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('suspend') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p6') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + FUNCTION_TYPE_RECEIVER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(DOT)('.') + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace('\n') + TYPE_REFERENCE + PsiErrorElement:Type expected + + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p7') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + FUNCTION_TYPE + FUNCTION_TYPE_RECEIVER + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(DOT)('.') + VALUE_PARAMETER_LIST + PsiElement(LPAR)('(') + VALUE_PARAMETER + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiErrorElement:Type expected + + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + PsiElement(ARROW)('->') + PsiWhiteSpace('\n') + TYPE_REFERENCE + PsiErrorElement:Type expected + + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p8') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + PsiErrorElement:Type expected + PsiElement(in)('in') + PsiErrorElement:Expecting a '>' + + PsiWhiteSpace(' ') + PsiErrorElement:Property getter or setter expected + PsiElement(IDENTIFIER)('a') + PsiElement(GT)('>') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p9') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(in)('in') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiErrorElement:Expecting a '>' + + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p10') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + MODIFIER_LIST + PsiElement(in)('in') + PsiWhiteSpace(' ') + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiErrorElement:Type expected + + PsiElement(COMMA)(',') + PsiWhiteSpace(' ') + TYPE_PROJECTION + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(GT)('>') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p11') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + PsiErrorElement:Type expected + PsiElement(in)('in') + PsiErrorElement:Expecting a '>' + + PsiWhiteSpace(' ') + PsiErrorElement:Property getter or setter expected + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace('\n') + PROPERTY + PsiElement(val)('val') + PsiWhiteSpace(' ') + PsiElement(IDENTIFIER)('p12') + PsiElement(COLON)(':') + PsiWhiteSpace(' ') + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + TYPE_ARGUMENT_LIST + PsiElement(LT)('<') + TYPE_PROJECTION + TYPE_REFERENCE + MODIFIER_LIST + PsiElement(suspend)('suspend') + PsiWhiteSpace(' ') + PsiErrorElement:Type expected + PsiElement(in)('in') + PsiErrorElement:Expecting a '>' + \ No newline at end of file diff --git a/compiler/testData/psi/TypeParametersBeforeName.txt b/compiler/testData/psi/TypeParametersBeforeName.txt index 7f5f37e1609..e88415320a9 100644 --- a/compiler/testData/psi/TypeParametersBeforeName.txt +++ b/compiler/testData/psi/TypeParametersBeforeName.txt @@ -65,16 +65,17 @@ JetFile: TypeParametersBeforeName.kt PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION diff --git a/compiler/testData/psi/annotation/AnnotationsOnPatterns.txt b/compiler/testData/psi/annotation/AnnotationsOnPatterns.txt index b6d72a09ac7..ea7f93a08b3 100644 --- a/compiler/testData/psi/annotation/AnnotationsOnPatterns.txt +++ b/compiler/testData/psi/annotation/AnnotationsOnPatterns.txt @@ -29,16 +29,17 @@ JetFile: AnnotationsOnPatterns.kt PsiElement(is)('is') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION diff --git a/compiler/testData/psi/annotation/annotationsOnNullableTypes.txt b/compiler/testData/psi/annotation/annotationsOnNullableTypes.txt index b4d694b3b2d..71612e60741 100644 --- a/compiler/testData/psi/annotation/annotationsOnNullableTypes.txt +++ b/compiler/testData/psi/annotation/annotationsOnNullableTypes.txt @@ -14,13 +14,14 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -51,13 +52,14 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -75,13 +77,14 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -105,13 +108,14 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -130,19 +134,20 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -173,19 +178,20 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -203,19 +209,20 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -239,19 +246,20 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -270,29 +278,30 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiWhiteSpace(' ') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -323,29 +332,30 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiWhiteSpace(' ') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -363,29 +373,30 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiWhiteSpace(' ') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE @@ -409,29 +420,30 @@ JetFile: annotationsOnNullableTypes.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiWhiteSpace(' ') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('b') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - INTEGER_CONSTANT - PsiElement(INTEGER_LITERAL)('1') - PsiElement(RPAR)(')') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('b') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + INTEGER_CONSTANT + PsiElement(INTEGER_LITERAL)('1') + PsiElement(RPAR)(')') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') NULLABLE_TYPE USER_TYPE diff --git a/compiler/testData/psi/annotation/at/validDeclarations.txt b/compiler/testData/psi/annotation/at/validDeclarations.txt index e66d9428c04..c6230ce7e13 100644 --- a/compiler/testData/psi/annotation/at/validDeclarations.txt +++ b/compiler/testData/psi/annotation/at/validDeclarations.txt @@ -97,30 +97,31 @@ JetFile: validDeclarations.kt PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('AnnType') - VALUE_ARGUMENT_LIST - PsiElement(LPAR)('(') - VALUE_ARGUMENT - STRING_TEMPLATE - PsiElement(OPEN_QUOTE)('"') - LITERAL_STRING_TEMPLATE_ENTRY - PsiElement(REGULAR_STRING_PART)('3') - PsiElement(CLOSING_QUOTE)('"') - PsiElement(RPAR)(')') - PsiWhiteSpace(' ') - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('open') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('AnnType') + VALUE_ARGUMENT_LIST + PsiElement(LPAR)('(') + VALUE_ARGUMENT + STRING_TEMPLATE + PsiElement(OPEN_QUOTE)('"') + LITERAL_STRING_TEMPLATE_ENTRY + PsiElement(REGULAR_STRING_PART)('3') + PsiElement(CLOSING_QUOTE)('"') + PsiElement(RPAR)(')') + PsiWhiteSpace(' ') + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('open') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION diff --git a/compiler/testData/psi/functionReceivers/FunctionTypesWithFunctionReceivers.txt b/compiler/testData/psi/functionReceivers/FunctionTypesWithFunctionReceivers.txt index 316bd93fd1d..99592e1e06f 100644 --- a/compiler/testData/psi/functionReceivers/FunctionTypesWithFunctionReceivers.txt +++ b/compiler/testData/psi/functionReceivers/FunctionTypesWithFunctionReceivers.txt @@ -266,32 +266,34 @@ JetFile: FunctionTypesWithFunctionReceivers.kt PsiElement(EQ)('=') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER @@ -334,32 +336,34 @@ JetFile: FunctionTypesWithFunctionReceivers.kt PsiElement(EQ)('=') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER @@ -400,32 +404,34 @@ JetFile: FunctionTypesWithFunctionReceivers.kt PsiElement(EQ)('=') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER @@ -481,32 +487,34 @@ JetFile: FunctionTypesWithFunctionReceivers.kt PsiElement(EQ)('=') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER diff --git a/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceivers.txt b/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceivers.txt index 912636c7ca8..6202d794935 100644 --- a/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceivers.txt +++ b/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceivers.txt @@ -8,20 +8,21 @@ JetFile: FunctionsWithFunctionReceivers.kt PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -69,20 +70,21 @@ JetFile: FunctionsWithFunctionReceivers.kt PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -145,32 +147,34 @@ JetFile: FunctionsWithFunctionReceivers.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -231,16 +235,17 @@ JetFile: FunctionsWithFunctionReceivers.kt PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST @@ -309,16 +314,17 @@ JetFile: FunctionsWithFunctionReceivers.kt PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE diff --git a/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversAnnotations.txt b/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversAnnotations.txt index 98ffbb3d068..135773eaa5b 100644 --- a/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversAnnotations.txt +++ b/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversAnnotations.txt @@ -8,20 +8,21 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -69,20 +70,21 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -145,32 +147,34 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -231,16 +235,17 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE @@ -287,16 +292,17 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE diff --git a/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversRecovery.txt b/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversRecovery.txt index d849012826b..9cd7f271d0a 100644 --- a/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversRecovery.txt +++ b/compiler/testData/psi/functionReceivers/FunctionsWithFunctionReceiversRecovery.txt @@ -211,20 +211,21 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -301,16 +302,17 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -355,16 +357,17 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST diff --git a/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversAnnotations.txt b/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversAnnotations.txt index d34eaae99ca..cbe17b65002 100644 --- a/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversAnnotations.txt +++ b/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversAnnotations.txt @@ -8,20 +8,21 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -72,20 +73,21 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt PsiWhiteSpace(' ') TYPE_REFERENCE PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -150,32 +152,34 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt PsiElement(val)('val') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') + PsiWhiteSpace(' ') FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') - PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') @@ -235,16 +239,17 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE @@ -294,16 +299,17 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt PsiElement(GT)('>') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(LPAR)('(') FUNCTION_TYPE diff --git a/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversRecovery.txt b/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversRecovery.txt index a103fb39e63..2b2b320ca7f 100644 --- a/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversRecovery.txt +++ b/compiler/testData/psi/functionReceivers/PropertiesWithFunctionReceiversRecovery.txt @@ -286,13 +286,14 @@ JetFile: PropertiesWithFunctionReceiversRecovery.kt PsiWhiteSpace(' ') PsiErrorElement:Receiver type is not allowed on a destructuring declaration TYPE_REFERENCE - ANNOTATION_ENTRY - PsiElement(AT)('@') - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') + MODIFIER_LIST + ANNOTATION_ENTRY + PsiElement(AT)('@') + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') PsiWhiteSpace(' ') USER_TYPE REFERENCE_EXPRESSION @@ -325,16 +326,17 @@ JetFile: PropertiesWithFunctionReceiversRecovery.kt PsiElement(val)('val') PsiWhiteSpace(' ') TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST @@ -394,16 +396,17 @@ JetFile: PropertiesWithFunctionReceiversRecovery.kt PsiWhiteSpace(' ') PsiErrorElement:Receiver type is not allowed on a destructuring declaration TYPE_REFERENCE - ANNOTATION - PsiElement(AT)('@') - PsiElement(LBRACKET)('[') - ANNOTATION_ENTRY - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('a') - PsiElement(RBRACKET)(']') + MODIFIER_LIST + ANNOTATION + PsiElement(AT)('@') + PsiElement(LBRACKET)('[') + ANNOTATION_ENTRY + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('a') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') FUNCTION_TYPE VALUE_PARAMETER_LIST diff --git a/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java index 633e7ddf77f..27f6354bfe4 100644 --- a/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/parsing/ParsingTestGenerated.java @@ -800,6 +800,18 @@ public class ParsingTestGenerated extends AbstractParsingTest { doParsingTest(fileName); } + @TestMetadata("TypeModifiers.kt") + public void testTypeModifiers() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TypeModifiers.kt"); + doParsingTest(fileName); + } + + @TestMetadata("TypeModifiers_ERR.kt") + public void testTypeModifiers_ERR() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TypeModifiers_ERR.kt"); + doParsingTest(fileName); + } + @TestMetadata("TypeParametersBeforeName.kt") public void testTypeParametersBeforeName() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TypeParametersBeforeName.kt"); diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/TypeClsStubBuilder.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/TypeClsStubBuilder.kt index 8dc2fe640f6..49b6992ffd0 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/TypeClsStubBuilder.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/TypeClsStubBuilder.kt @@ -70,7 +70,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) { else parent private fun createTypeParameterStub(parent: KotlinStubBaseImpl<*>, type: Type, name: Name, annotations: List) { - createTypeAnnotationStubs(parent, annotations) + createTypeAnnotationStubs(parent, type, annotations) createStubForTypeName(ClassId.topLevel(FqName.topLevel(name)), nullableTypeParent(parent, type)) } @@ -96,7 +96,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) { annotations.partition { it.asSingleFqName() == KotlinBuiltIns.FQ_NAMES.extensionFunctionType } - createTypeAnnotationStubs(parent, notExtensionAnnotations) + createTypeAnnotationStubs(parent, type, notExtensionAnnotations) val isExtension = extensionAnnotations.isNotEmpty() createFunctionTypeStub(nullableTypeParent(parent, type), type, isExtension) @@ -104,7 +104,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) { return } - createTypeAnnotationStubs(parent, annotations) + createTypeAnnotationStubs(parent, type, annotations) val outerTypeChain = generateSequence(type) { it.outerType(c.typeTable) }.toList() @@ -114,8 +114,12 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) { } } - private fun createTypeAnnotationStubs(parent: KotlinStubBaseImpl<*>, annotations: List) { - createAnnotationStubs(annotations, parent) + private fun createTypeAnnotationStubs(parent: KotlinStubBaseImpl<*>, type: Type, annotations: List) { + // TODO Calculate type modifiers mask, see 'ModifierMaskUtils.computeMask' + val typeModifiersMask = 0 + if (annotations.isEmpty()) return + val modifiersList = KotlinModifierListStubImpl(parent, typeModifiersMask, KtStubElementTypes.MODIFIER_LIST) + createAnnotationStubs(annotations, modifiersList) } private fun createTypeArgumentListStub(typeStub: KotlinUserTypeStub, typeArgumentProtoList: List) { diff --git a/idea/idea-completion/testData/keywords/InFunctionTypePosition.kt b/idea/idea-completion/testData/keywords/InFunctionTypePosition.kt index 62a7b377fe3..8d28bb4803e 100644 --- a/idea/idea-completion/testData/keywords/InFunctionTypePosition.kt +++ b/idea/idea-completion/testData/keywords/InFunctionTypePosition.kt @@ -2,4 +2,5 @@ fun foo() { val test : } +// EXIST: suspend // NOTHING_ELSE diff --git a/idea/testData/decompiler/stubBuilder/Annotations/Annotations.txt b/idea/testData/decompiler/stubBuilder/Annotations/Annotations.txt index 2d3ffb934f7..d84a9851f3d 100644 --- a/idea/testData/decompiler/stubBuilder/Annotations/Annotations.txt +++ b/idea/testData/decompiler/stubBuilder/Annotations/Annotations.txt @@ -191,16 +191,17 @@ PsiJetFileStubImpl[package=] VALUE_PARAMETER_LIST VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=a] - ANNOTATION_ENTRY[hasValueArguments=false, shortName=b] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=b] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=a] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=b] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=b] USER_TYPE USER_TYPE USER_TYPE @@ -208,16 +209,17 @@ PsiJetFileStubImpl[package=] REFERENCE_EXPRESSION[referencedName=ranges] REFERENCE_EXPRESSION[referencedName=LongRange] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=a] - ANNOTATION_ENTRY[hasValueArguments=false, shortName=b] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=b] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=a] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=b] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=b] USER_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=kotlin] diff --git a/idea/testData/decompiler/stubBuilder/AnnotationsOnNullableTypes/AnnotationsOnNullableTypes.txt b/idea/testData/decompiler/stubBuilder/AnnotationsOnNullableTypes/AnnotationsOnNullableTypes.txt index 12a3536e79a..153160eeb6e 100644 --- a/idea/testData/decompiler/stubBuilder/AnnotationsOnNullableTypes/AnnotationsOnNullableTypes.txt +++ b/idea/testData/decompiler/stubBuilder/AnnotationsOnNullableTypes/AnnotationsOnNullableTypes.txt @@ -23,14 +23,15 @@ PsiJetFileStubImpl[package=] PROPERTY[fqName=AnnotationsOnNullableTypes.lambdaReceiver, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=lambdaReceiver] MODIFIER_LIST[public final] TYPE_REFERENCE + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] FUNCTION_TYPE FUNCTION_TYPE_RECEIVER TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=C] @@ -44,22 +45,24 @@ PsiJetFileStubImpl[package=] FUNCTION_TYPE VALUE_PARAMETER_LIST TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=C] PROPERTY[fqName=AnnotationsOnNullableTypes.lambdaType, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=lambdaType] MODIFIER_LIST[public final] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE FUNCTION_TYPE VALUE_PARAMETER_LIST @@ -71,11 +74,12 @@ PsiJetFileStubImpl[package=] VALUE_PARAMETER_LIST VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=C] @@ -94,11 +98,12 @@ PsiJetFileStubImpl[package=] TYPE_ARGUMENT_LIST TYPE_PROJECTION[projectionKind=NONE] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=C] @@ -116,11 +121,12 @@ PsiJetFileStubImpl[package=] TYPE_ARGUMENT_LIST TYPE_PROJECTION[projectionKind=NONE] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=C] @@ -130,11 +136,12 @@ PsiJetFileStubImpl[package=] TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T] VALUE_PARAMETER_LIST TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=T] @@ -142,11 +149,12 @@ PsiJetFileStubImpl[package=] MODIFIER_LIST[public final] VALUE_PARAMETER_LIST TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=C] @@ -158,11 +166,12 @@ PsiJetFileStubImpl[package=] TYPE_ARGUMENT_LIST TYPE_PROJECTION[projectionKind=NONE] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=C] diff --git a/idea/testData/decompiler/stubBuilder/Types/Types.txt b/idea/testData/decompiler/stubBuilder/Types/Types.txt index 753d6c7c5a9..74d84cf9406 100644 --- a/idea/testData/decompiler/stubBuilder/Types/Types.txt +++ b/idea/testData/decompiler/stubBuilder/Types/Types.txt @@ -266,13 +266,14 @@ PsiJetFileStubImpl[package=test] TYPE_ARGUMENT_LIST TYPE_PROJECTION[projectionKind=NONE] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=ExtensionFunctionType] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=ExtensionFunctionType] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE USER_TYPE - REFERENCE_EXPRESSION[referencedName=kotlin] - REFERENCE_EXPRESSION[referencedName=ExtensionFunctionType] + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=ExtensionFunctionType] USER_TYPE USER_TYPE REFERENCE_EXPRESSION[referencedName=kotlin] diff --git a/idea/testData/stubs/DynamicType.expected b/idea/testData/stubs/DynamicType.expected index 50d3c69be13..ba0b188bec6 100644 --- a/idea/testData/stubs/DynamicType.expected +++ b/idea/testData/stubs/DynamicType.expected @@ -10,19 +10,21 @@ PsiJetFileStubImpl[package=] DYNAMIC_TYPE PROPERTY[fqName=foo_a, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=true, isVar=false, name=foo_a] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] DYNAMIC_TYPE PROPERTY[fqName=foo_nullable_a, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=true, isVar=false, name=foo_nullable_a] TYPE_REFERENCE - ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=A] + MODIFIER_LIST[] + ANNOTATION_ENTRY[hasValueArguments=false, shortName=A] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=A] NULLABLE_TYPE DYNAMIC_TYPE CLASS[fqName=A, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A, superNames=[]] diff --git a/idea/testData/stubs/TypeAnnotation.expected b/idea/testData/stubs/TypeAnnotation.expected index 2593c0b5329..83a5749020a 100644 --- a/idea/testData/stubs/TypeAnnotation.expected +++ b/idea/testData/stubs/TypeAnnotation.expected @@ -20,32 +20,34 @@ PsiJetFileStubImpl[package=] VALUE_PARAMETER_LIST VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param] TYPE_REFERENCE - ANNOTATION - ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=a] - ANNOTATION - ANNOTATION_ENTRY[hasValueArguments=true, shortName=b] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=b] + MODIFIER_LIST[] + ANNOTATION + ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=a] + ANNOTATION + ANNOTATION_ENTRY[hasValueArguments=true, shortName=b] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=b] USER_TYPE REFERENCE_EXPRESSION[referencedName=DoubleRange] TYPE_REFERENCE - ANNOTATION - ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=a] - ANNOTATION - ANNOTATION_ENTRY[hasValueArguments=true, shortName=b] - CONSTRUCTOR_CALLEE - TYPE_REFERENCE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=b] + MODIFIER_LIST[] + ANNOTATION + ANNOTATION_ENTRY[hasValueArguments=false, shortName=a] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=a] + ANNOTATION + ANNOTATION_ENTRY[hasValueArguments=true, shortName=b] + CONSTRUCTOR_CALLEE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=b] USER_TYPE REFERENCE_EXPRESSION[referencedName=Unit]