A.class:
  PsiJetFileStubImpl[package=test]
    PACKAGE_DIRECTIVE
      REFERENCE_EXPRESSION[referencedName=test]
    IMPORT_LIST
    CLASS[classId=test/A, fqName=test.A, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A, superNames=[Annotation]]
      MODIFIER_LIST[public final annotation]
        ANNOTATION_ENTRY[hasValueArguments=false, shortName=Target]
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                USER_TYPE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=kotlin]
                  REFERENCE_EXPRESSION[referencedName=annotation]
                REFERENCE_EXPRESSION[referencedName=Target]
      PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=A]
        MODIFIER_LIST[public]
        VALUE_PARAMETER_LIST
      SUPER_TYPE_LIST
        SUPER_TYPE_ENTRY
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Annotation]
      CLASS_BODY


Continuation.class:
  PsiJetFileStubImpl[package=test]
    PACKAGE_DIRECTIVE
      REFERENCE_EXPRESSION[referencedName=test]
    IMPORT_LIST
    CLASS[classId=test/Continuation, fqName=test.Continuation, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Continuation, superNames=[]]
      MODIFIER_LIST[public final]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
      PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=Continuation]
        MODIFIER_LIST[public]
        VALUE_PARAMETER_LIST
      CLASS_BODY


P.class:
  PsiJetFileStubImpl[package=test]
    PACKAGE_DIRECTIVE
      REFERENCE_EXPRESSION[referencedName=test]
    IMPORT_LIST
    CLASS[classId=test/P, fqName=test.P, isClsStubCompiledToJvmDefaultImplementation=true, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=true, name=P, superNames=[]]
      MODIFIER_LIST[public]
      CLASS_BODY


RS.class:
  PsiJetFileStubImpl[package=test]
    PACKAGE_DIRECTIVE
      REFERENCE_EXPRESSION[referencedName=test]
    IMPORT_LIST
    CLASS[classId=test/RS, fqName=test.RS, isClsStubCompiledToJvmDefaultImplementation=true, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=true, name=RS, superNames=[]]
      MODIFIER_LIST[public]
      CLASS_BODY


