[ClsStubs] Add context receivers on function types

This commit is contained in:
Egor Kulikov
2023-04-20 19:26:46 +02:00
committed by teamcity
parent 6b41c5a969
commit c46c922841
6 changed files with 98 additions and 9 deletions
@@ -0,0 +1,12 @@
// JVM_FILE_NAME: ContextReceiversOnFunctionTypeKt
// !LANGUAGE: +ContextReceivers
fun f(g: context(A, B) Int.(Int) -> Int) {}
class A {
val valueA: Int = 10
}
class B {
val valueB: Int = 11
}
@@ -0,0 +1,41 @@
PsiJetFileStubImpl[package=]
PACKAGE_DIRECTIVE
IMPORT_LIST
FUN[fqName=f, hasBlockBody=true, hasBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=f]
MODIFIER_LIST[public]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=g]
TYPE_REFERENCE
FUNCTION_TYPE
CONTEXT_RECEIVER_LIST
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=A]
CONTEXT_RECEIVER[label=null]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=B]
FUNCTION_TYPE_RECEIVER
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=kotlin]
REFERENCE_EXPRESSION[referencedName=Int]
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
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=Int]
TYPE_REFERENCE
USER_TYPE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=kotlin]
REFERENCE_EXPRESSION[referencedName=Unit]