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[private]
      ANNOTATION_ENTRY[hasValueArguments=false, shortName=open]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=open]
      ANNOTATION
        ANNOTATION_ENTRY[hasValueArguments=true, shortName=Ann1]
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Ann1]
          VALUE_ARGUMENT_LIST
            VALUE_ARGUMENT[isSpread=false]
              INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=1]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Ann2]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Ann2]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            STRING_TEMPLATE
              LITERAL_STRING_TEMPLATE_ENTRY[text=1]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=Ann3]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Ann3]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            STRING_TEMPLATE
              LITERAL_STRING_TEMPLATE_ENTRY[text=2]
    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.x, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=x]
          MODIFIER_LIST[private]
            ANNOTATION_ENTRY[hasValueArguments=true, shortName=Volatile]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=Volatile]
              VALUE_ARGUMENT_LIST
                VALUE_ARGUMENT[isSpread=false]
                  INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=1]
          TYPE_REFERENCE
            MODIFIER_LIST[]
              ANNOTATION_ENTRY[hasValueArguments=true, shortName=AnnType]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=AnnType]
                VALUE_ARGUMENT_LIST
                  VALUE_ARGUMENT[isSpread=false]
                    STRING_TEMPLATE
                      LITERAL_STRING_TEMPLATE_ENTRY[text=3]
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=open]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=open]
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Int]
        VALUE_PARAMETER[fqName=A.y, hasDefaultValue=false, hasValOrVar=true, isMutable=true, name=y]
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=private]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=private]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Int]
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=z]
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=open]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=open]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Int]
    CLASS_BODY
      FUN[fqName=A.foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=foo]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=private]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=private]
          ANNOTATION
            ANNOTATION_ENTRY[hasValueArguments=true, shortName=Ann3]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=Ann3]
              VALUE_ARGUMENT_LIST
                VALUE_ARGUMENT[isSpread=false]
                  INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=2]
          ANNOTATION_ENTRY[hasValueArguments=true, shortName=Ann4]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=Ann4]
            VALUE_ARGUMENT_LIST
              VALUE_ARGUMENT[isSpread=false]
                STRING_TEMPLATE
                  LITERAL_STRING_TEMPLATE_ENTRY[text=4]
        VALUE_PARAMETER_LIST
        CLASS[classId=null, fqName=null, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=true, isTopLevel=false, name=LocalClass, superNames=[]]
          MODIFIER_LIST[]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=data]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=data]
        FUN[fqName=null, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=inlineLocal]
          MODIFIER_LIST[private]
            ANNOTATION_ENTRY[hasValueArguments=true, shortName=inline]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=inline]
              VALUE_ARGUMENT_LIST
                VALUE_ARGUMENT[isSpread=false]
                  REFERENCE_EXPRESSION[referencedName=option1]
                VALUE_ARGUMENT[isSpread=false]
                  REFERENCE_EXPRESSION[referencedName=option2]
            ANNOTATION
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=inline2]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=inline2]
          VALUE_PARAMETER_LIST
        FUN[fqName=null, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=null]
          VALUE_PARAMETER_LIST
            VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=x]
              MODIFIER_LIST[]
                ANNOTATION_ENTRY[hasValueArguments=false, shortName=vararg]
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=vararg]
                ANNOTATION_ENTRY[hasValueArguments=true, shortName=ann]
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=ann]
                  VALUE_ARGUMENT_LIST
                    VALUE_ARGUMENT[isSpread=false]
                      INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=1]
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=Int]
      PROPERTY[fqName=A.x, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=x]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Int]
        PROPERTY_ACCESSOR[hasBody=true, hasNoExpressionBody=false, isGetter=true, mayHaveContract=false]
          MODIFIER_LIST[private]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=inject]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=inject]
            ANNOTATION
              ANNOTATION_ENTRY[hasValueArguments=false, shortName=inline]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=inline]
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=open]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=open]
          VALUE_PARAMETER_LIST
      CLASS_INITIALIZER
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=open]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=open]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=ann]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=ann]
      OBJECT_DECLARATION[classId=/A.<no name provided>, fqName=A.<no name provided>, isCompanion=false, isLocal=false, isObjectLiteral=false, isTopLevel=false, name=null, superNames=[]]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=companion]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=companion]
      OBJECT_DECLARATION[classId=/A.B, fqName=A.B, isCompanion=true, isLocal=false, isObjectLiteral=false, isTopLevel=false, name=B, superNames=[]]
        MODIFIER_LIST[companion]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=private]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=private]
      SECONDARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=A]
        MODIFIER_LIST[]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=main]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=main]
          ANNOTATION_ENTRY[hasValueArguments=false, shortName=private]
            CONSTRUCTOR_CALLEE
              TYPE_REFERENCE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=private]
        VALUE_PARAMETER_LIST
      FUN[fqName=A.foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=false, mayHaveContract=false, name=foo]
        TYPE_PARAMETER_LIST
          TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
            MODIFIER_LIST[]
              ANNOTATION_ENTRY[hasValueArguments=true, shortName=ann]
                CONSTRUCTOR_CALLEE
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=ann]
                VALUE_ARGUMENT_LIST
                  VALUE_ARGUMENT[isSpread=false]
                    STRING_TEMPLATE
              ANNOTATION
                ANNOTATION_ENTRY[hasValueArguments=false, shortName=ann]
                  CONSTRUCTOR_CALLEE
                    TYPE_REFERENCE
                      USER_TYPE
                        REFERENCE_EXPRESSION[referencedName=ann]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=R]
        VALUE_PARAMETER_LIST
  PROPERTY[fqName=x, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=true, isVar=false, name=x]
    MODIFIER_LIST[]
      ANNOTATION_ENTRY[hasValueArguments=false, shortName=private]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=private]
  FUN[fqName=bar, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=bar]
    MODIFIER_LIST[private]
      ANNOTATION_ENTRY[hasValueArguments=false, shortName=inline]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=inline]
    VALUE_PARAMETER_LIST
  FUN[fqName=bar, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=bar]
    VALUE_PARAMETER_LIST
