PsiJetFileStubImpl[package=a]
  PACKAGE_DIRECTIVE
    REFERENCE_EXPRESSION[referencedName=a]
  IMPORT_LIST
  CLASS[classId=a/InheritingClasses, fqName=a.InheritingClasses, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=InheritingClasses, superNames=[]]
    CLASS_BODY
      CLASS[classId=a/InheritingClasses.A, fqName=a.InheritingClasses.A, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=A, superNames=[C]]
        MODIFIER_LIST[abstract]
        PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=A]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=a.InheritingClasses.A.c, hasDefaultValue=true, hasValOrVar=true, isMutable=false, name=c]
              MODIFIER_LIST[override]
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=Int]
        SUPER_TYPE_LIST
          SUPER_TYPE_ENTRY
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=C]
        CLASS_BODY
          FUN[fqName=a.InheritingClasses.A.of, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=of]
            MODIFIER_LIST[open]
            VALUE_PARAMETER_LIST
          FUN[fqName=a.InheritingClasses.A.af, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=af]
            MODIFIER_LIST[abstract]
            VALUE_PARAMETER_LIST
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Int]
          PROPERTY[fqName=a.InheritingClasses.A.op, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=false, name=op]
            MODIFIER_LIST[open]
          PROPERTY[fqName=a.InheritingClasses.A.ap, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=ap]
            MODIFIER_LIST[abstract]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Int]
      CLASS[classId=a/InheritingClasses.B, fqName=a.InheritingClasses.B, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=B, superNames=[A]]
        MODIFIER_LIST[open]
        SUPER_TYPE_LIST
          SUPER_TYPE_CALL_ENTRY
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=A]
        CLASS_BODY
          FUN[fqName=a.InheritingClasses.B.of, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=of]
            MODIFIER_LIST[override]
            VALUE_PARAMETER_LIST
          FUN[fqName=a.InheritingClasses.B.af, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=af]
            MODIFIER_LIST[override]
            VALUE_PARAMETER_LIST
          PROPERTY[fqName=a.InheritingClasses.B.op, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=false, name=op]
            MODIFIER_LIST[override]
          PROPERTY[fqName=a.InheritingClasses.B.ap, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=false, name=ap]
            MODIFIER_LIST[override]
      CLASS[classId=a/InheritingClasses.C, fqName=a.InheritingClasses.C, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=false, name=C, superNames=[]]
        CLASS_BODY
          PROPERTY[fqName=a.InheritingClasses.C.c, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=c]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Int]
      CLASS[classId=a/InheritingClasses.D, fqName=a.InheritingClasses.D, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=false, name=D, superNames=[C]]
        TYPE_PARAMETER_LIST
          TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
        SUPER_TYPE_LIST
          SUPER_TYPE_ENTRY
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=C]
        CLASS_BODY
          PROPERTY[fqName=a.InheritingClasses.D.c, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=c]
            MODIFIER_LIST[override]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Int]
      CLASS[classId=a/InheritingClasses.E, fqName=a.InheritingClasses.E, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=false, name=E, superNames=[]]
      CLASS[classId=a/InheritingClasses.G, fqName=a.InheritingClasses.G, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=G, superNames=[B, C, D, E]]
        SUPER_TYPE_LIST
          SUPER_TYPE_CALL_ENTRY
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=B]
          SUPER_TYPE_ENTRY
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=C]
          SUPER_TYPE_ENTRY
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=D]
                TYPE_ARGUMENT_LIST
                  TYPE_PROJECTION[projectionKind=NONE]
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=Int]
          SUPER_TYPE_ENTRY
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=E]
      CLASS[classId=a/InheritingClasses.InheritAny, fqName=a.InheritingClasses.InheritAny, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=InheritAny, superNames=[]]
        CLASS_BODY
          CLASS[classId=a/InheritingClasses.InheritAny.SomeTrait, fqName=a.InheritingClasses.InheritAny.SomeTrait, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=false, name=SomeTrait, superNames=[]]
          CLASS[classId=a/InheritingClasses.InheritAny.SomeTrait2, fqName=a.InheritingClasses.InheritAny.SomeTrait2, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=false, name=SomeTrait2, superNames=[]]
          CLASS[classId=a/InheritingClasses.InheritAny.ImplicitAny, fqName=a.InheritingClasses.InheritAny.ImplicitAny, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=ImplicitAny, superNames=[]]
          CLASS[classId=a/InheritingClasses.InheritAny.ExplicitAny, fqName=a.InheritingClasses.InheritAny.ExplicitAny, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=ExplicitAny, superNames=[Any]]
            SUPER_TYPE_LIST
              SUPER_TYPE_CALL_ENTRY
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=Any]
          CLASS[classId=a/InheritingClasses.InheritAny.OnlyTrait, fqName=a.InheritingClasses.InheritAny.OnlyTrait, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=OnlyTrait, superNames=[SomeTrait]]
            SUPER_TYPE_LIST
              SUPER_TYPE_ENTRY
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=SomeTrait]
          CLASS[classId=a/InheritingClasses.InheritAny.OnlyTraits, fqName=a.InheritingClasses.InheritAny.OnlyTraits, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=OnlyTraits, superNames=[SomeTrait, SomeTrait2]]
            SUPER_TYPE_LIST
              SUPER_TYPE_ENTRY
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=SomeTrait]
              SUPER_TYPE_ENTRY
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=SomeTrait2]
          CLASS[classId=a/InheritingClasses.InheritAny.TraitWithExplicitAny, fqName=a.InheritingClasses.InheritAny.TraitWithExplicitAny, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=TraitWithExplicitAny, superNames=[Any, SomeTrait]]
            SUPER_TYPE_LIST
              SUPER_TYPE_CALL_ENTRY
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=Any]
              SUPER_TYPE_ENTRY
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=SomeTrait]
          CLASS[classId=a/InheritingClasses.InheritAny.TraitsWithExplicitAny, fqName=a.InheritingClasses.InheritAny.TraitsWithExplicitAny, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=TraitsWithExplicitAny, superNames=[SomeTrait2, Any, SomeTrait]]
            SUPER_TYPE_LIST
              SUPER_TYPE_ENTRY
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=SomeTrait2]
              SUPER_TYPE_CALL_ENTRY
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=Any]
              SUPER_TYPE_ENTRY
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=SomeTrait]
      CLASS[classId=a/InheritingClasses.InheritFunctionType, fqName=a.InheritingClasses.InheritFunctionType, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=false, name=InheritFunctionType, superNames=[]]
        MODIFIER_LIST[abstract]
        SUPER_TYPE_LIST
          SUPER_TYPE_ENTRY
            TYPE_REFERENCE
              FUNCTION_TYPE
                VALUE_PARAMETER_LIST
                  VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=Int]
                  VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null]
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=String]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=Int]
