Introduce 'coroutine'/'suspend' modifiers

This commit is contained in:
Denis Zharkov
2016-05-16 18:39:02 +03:00
parent 38d74a16fe
commit 329fb9d619
62 changed files with 263 additions and 17 deletions
@@ -17,4 +17,8 @@ data class Modifiers(val x: Int) {
override operator fun equals(other: Any?) = false
annotation class Ann
}
suspend fun suspend(x: Continuation<Int>) {}
fun builder(coroutine c: Any.() -> Continuation<Unit>) {}
}
@@ -28,6 +28,39 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int]
FUN:[fqName=test.Modifiers.builder, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=builder]
MODIFIER_LIST:[public final]
VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=c]
MODIFIER_LIST:[coroutine]
TYPE_REFERENCE:
FUNCTION_TYPE:
FUNCTION_TYPE_RECEIVER:
TYPE_REFERENCE:
USER_TYPE:
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Any]
VALUE_PARAMETER_LIST:
TYPE_REFERENCE:
USER_TYPE:
USER_TYPE:
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=coroutines]
REFERENCE_EXPRESSION:[referencedName=Continuation]
TYPE_ARGUMENT_LIST:
TYPE_PROJECTION:[projectionKind=NONE]
TYPE_REFERENCE:
USER_TYPE:
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Unit]
TYPE_REFERENCE:
USER_TYPE:
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Unit]
FUN:[fqName=test.Modifiers.component1, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=component1]
MODIFIER_LIST:[public final operator]
VALUE_PARAMETER_LIST:
@@ -107,6 +140,29 @@ PsiJetFileStubImpl[package=test]
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Long]
FUN:[fqName=test.Modifiers.suspend, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, name=suspend]
MODIFIER_LIST:[public final suspend]
VALUE_PARAMETER_LIST:
VALUE_PARAMETER:[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
TYPE_REFERENCE:
USER_TYPE:
USER_TYPE:
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=coroutines]
REFERENCE_EXPRESSION:[referencedName=Continuation]
TYPE_ARGUMENT_LIST:
TYPE_PROJECTION:[projectionKind=NONE]
TYPE_REFERENCE:
USER_TYPE:
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Int]
TYPE_REFERENCE:
USER_TYPE:
USER_TYPE:
REFERENCE_EXPRESSION:[referencedName=kotlin]
REFERENCE_EXPRESSION:[referencedName=Unit]
CLASS:[fqName=test.Modifiers.Ann, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=Ann, superNames=[Annotation]]
MODIFIER_LIST:[public final annotation]
PRIMARY_CONSTRUCTOR: