A.class:
  PsiJetFileStubImpl[package=]
    PACKAGE_DIRECTIVE
    IMPORT_LIST
    CLASS[classId=/A, fqName=A, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A, superNames=[T]]
      MODIFIER_LIST[public final]
      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
              REFERENCE_EXPRESSION[referencedName=T]
      CLASS_BODY
        PROPERTY[fqName=A.g, hasBackingField=true, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=g]
          MODIFIER_LIST[open public]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Int]
        FUN[fqName=A.f, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=f]
          MODIFIER_LIST[open public]
          VALUE_PARAMETER_LIST
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]


Delegation.class:
  PsiJetFileStubImpl[package=]
    PACKAGE_DIRECTIVE
    IMPORT_LIST
    CLASS[classId=/Delegation, fqName=Delegation, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Delegation, superNames=[T]]
      MODIFIER_LIST[public final]
      PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=Delegation]
        MODIFIER_LIST[public]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=true, hasValOrVar=false, isMutable=false, name=c]
            TYPE_REFERENCE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=kotlin]
                REFERENCE_EXPRESSION[referencedName=Int]
            REFERENCE_EXPRESSION[referencedName=COMPILED_CODE]
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=A]
      SUPER_TYPE_LIST
        SUPER_TYPE_ENTRY
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=T]
      CLASS_BODY
        PROPERTY[fqName=Delegation.c, hasBackingField=true, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=c]
          MODIFIER_LIST[public final]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Int]
        PROPERTY[fqName=Delegation.g, hasBackingField=false, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=g]
          MODIFIER_LIST[open public]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Int]
        FUN[fqName=Delegation.ff, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=ff]
          MODIFIER_LIST[public final]
          VALUE_PARAMETER_LIST
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Int]
        FUN[fqName=Delegation.f, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=f]
          MODIFIER_LIST[open public]
          VALUE_PARAMETER_LIST
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]


T.class:
  PsiJetFileStubImpl[package=]
    PACKAGE_DIRECTIVE
    IMPORT_LIST
    CLASS[classId=/T, fqName=T, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=true, name=T, superNames=[]]
      MODIFIER_LIST[public]
      CLASS_BODY
        PROPERTY[fqName=T.g, hasBackingField=false, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=g]
          MODIFIER_LIST[abstract public]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Int]
        FUN[fqName=T.f, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=f]
          MODIFIER_LIST[abstract public]
          VALUE_PARAMETER_LIST
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=kotlin]
              REFERENCE_EXPRESSION[referencedName=Unit]
