MyClass.kt:
  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]


MyOtherClass.kt:
  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]


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


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


main.kt:
  PsiJetFileStubImpl[package=]
    PACKAGE_DIRECTIVE
    IMPORT_LIST
    FUN[fqName=someFunctionWithTypeConstraints, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=true, mayHaveContract=false, name=someFunctionWithTypeConstraints]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=E]
      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
          REFERENCE_EXPRESSION[referencedName=String]
      CONTRACT_EFFECT_LIST
        CONTRACT_EFFECT
        CONTRACT_EFFECT
      TYPE_CONSTRAINT_LIST
        TYPE_CONSTRAINT
          REFERENCE_EXPRESSION[referencedName=T]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=MyClass]
        TYPE_CONSTRAINT
          REFERENCE_EXPRESSION[referencedName=E]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=MyOtherClass]
    FUN[fqName=anotherFunctionWithTypeConstraints, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=true, mayHaveContract=false, name=anotherFunctionWithTypeConstraints]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=D]
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
      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
                  REFERENCE_EXPRESSION[referencedName=Unit]
      TYPE_CONSTRAINT_LIST
        TYPE_CONSTRAINT
          REFERENCE_EXPRESSION[referencedName=D]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=SuperType]
        TYPE_CONSTRAINT
          REFERENCE_EXPRESSION[referencedName=T]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=SomeType]
      CONTRACT_EFFECT_LIST
        CONTRACT_EFFECT
        CONTRACT_EFFECT
