MainKt.class:
  PsiJetFileStubImpl[package=]
    PACKAGE_DIRECTIVE
    IMPORT_LIST
    FUN[fqName=someFunctionWithTypeConstraints, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=true, mayHaveContract=false, name=someFunctionWithTypeConstraints]
      MODIFIER_LIST[public]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=MyClass]
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=E]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=MyOtherClass]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=arg]
          TYPE_REFERENCE
            NULLABLE_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=E]
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=block]
          TYPE_REFERENCE
            FUNCTION_TYPE
              VALUE_PARAMETER_LIST
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=T]
      TYPE_REFERENCE
        USER_TYPE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=kotlin]
          REFERENCE_EXPRESSION[referencedName=String]
    FUN[fqName=anotherFunctionWithTypeConstraints, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=true, mayHaveContract=false, name=anotherFunctionWithTypeConstraints]
      MODIFIER_LIST[public]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=D]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=SuperType]
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=SomeType]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=data]
          TYPE_REFERENCE
            NULLABLE_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=D]
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=arg]
          TYPE_REFERENCE
            NULLABLE_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=T]
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=block]
          TYPE_REFERENCE
            FUNCTION_TYPE
              VALUE_PARAMETER_LIST
              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]


MyClass.class:
  PsiJetFileStubImpl[package=]
    PACKAGE_DIRECTIVE
    IMPORT_LIST
    CLASS[classId=/MyClass, fqName=MyClass, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=MyClass, superNames=[]]
      MODIFIER_LIST[open public]
      PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=MyClass]
        MODIFIER_LIST[public]
        VALUE_PARAMETER_LIST
      CLASS_BODY


MyOtherClass.class:
  PsiJetFileStubImpl[package=]
    PACKAGE_DIRECTIVE
    IMPORT_LIST
    CLASS[classId=/MyOtherClass, fqName=MyOtherClass, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=MyOtherClass, superNames=[]]
      MODIFIER_LIST[open public]
      PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=MyOtherClass]
        MODIFIER_LIST[public]
        VALUE_PARAMETER_LIST
      CLASS_BODY


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


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