PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=foo]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=foo]
      TYPE_REFERENCE
        MODIFIER_LIST[]
          ANNOTATION
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=T]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
          TYPE_REFERENCE
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=bar]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=foo]
      TYPE_REFERENCE
        MODIFIER_LIST[]
          ANNOTATION
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=T]
      TYPE_PARAMETER_LIST
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=foo]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=bar]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=true, isTopLevel=false, mayHaveContract=false, name=null]
      TYPE_REFERENCE
        MODIFIER_LIST[]
          ANNOTATION
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=a]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=a]
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=T]
      TYPE_PARAMETER_LIST
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=foo]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=bar]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=foo]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=T]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=foo]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=bar]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=foo]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=T]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=foo]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=bar]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=foo]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=T]
      TYPE_PARAMETER_LIST
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
        TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=foo]
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=b]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=bar]
  PROPERTY[fqName=a, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=a]
    FUN[fqName=null, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=foo]
      VALUE_PARAMETER_LIST
      TYPE_REFERENCE
      REFERENCE_EXPRESSION[referencedName=a]
  PROPERTY[fqName=public_fun, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=public_fun]
    REFERENCE_EXPRESSION[referencedName=public]
  FUN[fqName=<no name provided>, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=null]
    VALUE_PARAMETER_LIST
  PROPERTY[fqName=open_fun, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=open_fun]
    REFERENCE_EXPRESSION[referencedName=open]
  FUN[fqName=<no name provided>, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=null]
    VALUE_PARAMETER_LIST
  PROPERTY[fqName=final_fun, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=final_fun]
    REFERENCE_EXPRESSION[referencedName=final]
  FUN[fqName=<no name provided>, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=null]
    VALUE_PARAMETER_LIST
  PROPERTY[fqName=where_fun, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=where_fun]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
      VALUE_PARAMETER_LIST
  FUN[fqName=where_fun, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=where_fun]
    VALUE_PARAMETER_LIST
    FUN[fqName=where_fun.<no name provided>, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
      VALUE_PARAMETER_LIST
  FUN[fqName=outer, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=outer]
    VALUE_PARAMETER_LIST
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=T]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=false, mayHaveContract=false, name=null]
      TYPE_REFERENCE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=T]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
      VALUE_PARAMETER_LIST
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
      VALUE_PARAMETER_LIST
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
      VALUE_PARAMETER_LIST
    FUN[fqName=null, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
      VALUE_PARAMETER_LIST
