PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
  CLASS[classId=/A, fqName=A, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A, superNames=[]]
    MODIFIER_LIST[open]
  CLASS[classId=/AB, fqName=AB, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=AB, superNames=[]]
    MODIFIER_LIST[open]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=AB]
      MODIFIER_LIST[private]
    CLASS_BODY
      FUN[fqName=AB.foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=foo]
        VALUE_PARAMETER_LIST
  CLASS[classId=/A1, fqName=A1, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=A1, superNames=[]]
    CLASS_BODY
  CLASS[classId=/B, fqName=B, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=B, superNames=[]]
    MODIFIER_LIST[open]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=A]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=B]
      MODIFIER_LIST[private]
      VALUE_PARAMETER_LIST
    CLASS_BODY
