PsiJetFileStubImpl[package=test]
  PACKAGE_DIRECTIVE
    REFERENCE_EXPRESSION[referencedName=test]
  IMPORT_LIST
  CLASS[classId=test/SuspendLambda, fqName=test.SuspendLambda, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=SuspendLambda, superNames=[]]
    MODIFIER_LIST[public final]
    PRIMARY_CONSTRUCTOR
      MODIFIER_LIST[public]
      VALUE_PARAMETER_LIST
    CLASS_BODY
      PROPERTY[fqName=test.SuspendLambda.nullableSuspend, 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.nullableSuspendWithAnnotation, 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]
      PROPERTY[fqName=test.SuspendLambda.nullableSuspendWithNullableParameter, 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, 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.nullableSuspendWithReceiver, 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]
      FUN[fqName=test.SuspendLambda.override, hasBlockBody=true, hasBody=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, hasBlockBody=true, hasBody=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]
      FUN[fqName=test.SuspendLambda.testCoroutine, hasBlockBody=true, hasBody=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, hasBlockBody=true, hasBody=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.createCoroutine1, hasBlockBody=true, hasBody=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, hasBlockBody=true, hasBody=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, hasBlockBody=true, hasBody=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]
          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]
