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<in suspend T>' is 'A<(in (suspend T))>', 'A<suspend in T>' 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).
This commit is contained in:
committed by
Stanislav Erokhin
parent
6649f64e9f
commit
a15d423db4
@@ -231,6 +231,9 @@ public interface KtTokens {
|
|||||||
|
|
||||||
TokenSet MODIFIER_KEYWORDS = TokenSet.create(MODIFIER_KEYWORDS_ARRAY);
|
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 VISIBILITY_MODIFIERS = TokenSet.create(PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD);
|
||||||
|
|
||||||
TokenSet WHITESPACES = TokenSet.create(TokenType.WHITE_SPACE);
|
TokenSet WHITESPACES = TokenSet.create(TokenType.WHITE_SPACE);
|
||||||
|
|||||||
@@ -457,6 +457,23 @@ public class KotlinParsing extends AbstractKotlinParsing {
|
|||||||
@Nullable Consumer<IElementType> tokenConsumer,
|
@Nullable Consumer<IElementType> tokenConsumer,
|
||||||
@NotNull AnnotationParsingMode annotationParsingMode,
|
@NotNull AnnotationParsingMode annotationParsingMode,
|
||||||
@NotNull TokenSet noModifiersBefore
|
@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<IElementType> tokenConsumer,
|
||||||
|
@NotNull TokenSet modifierKeywords,
|
||||||
|
@NotNull AnnotationParsingMode annotationParsingMode,
|
||||||
|
@NotNull TokenSet noModifiersBefore
|
||||||
) {
|
) {
|
||||||
PsiBuilder.Marker list = mark();
|
PsiBuilder.Marker list = mark();
|
||||||
boolean empty = true;
|
boolean empty = true;
|
||||||
@@ -464,7 +481,7 @@ public class KotlinParsing extends AbstractKotlinParsing {
|
|||||||
if (at(AT) && annotationParsingMode.allowAnnotations) {
|
if (at(AT) && annotationParsingMode.allowAnnotations) {
|
||||||
parseAnnotationOrList(annotationParsingMode);
|
parseAnnotationOrList(annotationParsingMode);
|
||||||
}
|
}
|
||||||
else if (tryParseModifier(tokenConsumer, noModifiersBefore)) {
|
else if (tryParseModifier(tokenConsumer, noModifiersBefore, modifierKeywords)) {
|
||||||
// modifier advanced
|
// modifier advanced
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -481,10 +498,14 @@ public class KotlinParsing extends AbstractKotlinParsing {
|
|||||||
return !empty;
|
return !empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean tryParseModifier(@Nullable Consumer<IElementType> tokenConsumer, @NotNull TokenSet noModifiersBefore) {
|
private boolean tryParseModifier(
|
||||||
|
@Nullable Consumer<IElementType> tokenConsumer,
|
||||||
|
@NotNull TokenSet noModifiersBefore,
|
||||||
|
@NotNull TokenSet modifierKeywords
|
||||||
|
) {
|
||||||
PsiBuilder.Marker marker = mark();
|
PsiBuilder.Marker marker = mark();
|
||||||
|
|
||||||
if (atSet(MODIFIER_KEYWORDS)) {
|
if (atSet(modifierKeywords)) {
|
||||||
IElementType lookahead = lookahead(1);
|
IElementType lookahead = lookahead(1);
|
||||||
if (lookahead != null && !noModifiersBefore.contains(lookahead)) {
|
if (lookahead != null && !noModifiersBefore.contains(lookahead)) {
|
||||||
IElementType tt = tt();
|
IElementType tt = tt();
|
||||||
@@ -1865,7 +1886,8 @@ public class KotlinParsing extends AbstractKotlinParsing {
|
|||||||
// on expression-indicating symbols or not
|
// on expression-indicating symbols or not
|
||||||
private PsiBuilder.Marker parseTypeRefContents(TokenSet extraRecoverySet) {
|
private PsiBuilder.Marker parseTypeRefContents(TokenSet extraRecoverySet) {
|
||||||
PsiBuilder.Marker typeRefMarker = mark();
|
PsiBuilder.Marker typeRefMarker = mark();
|
||||||
parseAnnotations(DEFAULT);
|
|
||||||
|
parseTypeModifierList();
|
||||||
|
|
||||||
PsiBuilder.Marker typeElementMarker = mark();
|
PsiBuilder.Marker typeElementMarker = mark();
|
||||||
|
|
||||||
@@ -1930,9 +1952,11 @@ public class KotlinParsing extends AbstractKotlinParsing {
|
|||||||
// A.(B) -> C
|
// A.(B) -> C
|
||||||
// ^
|
// ^
|
||||||
|
|
||||||
PsiBuilder.Marker functionType = typeRefMarker.precede();
|
PsiBuilder.Marker functionType = typeElementMarker.precede();
|
||||||
PsiBuilder.Marker receiverType = typeRefMarker.precede();
|
|
||||||
typeRefMarker.done(TYPE_REFERENCE);
|
PsiBuilder.Marker receiverTypeRef = typeElementMarker.precede();
|
||||||
|
PsiBuilder.Marker receiverType = receiverTypeRef.precede();
|
||||||
|
receiverTypeRef.done(TYPE_REFERENCE);
|
||||||
receiverType.done(FUNCTION_TYPE_RECEIVER);
|
receiverType.done(FUNCTION_TYPE_RECEIVER);
|
||||||
|
|
||||||
advance(); // DOT
|
advance(); // DOT
|
||||||
@@ -1943,7 +1967,6 @@ public class KotlinParsing extends AbstractKotlinParsing {
|
|||||||
else {
|
else {
|
||||||
error("Expecting function type");
|
error("Expecting function type");
|
||||||
}
|
}
|
||||||
typeRefMarker = functionType.precede();
|
|
||||||
|
|
||||||
functionType.done(FUNCTION_TYPE);
|
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
|
// 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)
|
// 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)) {
|
if (at(MUL)) {
|
||||||
advance(); // MUL
|
advance(); // MUL
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ import org.jetbrains.kotlin.psi.stubs.elements.KtStubElementTypes
|
|||||||
* Type reference element.
|
* Type reference element.
|
||||||
* Underlying token is [org.jetbrains.kotlin.KtNodeTypes.TYPE_REFERENCE]
|
* Underlying token is [org.jetbrains.kotlin.KtNodeTypes.TYPE_REFERENCE]
|
||||||
*/
|
*/
|
||||||
class KtTypeReference : KtElementImplStub<KotlinPlaceHolderStub<KtTypeReference>>, KtAnnotated, KtAnnotationsContainer {
|
class KtTypeReference : KtModifierListOwnerStub<KotlinPlaceHolderStub<KtTypeReference>>,
|
||||||
|
KtAnnotated, KtAnnotationsContainer {
|
||||||
|
|
||||||
constructor(node: ASTNode) : super(node)
|
constructor(node: ASTNode) : super(node)
|
||||||
|
|
||||||
@@ -41,11 +42,11 @@ class KtTypeReference : KtElementImplStub<KotlinPlaceHolderStub<KtTypeReference>
|
|||||||
get() = KtStubbedPsiUtil.getStubOrPsiChild(this, KtStubElementTypes.TYPE_ELEMENT_TYPES, KtTypeElement.ARRAY_FACTORY)
|
get() = KtStubbedPsiUtil.getStubOrPsiChild(this, KtStubElementTypes.TYPE_ELEMENT_TYPES, KtTypeElement.ARRAY_FACTORY)
|
||||||
|
|
||||||
override fun getAnnotations(): List<KtAnnotation> {
|
override fun getAnnotations(): List<KtAnnotation> {
|
||||||
return getStubOrPsiChildrenAsList(KtStubElementTypes.ANNOTATION)
|
return modifierList?.annotations.orEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getAnnotationEntries(): List<KtAnnotationEntry> {
|
override fun getAnnotationEntries(): List<KtAnnotationEntry> {
|
||||||
return this.collectAnnotationEntriesFromStubOrPsi()
|
return modifierList?.annotationEntries.orEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hasParentheses(): Boolean {
|
fun hasParentheses(): Boolean {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ object KotlinStubVersions {
|
|||||||
// Binary stub version should be increased if stub format (org.jetbrains.kotlin.psi.stubs.impl) is changed
|
// 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).
|
// 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).
|
// 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)
|
// 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.
|
// Increasing this version will lead to reindexing of all classfiles.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ public interface Some {
|
|||||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||||
public abstract fun f1(): kotlin.String.() -> kotlin.Int
|
public abstract fun f1(): kotlin.String.() -> kotlin.Int
|
||||||
public abstract fun f2(): 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 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 hashCode(): kotlin.Int
|
||||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||||
|
|||||||
Vendored
+1
-1
@@ -11,7 +11,7 @@ class B {
|
|||||||
fun b() = 2
|
fun b() = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
fun bar(x: @Ann B.() -> Unit) {}
|
fun bar(x: (@Ann B).() -> Unit) {}
|
||||||
|
|
||||||
fun @Ann A.test() {
|
fun @Ann A.test() {
|
||||||
bar {
|
bar {
|
||||||
|
|||||||
+6
-6
@@ -15,15 +15,15 @@ class B {
|
|||||||
fun b() = 2
|
fun b() = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo1(x: @L1 A.() -> Unit) {}
|
fun foo1(x: (@L1 A).() -> Unit) {}
|
||||||
fun foo2(x: @L2 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 bar1(x: (@L1 B).() -> Unit) {}
|
||||||
fun bar2(x: @L2 B.() -> Unit) {}
|
fun bar2(x: (@L2 B).() -> Unit) {}
|
||||||
|
|
||||||
fun <T> bar1t(q: T, x: @L1 T.() -> Unit) {}
|
fun <T> bar1t(q: T, x: (@L1 T).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo12 {
|
foo12 {
|
||||||
|
|||||||
+2
-2
@@ -11,8 +11,8 @@ class B {
|
|||||||
fun b() = 2
|
fun b() = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo(x: @Ann A.() -> Unit) {}
|
fun foo(x: (@Ann A).() -> Unit) {}
|
||||||
fun bar(x: @Ann B.() -> Unit) {}
|
fun bar(x: (@Ann B).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo {
|
foo {
|
||||||
|
|||||||
+2
-2
@@ -11,8 +11,8 @@ class B {
|
|||||||
fun b() = 2
|
fun b() = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo(x: @Ann A.() -> Unit) {}
|
fun foo(x: (@Ann A).() -> Unit) {}
|
||||||
fun bar(x: @Ann B.() -> Unit) {}
|
fun bar(x: (@Ann B).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo {
|
foo {
|
||||||
|
|||||||
+2
-2
@@ -11,8 +11,8 @@ class B {
|
|||||||
fun b() = 2
|
fun b() = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <T> foo(x: @Ann T.() -> Unit) {}
|
fun <T> foo(x: (@Ann T).() -> Unit) {}
|
||||||
fun <E> bar(x: @Ann E.() -> Unit) {}
|
fun <E> bar(x: (@Ann E).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo<A> {
|
foo<A> {
|
||||||
|
|||||||
+6
-6
@@ -27,12 +27,12 @@ class C {
|
|||||||
|
|
||||||
class D
|
class D
|
||||||
|
|
||||||
fun foo(x: @Ann1 A.() -> Unit) {}
|
fun foo(x: (@Ann1 A).() -> Unit) {}
|
||||||
fun bar(x: @Ann2 B.() -> Unit) {}
|
fun bar(x: (@Ann2 B).() -> Unit) {}
|
||||||
fun baz(x: @Ann3 C.() -> Unit) {}
|
fun baz(x: (@Ann3 C).() -> Unit) {}
|
||||||
fun foo1(x: @Ann1 D.() -> Unit) {}
|
fun foo1(x: (@Ann1 D).() -> Unit) {}
|
||||||
fun foo2(x: @Ann2 D.() -> Unit) {}
|
fun foo2(x: (@Ann2 D).() -> Unit) {}
|
||||||
fun foo3(x: @Ann3 D.() -> Unit) {}
|
fun foo3(x: (@Ann3 D).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo {
|
foo {
|
||||||
|
|||||||
+6
-6
@@ -23,12 +23,12 @@ class C {
|
|||||||
|
|
||||||
class D
|
class D
|
||||||
|
|
||||||
fun foo(x: @Ann1 A.() -> Unit) {}
|
fun foo(x: (@Ann1 A).() -> Unit) {}
|
||||||
fun bar(x: @Ann2 B.() -> Unit) {}
|
fun bar(x: (@Ann2 B).() -> Unit) {}
|
||||||
fun baz(x: @Ann3 C.() -> Unit) {}
|
fun baz(x: (@Ann3 C).() -> Unit) {}
|
||||||
fun foo1(x: @Ann1 D.() -> Unit) {}
|
fun foo1(x: (@Ann1 D).() -> Unit) {}
|
||||||
fun foo2(x: @Ann2 D.() -> Unit) {}
|
fun foo2(x: (@Ann2 D).() -> Unit) {}
|
||||||
fun foo3(x: @Ann3 D.() -> Unit) {}
|
fun foo3(x: (@Ann3 D).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo {
|
foo {
|
||||||
|
|||||||
+3
-3
@@ -17,9 +17,9 @@ class B {
|
|||||||
|
|
||||||
class D
|
class D
|
||||||
|
|
||||||
fun foo(x: @Ann1 A.() -> Unit) {}
|
fun foo(x: (@Ann1 A).() -> Unit) {}
|
||||||
fun bar(x: @Ann2 B.() -> Unit) {}
|
fun bar(x: (@Ann2 B).() -> Unit) {}
|
||||||
fun baz(x: @Ann1 D.() -> Unit) {}
|
fun baz(x: (@Ann1 D).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo {
|
foo {
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ class B {
|
|||||||
fun b() = 2
|
fun b() = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo1(x: @L1 A.() -> Unit) {}
|
fun foo1(x: (@L1 A).() -> Unit) {}
|
||||||
fun foo2(x: @L2 A.() -> Unit) {}
|
fun foo2(x: (@L2 A).() -> Unit) {}
|
||||||
fun bar1(x: @L1 B.() -> Unit) {}
|
fun bar1(x: (@L1 B).() -> Unit) {}
|
||||||
fun bar2(x: @L2 B.() -> Unit) {}
|
fun bar2(x: (@L2 B).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo1 {
|
foo1 {
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ class B {
|
|||||||
fun b() = 2
|
fun b() = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
fun foo(x: @Ann A.() -> Unit) {}
|
fun foo(x: (@Ann A).() -> Unit) {}
|
||||||
fun bar(x: @Ann B.() -> Unit) {}
|
fun bar(x: (@Ann B).() -> Unit) {}
|
||||||
|
|
||||||
fun test() {
|
fun test() {
|
||||||
foo {
|
foo {
|
||||||
|
|||||||
+1
@@ -24,6 +24,7 @@ JetFile: DynamicTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
|
|||||||
+12
@@ -63,6 +63,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -109,6 +110,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -156,6 +158,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -270,6 +273,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -304,6 +308,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -354,6 +359,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -574,6 +580,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -608,6 +615,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -643,6 +651,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -693,6 +702,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -774,6 +784,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -800,6 +811,7 @@ JetFile: FunctionExpressions.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ JetFile: FunctionExpressions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -91,6 +92,7 @@ JetFile: FunctionExpressions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -146,6 +148,7 @@ JetFile: FunctionExpressions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
+15
-9
@@ -81,6 +81,7 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(ARROW)('->')
|
PsiElement(ARROW)('->')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -133,6 +134,7 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -242,6 +244,7 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -542,9 +545,7 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(EQ)('=')
|
PsiElement(EQ)('=')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -556,6 +557,9 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -579,9 +583,7 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(EQ)('=')
|
PsiElement(EQ)('=')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -593,6 +595,9 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
@@ -620,9 +625,7 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(EQ)('=')
|
PsiElement(EQ)('=')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -634,6 +637,9 @@ JetFile: FunctionTypes.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
|
|||||||
Vendored
+11
@@ -35,6 +35,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -59,6 +60,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -99,6 +101,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -197,6 +200,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -222,6 +226,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -263,6 +268,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -368,6 +374,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -396,6 +403,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -440,6 +448,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -512,6 +521,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -539,6 +549,7 @@ JetFile: Functions.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
@@ -222,6 +222,7 @@ JetFile: FunctionsWithoutName.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -249,6 +250,7 @@ JetFile: FunctionsWithoutName.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -292,6 +294,7 @@ JetFile: FunctionsWithoutName.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -363,6 +366,7 @@ JetFile: FunctionsWithoutName.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -389,6 +393,7 @@ JetFile: FunctionsWithoutName.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ JetFile: FunctionsWithoutName_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -53,6 +54,7 @@ JetFile: FunctionsWithoutName_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -100,6 +102,7 @@ JetFile: FunctionsWithoutName_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -154,6 +157,7 @@ JetFile: FunctionsWithoutName_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -211,6 +215,7 @@ JetFile: FunctionsWithoutName_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
+5
@@ -16,6 +16,7 @@ JetFile: Functions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -55,6 +56,7 @@ JetFile: Functions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -103,6 +105,7 @@ JetFile: Functions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -158,6 +161,7 @@ JetFile: Functions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -216,6 +220,7 @@ JetFile: Functions_ERR.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
+17
@@ -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<in suspend a>
|
||||||
|
val p7: a<out suspend @a a>
|
||||||
|
val p8: a<out @a suspend @a a>
|
||||||
|
val p9: a<out @[a] suspend @[a] a>
|
||||||
|
val p10: suspend a<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() {}
|
||||||
+493
@@ -0,0 +1,493 @@
|
|||||||
|
JetFile: TypeModifiers.kt
|
||||||
|
PACKAGE_DIRECTIVE
|
||||||
|
<empty list>
|
||||||
|
IMPORT_LIST
|
||||||
|
<empty 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)('}')
|
||||||
+12
@@ -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<suspend in a>
|
||||||
|
val p9: a<in suspend a
|
||||||
|
val p10: a<in suspend, a>
|
||||||
|
val p11: a<suspend in a
|
||||||
|
val p12: a<suspend in
|
||||||
+299
@@ -0,0 +1,299 @@
|
|||||||
|
JetFile: TypeModifiers_ERR.kt
|
||||||
|
PACKAGE_DIRECTIVE
|
||||||
|
<empty list>
|
||||||
|
IMPORT_LIST
|
||||||
|
<empty list>
|
||||||
|
PROPERTY
|
||||||
|
PsiElement(val)('val')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(IDENTIFIER)('p1')
|
||||||
|
PsiElement(COLON)(':')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
|
PsiElement(suspend)('suspend')
|
||||||
|
PsiErrorElement:Type expected
|
||||||
|
<empty list>
|
||||||
|
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
|
||||||
|
<empty list>
|
||||||
|
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
|
||||||
|
<empty list>
|
||||||
|
PsiElement(RPAR)(')')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(ARROW)('->')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
TYPE_REFERENCE
|
||||||
|
PsiErrorElement:Type expected
|
||||||
|
<empty list>
|
||||||
|
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 ')'
|
||||||
|
<empty list>
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
PsiErrorElement:Expecting ')'
|
||||||
|
PsiElement(val)('val')
|
||||||
|
PsiErrorElement:Expecting '->' to specify return type of a function type
|
||||||
|
<empty list>
|
||||||
|
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
|
||||||
|
<empty list>
|
||||||
|
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
|
||||||
|
<empty list>
|
||||||
|
PsiElement(RPAR)(')')
|
||||||
|
PsiWhiteSpace(' ')
|
||||||
|
PsiElement(ARROW)('->')
|
||||||
|
PsiWhiteSpace('\n')
|
||||||
|
TYPE_REFERENCE
|
||||||
|
PsiErrorElement:Type expected
|
||||||
|
<empty list>
|
||||||
|
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 '>'
|
||||||
|
<empty list>
|
||||||
|
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 '>'
|
||||||
|
<empty list>
|
||||||
|
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
|
||||||
|
<empty list>
|
||||||
|
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 '>'
|
||||||
|
<empty list>
|
||||||
|
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 '>'
|
||||||
|
<empty list>
|
||||||
@@ -65,6 +65,7 @@ JetFile: TypeParametersBeforeName.kt
|
|||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ JetFile: AnnotationsOnPatterns.kt
|
|||||||
PsiElement(is)('is')
|
PsiElement(is)('is')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -51,6 +52,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -75,6 +77,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -105,6 +108,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -130,6 +134,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -173,6 +178,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -203,6 +209,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -239,6 +246,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -270,6 +278,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -323,6 +332,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(LT)('<')
|
PsiElement(LT)('<')
|
||||||
TYPE_PROJECTION
|
TYPE_PROJECTION
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -363,6 +373,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -409,6 +420,7 @@ JetFile: annotationsOnNullableTypes.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ JetFile: validDeclarations.kt
|
|||||||
PsiElement(COLON)(':')
|
PsiElement(COLON)(':')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
|
|||||||
+20
-12
@@ -266,6 +266,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(EQ)('=')
|
PsiElement(EQ)('=')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -278,9 +279,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -292,6 +291,9 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
FUNCTION_TYPE
|
||||||
FUNCTION_TYPE_RECEIVER
|
FUNCTION_TYPE_RECEIVER
|
||||||
@@ -334,6 +336,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(EQ)('=')
|
PsiElement(EQ)('=')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -346,9 +349,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -360,6 +361,9 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
FUNCTION_TYPE
|
||||||
FUNCTION_TYPE_RECEIVER
|
FUNCTION_TYPE_RECEIVER
|
||||||
@@ -400,6 +404,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(EQ)('=')
|
PsiElement(EQ)('=')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -412,9 +417,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -426,6 +429,9 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
FUNCTION_TYPE
|
||||||
FUNCTION_TYPE_RECEIVER
|
FUNCTION_TYPE_RECEIVER
|
||||||
@@ -481,6 +487,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(EQ)('=')
|
PsiElement(EQ)('=')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -493,9 +500,7 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -507,6 +512,9 @@ JetFile: FunctionTypesWithFunctionReceivers.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
FUNCTION_TYPE
|
||||||
FUNCTION_TYPE_RECEIVER
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
|||||||
+15
-9
@@ -8,9 +8,7 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -22,6 +20,9 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -69,9 +70,7 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -83,6 +82,9 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -145,6 +147,7 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -157,9 +160,7 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -171,6 +172,9 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -231,6 +235,7 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -309,6 +314,7 @@ JetFile: FunctionsWithFunctionReceivers.kt
|
|||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
+15
-9
@@ -8,9 +8,7 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -22,6 +20,9 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -69,9 +70,7 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -83,6 +82,9 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -145,6 +147,7 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -157,9 +160,7 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -171,6 +172,9 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -231,6 +235,7 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -287,6 +292,7 @@ JetFile: FunctionsWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
+6
-3
@@ -211,9 +211,7 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -225,6 +223,9 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -301,6 +302,7 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -355,6 +357,7 @@ JetFile: FunctionsWithFunctionReceiversRecovery.kt
|
|||||||
PsiElement(fun)('fun')
|
PsiElement(fun)('fun')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
+15
-9
@@ -8,9 +8,7 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -22,6 +20,9 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -72,9 +73,7 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -86,6 +85,9 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -150,6 +152,7 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(val)('val')
|
PsiElement(val)('val')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -162,9 +165,7 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiElement(LPAR)('(')
|
PsiElement(LPAR)('(')
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -176,6 +177,9 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(IDENTIFIER)('a')
|
PsiElement(IDENTIFIER)('a')
|
||||||
PsiElement(RBRACKET)(']')
|
PsiElement(RBRACKET)(']')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION
|
REFERENCE_EXPRESSION
|
||||||
PsiElement(IDENTIFIER)('T')
|
PsiElement(IDENTIFIER)('T')
|
||||||
@@ -235,6 +239,7 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -294,6 +299,7 @@ JetFile: PropertiesWithFunctionReceiversAnnotations.kt
|
|||||||
PsiElement(GT)('>')
|
PsiElement(GT)('>')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
+3
@@ -286,6 +286,7 @@ JetFile: PropertiesWithFunctionReceiversRecovery.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiErrorElement:Receiver type is not allowed on a destructuring declaration
|
PsiErrorElement:Receiver type is not allowed on a destructuring declaration
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION_ENTRY
|
ANNOTATION_ENTRY
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -325,6 +326,7 @@ JetFile: PropertiesWithFunctionReceiversRecovery.kt
|
|||||||
PsiElement(val)('val')
|
PsiElement(val)('val')
|
||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
@@ -394,6 +396,7 @@ JetFile: PropertiesWithFunctionReceiversRecovery.kt
|
|||||||
PsiWhiteSpace(' ')
|
PsiWhiteSpace(' ')
|
||||||
PsiErrorElement:Receiver type is not allowed on a destructuring declaration
|
PsiErrorElement:Receiver type is not allowed on a destructuring declaration
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
PsiElement(AT)('@')
|
PsiElement(AT)('@')
|
||||||
PsiElement(LBRACKET)('[')
|
PsiElement(LBRACKET)('[')
|
||||||
|
|||||||
@@ -800,6 +800,18 @@ public class ParsingTestGenerated extends AbstractParsingTest {
|
|||||||
doParsingTest(fileName);
|
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")
|
@TestMetadata("TypeParametersBeforeName.kt")
|
||||||
public void testTypeParametersBeforeName() throws Exception {
|
public void testTypeParametersBeforeName() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TypeParametersBeforeName.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/psi/TypeParametersBeforeName.kt");
|
||||||
|
|||||||
+9
-5
@@ -70,7 +70,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) {
|
|||||||
else parent
|
else parent
|
||||||
|
|
||||||
private fun createTypeParameterStub(parent: KotlinStubBaseImpl<*>, type: Type, name: Name, annotations: List<ClassId>) {
|
private fun createTypeParameterStub(parent: KotlinStubBaseImpl<*>, type: Type, name: Name, annotations: List<ClassId>) {
|
||||||
createTypeAnnotationStubs(parent, annotations)
|
createTypeAnnotationStubs(parent, type, annotations)
|
||||||
createStubForTypeName(ClassId.topLevel(FqName.topLevel(name)), nullableTypeParent(parent, type))
|
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 }
|
annotations.partition { it.asSingleFqName() == KotlinBuiltIns.FQ_NAMES.extensionFunctionType }
|
||||||
|
|
||||||
|
|
||||||
createTypeAnnotationStubs(parent, notExtensionAnnotations)
|
createTypeAnnotationStubs(parent, type, notExtensionAnnotations)
|
||||||
|
|
||||||
val isExtension = extensionAnnotations.isNotEmpty()
|
val isExtension = extensionAnnotations.isNotEmpty()
|
||||||
createFunctionTypeStub(nullableTypeParent(parent, type), type, isExtension)
|
createFunctionTypeStub(nullableTypeParent(parent, type), type, isExtension)
|
||||||
@@ -104,7 +104,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
createTypeAnnotationStubs(parent, annotations)
|
createTypeAnnotationStubs(parent, type, annotations)
|
||||||
|
|
||||||
val outerTypeChain = generateSequence(type) { it.outerType(c.typeTable) }.toList()
|
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<ClassId>) {
|
private fun createTypeAnnotationStubs(parent: KotlinStubBaseImpl<*>, type: Type, annotations: List<ClassId>) {
|
||||||
createAnnotationStubs(annotations, parent)
|
// 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<Type.Argument>) {
|
private fun createTypeArgumentListStub(typeStub: KotlinUserTypeStub, typeArgumentProtoList: List<Type.Argument>) {
|
||||||
|
|||||||
@@ -2,4 +2,5 @@ fun foo() {
|
|||||||
val test : <caret>
|
val test : <caret>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EXIST: suspend
|
||||||
// NOTHING_ELSE
|
// NOTHING_ELSE
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param]
|
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -208,6 +209,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
REFERENCE_EXPRESSION[referencedName=ranges]
|
REFERENCE_EXPRESSION[referencedName=ranges]
|
||||||
REFERENCE_EXPRESSION[referencedName=LongRange]
|
REFERENCE_EXPRESSION[referencedName=LongRange]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
|||||||
Vendored
+12
-3
@@ -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]
|
PROPERTY[fqName=AnnotationsOnNullableTypes.lambdaReceiver, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=lambdaReceiver]
|
||||||
MODIFIER_LIST[public final]
|
MODIFIER_LIST[public final]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
FUNCTION_TYPE
|
MODIFIER_LIST[]
|
||||||
FUNCTION_TYPE_RECEIVER
|
|
||||||
TYPE_REFERENCE
|
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=A]
|
REFERENCE_EXPRESSION[referencedName=A]
|
||||||
|
FUNCTION_TYPE
|
||||||
|
FUNCTION_TYPE_RECEIVER
|
||||||
|
TYPE_REFERENCE
|
||||||
NULLABLE_TYPE
|
NULLABLE_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=C]
|
REFERENCE_EXPRESSION[referencedName=C]
|
||||||
@@ -44,6 +45,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
FUNCTION_TYPE
|
FUNCTION_TYPE
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -55,6 +57,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
PROPERTY[fqName=AnnotationsOnNullableTypes.lambdaType, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=lambdaType]
|
PROPERTY[fqName=AnnotationsOnNullableTypes.lambdaType, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=lambdaType]
|
||||||
MODIFIER_LIST[public final]
|
MODIFIER_LIST[public final]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -71,6 +74,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
|
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -94,6 +98,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
TYPE_PROJECTION[projectionKind=NONE]
|
TYPE_PROJECTION[projectionKind=NONE]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -116,6 +121,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
TYPE_PROJECTION[projectionKind=NONE]
|
TYPE_PROJECTION[projectionKind=NONE]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -130,6 +136,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
|
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -142,6 +149,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
MODIFIER_LIST[public final]
|
MODIFIER_LIST[public final]
|
||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -158,6 +166,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
TYPE_PROJECTION[projectionKind=NONE]
|
TYPE_PROJECTION[projectionKind=NONE]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
|||||||
@@ -266,6 +266,7 @@ PsiJetFileStubImpl[package=test]
|
|||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
TYPE_PROJECTION[projectionKind=NONE]
|
TYPE_PROJECTION[projectionKind=NONE]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=ExtensionFunctionType]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=ExtensionFunctionType]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
|||||||
+2
@@ -10,6 +10,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
DYNAMIC_TYPE
|
DYNAMIC_TYPE
|
||||||
PROPERTY[fqName=foo_a, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=true, isVar=false, name=foo_a]
|
PROPERTY[fqName=foo_a, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=true, isVar=false, name=foo_a]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
@@ -18,6 +19,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
DYNAMIC_TYPE
|
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]
|
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
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
|||||||
+2
@@ -20,6 +20,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param]
|
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=param]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
@@ -35,6 +36,7 @@ PsiJetFileStubImpl[package=]
|
|||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=DoubleRange]
|
REFERENCE_EXPRESSION[referencedName=DoubleRange]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
|
MODIFIER_LIST[]
|
||||||
ANNOTATION
|
ANNOTATION
|
||||||
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
|
||||||
CONSTRUCTOR_CALLEE
|
CONSTRUCTOR_CALLEE
|
||||||
|
|||||||
Reference in New Issue
Block a user