SuspendLambda.class:
  PsiJetFileStubImpl[package=test]
    PACKAGE_DIRECTIVE
      REFERENCE_EXPRESSION[referencedName=test]
    IMPORT_LIST
    CLASS[classId=test/SuspendLambda, fqName=test.SuspendLambda, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=SuspendLambda, superNames=[]]
      MODIFIER_LIST[public final]
      PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=SuspendLambda]
        MODIFIER_LIST[public]
        VALUE_PARAMETER_LIST
      CLASS_BODY
        PROPERTY[fqName=test.SuspendLambda.nullableSuspend, hasBackingField=true, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=nullableSuspend]
          MODIFIER_LIST[public final]
          TYPE_REFERENCE
            NULLABLE_TYPE
              MODIFIER_LIST[suspend]
              FUNCTION_TYPE
                VALUE_PARAMETER_LIST
                  VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE
                      USER_TYPE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=test]
                        REFERENCE_EXPRESSION[referencedName=P]
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=Unit]
        PROPERTY[fqName=test.SuspendLambda.nullableSuspendWithReceiver, hasBackingField=true, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=nullableSuspendWithReceiver]
          MODIFIER_LIST[public final]
          TYPE_REFERENCE
            NULLABLE_TYPE
              MODIFIER_LIST[suspend]
              FUNCTION_TYPE
                FUNCTION_TYPE_RECEIVER
                  TYPE_REFERENCE
                    USER_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=test]
                      REFERENCE_EXPRESSION[referencedName=RS]
                VALUE_PARAMETER_LIST
                  VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE
                      USER_TYPE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=test]
                        REFERENCE_EXPRESSION[referencedName=P]
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=Unit]
        PROPERTY[fqName=test.SuspendLambda.nullableSuspendWithNullableParameter, hasBackingField=true, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=nullableSuspendWithNullableParameter]
          MODIFIER_LIST[public final]
          TYPE_REFERENCE
            NULLABLE_TYPE
              MODIFIER_LIST[suspend]
              FUNCTION_TYPE
                VALUE_PARAMETER_LIST
                  VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE
                      NULLABLE_TYPE
                        USER_TYPE
                          USER_TYPE
                            REFERENCE_EXPRESSION[referencedName=test]
                          REFERENCE_EXPRESSION[referencedName=P]
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=Unit]
        PROPERTY[fqName=test.SuspendLambda.nullableSuspendWithNullableReceiver, hasBackingField=true, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=nullableSuspendWithNullableReceiver]
          MODIFIER_LIST[public final]
          TYPE_REFERENCE
            NULLABLE_TYPE
              MODIFIER_LIST[suspend]
              FUNCTION_TYPE
                FUNCTION_TYPE_RECEIVER
                  TYPE_REFERENCE
                    NULLABLE_TYPE
                      USER_TYPE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=test]
                        REFERENCE_EXPRESSION[referencedName=RS]
                VALUE_PARAMETER_LIST
                  VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE
                      USER_TYPE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=test]
                        REFERENCE_EXPRESSION[referencedName=P]
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=Unit]
        PROPERTY[fqName=test.SuspendLambda.nullableSuspendWithAnnotation, hasBackingField=true, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=nullableSuspendWithAnnotation]
          MODIFIER_LIST[public final]
          TYPE_REFERENCE
            NULLABLE_TYPE
              MODIFIER_LIST[suspend]
                ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=test]
                        REFERENCE_EXPRESSION[referencedName=A]
              FUNCTION_TYPE
                VALUE_PARAMETER_LIST
                  VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE
                      USER_TYPE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=test]
                        REFERENCE_EXPRESSION[referencedName=P]
                TYPE_REFERENCE
                  USER_TYPE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=kotlin]
                    REFERENCE_EXPRESSION[referencedName=Unit]
        FUN[fqName=test.SuspendLambda.createCoroutine1, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=false, mayHaveContract=false, name=createCoroutine1]
          MODIFIER_LIST[public final]
          TYPE_PARAMETER_LIST
            TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
          TYPE_REFERENCE
            MODIFIER_LIST[suspend]
            FUNCTION_TYPE
              VALUE_PARAMETER_LIST
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=T]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=completion]
              TYPE_REFERENCE
                USER_TYPE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=test]
                  REFERENCE_EXPRESSION[referencedName=Continuation]
                  TYPE_ARGUMENT_LIST
                    TYPE_PROJECTION[projectionKind=NONE]
                      TYPE_REFERENCE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=T]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]
        FUN[fqName=test.SuspendLambda.createCoroutine2, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=false, mayHaveContract=false, name=createCoroutine2]
          MODIFIER_LIST[public final]
          TYPE_PARAMETER_LIST
            TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=R]
            TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
          TYPE_REFERENCE
            MODIFIER_LIST[suspend]
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=R]
              VALUE_PARAMETER_LIST
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=T]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=receiver]
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=R]
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=completion]
              TYPE_REFERENCE
                USER_TYPE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=test]
                  REFERENCE_EXPRESSION[referencedName=Continuation]
                  TYPE_ARGUMENT_LIST
                    TYPE_PROJECTION[projectionKind=NONE]
                      TYPE_REFERENCE
                        USER_TYPE
                          REFERENCE_EXPRESSION[referencedName=T]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]
        FUN[fqName=test.SuspendLambda.createCoroutineAnother, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=false, mayHaveContract=false, name=createCoroutineAnother]
          MODIFIER_LIST[public final]
          TYPE_PARAMETER_LIST
            TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=R]
            TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
          TYPE_REFERENCE
            MODIFIER_LIST[suspend]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
                ANNOTATION_TARGET[useSiteTarget=RECEIVER]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=test]
                      REFERENCE_EXPRESSION[referencedName=A]
            FUNCTION_TYPE
              FUNCTION_TYPE_RECEIVER
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=R]
              VALUE_PARAMETER_LIST
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=T]
          VALUE_PARAMETER_LIST
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]
        FUN[fqName=test.SuspendLambda.testCoroutine, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, mayHaveContract=false, name=testCoroutine]
          MODIFIER_LIST[public final]
          TYPE_PARAMETER_LIST
            TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=f]
              TYPE_REFERENCE
                MODIFIER_LIST[suspend]
                FUNCTION_TYPE
                  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
                    NULLABLE_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=T]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]
        FUN[fqName=test.SuspendLambda.testCoroutineWithAnnotation, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, mayHaveContract=false, name=testCoroutineWithAnnotation]
          MODIFIER_LIST[public final]
          TYPE_PARAMETER_LIST
            TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=f]
              TYPE_REFERENCE
                MODIFIER_LIST[suspend]
                FUNCTION_TYPE
                  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
                    MODIFIER_LIST[]
                      ANNOTATION_ENTRY[hasValueArguments=false, shortName=A]
                        CONSTRUCTOR_CALLEE
                          TYPE_REFERENCE
                            USER_TYPE
                              USER_TYPE
                                REFERENCE_EXPRESSION[referencedName=test]
                              REFERENCE_EXPRESSION[referencedName=A]
                    NULLABLE_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=T]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]
        FUN[fqName=test.SuspendLambda.override, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=override]
          MODIFIER_LIST[public final]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=p]
              TYPE_REFERENCE
                USER_TYPE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=kotlin]
                  REFERENCE_EXPRESSION[referencedName=String]
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
              TYPE_REFERENCE
                MODIFIER_LIST[suspend]
                FUNCTION_TYPE
                  VALUE_PARAMETER_LIST
                    VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                      TYPE_REFERENCE
                        USER_TYPE
                          USER_TYPE
                            REFERENCE_EXPRESSION[referencedName=test]
                          REFERENCE_EXPRESSION[referencedName=P]
                  TYPE_REFERENCE
                    USER_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=kotlin]
                      REFERENCE_EXPRESSION[referencedName=Unit]
          TYPE_REFERENCE
            NULLABLE_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=Nothing]
        FUN[fqName=test.SuspendLambda.override, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=override]
          MODIFIER_LIST[public final]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
              TYPE_REFERENCE
                MODIFIER_LIST[suspend]
                FUNCTION_TYPE
                  VALUE_PARAMETER_LIST
                    VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                      TYPE_REFERENCE
                        USER_TYPE
                          USER_TYPE
                            REFERENCE_EXPRESSION[referencedName=test]
                          REFERENCE_EXPRESSION[referencedName=P]
                  TYPE_REFERENCE
                    USER_TYPE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=kotlin]
                      REFERENCE_EXPRESSION[referencedName=Unit]
          TYPE_REFERENCE
            NULLABLE_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=Nothing]
